Artículos

7.1: Conceptos básicos de conjuntos - Matemáticas


Un coleccionista de arte puede tener una colección de pinturas, mientras que un amante de la música puede tener una colección de CD. Cualquier colección de elementos puede formar una colocar.

Colocar

A colocar es una colección de objetos distintos, llamado elementos del set

Un conjunto se puede definir describiendo el contenido o enumerando los elementos del conjunto, encerrados entre corchetes.

Ejemplo 1

Algunos ejemplos de conjuntos definidos describiendo los contenidos:

  1. El conjunto de todos los números pares
  2. El conjunto de todos los libros escritos sobre viajes a Chile

Algunos ejemplos de conjuntos definidos al enumerar los elementos del conjunto:

  1. {1, 3, 9, 12}
  2. {rojo, naranja, amarillo, verde, azul, índigo, violeta}

Un conjunto simplemente especifica el contenido; el orden no es importante. El conjunto representado por {1, 2, 3} es equivalente al conjunto {3, 1, 2}.

Notación

Por lo general, usaremos una variable para representar un conjunto, para que sea más fácil hacer referencia a ese conjunto más adelante.

El símbolo ( in ) significa "es un elemento de".

Un conjunto que no contiene elementos, ( {} ), se llama conjunto vacio y está anotado ( conjunto vacío )

Ejemplo 2

Sea (A = {1,2,3,4 } )

Para anotar que 2 es un elemento del conjunto, escribiríamos (2 in A )

A veces, es posible que una colección no contenga todos los elementos de un conjunto. Por ejemplo, Chris posee tres álbumes de Madonna. Si bien la colección de Chris es un conjunto, también podemos decir que es un subconjunto del conjunto más grande de todos los álbumes de Madonna.

Subconjunto

A subconjunto de un conjunto (A ) es otro conjunto que contiene solo elementos del conjunto (A ), pero puede que no contenga todos los elementos de (A ).

Si (B ) es un subconjunto de (A, ) escribimos (B subseteq A )

A subconjunto propio es un subconjunto que no es idéntico al conjunto original, contiene menos elementos.

Si (B ) es un subconjunto propio de (A ), escribimos (B subconjunto A )

Ejemplo 3

Considere estos tres conjuntos

(A = ) el conjunto de todos los números pares ( quad B = {2,4,6 } quad C = {2,3,4,6 } )

Aquí (B subconjunto A ) dado que cada elemento de (B ) también es un número par, por lo que es un elemento de (A ).

Más formalmente, podríamos decir (B subconjunto A ) ya que si (x in B, ) entonces (x in A )

También es cierto que (B subconjunto C ).

(C ) no es un subconjunto de (A ), ya que (C ) contiene un elemento, 3, que no está contenido en (A )

Ejemplo 4

Supongamos que un conjunto contiene las obras de teatro "Mucho ruido y pocas nueces", "MacBeth" y "El sueño de una noche de verano". ¿De qué conjunto más grande podría ser un subconjunto?

Solución

Aquí hay muchas respuestas posibles. Uno sería el conjunto de obras de Shakespeare. Este es también un subconjunto del conjunto de todas las obras jamás escritas. También es un subconjunto de toda la literatura británica.

Pruébelo ahora 1

El conjunto (A = {1,3,5 }. ) ¿Cuál es un conjunto más grande del que podría ser un subconjunto?

Respuesta

Hay varias respuestas: El conjunto de todos los números impares menores que 10. El conjunto de todos los números impares. El conjunto de todos los números enteros. El conjunto de todos los números reales.


7.1: Conceptos básicos de conjuntos - Matemáticas

Normalmente, los conjuntos interactúan. Por ejemplo, usted y un nuevo compañero de cuarto deciden tener una fiesta en casa y ambos invitan a su círculo de amigos. En esta fiesta, se están combinando dos conjuntos, aunque puede resultar que haya algunos amigos que estuvieran en ambos conjuntos.

Unión, intersección y complemento

La Unión de dos conjuntos contiene todos los elementos contenidos en cualquiera de los conjuntos (o en ambos conjuntos). La unión está anotada AB. Más formalmente, XAB Si XA o XB (o ambos)

La intersección de dos conjuntos contiene solo los elementos que están en ambos conjuntos. La intersección está anotada AB. Más formalmente, XAB Si XA y XB.

La complemento de un conjunto A contiene todo lo que es no en el set A. El complemento está anotado A', o A c, oa veces

A conjunto universal es un conjunto que contiene todos los elementos que nos interesan. Esto tendría que ser definido por el contexto.

Un complemento es relativo al conjunto universal, por lo que Una c contiene todos los elementos del conjunto universal que no están en A.

Ejemplo

  1. Si estuviéramos discutiendo la búsqueda de libros, el conjunto universal podría ser todos los libros de la biblioteca.
  2. Si estuviéramos agrupando a tus amigos de Facebook, el conjunto universal serían todos tus amigos de Facebook.
  3. Si estuviera trabajando con conjuntos de números, el conjunto universal podría ser todos los números enteros, todos los enteros o todos los números reales.

Ejemplo

Supongamos que el conjunto universal es U = todos los números enteros del 1 al 9. Si A = <1, 2, 4>, luego Una c = <3, 5, 6, 7, 8, 9>.


7.1: Conceptos básicos de conjuntos - Matemáticas

Everyday Mathematics (Everyday Math, también conocido como Chicago Math) es un plan de estudios K-6 desarrollado por el Proyecto de Matemáticas Escolares de la Universidad de Chicago (UCSMP) y publicado por Everyday Learning Corporation, una parte de SRA McGraw-Hill.

Una característica notable de Everyday Mathematics es su presentación de múltiples métodos o procedimientos para las operaciones básicas de la aritmética: suma, resta, multiplicación y división. Esta página web, que pretende ser una contribución a una colección de Reseñas de matemáticas cotidianas, describe los algoritmos básicos del programa. La descripción se basa en los libros de referencia para estudiantes de 3º a 6º grado de Everyday Mathematics, 2ª edición (SRA / McGraw-Hill, 2002).

En la actualidad, esta página describe solo los algoritmos de Everyday Math para las cuatro operaciones básicas de aritmética de números enteros. Se deja para otro día una descripción de la aritmética de decimales, porcentajes y fracciones.

Las Guías para profesores de matemáticas cotidianas serían la mejor referencia para la perspectiva de los autores del programa sobre el papel de los diversos algoritmos dentro del plan de estudios. Una referencia breve y de fácil acceso es el artículo Algoritmos en matemáticas cotidianas (formato PDF) en el sitio web de matemáticas cotidianas.

De acuerdo con Algoritmos en matemáticas cotidianas, para cada operación los materiales del maestro identifican uno de los algoritmos alternativos como el algoritmo de enfoque, que es proporcionar un respaldo para los estudiantes que de otra manera no logran la competencia y proporcionar una base común para el trabajo futuro. Sin embargo, se anima a los estudiantes a utilizar el método que prefieran. Los algoritmos de enfoque son "sumas parciales" para la suma, "intercambiar primero" para la resta, "productos parciales" para la multiplicación y "cocientes parciales" para la división. En las subsecciones que siguen, en cada caso se describe primero el algoritmo de enfoque.

Adición

Además, Everyday Mathematics ofrece cuatro métodos. El método de "sumas parciales" y el método de "suma de columnas" ya están presentes en el libro de referencia para estudiantes de 3er grado y siguen siendo los dos métodos de elección en 4to grado. El "método rápido" (tradicional) y la "regla de cambio opuesto" hacen su aparición en el libro de referencia para estudiantes de quinto grado.

Método de sumas parciales

El método Partial Sums (el algoritmo de enfoque de Everyday Math para la suma) es un proceso de dos etapas. En la primera etapa, uno mira cada columna (trabajando de izquierda a derecha) y suma los valores de lugar representados por los dígitos en esa columna. En la segunda etapa, esas sumas parciales se suman. En el primer ejemplo de la derecha se aplica el proceso. La referencia del estudiante de Everyday Mathematics no recomienda un algoritmo específico para el problema de suma en la segunda etapa. Con frecuencia, el problema de la segunda etapa será "fácil" en el sentido de que se puede hacer una columna a la vez sin ningún acarreo, como es el caso del primer ejemplo. Quizás se espera que el alumno repita el método de las sumas parciales en los casos en que el problema de la suma de la segunda etapa implica llevar.

Método de adición de columnas

Un método rápido (tradicional)

Regla de cambio opuesta

Sustracción

Para la resta, Everyday Mathematics ofrece cinco métodos. El "método de comercio primero", el "método de resta de izquierda a derecha" y el "método de conteo" ya están presentes en el libro de referencia para estudiantes de 3er grado, y el "método de diferencias parciales" y la "misma regla de cambio" hacen su primera aparición en la referencia de estudiantes de 4º grado. Tenga en cuenta que el método tradicional de resta de derecha a izquierda no es parte del plan de estudios de Matemáticas cotidianas.

Opere primero

Resta de izquierda a derecha

Contando

Diferencias parciales

Misma regla de cambio

Multiplicación

Para la multiplicación, Everyday Mathematics ofrece cuatro métodos. El "método de productos parciales" y el "método de multiplicación de celosía" ya están presentes en el libro de referencia del estudiante de 3er grado, y estos siguen siendo los métodos de elección en 4to y 5to grado. En el libro de referencia para estudiantes de Matemáticas diarias de sexto grado, aparecen el "método corto" (una versión del algoritmo tradicional) y el "método de multiplicación egipcio".

Método de productos parciales

El método de productos parciales es el algoritmo de enfoque de Everyday Math para la multiplicación. En el método de productos parciales, uno toma la descomposición en base diez de cada factor y forma los productos de todos los pares de términos. Luego, estos productos parciales se suman. El texto del alumno no recomienda ningún algoritmo de adición en particular para esta segunda etapa. En el ejemplo de la derecha, he asumido que la suma tradicional se realiza mentalmente, pero un alumno de Matemáticas cotidianas bien puede hacer ese problema de suma mediante el método de Sumas parciales o Suma de columnas.

Método de celosía

Un método corto

El "Método Corto" es la versión de Everyday Math del algoritmo de multiplicación tradicional. En el método corto, solo se descompone el segundo factor. Cada dígito del segundo número se interpreta de acuerdo con su valor posicional, y el producto parcial de ese término con el primer número se escribe como se muestra. Luego, esos productos parciales se suman. El texto de referencia del estudiante no describe cómo se espera que el alumno resuelva el problema de multiplicación de un dígito multiplicado por varios dígitos. La forma de la etapa de adición también se deja abierta.

Método Egyption

División

Para la división, Everyday Mathematics ofrece dos métodos: el "método de cocientes parciales" y el "método de división de columnas". No se enseña el método tradicional de división larga.

Método de cocientes parciales

Método de división de columnas

Las opiniones expresadas en esta página son estrictamente las del autor de la página. El contenido de esta página no ha sido revisado ni aprobado por la Universidad de Nueva York.


Las evaluaciones de GACE y reg

Las Evaluaciones de Georgia para la Certificación de Educadores y Reg (GACE & reg) es el programa de evaluación de certificación de educadores aprobado por el estado de Georgia. Estas evaluaciones por computadora han sido desarrolladas por GaPSC y Educational Testing Service (ETS).

El propósito de las evaluaciones GACE es ayudar al GaPSC a garantizar que los candidatos tengan el conocimiento y las habilidades necesarias para realizar el trabajo de un educador en las escuelas públicas de Georgia.

¿No estás seguro de por dónde empezar? Consulte Cómo prepararse para la prueba para obtener información importante que lo ayude a organizar su estrategia de prueba y recopilar lo que necesita.


Juegos de matemáticas de primer grado

Los juegos de matemáticas de primer grado en nuestro sitio web brindan a los estudiantes y maestros una forma emocionante de practicar operaciones matemáticas básicas. Los problemas de matemáticas están alineados con los Estándares Básicos Comunes. Los ejercicios por sí solos son aburridos, aunque los estudiantes necesitan mucha práctica para ser más competentes en matemáticas. A los estudiantes de primer grado les encanta jugar, ¿por qué no dejar que se diviertan y aprendan algo nuevo todos los días?

Al jugar estos juegos, los estudiantes de 1er grado practicarán una de las siguientes habilidades matemáticas:

• Comprender el valor posicional.
• Resolver problemas de suma y resta.
• Sumar y restar hasta 20.
• Trabajar con ecuaciones de suma y resta.
• Comprender y aplicar las propiedades de las operaciones y la relación entre la suma y la resta.
• Decir y escribir la hora.
• Representar e interpretar datos.
• Razonar con formas y sus atributos.

En este juego de baloncesto interactivo, los estudiantes de 1er grado practicarán contando hasta diez.

Sumas a 10 Halloween Math Game Prueba este emocionante juego de matemáticas y practica tus habilidades. Por cada respuesta correcta, entrarás en una ronda de bonificación en la que podrás ganar puntos aplastando monstruos.

Practica tus habilidades de suma y resta jugando a este divertido juego.

Juega a este divertido juego de matemáticas de Halloween sobre sumar números hasta 20.

Juego de resta de mago matemático
Los problemas de resta en este emocionante juego de resta del mago matemático brindan a los estudiantes mucha práctica para restar números hasta 20.

Juego de suma de matemáticas de béisbol
Los niños pueden divertirse mucho mientras resuelven los problemas de suma en este emocionante juego de suma matemática de béisbol.

En este juego interactivo y divertido en línea, los estudiantes de primer grado practicarán importantes palabras y definiciones de vocabulario matemático.

Juego de suma de magos matemáticos
Los niños se divertirán muchísimo cuando resuelvan los problemas de sumas en este emocionante juego de sumas de Math Magician.

Juego de valor posicional de matemáticas de béisbol
Haga un juego de aprendizaje del valor posicional jugando a este emocionante juego de béisbol matemático posicional.

Juegos de concentración de suma

En este juego de fútbol en línea, los estudiantes de primer grado practicarán sumar números de un dígito.


Patrones de números

A menudo podemos describir patrones numéricos de más de una forma. Para ilustrar esto, considere la siguiente secuencia de números <1, 3, 5, 7, 9, >.

Claramente, el primer término de este patrón numérico es 1 y los términos después del primer término se obtienen sumando 2 al término anterior. También podemos describir este patrón numérico como un conjunto de números impares.

Por ensayo y error, encontramos que:

Por observación, notamos que podemos describir este patrón numérico mediante la regla

Fórmula y tablas

Se puede generar una tabla de valores a partir de la regla.


Perspectiva matemática

Una definición técnica de una función es: una relación de un conjunto de entradas a un conjunto de posibles salidas donde cada entrada está relacionada con exactamente una salida.

Esto significa que si el objeto $ x $ está en el conjunto de entradas (llamado dominio), entonces una función $ f $ mapeará el objeto $ x $ exactamente a un objeto $ f (x) $ en el conjunto de posibles salidas ( llamado codominio).

La noción de función se comprende fácilmente utilizando la metáfora de una máquina de funciones que toma un objeto como entrada y, basándose en esa entrada, escupe otro objeto como salida.

Una función se define más formalmente dado un conjunto de entradas $ X $ (dominio) y un conjunto de posibles salidas $ Y $ (codominio) como un conjunto de pares ordenados $ (x, y) $ donde $ x en X $ ( ¿confundido?) y $ y en Y $, sujeto a la restricción de que solo puede haber un par ordenado con el mismo valor de $ x $. Podemos escribir la declaración de que $ f $ es una función de $ X $ a $ Y $ usando la notación de función $ f: X a Y $.

Para obtener más información sobre las funciones, consulte la máquina de funciones o los ejemplos de funciones.


Preguntas de práctica de operaciones básicas

El número total de pies que ascendió se puede determinar agregando 482 pies y 362 pies. La suma de 482 y 362 es 844. Así, ascendió 844 pies en total.

El artículo con un precio de $ 4.58 se puede redondear a $ 5. El artículo con un precio de $ 6.22 se puede redondear a $ 6. El artículo con un precio de $ 8,94 se puede redondear a $ 9. La suma de 5, 6 y 9 es 20. Por lo tanto, la mejor estimación es $ 20.

Para encontrar la cantidad donada el año siguiente, multiplique la cantidad donada el año anterior por 3. Por lo tanto, la cantidad donada el segundo año fue de $ 6. La cantidad donada el tercer año fue de $ 18. La cantidad donada el cuarto año fue de $ 54. La cantidad donada el quinto año fue de $ 162.

Si bebe 8 vasos de agua al día, la cantidad de vasos de agua que bebe en 12 días se puede determinar multiplicando 8 por 12. Este producto es 96, por lo que bebe 96 vasos de agua en un lapso de 12 días. La relación entre la cantidad de vasos de agua que bebe por día y la cantidad total de vasos de agua que bebe en 12 días se puede representar mediante una oración numérica de multiplicación o división apropiada dentro de la siguiente familia de operaciones: Restar 8 de 12 no revelará la cantidad de vasos que bebe en un lapso de 12 días. La oración numérica:, no es en este hecho familia.

Si cada rectángulo tiene una longitud que es 5 cm más que la del rectángulo anterior, las longitudes del tercer rectángulo al undécimo rectángulo se pueden encontrar sumando 5 cm a la longitud del segundo triángulo y continuando para cada siguiente rectángulo. Entonces, las longitudes de los rectángulos serán las siguientes: 16 cm, 21 cm, 26 cm, 31 cm, 36 cm, 41 cm, 46 cm, 51 cm y 56 cm.

Para encontrar la cantidad de latas de comida que dio a la primera organización benéfica, es necesario restar la cantidad de latas de comida que le quedan a la cantidad de latas que recogió.

La suma de los dos decimales es 10.80, los decimales se suman al igual que los números enteros, mientras se alinea el punto decimal.

Ella corre vueltas en total, o 96 vueltas.

El número de cupcakes vendidos se puede redondear de la siguiente manera: 80 cupcakes, 50 cupcakes y 70 cupcakes, que suman 200. Por lo tanto, la mejor estimación para el número de cupcakes vendidos es 200 cupcakes.

La cantidad de dinero que Carlisle cobra por corte de cabello se puede redondear a $ 20. Por lo tanto, sus cargos totales son de aproximadamente $ 600.


Involucre a sus estudiantes con las matemáticas, en clase o en casa, todos los días

Mathletics es el atractivo programa de matemáticas en línea hecho para aulas híbridas y aprendizaje en el hogar. Haga que sus estudiantes se diviertan práctica y fluidez actividades, desafíe su pensamiento con resolución de problemas y razonamiento preguntas, y recompensa su aprendizaje con certificados y puntos & # 8211 dondequiera que estén.

Un producto de aprendizaje 3P.

Más de 200.000 profesores eligen Mathletics como su programa de matemáticas en línea

Los estudiantes encuentran el compromiso a través del propósito y la recompensa. Mathletics brinda a los alumnos la oportunidad de poner en práctica sus habilidades matemáticas a través de actividades y desafíos que son relevantes y que llaman la atención.

Atractivo

Enseña a tu manera. Mathletics está diseñado para ayudar a los maestros y padres a impartir lecciones en su propio tiempo y manera.

Flexible

Vaya por los números. Mathletics proporciona informes detallados que lo ayudarán a ver el progreso de las clases y de los estudiantes individuales, lo que lo ayudará a evaluar ahora y planificar el futuro.

Reportando

Más de 200.000 profesores eligen Mathletics como su programa de matemáticas en línea

Los estudiantes encuentran el compromiso a través del propósito y la recompensa. Mathletics brinda a los estudiantes la oportunidad de poner en práctica sus habilidades matemáticas a través de actividades y desafíos que son relevantes y que llaman la atención.

Enseña a tu manera. Mathletics está diseñado para ayudar a los maestros y padres a impartir lecciones en su propio tiempo y manera.

Vaya por los números. Mathletics proporciona informes detallados que lo ayudarán a ver el progreso de las clases y de los estudiantes individuales, lo que lo ayudará a evaluar ahora y planificar el futuro.

Más de 200.000 profesores eligen Mathletics como su programa de matemáticas en línea

Los estudiantes encuentran el compromiso a través del propósito y la recompensa. Mathletics brinda a los alumnos la oportunidad de poner en práctica sus habilidades matemáticas a través de actividades y desafíos que son relevantes y que llaman la atención.

Enseña a tu manera. Mathletics está diseñado para ayudar a los maestros y padres a impartir lecciones en su propio tiempo y manera.

Vaya por los números. Mathletics proporciona informes detallados que lo ayudarán a ver el progreso de las clases y de los estudiantes individuales, lo que lo ayudará a evaluar ahora y planificar para el futuro.

Más de 3 millones de estudiantes de todo el mundo utilizan Mathletics

Más de 200.000 profesores utilizan Mathletics para apoyar su enseñanza de matemáticas

Más de 14,000 escuelas albergan Mathletics para los estudiantes y # 8217 aprendizaje de matemáticas


Microsoft Small Basic

Mientras que "Verdadero"
CAJAS = 4 'número de cajas por pieza
BWIDTH = ancho de caja de 25 'en píxeles
XOFFSET = 40 'Desplazamiento X de pantalla en píxeles de donde comienza la placa
YOFFSET = 40 'Desplazamiento Y de la pantalla en píxeles de donde comienza la placa
ANCHO = 10 'Ancho del lienzo, en número de cajas
CHEIGHT = 20 'Altura del lienzo, en número de cajas.
STARTDELAY = 800
ENDDELAY = 175
PREVIEW_xpos = 13
PREVIEW_ypos = 2

GraphicsWindow.Clear ()
GraphicsWindow.Title = "Tetris básico pequeño"
GraphicsWindow.Height = 580
GraphicsWindow.Width = 700
GraphicsWindow.Show ()

SetupTemplates ()
SetupCanvas ()
Bucle principal()

GraphicsWindow.ShowMessage ("Game Over", "Small Basic Tetris")
EndWhile

Bucle principal secundario
template = Text.Append ("plantilla", Math.GetRandomNumber (7))

CreatePiece () 'en: plantilla ret: h
nextPiece = h

final = 0
sessionDelay = STARTDELAY
Mientras que end = 0
Si sessionDelay> ENDDELAY Entonces
sessionDelay = sessionDelay - 1
Terminara si

delay = sessionDelay
thisPiece = nextPiece
plantilla = Text.Append ("plantilla", Math.GetRandomNumber (7))

CreatePiece () 'en: plantilla ret: h
nextPiece = h
DrawPreviewPiece ()

ypos = 0
hecho = 0
xpos = 3 'siempre cae de la columna 3
CheckStop () 'en: ypos, xpos, h ret: hecho
Si está hecho = 1 Entonces
ypos = ypos - 1
MovePiece () 'en: ypos, xpos, h
final = 1
Terminara si

yposdelta = 0
Mientras está hecho = 0 O yposdelta> 0
MovePiece () 'en: ypos, xpos, h

'Retraso, pero rompa si el retraso se establece en 0 si la pieza se cae
delayIndex = retraso
Mientras delayIndex> 0 y delay> 0
Programa.Retraso (10)
delayIndex = delayIndex - 10
EndWhile

Si yposdelta> 0 Entonces
yposdelta = yposdelta - 1 'utilizado para crear un giro libre, cuando se gira la pieza
Demás
ypos = ypos + 1 'de lo contrario, mueva la pieza hacia abajo.
Terminara si

'Compruebe si la pieza debe detenerse.
CheckStop () 'en: ypos, xpos, h ret: hecho
EndWhile
EndWhile
EndSub

Sub HandleKey
'Detener el juego
Si GraphicsWindow.LastKey = "Escape", entonces
Program.End ()
Terminara si

'Mover pieza a la izquierda
Si GraphicsWindow.LastKey = "Left", entonces
moveDirection = -1
ValidateMove () 'en: ypos, xpos, h, moveDirection ret: invalidMove = 1 o -1 o 2 si el movimiento no es válido, de lo contrario 0
Si invalidMove = 0 Entonces
xpos = xpos + moveDirection
Terminara si
MovePiece () 'en: ypos, xpos, h
Terminara si

'Mueve la pieza a la derecha
Si GraphicsWindow.LastKey = "Derecha", entonces
moveDirection = 1
ValidateMove () 'en: ypos, xpos, h, moveDirection ret: invalidMove = 1 o -1 o 2 si el movimiento no es válido, de lo contrario 0
Si invalidMove = 0 Entonces
xpos = xpos + moveDirection
Terminara si
MovePiece () 'en: ypos, xpos, h
Terminara si

'Mueve la pieza hacia abajo
Si GraphicsWindow.LastKey = "Abajo" o GraphicsWindow.LastKey = "Espacio", entonces
retraso = 0
Terminara si

'Girar pieza
Si GraphicsWindow.LastKey = "Up", entonces
basetemplate = Array.GetValue (h, -1) 'Array.GetValue (h, -1) = el nombre de la plantilla
template = "temptemplate"
rotación = "CW"
CopyPiece () 'en plantilla base, plantilla, rotación

Array.SetValue (h, -1, template) 'Array.GetValue (h, -1) = el nombre de la plantilla
moveDirection = 0
ValidateMove () 'en: ypos, xpos, h, moveDirection ret: invalidMove = 1 o -1 o 2 si el movimiento no es válido, de lo contrario 0

Vea si se puede mover para que gire.
xposbk = xpos
yposdelta = 0
Mientras yposdelta = 0 And Math.Abs ​​(xposbk - xpos) 0 Entonces
xpos = xposbk
Array.SetValue (h, -1, basetemplate) 'Array.GetValue (h, -1) = el nombre de la plantilla
plantilla = ""
Terminara si
Terminara si
EndSub


Sub DrawPreviewPiece
xpos = PREVIEW_xpos
ypos = PREVIEW_ypos
h = siguientePieza

XOFFSETBK = XOFFSET
YOFFSETBK = YOFFSET
XOFFSET = XOFFSET + Array.GetValue (Array.GetValue (h, -1), "pviewx") 'Array.GetValue (h, -1) = el nombre de la plantilla
YOFFSET = YOFFSET + Array.GetValue (Array.GetValue (h, -1), "pviewy") 'Array.GetValue (h, -1) = el nombre de la plantilla
MovePiece () 'en: ypos, xpos, h

XOFFSET = XOFFSETBK
YOFFSET = YOFFSETBK
EndSub

'crea una plantilla que es una plantilla base rotada
Sub CopyPiece 'en plantilla base, plantilla, rotación
L = Array.GetValue (plantilla base, "atenuar")

Si la rotación = "CW", entonces
Para i = 0 a CAJAS - 1 'x' = y y '= L - 1 - x
v = Array.GetValue (plantilla base, i)

'x = Math.Floor (v / 10)
'y = Resto matemático (v, 10)

'nuevo xey
x = (Resto matemático (v, 10))
y = (L - 1 - Piso matemático (v / 10))
Array.SetValue (plantilla, i, x * 10 + y)
EndFor
'Count-Cockwise no se utiliza actualmente
ElseIf rotación = "CCW" Entonces
Para i = 0 a CAJAS - 1 'x' = L - 1 - y y '= x
v = Array.GetValue (plantilla base, i)
'x = Math.Floor (v / 10)
'y = Resto matemático (v, 10)

'nuevo xey
x = (L - 1 - Resto matemático (v, 10))
y = Math.Floor (v / 10)
Array.SetValue (plantilla, i, x * 10 + y)
EndFor
ElseIf rotación = "COPY" Entonces
Para i = 0 a CAJAS - 1
Array.SetValue (plantilla, i, Array.GetValue (basetemplate, i))
EndFor
Demás
GraphicsWindow.ShowMessage ("parámetro no válido", "Error")
Program.End ()
Terminara si

'Copie las propiedades restantes de la plantilla base a la plantilla.
Array.SetValue (plantilla, "color", Array.GetValue (basetemplate, "color"))
Array.SetValue (plantilla, "dim", Array.GetValue (basetemplate, "dim"))
Array.SetValue (plantilla, "pviewx", Array.GetValue (basetemplate, "pviewx"))
Array.SetValue (plantilla, "pviewy", Array.GetValue (basetemplate, "pviewy"))
EndSub

Sub CreatePiece 'en: plantilla ret: h
'Cree un nuevo identificador, que represente un arrayName, que represente la pieza
hcount = hcount + 1
h = Text.Append ("pieza", hcount)

Array.SetValue (h, -1, template) 'Array.GetValue (h, -1) = el nombre de la plantilla

GraphicsWindow.PenWidth = 1
GraphicsWindow.PenColor = "Negro"
GraphicsWindow.BrushColor = Array.GetValue (plantilla, "color")

Para i = 0 a CAJAS - 1
s = Shapes.AddRectangle (BWIDTH, BWIDTH)
Shapes.Move (s, -BWIDTH, -BWIDTH) 'mover fuera de la pantalla
Array.SetValue (h, i, s)
EndFor
EndSub

Sub MovePiece 'en: ypos, xpos, h. ypos / xpos es 0-19, que representa la coordenada del cuadro superior / izquierdo de la pieza en el lienzo. h devuelto por CreatePiece
Para i = 0 a CAJAS - 1
v = Array.GetValue (Array.GetValue (h, -1), i) 'Array.GetValue (h, -1) = el nombre de la plantilla
x = Math.Floor (v / 10)
y = Resto matemático (v, 10)

'Array.GetValue (h, i) = caja para la pieza h.
'xpos / ypos = están en pie de forma. x / y es el cuadro de desplazamiento dentro de la forma.
Shapes.Move (Array.GetValue (h, i), XOFFSET + xpos * BWIDTH + x * BWIDTH, YOFFSET + ypos * BWIDTH + y * BWIDTH)
EndFor
EndSub

Sub ValidateMove 'en: ypos, xpos, h, moveDirection ret: invalidMove = 1 o -1 o 2 si el movimiento no es válido, de lo contrario 0
i = 0
invalidMove = 0
Mientras i = CWIDTH Entonces
invalidMove = 1
i = fuerza de BOXES saliendo del bucle
Terminara si

If Array.GetValue ("c", (x + xpos + moveDirection) + (y + ypos) * CWIDTH) <> "." Luego
invalidMove = 2
i = fuerza de BOXES saliendo del bucle
Terminara si


Sub CheckStop 'en: ypos, xpos, h ret: done
hecho = 0
i = 0
Mientras i CHEIGHT o Array.GetValue ("c", (x + xpos) + (y + ypos) * CWIDTH) <> "." Luego
hecho = 1
i = fuerza de BOXES saliendo del bucle
Terminara si

'Si necesitamos detener la pieza, mueva las manijas de la caja al lienzo
Si está hecho = 1 Entonces
Para i = 0 a CAJAS - 1
v = Array.GetValue (Array.GetValue (h, -1), i) 'Array.GetValue (h, -1) = el nombre de la plantilla
'x = Math.Floor (v / 10)
'y = Resto matemático (v, 10)
Array.SetValue ("c", (Math.Floor (v / 10) + xpos) + (Math.Remainder (v, 10) + ypos - 1) * CWIDTH, Array.GetValue (h, i))
EndFor

'1 punto por cada pieza lanzada con éxito
puntuación = puntuación + 1
PrintScore ()

'Eliminar líneas clareadas
DeleteLines ()
Terminara si
EndSub


Sub DeleteLines
linesCleared = 0

'Itere sobre cada fila, comenzando desde la parte inferior
Para y = CHEIGHT - 1 a 0 Paso -1

'Verifique si toda la fila está llena
x = ANCHO
Mientras que x = ANCHO
x = 0
Mientras x 0 Entonces
score = score + 100 * Math.Round (linesCleared * 2.15 - 1)
PrintScore ()
Terminara si
EndSub

Configuración secundaria
'GraphicsWindow.DrawResizedImage (Flickr.GetRandomPicture ("ladrillos"), 0, 0, GraphicsWindow.Width, GraphicsWindow.Height)


GraphicsWindow.BrushColor = GraphicsWindow.BackgroundColor
GraphicsWindow.FillRectangle (XOFFSET, YOFFSET, CWIDTH * BWIDTH, CHEIGHT * BWIDTH)

Retraso de programa (200)
GraphicsWindow.PenWidth = 1
GraphicsWindow.PenColor = "Rosa"
Para x = 0 hasta CWIDTH-1
Para y = 0 a CHEIGHT-1
Array.SetValue ("c", x + y * CWIDTH, ".") '"." indica que el lugar está libre
GraphicsWindow.DrawRectangle (XOFFSET + x * BWIDTH, YOFFSET + y * BWIDTH, BWIDTH, BWIDTH)
EndFor
EndFor

GraphicsWindow.PenWidth = 4
GraphicsWindow.PenColor = "Negro"
GraphicsWindow.DrawLine (XOFFSET, YOFFSET, XOFFSET, YOFFSET + CHEIGHT * BWIDTH)
GraphicsWindow.DrawLine (XOFFSET + CWIDTH * BWIDTH, YOFFSET, XOFFSET + CWIDTH * BWIDTH, YOFFSET + CHEIGHT * BWIDTH)
GraphicsWindow.DrawLine (XOFFSET, YOFFSET + CHEIGHT * BWIDTH, XOFFSET + CWIDTH * BWIDTH, YOFFSET + CHEIGHT * BWIDTH)

GraphicsWindow.PenColor = "Lima"
GraphicsWindow.DrawLine (XOFFSET - 4, YOFFSET, XOFFSET - 4, YOFFSET + CHEIGHT * BWIDTH + 6)
GraphicsWindow.DrawLine (XOFFSET + CWIDTH * BWIDTH + 4, YOFFSET, XOFFSET + CWIDTH * BWIDTH + 4, YOFFSET + CHEIGHT * BWIDTH + 6)
GraphicsWindow.DrawLine (XOFFSET - 4, YOFFSET + CHEIGHT * BWIDTH + 4, XOFFSET + CWIDTH * BWIDTH + 4, YOFFSET + CHEIGHT * BWIDTH + 4)

GraphicsWindow.PenColor = "Negro"
GraphicsWindow.BrushColor = "Rosa"
x = XOFFSET + PREVIEW_xpos * BWIDTH - BWIDTH
y = YOFFSET + PREVIEW_ypos * BWIDTH - BWIDTH
GraphicsWindow.FillRectangle (x, y, BWIDTH * 5, BWIDTH * 6)
GraphicsWindow.DrawRectangle (x, y, BWIDTH * 5, BWIDTH * 6)

GraphicsWindow.FillRectangle (x - 20, y + 190, 310, 170)
GraphicsWindow.DrawRectangle (x - 20, y + 190, 310, 170)

GraphicsWindow.BrushColor = "Negro"
GraphicsWindow.FontItalic = "Falso"
GraphicsWindow.FontName = "Comic Sans MS"
GraphicsWindow.FontSize = 16
GraphicsWindow.DrawText (x, y + 200, "Teclas de control del juego:")
GraphicsWindow.DrawText (x + 25, y + 220, "Flecha izquierda = Mover pieza a la izquierda")
GraphicsWindow.DrawText (x + 25, y + 240, "Flecha derecha = Mover pieza a la derecha")
GraphicsWindow.DrawText (x + 25, y + 260, "Flecha arriba = Rotar pieza")
GraphicsWindow.DrawText (x + 25, y + 280, "Flecha hacia abajo = Pieza suelta")
GraphicsWindow.DrawText (x, y + 320, "Pulsa para detener el juego")

Program.Delay (200) 'sin este retraso, el texto anterior utilizará el tamaño de fuente de la partitura

GraphicsWindow.BrushColor = "Negro"
GraphicsWindow.FontName = "Georgia"
GraphicsWindow.FontItalic = "Verdadero"
GraphicsWindow.FontSize = 36
GraphicsWindow.DrawText (x - 20, y + 400, "Tetris básico pequeño")
Program.Delay (200) 'sin este retraso, el texto anterior utilizará el tamaño de fuente de la partitura
GraphicsWindow.FontSize = 16
GraphicsWindow.DrawText (x - 20, y + 440, "ver.0.1")

Program.Delay (200) 'sin este retraso, el texto anterior utilizará el tamaño de fuente de la partitura
puntuación = 0
PrintScore ()
EndSub


Sub PrintScore
GraphicsWindow.PenWidth = 4
GraphicsWindow.BrushColor = "Rosa"
GraphicsWindow.FillRectangle (500, 65, 153, 50)
GraphicsWindow.BrushColor = "Negro"
GraphicsWindow.DrawRectangle (500, 65, 153, 50)
GraphicsWindow.FontItalic = "Falso"
GraphicsWindow.FontSize = 32
GraphicsWindow.FontName = "Impacto"
GraphicsWindow.BrushColor = "Negro"
GraphicsWindow.DrawText (505, 70, Text.Append (Text.GetSubText ("00000000", 0, 8 - Text.GetLength (puntuación)), puntuación))
EndSub


Sub SetupTemplates
'cada pieza tiene 4 cajas.
'el índice de cada entrada dentro de una pieza representa el número de casilla (1-4)
'el valor de cada entrada representa la coordenada de la caja basada en cero dentro de la pieza: el lugar de las decenas es x, el lugar de las unidades y


Ver el vídeo: Qué son conjuntos? (Enero 2022).