Agradecemos la colaboración de las compañeras: L.P.R. y C.S.P.M. por la resolución de los problemas:
Los siguientes ejercicios permiten ejercitar aspectos prácticos de la unidad 3.
I. Algoritmos.
Realice el análisis (elementos de entrada y salida) y diseños (procedimiento) de cada uno de los siguientes problemas.
1. "Preparación de una palomitas en horno de microondas"
Desarrolle un algoritmo que indique el proceso que se lleva al preparar unas deliciosas palomitas con el uso de un horno de microondas.
SOLUCIÓN
Entrada: Horna de Microondas (HM) e ingredientes: mantequilla (MANTE), maíz palomero (MAPA), sal (SAL).
Salida: Palomitas (P)
Procedimiento
- Adquirir ingredientes (MANTE, MAPA y SAL) en la tiendita de la esquina
- Mezclar MANTE, MAPA y SAL en recipiente de acuerdo a la cantidad que se desea preparar
- Conectar horno de microondas (HM)
- Introducir recipiente con mezcla de MANTE, MAPA y SAL en HM
- Cerrar HM
- Programas HM con un tiempo de 5 minutos
- Sacar recipiente de HM que contiene P
- Degustar las ricas P
Comentario:"Sería bueno probar esta receta, yo las preparaba con la cásicas Act II"
2. "Cambiar un foco"
Desarrolle un algoritmo que describa el proceso para cambiar un foco que se encuentra en el techo de una casa de tamaño regular.
SOLUCIÓN
Entrada:Foco Fundido (FF) y Foco Nuevo (FN) .
Salida: Luz en el con el Foco Nuevo (FN)
Procedimiento
- Adquirir FN en la tiendita de la esquina
- Utilizar escalera para alcanzar el techo
- Desenroscar FF del socket o clavija para foco
- Introducir FN en lugar el socket
- Encender FN para verificar la luz
II. Expresiones Aritméticas, Lógica y Relacionales
Dadas las siguientes expresiones, analice y responda si la expresión es verdadera (V) o falsa (F), si es necesario haga uso de la tabla de verdad.
Expresiones lógicas
- 1. V Y F Y V --> F
- 2. (V O V) Y (F Y F) --> F
- 3. NO (F Y V) --> V
- 4. NO ( NO (V ) ) --> V
- 5. F O F O F O F O F O V --> V
- 6. V Y V Y V Y V Y F --> F
- 7. (F Y V) Y (V O F) --> F
- 8. NO (V Y V) -->F
Expresiones aritméticas, lógicas y relacionales.
NOTA: los símbolos cambian de acuerdo a los siguiente
!= --> distinto, diferente
>= --> mayor o igual a
<= --> menor o igual a
- 1. 4 > 2 +2 --> F
- 2. 4 != (2 + 2) --> F
- 3. NO ( 10 != 10 ) --> V
- 4. 3 <= (3*1) -->V
- 5. 3 < (3*1) -->F Notar la diferencia del resultado con el punto 4
- 6. 3 > 2 Y 1 > 1 --> F
- 7. 3 > 2 O 1 > 1 --> V Notar la diferencia del resultado con el punto 6
Basta con que 3 > 2 sea V para que sea V
- 8. 3 <= 3 Y 2 = 2 --> V
- 9. 3 <= 3 O 2 = 2 --> V
- 10. 3 <= 3 Y 2 != 2 --> F
- 11. 3 <= 3 Y 2 != 2 Y 3 = 4 --> F
- 12. (3 <= 3 Y 2 != 2) O 3 = 3 --> V
- 13. (3 <= 3 Y 2 != 2) O 3 = 4 --> F
- 14. 200 mod 2 = 0 -->V
- 15. 203 mod 3 = 0 --> F
- 16. 8/ 2 = 4 Y 5 - 2 = 3 -->V
- 17. 2*2+1 != 0*5+5 -->F
- 18. 21 mod 2 != 0 -->V
- 19. 21 mod 2 =1 -->V
- 20. 20 mod 2 = 0 Y 13 mod 3 != 0 -->V
- 21. 3*2 mod 3 = 0 Y 5*5 mod 2 = 1 -->V
III. Algoritmos, Diagramas de Flujos y Pseudocódigo
Desarrolle el análisis y diseño de cada uno de los siguientes problemas.
1. "Conversión de kilómetros a metros y a centímetros"
Diseñe un programa que dada una cantidad en kilómetros, sea convertida en metros y en centímetros. Desarrolle algoritmo, diagrama de flujo y pseudocódigo. Ejemplo: 1.250 Km. equivale a 1,250 metros y a 125000 centímetros.
SOLUCIÓN
Algoritmo "Conversion de kilómetros a metros y a cm"
Entrada:Número que representa los kilometros (km).
Salida: Cantidad en Metros (M) y en Centímetros (CM)
Procedimiento
- Solicitar la cantidad de kilometros (KM)
- Leer la cantidad y asignar a KM
- Desarrollar la operación de multiplicar KM entre 1000 para obtener los Metros.
- Asignar el resultado a M.
- Desarrollar la operación de multiplicar M entre 100 para obtener los Centímetros.
- Asignar el resultado a CM.
- Desplegar los resultados de KM, M y CM
Diagrama de Flujo "Conversion de kilómetros a metros y a cm"
Pseudocódigo "Conver_KM_M_CM"
inicio
KM <-- 0.0
M <-- 0.0
CM <-- 0.0
Escribir ("Teclee el valor e de kilómetros")
Leer (KM)
M <-- KM*1000
Escribir ("La conversión a metros es :" M)
CM <-- M *100
Escribir ( "La conversión a Centímetros es :" CM)
termina
2. "Mayor de dos números"
Diseñe un programa que dado dos números enteros se determine el mayor de los dos. Desarrolle algoritmo, diagrama de flujo y pseudocódigo.
SOLUCIÓN
Algoritmo "Mayor de dos Números"
Entrada:Dos valores numéricos entero ValX y ValY.
Salida: Mensaje indicando el mayor de los dos números
Procedimiento
- Escribir el mensaje solicitando el primero valor entero.
- Leer la cantidad y asignar a ValX
- Escribir el mensaje solicitando el segundo valor entero.
- Leer la cantidad y asignar a ValY
- Evaluar Si ValX > ValY entonces ir al paso 6 en otro caso ir al paso 7
- Escribir mensaje "El mayor es" ValX y pasar al paso 8.
- Escribir mensaje "El mayor es" ValY y pasar al paso 8.
- Terminar.
Diagrama de Flujo "Mayor de Dos Números "
Diagrama de Flujo "Mayor de Dos Números e igualda" Aporte de L.P.R
Pseudocódigo "Mayor_de_Dos"
inicio
ValX <-- 0.0
ValY <-- 0.0
Escribir ("Ingrese el Primer Valor")
Leer (ValX)
Escribir ("Ingrese el Segundo Valor")
Leer (ValY)
Si(ValX > ValY )entonces
inicio
Escribir ( "El valor Mayor es: " ValX)
termina
Otro
inicio
Escribir ( "El valor Mayor es: " ValY)
termina
termina
Pseudocódigo "Mayor_de_Dos" Aporte de L.P.R
inicio
ValX <-- 0.0
ValY <-- 0.0
Escribir ("Ingrese el Primer Valor")
Leer (ValX)
Escribir ("Ingrese el Segundo Valor")
Leer (ValY)
Si(ValX > ValY )entonces
inicio
Escribir ( "El valor Mayor es: " ValX)
termina
Otro
inicio
Si(ValY > ValX )entonces
inicio
Escribir ( "El valor Mayor es: " ValY)
termina
Otro
inicio
Escribir ( "Los valores son Iguales!!!")
termina
termina
3. "Convertir horas minutos y segundos a sólo segundos"
Diseñe un programa que efectué la conversión de horas con minutos a segundos. Desarrolle pseudocódigo. Ejemplo: 2 horas y 35 minutos y 5 segundos son 9305 segundo
Pseudocódigo “ConversionHMSaS” Aporte de L.P.R y C.S.P.M.
inicio
horas <-- 0
minutos <-- 0
segundos <-- 0
Totalseg <-- 0
Escribir ("Ingrese las horas ")
Leer (horas)
Escribir ("Ingrese los minutos")
Leer (minutos)
Escribir ("Ingrese los segundos ")
Leer (segundos)
TotalSeg <-- horas * 3600
TotalSeg <-- TotalSeg + minutos * 60
TotalSeg <-- TotalSeg + segundos
Escribir ( "El resultado es: "TotalSeg ""segundos")
Escribir ( "ADIOS")
termina
4."Convertir segundos a horas, minutos y segundos"
Diseñe un programa que efectué la conversión de segundos a horas y minutos. Desarrolle pseudocódigo. Ejemplo: 10000 segundos equivale a 2 horas y 46 minutos (y 40 segundos).
Pseudocódigo “ConversionSaHMS” Aporte de L.P.R y C.S.P.M.
inicio
horas <-- 0
minutos <-- 0
segundos <-- 0
Totalseg <-- 0
Escribir ("Ingrese los segundos a convetir")
Leer (Totalseg)
/*** Este es un comentario ***/
/*** Obtener el número de horas, División entera ***/
horas <-- TotalSeg / 3600
/*** Obtener la cantidad de segundos restantes ***/
residuo <-- TotalSeg mod 3600
/*** Obtener la cantidad de minutos a partir de los segundos restantes ***/
minutos <-- residuo / 60
/*** Obtener la cantidad de segundos restantes ***/
segundos <-- residuo mod 60
Escribir ( "La conversión de " Totalseg" segundos es ")
Escribir ( " : " horas " hrs. " minutis "min. "segundos" seg.")
Escribir ( "ADIOS")
termina
5. "Mayor de tres números"
Diseñe un programa que dado tres números enteros se determine el mayor de los tres. Desarrolle diagrama de flujo y pseudocódigo.
Diagrama de Flujo "Mayor de tres Números "
Pseudocódigo "Mayor_de_Tres"
inicio
ValX <-- 0.0
ValY <-- 0.0
ValZ <-- 0.0
Escribir ("Ingrese el Primer Valor")
Leer (ValX)
Escribir ("Ingrese el Segundo Valor")
Leer (ValY)
Escribir ("Ingrese el Tercer Valor")
Leer (ValZ)
/**Y Luego que sigue???? ***/
termina
Mientras
6. "Suma de 10 valores"
Diseñe un programa que lea 10 números enteros y que los vaya sumando, al finalizar despliegue la suma total de los números ingresados. Desarrolle diagrama de flujo y pseudocódigo. (Qué haría si en lugar de leer 10 números fuesen 100? En qué partes del diseño -diagrama de flujo y pseudocódigo- modificaría?).
7. "Solo Enteros positivos"
Diseñe un programa que lea tantos números enteros como sea posible hasta que el usuario teclee un valor negativo o cero. Desarrolle diagrama de flujo y pseudocódigo. (Se requiere el uso de un contador? Es decir, Se necesita un contador en el condicional?).
Hacer... Mientras
8. "Imprimir Contador"
Diseñe un programa que utilice un contador (inicializado en 0) para imprimir su contenido cada vez que el usuario teclea la letra S. Desarrolle Diagrama de Flujo y Pseudocódigo. Ejemplo:
0
Desea continuar (S/N): S
1
Desea continuar (S/N): S
2
Desea continuar (S/N): S
3
Desea continuar (S/N): N
Hasta pronto!!!
Sugerencia: El contador no es considerado dentro de la condición, sin embargo la letra que tecleo el usuario 'S' o 'N', es importante para condición.
9. "Suma de 10 valores Hacer Mientras"
Diseñe un programa similar al ejercicio 6, considerando el uso de la sentencia Hacer... Mientras. Desarrolle diagrama de flujo y pseudocódigo. (Qué modificaciones se tendría que efectuar?. En este ejercicio, Cuál estructura de control iterativa (condicional) es adecuada utilizar: Mientras o Hacer... Mientras?).
10. "Solo Enteros positivos"
Diseñe un programa similar al ejercicio 7, considerando el uso de la sentencia Hacer... Mientras. Desarrolle diagrama de flujo y pseudocódigo. (Qué modificaciones se tendría que efectuar?. En este ejercicio, Cuál estructura de control iterativa (condicional) es adecuada utilizar: Mientras o Hacer... Mientras?).
ESPERAMOS TU PARTICIPACIÓN