a > bes verdadero.
suma
, que combina dos números usando la suma: máximo
(que reportaría el mayor de dos números de entrada) y mínimo
(que reportaría el menor de dos números de entrada):El bloque toma dos entradas: una lista y una operación con dos entradas, y reporta el resultado de combinar todos los elementos en la lista de entrada usando la operación de entrada. Por ejemplo, la siguiente expresión reporta: 0 + 1 + 2.
Elige la operación y combinar
usa la operación combinando todos los elementos de la lista de entrada y luego reporta el resultado.
Ten en cuenta que la función utilizada para combinar los elementos de la lista siempre tiene dos espacios de entrada en blanco. El bloque mantener
solo necesita un espacio en blanco en su función de entrada, pero con combinar
, se requieren dos.
Combinar
es una función de orden superior; es una función que toma una función como entrada. Ya has visto otra función de orden superior: mantener
(en Unidad 2 Laboratorio 3 Página 5: Mantener elementos de una lista).
A diferencia de mantener
, la función combinar
solo se usa con algunas funciones de entrada.
¿Qué funciones?
Combinar
se usa principalmente con solo estas funciones:
y los bloques y
que acabas de escribir.
combinar
para construir máximo de lista
y mínimo de lista
.suma de lista
que reporte la suma de los elementos de una lista.promedio de lista
que calcule el promedio de los elementos en una lista:promedio de la lista
Primero piensa: ¿cómo se calcula un promedio? Luego piensa: ¿qué bloques podrían ayudarte a hacer eso en Snap!?
Promedio de la lista
y suma de la lista
son procedimientos que necesitarás repetidamente, así que después de un tiempo, simplemente sabrás cómo escribirlos, o podrías ponerlos en una biblioteca y no tendrás que reinventarlos cada vez. Encontrar el valor máximo o mínimo de una lista y verificar la divisibilidad también son algoritmos que necesitarás con frecuencia.
RETURN(como
reportar
). Por ejemplo, esta definiciónEn muchos lenguajes (incluido Snap!) las variables deben ser declaradas de alguna manera (en Snap!, puedes hacer clic al botón "Crear una variable" o usar el bloque variable de programa
). Pero el lenguaje de AP no incluye declaraciones de variables, por eso no los verás en el examen.
PROCEDURE raízCuadrada(número) { raízPositiva ← sqrt(número) RETURN ([raízPositiva, -1 * raízPositiva]) }
reportar
en Snap!, cuando se ejecuta un RETURN, el flujo de control vuelve al lugar del código donde se llamó el procedimiento, y el procedimiento devuelve el valor de la expresión dentro del comando
RETURNo el bloque
reportar
.sqrt(abreviatura de square root, raíz cuadrada en inglés) no está integrado en el lenguaje del AP, es por eso que está escrito en minúsculas como otros procedimientos definidos por un programador.
IF(a > b) { RETURN(verdadero) } ELSE { RETURN(a = b) }
a > bes verdadera, se ejecuta el código en el primer bloque de declaraciones; si es falsa, se ejecuta el código en el segundo bloque de declaraciones.
¿Cuándo se mostrará 'Error. Entrada no válida'?
mayorOIgualPROCEDURE mayorOIgual(a, b) IF(a > b) { RETURN(verdadero) } ELSE { RETURN(a = b) } DISPLAY"Error. Entrada no válida.") }
a > bes verdadero.
RETURN. Como
reportar
en Snap!, RETURNfinaliza el procedimiento. Cuando se ejecuta, no se ejecuta ningún otro código en ese procedimiento y el flujo de control vuelve al lugar donde se llamó al procedimiento.
a > bes falso.
RETURN. Como
reportar
en Snap!, RETURNfinaliza el procedimiento. Cuando se ejecuta, no se ejecuta ningún otro código en ese procedimiento y el flujo de control vuelve al lugar donde se llamó al procedimiento.
RETURN. Como
reportar
en Snap!, RETURNfinaliza el procedimiento. Cuando se ejecuta, no se ejecuta ningún otro código en ese procedimiento y el flujo de control vuelve al lugar donde se llamó al procedimiento.
máximo común divisor
. (Usa tu bloque máximo común divisor
máximo de lista
tanto como divisores
y también para construir un bloque intersección
que toma dos listas como entrada y reporta todos los elementos que están en ambas listas.máximo común divisor