Universidad Nacional de la Patagonia San Juan Bosco
Facultad de Ingeniería - Departamento de Informática Trelew
Licenciatura en Sistemas
Expresión de Problemas y Algoritmos
PRÁCTICA N° 4
Objetivos:
a) Resolver problemas mediante algoritmos representados con pseudocódigo
b) Reforzar los conceptos de tipos de datos, ámbito.
c) Utilizar estructuras de control de: selección simple, completa y múltiple.
1. Desarrolle un algoritmo que calcule el valor absoluto de cualquier número dado.
2.
a. Realiza la traza del siguiente pseudocódigo e indica cuál es el/los mensajes
mostrados:
ALGORITMO OPCIÓN
Var
n1,n2,n3: entero
verifica: lógico
INICIO
1 n1 ← 3
2 n2 ← 5
3 n3 ← 7
4 verifica ← verdad
5 SI ((n1>0) y (n3=2)) y verifica ENTONCES
6
Mostrar (“Se verifica la condición”)
FIN SI
7 SI (no verifica) y n3>3 o n2<>2 ENTONCES
8 Mostrar (“NO Se verifica la condición”)
FIN SI
FIN
b. Determinar qué se muestra ahora, si cambiamos el trozo de estructuras de selección
por:
5 SI ((n1>0) o (n3=2)) y verifica ENTONCES
6 Mostrar (“Se verifica la condición”)
FIN SI
7 SI (no verifica) o n3>3 y n2=2 ENTONCES
8 Mostrar (“NO Se verifica la condición”)
FIN SI
3. Para los siguientes algoritmos:
a. Determina su funcionalidad
b. Indica datos de entrada
c. Describe verbalmente el proceso que realiza
1
Universidad Nacional de la Patagonia San Juan Bosco
Facultad de Ingeniería - Departamento de Informática Trelew
Licenciatura en Sistemas
Expresión de Problemas y Algoritmos
d. Asígnale un nombre representativo
e. Identifica estructuras de control y sentencias usadas.
Algoritmo 1 Algoritmo 2
Var Var
x, y, z: entero ancho, largo, sup, dif : real
INICIO INICIO
MOSTRAR (“Ingrese datos:”) MOSTRAR (“Ingrese datos:”)
INGRESAR (x , y) INGRESAR (ancho, largo)
Z←0 dif ← ancho – largo
Si (x > y )entonces Si (dif <> 0) entonces
z←x–y sup ← ancho * largo
FinSi FinSi
Si( z <>0 )entonces Si (sup < 0) entonces
MOSTRAR (z) Sup ← sup * –1
FinSi FinSi
FIN MOSTRAR(“Superficie:”, sup)
FIN
Algoritmo 3 Algoritmo 4
Var Var
nx, doble: entero a, sig: entero
INICIO INICIO
MOSTRAR (“Ingrese valor:”) MOSTRAR (“Ingrese dato:”)
INGRESAR (nx) INGRESAR (a)
Si (nx mod 2 = 0)entonces sig ← a+1
doble ← nx * 2 MOSTRAR(a, sig)
MOSTRAR (doble) FIN
FinSi
FIN
4. Realiza un algoritmo que pida el ingreso de dos valores enteros, e1 y e2. Divida los dos
valores y los acumule en una variable denominada resultado. Muestre “Resultado mayor a
100” si el resultado supera el valor 100.
5. Diseña un algoritmo que:
a. Pida dos números (enteros).
b. Pida una operación a realizar con ellos
c. Muestre por pantalla:
"LA OPERACIÓN <op> DIO RESULTADO MAYOR QUE CERO", en el caso de que sí lo sea.
"LA OPERACIÓN <op> NO DIO RESULTADO MAYOR QUE CERO", en el caso de que no lo
sea.
6. Desarrolla un pseudocódigo que tome el valor de tres variables, e1 (entero), e2 (entero) y r1
(real), haciendo la cuenta (e1 – e2) * r1, de acuerdo al resultado obtenido, muestre:
- “MINIMO” cuando el resultado sea menor estricto a 50,
- “INTERMEDIO” cuando el resultado esté entre 50 y 100
- “MAYOR” cuando el resultado sea mayor estricto de 100.
2
Universidad Nacional de la Patagonia San Juan Bosco
Facultad de Ingeniería - Departamento de Informática Trelew
Licenciatura en Sistemas
Expresión de Problemas y Algoritmos
7. Realiza un algoritmo que pida <n> notas de un alumno, calcule su promedio en una variable
denominada nota_definitiva. Muestre “Aprobó el curso” solo en el siguiente caso: cuando la
nota sea mayor o igual a 6 y las notas individuales sean mayor a 5, sino muestre el mensaje
“Reprobó el curso”. NOTA: Considere primero a n=3, luego piense qué debería cambiar en
su algoritmo para que n sea un valor pedido al usuario.
8. Escribe un pseudocódigo que pida la altura de una persona, si la altura es menor o igual a
150 cm muestre el mensaje: “Persona de altura baja”; si la altura está entre 151 y 170
escriba el mensaje: “Persona de altura media” y si la altura es mayor a 171 escriba el
mensaje: “Persona alta”. Si la altura no cumple con ningún requisito que muestre “No se
puede determinar la altura con el dato ingresado”.
9. Realiza un algoritmo que pida la edad de una persona; si es mayor de edad (18 años) debe
aparecer un mensaje indicandolo, de lo contrario si la edad es menor o igual a 10 mostrar el
mensaje “es un Niño”, sino mostrar el mensaje “es un Adolescente”.
10. Con el enunciado siguiente:
Dada una nota expresada en número (entre 1 y 20), se desea mostrar la letra que le
corresponde según la siguiente clasificación: A = entre 19 y 20, B =entre 16 y 18, C = entre
13 y 15, D = entre 10 y 12, E = desde 1 hasta el 9.
● Realiza un algoritmo que solicite una nota y muestre por pantalla su respectiva
letra. Usa la estructura de selección completa.
● Realiza un algoritmo que solicite una nota (considera que será un número entero)
y muestre por pantalla su respectiva letra. Utiliza la estructura de selección
múltiple.
11. Realiza un pseudocódigo que solicite un número de mes. Dependiendo del número que sea,
mostrar el mes del año en letras, con la cantidad de días que posee (considera a febrero de
28 días). En caso de no estar en el rango esperado, mostrar “El número de mes no existe”.
Usa la estructura de selección completa.
12. Diseñe un pseudocódigo que:
● Solicite dos números.
● Calcule la suma y multiplicación de ambos números.
● Muestre por pantalla:
"La suma es mayor que la multiplicación", en caso de que sea mayor que la
multiplicación de ambos números.
"La multiplicación es mayor que la suma", en caso de que sea mayor que la suma
de ambos números.
"La suma y multiplicación son iguales", en caso de que así sea.
13. Escribe el pseudocódigo que:
● Solicite el resultado obtenido al lanzar un dado de seis caras.
3
Universidad Nacional de la Patagonia San Juan Bosco
Facultad de Ingeniería - Departamento de Informática Trelew
Licenciatura en Sistemas
Expresión de Problemas y Algoritmos
● Muestre por pantalla la palabra del número de la cara opuesta al resultado
obtenido.
Observación: Si el número del dado introducido es menor que 1 ó mayor que 6, se
mostrará el mensaje: "ERROR: Número incorrecto".
14. En el siguiente listado se muestra las 5 habitaciones de una casa rural, de las que se sabe:
su nombre (identificadas por color), su cantidad de camas, además de la planta donde está
ubicada cada una de ellas:
Habitación Camas Planta
1. Azul 2 Primera
2. Roja 1 Primera
3. Verde 3 Segunda
4. Rosa 2 Segunda
5. Gris 1 Tercera
Diseñe un pseudocódigo que:
●Liste en pantalla el número y el nombre de las 5 habitaciones.
●Pida el ingreso del número asociado a una habitación (pensar en las restricciones).
●Según el número ingresado, muestre por pantalla el nombre de la habitación, el
número de camas que tiene y la planta donde se encuentra con un texto
explicativo como se ve en el ejemplo.
Nota: Si el número introducido por el usuario, no está asociado a ninguna habitación, se
mostrará el mensaje: "ERROR: <número> no está asociado a ninguna habitación."
Ejemplo en pantalla:
1. Azul
2. Roja
3. Verde
4. Rosa
5. Gris
Introduzca número de habitación: 3
Mensaje: La habitación Verde tiene 3 cama/s y está en la segunda planta.
Distribución docente:
● 1,3, 4, 7, 9, 10, 13: Agustín Schlapp
● 2, 5,6, 8, 11, 12, 14: Paula Polacco