metodología de la programación
TRANSCRIPT
Metodología de la Programación TIC
0
2012
Metodología de la
Programación Fundamentos
MTW Rosa Martha Núñez Arroyo
Metodología de la Programación TIC
1
Contenido
Conceptos Básicos ......................................................................................................................... 3
Adquisición, procesamiento y almacenamiento de datos ........................................................... 3
Algoritmo ................................................................................................................................... 5
Ejercicios ................................................................................................................................ 5
Pseudocódigo ............................................................................................................................ 6
Ejercicios ................................................................................................................................ 7
Diagrama de Flujo ...................................................................................................................... 8
Simbología de los Diagramas de Flujo ..................................................................................... 8
Operadores de los Diagramas de Flujo.................................................................................... 9
Ejercicios .............................................................................................................................. 10
Variables .................................................................................................................................. 11
Constantes ............................................................................................................................... 11
Identificadores ......................................................................................................................... 11
Reglas para la creación de Identificadores ............................................................................ 11
Tipos de datos .......................................................................................................................... 12
Ejercicios .............................................................................................................................. 12
Metodología para la solución de problemas por medio de computadoras ................................ 13
Evidencia 1° Unidad ................................................................................................................. 15
Tarea Integradora 1° Unidad .................................................................................................... 16
Expresiones.................................................................................................................................. 17
Operadores Aritméticos, Relacionales y Lógicos ....................................................................... 17
Operadores Aritméticos ....................................................................................................... 17
Operadores Relacionales ...................................................................................................... 18
Operadores Lógicos .............................................................................................................. 18
Jerarquía de Operadores .......................................................................................................... 20
Expresiones .............................................................................................................................. 20
Conversión a de Expresiones Matemáticas a Expresiones Algorítmicas ................................. 21
Metodología de la Programación TIC
2
Evidencia 2° Unidad ................................................................................................................. 23
Tarea Integradora 2° Unidad .................................................................................................... 24
Algoritmos y Diagramas de Flujo .................................................................................................. 25
Reglas para la elaboración de Pseudocódigos ........................................................................... 25
Ejemplo: ............................................................................................................................... 26
Reglas para la elaboración de Diagramas de Flujo .................................................................... 26
Pruebas de Escritorio ............................................................................................................... 27
Ejemplo: ............................................................................................................................... 27
Contadores y Acumuladores..................................................................................................... 29
Contadores .......................................................................................................................... 29
Acumuladores ...................................................................................................................... 30
Contador vs Acumulador ...................................................................................................... 30
Estructuras de Control de Selección ......................................................................................... 31
Simples ................................................................................................................................ 31
Dobles .................................................................................................................................. 33
Compuestas ......................................................................................................................... 35
Múltiples .............................................................................................................................. 37
Estructuras de Repetición ........................................................................................................ 40
Para – Hasta ......................................................................................................................... 40
Repite .................................................................................................................................. 42
Mientras .............................................................................................................................. 44
Evidencia 3° Unidad ................................................................................................................. 46
Tarea Integradora 3° Unidad .................................................................................................... 47
Metodología de la Programación TIC
3
Conceptos Básicos
Adquisición, procesamiento y almacenamiento de datos
INTRODUCCIÓN:
1) Preguntar a los alumnos: ¿Qué son estos:
R= Son Datos.
2) Preguntarles: ¿Los datos, por sí solos, sirven para algo? R= No.
3) Decirles en conclusión: Los datos tienen que estar agrupados, ordenados y definidos para
ser útiles, es decir, para convertirse en información.
Información: Conjunto de datos supervisados y ordenados que sirven para resolver problemas y
tomar decisiones.
Ejemplo:
DATOS: 13.95 , 14.80 INFORMACIÓN: Dólar a la compra: $13.95 Dólar a la venta: $14.80
Los datos dados, son valores sueltos que no nos dicen nada, en cambio, con la información
podemos decidir, por ejemplo, si el dólar está caro o no y si nos conviene comprarlos o esperar a
que baje su valor.
Proceso: Acción que se puede descomponer en otras más simples.
Alba
4 Confirmado
25 Cuevas 110
Suspendido
12
3 Martínez
Metodología de la Programación TIC
4
EXPLICACIÓN:
1) Realizar un proceso significa “transformar algo”.
Un proceso requiere de una entrada para poderse iniciar y dar como resultado una salida:
Entrada: Datos iniciales requeridos para arrancar.
Proceso: Operaciones a realizar.
Salida: Resultados obtenidos.
Ejemplo de un proceso: Proceso de suma de dos números.
Proceso de Información: Por tanto, consiste en recolectar datos, transformarlos de alguna
manera y convertirlos en información útil.
Ejemplo de un proceso de información: De acuerdo a la diferencia (Resta) entre los ingresos y
gastos mensuales que tiene la tienda de abarrotes de Don Chucho, decidir si le conviene seguir
manteniéndola o no.
En base a la información obtenida, se toma la decisión que más convenga a la tienda de abarrotes
(seguir o cerrarla).
ENTRADA
PROCESO SALIDA
2 , 5 ENTRADA
2 + 5 PROCESO
7 SALIDA
DATOS PROCESO DE
INFORMACIÓN INFORMACIÓN
INGRESOS: $3,250 GASTOS: $2,500
DATOS
INGRESOS – GASTOS $3,250 – $2,500
PROCESO DE INFORMACIÓN
GANANCIA = $750 MENSUALES
INFORMACIÓN
Metodología de la Programación TIC
5
Algoritmo
Conjunto de instrucciones formadas por pasos finitos, eficientes y no ambiguos, que sirven para
llevar a cabo una tarea específica.
Como los algoritmos son considerados un tipo de proceso de la información y por tanto, requiere
de una entrada, un proceso y una salida.
Ejemplo: Algoritmo para preparar una taza de té con azúcar.
ENTRADAS: Pocillo, agua, bolsa de té, azúcar, taza, cuchara.
PROCESO:
1. Tomar el pocillo.
2. Llenarlo con agua.
3. Encender el fuego.
4. Poner el pocillo en el fuego.
5. Tomar la bolsa de té.
6. Introducirla en el pocillo.
7. Esperar un minuto.
8. Vaciar el té en la taza.
9. Tomar la cuchara.
10. Agarrar azúcar con la cuchara.
11. Vaciar el azúcar en la taza de té.
12. Revolver el té y el azúcar con la cuchara.
SALIDA: Taza de té con azúcar.
Ejercicios
Realizar los algoritmos necesarios para:
a) Preparar un pan tostado con mermelada.
b) Enviar un mensaje por celular.
c) Comparar dos valores y determinar cuál es el mayor.
d) Calcular el área de un cuadrado.
Metodología de la Programación TIC
6
Pseudocódigo
Describe un algoritmo mezclando frases de un idioma común (español, inglés, etc.) con
instrucciones de programación y palabras clave para realizar el diseño de un programa. Su objetivo
es narrar los pasos que debe seguir un algoritmo para dar solución a un problema.
Presentan la ventaja de ser más compactos que los diagramas de flujo, más simples de escribir
para las instrucciones complejas y más fáciles de trasladar a un lenguaje de programación; además
de no estar regidos por ningún estándar.
Ejemplo 1: Realizar el pseudocódigo de un algoritmo que lleve a cabo la suma de dos números.
INICIO
1. IMPRIMIR: “Introduce el primer número:”
2. LEER: Primer número.
3. IMPRIMIR: “Introduce el segundo número:”
4. LEER: Segundo número.
5. CALCULAR: Suma = Primer número + Segundo número.
6. IMPRIMIR: “El resultado es: ”, Suma.
FIN
Ejemplo 2: Realizar el pseudocódigo de un algoritmo que lea un valor y escriba si éste es par o
impar.
INICIO
1. IMPRIMIR: “Introduce el número:”
2. LEER: Número.
3. SI: Número/2 = 0
4. ENTONCES: IMPRIMIR: “El número es par”
5. SI NO: IMPRIMIR: “El número es impar”
FIN
Metodología de la Programación TIC
7
Ejercicios
Realizar los pseudocódigos necesarios para:
a) Comparar dos valores y determinar cuál es el mayor.
b) Calcular el área de un cuadrado.
c) Calcular el área de un círculo.
d) Convierta de kilómetros por hora a metros por segundo.
Metodología de la Programación TIC
8
Diagrama de Flujo
Es la representación gráfica de los pasos realizados en un proceso y sirve para determinar cómo
dicho proceso produce un resultado (producto, servicio, información, etc.).
Simbología de los Diagramas de Flujo
Símbolo Significado
Inicializador o Terminador. Representa el inicio o fin de un diagrama de flujo.
Proceso. Simboliza la ejecución de un procedimiento específico, sobre los datos manejados en el diagrama.
Decisión. Indica qué hacer si un evento ocurre y qué hacer si no ocurre.
Entrada manual. Representa el ingreso de datos desde el teclado.
Conector. Simboliza la unión de un bloque del diagrama con otro.
Conector fuera de página. Indica la unión de una parte del diagrama con otra que se encuentra en una página distinta.
Documento. Simboliza la salida de datos por medio de la impresora.
Pantalla. Indica la impresión de resultados en la pantalla de la computadora.
Repetir. Permite utilizar estructuras iterativas.
Flujo. Señala la dirección en que se debe leer el diagrama.
Metodología de la Programación TIC
9
Operadores de los Diagramas de Flujo
Operador Significado + Suma
– Resta
* Multiplicación
/ División
> Mayor que
< Menor que
= Igual que
>= Mayor o Igual que
<= Menor o Igual que
≠ Diferente de
Ejemplo 1: Realizar un diagrama de flujo que lleve a cabo la suma de dos números.
Ingreso del primer
número
INICIO
“Dame el primer
número:” Suma = Primer número
+ Segundo número
FIN “Dame el segundo
número:”
Ingreso del segundo
número
“El resultado es: ”,
Suma
A
A
Metodología de la Programación TIC
10
Ejemplo 2: Realizar el pseudocódigo de un algoritmo que lea un valor y escriba si éste es par o
impar.
Ejercicios
Realizar los diagramas de flujo necesarios para:
a) Comparar dos valores y determinar cuál es el mayor.
b) Calcular el área de un cuadrado.
c) Calcular el área de un círculo.
d) Convierta de kilómetros por hora a metros por segundo.
Ingreso del número
INICIO
“Introduce un
número:”
FIN
Resultado = 0?
Resultado = Número / 2
SI
NO
“El Número es
Par”
“El Número es
Impar”
Metodología de la Programación TIC
11
Variables
Una variable es un espacio reservado en la memoria de la computadora y sirve para contener un
dato valor determinado, el cual puede ser numérico o de otro tipo.
ANALOGÍA: Es posible comparar una variable con un cajón en el cual solamente cabe un objeto a la
vez y ese objeto, sería el dato en cuestión.
La característica principal de las variables es que, como su nombre lo indica, pueden cambiar su
valor en el momento que se requiera.
Constantes
Al igual que las variables, son espacios de memoria reservados para almacenar un valor. Sin
embargo, se diferencian de éstas, porque las constantes no pueden cambiar el dato que están
guardando, sino que lo mantienen fijo.
Identificadores
Para localizar una variable o constante, dentro de un algoritmo, pseudocódigo o diagrama de flujo,
es necesario asignarle un nombre; dicho nombre se conoce como identificador. Se aconseja
utilizar nombres representativos de los datos que se almacenarán.
Reglas para la creación de Identificadores
1. Incluir uno o más caracteres.
2. El primer carácter debe ser una letra o guion bajo (_), mientras que todos los demás,
pueden ser letras, dígitos o guiones bajos (_). Las letras pueden ser minúsculas o
mayúsculas del alfabeto inglés, es decir, no está permitido el uso de 'ñ' y 'Ñ'.
3. No pueden existir dos identificadores iguales, es decir, dos variables o constantes no
pueden llevar el mismo nombre.
4. Salvo el guion bajo, no se puede utilizar ningún otro símbolo especial.
Metodología de la Programación TIC
12
Tipos de datos
Es el tipo de valor que una variable o constante, puede almacenar. Existen 4 tipos de datos
básicos, conocidos como “simples”:
1. Entero: Incluye todos los números enteros (positivos o negativos) que hay.
2. Real: Representan a los números decimales tanto positivos como negativos.
3. Carácter: Comúnmente conocido como “char” (por su nombre en inglés), es usado para
almacenar caracteres simples, como ‘a’ o ‘s’. En caso de que se requieran guardar palabras
e incluso, frases completas, el tipo de dato regularmente usado, es “string” (cadena de
caracteres), el cual puede almacenar datos como: “Esta es una cadena de caracteres”.
4. Booleano: Las variables o constantes de este tipo, sólo pueden almacenar dos valores:
“Verdadero” o “Falso”. En algunos casos, el valor “verdadero” suele representarse
también con un “1” y el “Falso” como un “0”.
Ejemplo: Si la variable A guarda únicamente números que no sean decimales, ¿de qué tipo es? R=
Entera.
Ejercicios
Responder correctamente las siguientes preguntas:
a) Indica dos valores que pueda almacenar la variable N1, la cual es de tipo Real. R= 1.5, 2.3
b) ¿De qué tipo debe ser la variable Nombre, si requiere almacenar el nombre completo de
una persona? R= String o Carácter.
c) Una constante sólo puede contener un valor “verdadero” o “falso”, ¿cuál será su tipo de
dato? R= Booleano.
Metodología de la Programación TIC
13
Metodología para la solución de problemas por medio de computadoras
La solución de un problema por computadora, requiere de siete pasos dispuestos de tal forma,
que cada uno depende de los anteriores, es decir, es un proceso complementario y por lo tanto,
cada paso exige el mismo cuidado en su elaboración.
Los siete pasos de la metodología son:
1. Definición del problema.- Es el enunciado del problema. Debe ser claro y completo. Es
fundamental conocer y delimitar totalmente el problema, para saber qué es lo que debe
realizar la computadora y mientras esto no suceda, no tiene caso continuar con el
siguiente paso.
2. Análisis de la solución.- Una vez definido el problema, es necesario determinar cuáles
serán los datos de entrada, qué información se desea producir (salida) y qué métodos y/o
fórmulas son necesarias para procesar dichos datos.
RECOMENDACIÓN: Hay que ponerse en el lugar de la computadora y analizar qué
necesitamos que nos ordenen y en qué secuencia, para producir los resultados esperados.
3. Diseño del algoritmo.- A continuación, se debe crear la serie de pasos ordenados que
proporcionen un método explícito para solucionar el problema, es decir, el algoritmo. Las
características de un buen algoritmo son:
a. Tener un punto particular de inicio. Indicar claramente por dónde empezar.
b. Ser definido, no permitir dobles interpretaciones.
c. Ser general, es decir, soportar la mayoría de las variantes que se puedan presentar
en la definición del problema.
d. Ser finito en tamaño y tiempo de ejecución.
EJEMPLIFICACIÓN DE PRÁCTICA: Tomar a dos alumnos, decirle a uno de ellos que le dé
órdenes al otro para que realice alguna acción. Quien recibe las órdenes debe desconocer
qué es lo que el otro compañero desea que haga.
4. Codificación.- Consiste en escribir la solución del problema (de acuerdo al pseudocódigo o
diagrama de flujo) como una serie de instrucciones detalladas en un código reconocible
por la computadora, es decir, en un lenguaje de programación, lo cual se conoce como
“Programa”.
Metodología de la Programación TIC
14
5. Prueba y Depuración.- La prueba es el proceso de localizar los errores existentes en un
programa. Para ello, es necesario:
a. Iniciar la prueba con una mentalidad saboteadora, intentando por todos los
medios, que el programa marque algún error.
b. Sospechar de todos los resultados que arroje la solución y verificarlos.
c. Considerar todas las situaciones posibles tanto normales como anormales.
La depuración, es el proceso de eliminar los errores que se hayan encontrado mediante la
prueba.
6. Documentación.- Es la guía escrita que sirve para saber cómo usar un programa o facilitar
futuras modificaciones. Debe presentarse en tres formas:
a. Documentación Interna.- Son los comentarios que se agregan al código del
programa y explican las funciones que realizan ciertos procesos, cálculos o
fórmulas para el entendimiento del mismo.
b. Documentación Externa.- Es el Manual Técnico, integrado por los siguientes
elementos: Descripción del Problema, Nombre del Autor, Diagrama del Flujo y/o
Pseudocódigo, Lista de variables y constantes, y Codificación del Programa; con la
finalidad de permitir su posterior adecuación a los cambios.
c. Manual del Usuario.- Es la guía que se le proporciona al usuario final, para que
aprenda a manejar el programa. Presenta todas las pantallas y menús que éste
encontrará y una explicación de los mismos, pero no contiene información de tipo
técnico.
7. Mantenimiento.- Se lleva a cabo después de terminar y poner a trabajar el programa, si
se detecta que es necesario hacer un cambio, ajuste y/o complementación para que siga
trabajando de correctamente.
Metodología de la Programación TIC
15
Evidencia 1° Unidad
Reunir los 15 ejercicios relativos a la unidad 1, pasarlos en limpio escritos a mano y entregarlos.
I.- Realizar los algoritmos necesarios para:
a) Preparar un pan tostado con mermelada.
b) Enviar un mensaje por celular.
c) Comparar dos valores y determinar cuál es el mayor.
d) Calcular el área de un cuadrado.
II.- Realizar los pseudocódigos necesarios para:
a) Comparar dos valores y determinar cuál es el mayor.
b) Calcular el área de un cuadrado.
c) Calcular el área de un círculo.
d) Convierta de kilómetros por hora a metros por segundo.
III.- Realizar los diagramas de flujo necesarios para:
a) Comparar dos valores y determinar cuál es el mayor.
b) Calcular el área de un cuadrado.
c) Calcular el área de un círculo.
d) Convierta de kilómetros por hora a metros por segundo.
IV.- Responder correctamente las siguientes preguntas:
a) Indica dos valores que pueda almacenar la variable N1, la cual es de tipo Real.
b) ¿De qué tipo debe ser la variable Nombre, si requiere almacenar el nombre completo de
una persona?
c) Una constante sólo puede contener un valor “verdadero” o “falso”, ¿cuál será su tipo de
dato?
Lista de Cotejo para Revisión de esta Evidencia
Metodología de la Programación TIC
16
Tarea Integradora 1° Unidad
Realizar, por equipos, el análisis de los ejercicios dados, indicando en una tabla los datos que se
solicitan en cada columna, como se observa en el ejemplo siguiente:
Ejercicio 1: Realizar la suma de dos números.
NÚMERO DE EJERCICIO
DATOS DE ENTRADA
DATOS DE SALIDA
TIPOS DE DATOS USADOS
OPERACIONES A REALIZAR
1 Primer número Segundo número
Suma de dos números
Resultado de la suma
1) Primer número + Segundo número
Ejercicios:
1) Comparar dos valores y determinar si son iguales.
2) Calcular la raíz cuadrada de un número.
3) Calcular la hipotenusa de un triángulo rectángulo, conocidas las longitudes de sus dos
catetos.
4) Ordenar dos números de menor a mayor.
5) Calcular el volumen de un cubo.
Lista de Cotejo para Revisión de esta Tarea Integradora
Metodología de la Programación TIC
17
Expresiones
Operadores Aritméticos, Relacionales y Lógicos
En un código fuente, un operador es un carácter o secuencia de caracteres que definen las
operaciones que se realizarán con los datos u operandos.
Operadores Aritméticos
Operan sobre valores de tipo entero o real (decimal) y son:
OPERADOR DESCRIPCIÓN EJEMPLO DE EXPRESIÓN
RESULTADO DEL EJEMPLO
^ Potencia (permite operandos enteros y/o reales).
3^2 9
+ Suma (permite operandos enteros y/o reales).
2.5 + 7.1 9.6
- Resta (permite operandos enteros y/o reales).
10 – 3 8
* Multiplicación (permite operandos enteros y/o reales).
1.2 * 1 1.2
/ División real (sin importar si los operandos son enteros o reales).
6/8 30/3
0.75 10
div Cociente o resultado entero (sólo permite operandos enteros).
20 div 7 2
mod Devuelve el resto o residuo de la división (sólo permite operandos enteros).
20 mod 7 6
Ejercicios:
a) 40 div 2 = 20
b) 40 mod 2 = 0
c) 17 div 3 = 5
d) 17 mod 3 = 2
Metodología de la Programación TIC
18
Operadores Relacionales
Operan sobre valores de tipo entero, real o cadena y son:
OPERADOR DESCRIPCIÓN EJEMPLO DE EXPRESIÓN
RESULTADO DEL EJEMPLO
= Igual que 110 = 110 9 = 3
Verdadero Falso
<> Diferente de 12 <> 12 7 <> 38
Falso Verdadero
< Menor que ‘A’ < ‘B’ ‘F’ < ‘C’
Verdadero Falso
> Mayor que 10 > 50 2.5 > 1.0
Falso Verdadero
<= Menor o igual 20 <= 16 1 <= 1
Falso Verdadero
>= Mayor o igual 32 >= 32 ‘D’ >= ‘K’
Verdadero Falso
Ejercicios:
Indicar si el resultado de la comparación es verdadero o falso.
a) 12 <= 26 Verdadero
b) 19 <> 3 Verdadero
c) 78 = 10 Falso
d) ‘C’ >= ‘F’ Falso
Operadores Lógicos
También conocidos como Booleanos, operan sobre valores de su mismo tipo, es decir, lógicos o
booleanos y devuelven como resultado también valores de dicho tipo. Son:
OPERADOR DESCRIPCIÓN EJEMPLO DE EXPRESIÓN RESULTADO DEL EJEMPLO
AND Y Verdadero AND Falso Falso OR O Verdadero OR Falso Verdadero
NOT No o Negación NOT Verdadero Falso
Metodología de la Programación TIC
19
Tablas de Verdad para AND
Con el operador AND, el resultado será verdadero sólo si los dos operandos son verdaderos.
A B EXPRESIÓN COMPLETA “A AND B”
RESULTADO DEL EJEMPLO
V V V AND V V V F V AND F F F V F AND V F F F F AND F F
Tablas de Verdad para OR
Con el operador OR, el resultado será verdadero si uno de los dos operandos o ambos, son
verdaderos.
A B EXPRESIÓN COMPLETA “A OR B”
RESULTADO DEL EJEMPLO
V V V OR V V V F V OR F V F V F OR V V F F F OR F F
Tablas de Verdad para NOT
Con el operador NOT, el resultado será verdadero si el operando es Falso y viceversa.
A EXPRESIÓN COMPLETA “NOT A”
RESULTADO DEL EJEMPLO
V NOT V F F NOT F V
Ejercicios:
a) V AND F = Falso
b) F OR V = Verdadero
c) NOT V = Falso
d) NOT F AND V = Verdadero
Metodología de la Programación TIC
20
Jerarquía de Operadores
Indica cuál operador debe ejecutarse sobre los operandos y cuál debe hacerlo después:
NIVEL DE PRIORIDAD OPERADOR
1 ( ) 2 ^ 3 NOT 4 *, /, div, mod, AND 5 +, -, OR 6 =, <>, >, <, >=, <=
La secuencia de operadores de igual prioridad, normalmente se evalúa de izquierda a derecha
dentro de una expresión, aunque se recomienda el uso de paréntesis para hacer que las
expresiones sean más claras y fáciles de entender.
Expresiones
Una expresión, es una combinación de operadores y operandos, donde estos últimos pueden ser
números, o bien, datos almacenados en constantes y/o variables. Dentro de la programación, se
usan para realizar una o varias operaciones sobre un dato o un conjunto de éstos, obteniéndose
otro dato como resultado.
Ejemplos:
EXPRESIÓN RESULTADO INTERMEDIO RESULTADO FINAL
2 * 3 + 4 6 + 4 10 2 + 3 * 4 2 + 12 14
(2 + 3) * 4 5 * 4 20 17 div 2 – 1 8 – 1 7
Las reglas de evaluación de expresiones, pueden resumirse en las siguientes:
a) Un dato situado entre dos operadores de diferente prioridad, se liga al operador de mayor
prioridad.
b) Un dato situado entre dos operadores de igual prioridad, se liga al operador de la
izquierda.
c) Las expresiones entre paréntesis se evalúan primero para que sus resultados sean tratados
como datos simples.
Metodología de la Programación TIC
21
Ejercicios:
I.- Resuelve correctamente las siguientes expresiones usando la jerarquía de operadores e indica
cuál es ésta:
1. 3 * 5 – 8 / 2 = 15 – 4 = 11
2. (9 + 1) * (5 – 2) = 10 * 3 = 30
3. 9 div 3 * 2 + (5 mod 4) = 3 * 2 + 1 = 6 + 1 = 7
4. ((10 + 2) * 4) / (8 + (9 – 5)) = (12 * 4) / (8 + 4) = 48 / 12 = 4
II.- Convierte los siguientes enunciados a expresiones numéricas:
1. Seis veces la diferencia entre 25 y 3. 6(25-3) 2. La suma de 320 y 8, divididos entre 2, todo ello dividido entre 4. ((320+8)/2)/4
Conversión a de Expresiones Matemáticas a Expresiones Algorítmicas
Una expresión algebraica es, por ejemplo:
ax2+bx=c
Para convertirla a expresión algorítmica, hay que tener en cuenta los operadores antes vistos, así,
la expresión anterior se convertiría en:
a * x ^ 2 + b * x = c
Ejemplos:
a) 3x2+5x-6 = 3*x^2 + 5*x – 6
b) X4-2x2+5x+1 = x^4 – 2*x^2 + 5*x + 1
c) 5-xy2+xb-x5 = 5 – x*y^2 + x*b – x^5
Metodología de la Programación TIC
22
Ejercicios:
Convertir las siguientes expresiones algebraicas a expresiones algorítmicas.
a) ab=c a*b=c
b) x3+yx2+zx=b x^3+y*x^2+z*x=b
c) (ab + cd)/(x/y) (a*b+c*d)/(x/y)
d) q2+((x3-ax)b)=k q^2+((x^3-a*x)*b)=k
e) Ax4-Bx3+Cx-D A*x^4-B*x^3+C*x-D
f) a2+2ab+b2 a^2+2*a*b+b^2
Metodología de la Programación TIC
23
Evidencia 2° Unidad
1. Resolver las siguientes expresiones aritméticas, respetando la jerarquía de operadores.
a. -4 * 7 + 2 ^ 3 / 4 – 5
b. ( 7 * ( 10 - 5) mod 3) + 4 + 9
c. 10 div 2 * 8 / 4 – 5
d. (33 + 10 mod 3 * 4) /5
e. 16 * 12 mod 3 – 3 * 2
f. (( 3 + 2 ) ^ 2 – 15) / 2 * 5
g. Y = (4 * 3 / 2) mod (8 \ 4 + 2)
2. Deducir el valor de las siguientes expresiones sabiendo que: A = 5; B = 25; C = 10
a. X = A + B mod C
b. X = (A + B) / C
c. X = A + (B / C)
d. x ^ 2 - 4 * y * z Valores: y = 2, x = 1, z = 3
e. ( X ^ 2 + Y ^ 2 ) > ( 30 / 2 ) Valores: X = 2, Y = 3, Z = 4
3. Obtener el resultado de las siguientes expresiones sabiendo que: A = 4; B = 5; C = 1
a. B * A - B ^ 2 / 4 * C
b. (A * B) / 3 ^ 2
c. ( ( ( B + C ) / 2 * A + 10 ) * 3 * B ) - 6
4. Evaluar las siguientes expresiones lógicas aplicando la jerarquía de operadores, para saber
si el resultado de cada una es Verdadero o Falso.
EXPRESIÓN DONDE:
1. ((A * B) < (B + C)) AND (A = C) A=3, B=4 y C=2 2. ((A + B) > C) OR ((B / D > B)) A=2, B=5, C=3 y D=5 3. X = (A \ B) * C + (A / B) A = 4, B = 2, C = 3 4. PI * X^2>Y OR 2* PI * X <=Z 5. X>3 AND (Y=4 OR (X+Y<=Z)) 6. X>3 AND (Y=4 OR (X+Y<=Z)) 7. (NOT (Y/2=2*X)) AND (NOT (Y<(PI-E*Z))
X=1 Y=4 Z=10 PI=3.141592 E=2.718281
8. a>b 9. a>=b 10. a<b 11. a<=b 12. Not a=b
a=5 y b=2
Lista de Cotejo de la Evidencia 2° Unidad
Metodología de la Programación TIC
24
Tarea Integradora 2° Unidad
I.- Realizar por equipos las conversiones de expresiones matemáticas a expresiones algorítmicas,
teniendo en cuenta los operadores aprendidos en clase.
1.
2.
3.
4. P=
5.
6. + 1
7.
8. (m + n)
9.
10.
II.- Para cada uno de los ejercicios anteriores, incluir la jerarquía de operadores para indicar el en
que éstos se ejecutarán.
III.- Convertir los siguientes enunciados a expresiones numéricas.
1. El cubo del término X, más el triple producto del cuadrado del termino X por el termino Y, más el triple producto del termino X por el cuadrado del termino Y, más el cubo del termino Y.
2. La diferencia entre el producto de 9 y 15, y el cociente de 24 y 4. 3. La suma de 8 y 3, por la diferencia de 6 y 2.
Lista de Cotejo Tarea Integradora 2° Unidad
Metodología de la Programación TIC
25
Algoritmos y Diagramas de Flujo
Reglas para la elaboración de Pseudocódigos
Todo documento en pseudocódigo debe permitir la descripción de:
Instrucciones primitivas.
Instrucciones de proceso.
Instrucciones de control.
Instrucciones compuestas.
Instrucciones de descripción.
Estructura a seguir en su realización:
a) Cabecera:
Programa.
Modulo.
Tipos de datos.
Constantes.
Variables.
b) Cuerpo:
Inicio
Instrucciones
Fin
NOTA: Para comentar en pseudocódigo se le antepone al comentario dos asteriscos (*).
Metodología de la Programación TIC
26
Ejemplo:
Programa que calcula el área de un cuadrado a partir de un lado dado por teclado.
Programa: area_cuadrado
Módulo: main **( también se puede llamar principal).
Variables:
lado: número natural
área: número natural
Algoritmo:
Inicio
Imprimir: "Introduce el lado del cuadrado"
Leer (lado)
Area lado * lado
Imprimir: "El área del cuadrado es: ", área
Fin
Reglas para la elaboración de Diagramas de Flujo
1. Usar solamente líneas de flujo, horizontales y/o verticales.
2. Evitar el cruce de líneas utilizando conectores.
3. Usar conectores sólo cuando sea necesario.
4. No dejar líneas de flujo sin conectar.
5. Todos los símbolos deben estar conectados.
6. Trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a
derecha.
7. A un símbolo de proceso pueden llegar varias líneas de flujo.
8. A un símbolo de decisión pueden llegar varias líneas de flujo, pero sólo saldrán dos.
9. A un símbolo de inicio nunca le llegan líneas.
10. De un símbolo de fin no parte ninguna línea.
11. Escribir claramente cualquier texto que contengan los símbolos, evitando el uso de
muchas palabras.
Metodología de la Programación TIC
27
Pruebas de Escritorio
Una prueba de escritorio es la comprobación lógica, de un algoritmo de resolución, es útil para
entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la
especificación sin necesidad de ejecutarlo.
Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se
debe llevar registro de los valores que va tomando cada una de las variables involucradas en el
mismo.
Para desarrollar la prueba de escritorio, se utilizara el siguiente procedimiento:
1. Con datos de prueba, se seguirán cada uno de los pasos propuestos en el algoritmo de
resolución.
2. Si la prueba de escritorio genera resultados óptimos, quiere decir que el algoritmo posee
una lógica adecuada, en caso contrario el algoritmo tendrá que ser corregido.
Ejemplo:
Realizar la prueba de escritorio del algoritmo dado.
suma: entero entrada: entero menor: entero leer (entrada) menor entrada suma 0 mientras (entrada != 0) si (entrada < menor) entonces menor entrada fin_si suma suma + entrada leer entrada fin_mientras imprimir: “valor Menor: ” imprimir: menor imprimir: “Suma:” imprimir: suma
Metodología de la Programación TIC
28
INSTRUCCIÓN ENTRADA MENOR SUMA PANTALLA
leer (entrada) 10
menor entrada 10
suma 0 0
suma suma + entrada
10
leer (entrada) 7
menor entrada 7
suma suma + entrada
17
leer (entrada) 9
suma suma + entrada
26
leer (entrada) 0
Imprimir: “valor menor:”
Valor Menor
Imprimir: menor 7
Imprimir: “Suma:” Suma:
Imprimir: suma 26
Metodología de la Programación TIC
29
Contadores y Acumuladores
Contadores
Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante
cada vez que se produce un determinado suceso o acción. Se usan con la finalidad de contar
sucesos o acciones internas de un ciclo; deben realizar una operación de inicialización y
posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en
asignarle al contador un valor inicial y se sitúa antes y fuera del ciclo.
Ejemplos:
Cada vez que alguien es atendido en la taquilla de un banco, se puede almacenar en un
contador de personas atendidas.
Cada vez que se vende una entrada a un juego de futbol, se puede almacenar en un
contador de entradas vendidas.
Cada vez que se registra un nuevo usuario en una página web, se puede almacenar en un
contador de usuarios registrados.
A continuación, se presenta en pseudocódigo, la estructura general de un contador:
int contador = 0
inicio del ciclo
i = i + 1
fin del ciclo
Los contadores pueden ser de incremento o decremento, por tanto, las siguientes expresiones son
válidas:
i = i + 1; o bien, i++; (Expresiones equivalentes).
i = i – 1; o bien, i--; (Expresiones equivalentes).
Metodología de la Programación TIC
30
Acumuladores
Un acumulador es una variable que suma sobre sí misma un conjunto de valores para tener el
total de ellos en una sola variable.
Ejemplos:
La cantidad de dinero depositado en una cuenta de ahorros en el lapso de un mes, se
podría almacenar en un acumulador de depósitos.
La cantidad de estudiantes de todos los salones de clases podría almacenarse en un
acumulador de cantidad de estudiantes de cada sección.
La suma de los habitantes de cada uno de los estados del país, se podría guardar en el
acumulador llamado total de habitantes del país.
A continuación, se presenta en pseudocódigo la estructura general de un acumulador:
int acumulador = 0 inicio del ciclo acumulador = acumulador + valor fin del ciclo
Donde “valor” puede ser un dato introducido por el usuario, el producto de un cálculo, etc.
Contador vs Acumulador
La diferencia entre un contador y un acumulador, es que el primero aumenta de uno en uno y el
segundo lo hace en una cantidad variable.
Metodología de la Programación TIC
31
Estructuras de Control de Selección
También llamadas estructuras condicionales, se identifican porque en la fase de solución del
problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si
ciertas acciones deben realizarse o no.
En pseudocódigo, estas estructuras son representadas con las palabras IF – THEN – ELSE (SI –
ENTONCES – SI NO o DE LO CONTRARIO). En los diagramas de flujo se simbolizan con un rombo.
Simples
Se conforman de una sola condición. Es representada por la estructura IF – THEN, la cual evalúa la
condición:
Si ésta es verdadera, entonces ejecuta la acción o acciones localizadas en el bloque IF.
Si es falsa, entonces no se hace nada.
Representación en pseudocódigo
INGLES ESPAÑOL If (condición) Si (condición) then Entonces Acción a realizar en caso de que la condición se cumpla.
Acción a realizar en caso de que la condición se cumpla.
End If Final Si
Representación en diagrama de flujo
Metodología de la Programación TIC
32
Ejemplo:
Construir un algoritmo que, dada la calificación de un alumno en un examen, escriba “Aprobado”
en caso que esa calificación fuese mayor que 8.
Representación en Pseudocódigo:
Salidas: Mensaje de Aprobado si se cumple la condición.
Entradas: Calificación.
Datos adicionales: Un alumno aprueba si la calificación es mayor que 8.
Variables:
Cal = Calificación
Algoritmo:
INICIO
LEER (Cal)
SI (Cal > 8) ENTONCES
Escribir “Aprobado”
FIN_SI
FIN
Representación en Diagrama de Flujo:
Metodología de la Programación TIC
33
Dobles
Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se usan cuando se
tienen dos opciones de acción, por la naturaleza de éstas se debe ejecutar una o la otra, pero no
ambas a la vez.
Representación en pseudocódigo
INGLES ESPAÑOL
If (condición) Si (condición) then Entonces Acción a realizar en caso de que la condición se cumpla.
Acción a realizar en caso de que la condición se cumpla.
Else Si no Acción a realizar en caso de que la condición no se cumpla.
Acción a realizar en caso de que la condición no se cumpla.
End If Final Si
Representación en diagrama de flujo
Metodología de la Programación TIC
34
Ejemplo:
Construir un algoritmo que, dada la calificación de un alumno en un examen, escriba “Aprobado”
en caso que esa calificación fuese mayor que 8 y “Reprobado” en caso contrario.
Representación en Pseudocódigo:
Algoritmo:
INICIO
LEER (Cal)
SI (Cal > 8) ENTONCES
Escribir “Aprobado”
SI NO
Escribir “Reprobado”
FIN_SI
FIN
Representación en Diagrama de Flujo:
Metodología de la Programación TIC
35
Compuestas
Se utilizan en aquellos casos en que luego de tomar una decisión y marcar el camino
correspondiente a seguir, es necesario tomar otra decisión; proceso que puede repetirse
numerosas veces. Este tipo de estructuras se llama bloque anidado o IF anidado, pues contiene un
bloque condicional (IF) dentro de otro.
Ejemplo:
Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras
trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se
consideran horas extras y que éstas se pagan al doble de una hora normal cuando no exceden de
8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora
normal y el resto al triple.
SOLUCIÓN:
Primero, determinar si el trabajador laboró horas extra o no. Encontrar las horas extra de la
siguiente forma:
HORAS EXTRA = HORAS TRABAJADAS – 40
SI TRABAJÓ HORAS EXTRA:
SI HORAS EXTRA > 8 ENTONCES HORAS EXTRA EXCEDENTES DE 8 = HORAS EXTRA – 8 Y
PAGO POR HORAS EXTRA = PAGO POR HORA NORMAL * 2 * 8 + PAGO POR HORA
NORMAL * 3 * HORAS EXTRA EXCEDENTES DE 8.
SI NO (SÓLO HORAS AL DOBLE), PAGO POR HORAS EXTRA = PAGO POR HORA NORMAL *
2 * HORAS EXTRA.
FINALMENTE, PAGO TOTAL QUE RECIBIRÁ EL TRABAJADOR SERÁ:
PAGO = PAGO * HORA NORMAL * 40 + PAGO POR HORAS EXTRA.
SI NO TRABAJÓ HORAS EXTRA:
PAGO = PAGO POR HORA NORMAL * HORAS TRABAJADAS
SALIDAS: PAGO.
ENTRADAS: NÚMERO DE HOJAS TRABAJADAS Y PAGO POR HORA NORMAL.
Metodología de la Programación TIC
36
VARIABLES:
HT = HORAS TRABAJADAS
HE = HORAS EXTRA
HET = HORAS EXTRA QUE EXCEDEN DE 8
PH = PAGO POR HORA NORMAL
PHE = PAGO POR HORAS EXTRA
PT = PAGO QUE RECIBE EL TRABAJADOR
ALGORITMO:
INICIO
LEER (HT, PH)
SI (HT > 40) ENTONCES
HE HT – 40
SI (HE > 8) ENTONCES
HET HE – 8
PHE PH * 2 * 8 + PH * 3 * HET
SI NO
PHE PH * 2 * HE
FIN_SI
PT PH * 40 + PHE
SI NO
PT PH * HT
FIN_SI
ESCRIBIR (PT)
FIN
Metodología de la Programación TIC
37
Múltiples
Se emplea cuando es necesario que existan más de dos elecciones posibles.
COMENTARIO: Si bien este problema podría resolverse mediante estructuras simples o dobles
anidadas, puede suceder que el número de alternativas sea grande y plantee serios problemas de
escritura y legibilidad.
Usando estas estructuras puede evaluarse una expresión que tome n valores distintos (1, 2, 3, …,
n) y según el valor que se elija en la condición, se realizará una de las n acciones o en otras
palabras, el flujo del algoritmo seguirá sólo un determinado camino entre los n posibles.
Representación en Pseudocódigo
EN CASO DE QUE VARIABLE VALGA:
1: EJECUTAR ACCIÓN 1.
2: EJECUTAR ACCIÓN 2.
3: EJECUTAR ACCIÓN 3.
…
N: EJECUTAR ACCIÓN N.
FIN_EN_CASO_DE_QUE
Representación en Diagrama de Flujo
Metodología de la Programación TIC
38
Ejemplo:
Diseñar un algoritmo tal que dados como datos dos variables de tipo entero, obtenga el resultado
de la siguiente función:
SOLUCIÓN:
ALGORITMO:
Metodología de la Programación TIC
39
DIAGRAMA DE FLUJO:
Metodología de la Programación TIC
40
Estructuras de Repetición
También llamadas “repetitivas” o “iterativas”, se utilizan cuando es necesario que un conjunto de
instrucciones se ejecuten un cierto número finito de veces. Están formadas por bucles o ciclos, que
son procesos que se repiten un determinado número de ocasiones dentro de un pseudocódigo o
programa.
Para – Hasta
Es usado cuando se conoce de antemano cuántas veces se ejecutarán las acciones de un ciclo.
Representación en Pseudocódigo
INGLES ESPAÑOL
FOR variable = valor inicial TO valor final PARA variable = valor inicial HASTA valor final Acciones a realizar dentro del ciclo Acciones a realizar dentro del ciclo END_FOR FIN_PARA-HASTA
Representación en Diagrama de Flujo
Para emplear esta estructura en algoritmos, se deben utilizar contadores y algunas veces,
acumuladores.
Metodología de la Programación TIC
41
Ejemplo:
Calcular la suma de los cuadrados de los primeros 100 enteros y escribir el resultado. Se desea
resolver el problema usando estructura Desde, Mientras y luego Repetir.
SOLUCIÓN:
ALGORITMO:
INICIO
SUMA 0
PARA k = 1 HASTA 100
SUMA SUMA + K * K
FIN_PARA-HASTA
ESCRIBIR (SUMA)
FIN
DIAGRAMA DE FLUJO:
Metodología de la Programación TIC
42
Repite
Es aquella estructura que se repite un cierto número de veces hasta que una determinada
condición se vuelva verdadera.
Representación en Pseudocódigo
INGLES ESPAÑOL
REPEAT REPITE Acciones a repetir dentro del ciclo. Acciones a repetir dentro del ciclo. UNTIL (CONDICIÓN) HASTA QUE (CONDICIÓN)
Representación en Diagrama de Flujo
Metodología de la Programación TIC
43
Ejemplo:
Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado.
SOLUCIÓN:
ALGORITMO:
INICIO SUMA 0 K 1 REPETIR SUMA SUMA + K * K K K + 1 HASTA QUE (K > 100) ESCRIBIR (SUMA) FIN
DIAGRAMA DE FLUJO:
Metodología de la Programación TIC
44
Mientras
Es aquella estructura que se ejecuta mientras una condición evaluada, resulte verdadera. La
diferencia entre Mientras y Repite, es que en la primera, la condición se sitúa al principio, en
cambio, en la estructura Repite, se sitúa al final del bloque de instrucciones.
Existen ciertos casos en que las estructuras Mientras y Para-Hasta, no realizan ninguna iteración
(repetición) en el ciclo, sin embargo, Repite, siempre ejecutará el ciclo al menos una vez.
EXPLICAR POR QUÉ SUCEDE ESTO.
Representación en Pseudocódigo
INGLES ESPAÑOL
WHILE (Condición) MIENTRAS (Condición) Acciones a repetir dentro del ciclo. Acciones a repetir dentro del ciclo. END_WHILE FIN_MIENTRAS
Representación en Diagrama de Flujo
Metodología de la Programación TIC
45
Ejemplo:
Calcular la suma de los cuadrados de los primeros 100 números enteros y escribir el resultado.
SOLUCIÓN:
ALGORITMO:
INICIO SUMA 0 K 1 MIENTRAS (K <= 100) SUMA SUMA + K * K K K + 1 FIN_MIENTRAS ESCRIBIR (SUMA) FIN
DIAGRAMA DE FLUJO:
Metodología de la Programación TIC
46
Evidencia 3° Unidad
Realizar el pseudocódigo y diagrama de flujo que resuelva los siguientes casos. Una vez terminado,
hacer la prueba de escritorio necesaria para evaluar la funcionalidad de cada solución.
1. Llevar a cabo la suma de dos números leídos por el teclado e imprimir el resultado en
pantalla.
2. Modificar el anterior para sumar 100 números leídos por teclado.
3. Modificar el anterior para que permita sumar N números. El valor de N debe leerse
previamente por teclado.
4. Escribir los 100 primeros números pares.
5. Sumar los N primeros números impares.
6. Modificar el anterior para que haga lo mismo con los números pares.
7. Modificar el anterior para que haga lo mismo con los múltiplos de 3.
8. Calcular el N-ésimo término de la sucesión Fibonacci, la cual se define como sigue: a1=1,
a2=1 y an=an-1+an-2 para n>2, es decir, los dos primeros valores son 1 y en el resto cada uno
es la suma de los dos anteriores; así, los primero son: 1, 1, 2, 3, 5, 8, 13, 21, …
9. Simular un reloj.
10. Calcular el máximo común divisor de dos números enteros positivos N y M, siguiendo el
algoritmo de Euclides, que es el siguiente:
a. Se divide N entre M, sea R el resto.
b. Si R=0, el máximo común divisor es M y se acaba.
c. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.
Lista de Cotejo para Revisión de esta Evidencia
Metodología de la Programación TIC
47
Tarea Integradora 3° Unidad
Realizar el pseudocódigo y diagrama de flujo que resuelva los siguientes casos. Una vez terminado,
hacer la prueba de escritorio necesaria para evaluar la funcionalidad de cada solución.
1. Leer N números, calcular y escribir la suma de los pares y el producto de los impares.
2. Calcular el factorial de N, sabiendo que se calcula como sigue: N! = 1*2*3*…*N.
3. Calcular AB, siendo B un número entero que puede ser 0 o negativo.
4. Adivinar un número entre 1 y 1000 que haya sido pensado por un humano. El programa
debe ir diciendo números y el humano responderá con los símbolos “<”, “>” o “=”, según
el número pensado sea menor, mayor o igual que el propuesto por la computadora.
Cuando adivine, deberá poner un mensaje especificando cuántas preguntas ha necesitado
y finalizar. No debe realizar más de 10 preguntas y debe detectar si el humano le engaña
diciéndole cosas imposibles, como que un número es mayor que 4 y menor que 5.
5. Dados 2 números enteros positivos N y D, se dice que D es un divisor de N si el resto de
dividir N entre D es igual a 0. Se dice que un número N es perfecto si la suma de sus
divisores (excluido el propio N) es igual a N. Por ejemplo, 28 es perfecto, pues sus divisores
(excluyendo al propio 28) son: 1, 2, 4, 7 y 14 y su suma es: 1 + 2 + 4 + 7 + 14 = 28. Hacer un
pseudocódigo y diagrama de flujo que dado un número N, nos diga si dicho número es
perfecto o no.
6. Dado un año A decir si es bisiesto o no, teniendo en cuenta que un año es bisiesto si es
múltiplo de 4, exceptuando los múltiplos de 100, que sólo son bisiestos cuando son
múltiplos también de 400, por ejemplo, el año 1900 no fue bisiesto, pero el 2000 sí.
7. Leer un número N y obtener las ternas pitagóricas (A, B, C) en las que A, B y C son todos
enteros positivos y menores que N. Para que una terna (A, B, C) sea pitagórica debe
cumplir con que A2 + B2 = C2.
8. Una empresa paga a sus 100 operarios semanalmente, de acuerdo con el número de horas
trabajadas, a razón de P pesos por hora y de 1.5 * P pesos por cada hora extra. Las horas
extras son las que exceden de 40hrs. Calcular el salario que le corresponde a cada
trabajador, dado el número de horas trabajadas y el valor de P.
9. Calcular el impuesto sobre la renta (ISR) el número de veces que sea necesario y lo escriba
por impresora. Tomar el impuesto sobre la renta como el 15% del salario anual de cada
persona, al que previamente se debe realizar una deducción en función del número de
hijos, que es del 0% si tiene 0 hijos, del 5% si tienen 1 ó 2 y del 15% si tienen más de 2.
10. Hacer un pseudocódigo y diagrama de flujo que resuelva el siguiente problema: Un
hombre, un lobo, una cabra y un repollo, deben pasar un río. Para ello, se dispone de una
barca con capacidad para dos ocupantes: el hombre (que es el único que sabe remar) y
otro. Tener en cuenta que, si en una orilla se quedan solos el lobo y la cabra, éste se la
comerá; mientras que si se quedan la cabra y el repollo, ésta se comerá el repollo.
Lista de Cotejo para Revisión de esta Tarea Integradora