Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUÍA DE PRACTICA 04
OBJETIVO:
GUÍA DE PRACTICA 04 - A
a) Simples
b) Dobles
c) Compuestas
d) Múltiples
Página 1 de 24
ucss [Escribir texto] ALGORITMICA I
Ejemplo1.
Página 2 de 24
ucss [Escribir texto] ALGORITMICA I
Algoritmo
Inicio
Declare num Leer num Variables num: Número que se
Si num>0 entonces ingresa por el teclado
Escribir num, “ es positivo”
FinSi
Fin
Algoritmo
Inicio Variables numS:valor numérico
Declare numS, horas, min,seg Leer numS entero ingresado. horas:cantidad
Si numS >10000 entonces de horas. min:cantidad
horas cociente(numS,3600) de minutos
numS resto(numS,3600) seg:cantidad de segundos, resto
min cociente(numS,60) seg de min.
resto(numS,60)
Escribir horas, min, seg Fin
si
Fin
Página 3 de 24
ucss [Escribir texto] ALGORITMICA I
Ejemplo1 Hacer un algoritmo para un programa que calcule el pago que hacen
un grupo de personas para ver una película teniendo en cuenta que si el grupo es
menor de 8 personas el pago es de 1.5 soles por persona y para un grupo de 8
personas o más el pago es 0.5 soles por persona.
Algoritmo
Inicio Variables
Declare num, pago num: Número que se ingresa
Leer num por el teclado e indica la cantidad
Si num>=8 entonces de personas pago: El valor del
Pago=0.5*num sino pago que se calculará.
Pago=1.5*num
Fin si
Escribir “debe pagar S/. “,Pago
Fin
INICIO
Leer num
num>=8
SI NO
Pago <- 0.5*num Pago <- 1.5*num
Escribir "debe pagar S/.", pago
FIN
DIAGRAMA N-S
Página 4 de 24
ucss [Escribir texto] ALGORITMICA I
Fin
Hacer diagrama de flujo
c) ESTRUCTURAS SELECTIVAS COMPUESTAS
Página 5 de 24
ucss [Escribir texto] ALGORITMICA I
FinSi
Escribir “El pago que recibe = S/. “,Pt Fin
La dinámica del problema es comparar dos números a la vez para conocer cuál es
el mayor.
Página 6 de 24
ucss [Escribir texto] ALGORITMICA I
Con frecuencia existen más de dos elecciones posibles. Este problema se podría
resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero
si el número de alternativas es grande puede plantear serios problemas de
escritura y de legibilidad.
Usando la estructura de decisión múltiple se evaluará una expresión que podrá
tomar n valores distintos, 1, 2 , 3, ....,n y según que elija uno de estos valores en
la condición, se realizará una de las n acciones o lo que es igual, el flujo del
algoritmo seguirá sólo un determinado camino entre los n posibles.
Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la
acción 1, si toma el valor 2 ejecutará la acción 2, si toma el valor N la acción N.
Ejemplo 1: Diseñar un algoritmo tal que dados como datos dos variables de tipo
entero, obtenga el resultado de la siguiente función:
Diagrama de flujo
INICIO
Leer num
Leer V
1 2 3 num otro
val <- 100*V val <- 100^V val <- 100/V Val<-0
FIN
Diagrama N-S
Página 7 de 24
ucss [Escribir texto] ALGORITMICA I
Proceso decision_multiple
Leer num
Leer V
Segun num Hacer
1: val <- 100*V
2: val <- 100^V
3: val <- 100/V
De Otro Modo:
val <- 0
FinSegun
Escribir "El valor = ", val FinProceso
Pseudocídigo
Definición de variables:
GUIA 4 - B
ESTRUCTURAS SELECTIVAS - EJERCICIOS RESUELTOS
Ejercicio1 De los estudiantes que se matriculan en la UNAT, los ex
soldados pagan 30 soles por curso matriculado, mientras que los demás
Página 8 de 24
ucss [Escribir texto] ALGORITMICA I
Página 9 de 24
ucss [Escribir texto] ALGORITMICA I
Ejercicio
3 Escribir el algoritmo para un programa que solicita se le ingrese un
número. Si el número es positivo debe escribirse el número y junto a el positivo
(15 POSITIVO). Si el número es cero (0 CERO); Si es negativo debe escribirse el
número y junto al negativo (-5 NEGATIVO).
Ejemplo
10 Positivo
0 Cero -15
Negativo.
Algoritmo
Variables
Inicio
número: Número ingresado
Declare numero Leer número
por el teclado
Si número >=0 entonces
Si número>0 entonces
Imprimir número, "POSITIVO"
Sino
Imprimir número, "CERO"
FinSi
Sino
Imprimir número, "NEGATIVO"
FinSi Fin
Algoritmo
Inicio
Declare num, tot Leer
num, tot
Si num<=8 entonces
Si num<=4 entonces
Tot num*15
Sino Variables num: cantidad de
Tot num*11 sillas compradas. tot: Total a
FinSi pagar.
Sino
Tot num*10
FinSi
Imprimir tot
Fin
Página 10 de 24
ucss [Escribir texto] ALGORITMICA I
Ejercicio
5 Hacer un algoritmo para escribir un programa que devuelva el nombre
del día de la semana siguiendo un orden de correspondencia (1, 2, 3...7) para
(lunes, martes, miércoles... domingo) respectivamente.
Algoritmo
Inicio
Declare numero Leer número
Segun número Hacer
Variable
1: Escribir " LUNES"
Número: Número correspondiente
2: Escribir "MARTES" al día de la semana
3: Escribir "MIERCOLES"
4: Escribir "JUEVES"
5: Escribir "VIERNES"
6: Escribir "SABADO"
7: Escribir "DOMINGO"
De otro Modo:
Escribir "SOLO NÚMEROS ENTRE 1 Y 7........ "
FinSegun Fin
Algoritmo
Inicio
Declare opcion, base, altura, area
Leer opcion Según
opción Hacer
1:
Leer base, altura area base*altura)/2 Escribir area 2:
Leer area, altura Variables
Basearea/altura Escribir base 3: opción : 1 para calcular el área,
Leer area,base
2 para calcular la base, 3 para
Alturaarea/base
calcular la altura.
Escribir altura
De otro Modo: Base : Valor de la base del
Escribir " ESO ES TODO AMIGO triángulo
FinSegun Altura : Valor de la altura del
Fin triángulo
Area : Valor del área del
triangulo
Página 11 de 24
ucss [Escribir texto] ALGORITMICA I
Ejercicio
de un triángulo, un trapecio, un rectángulo y el área de un triángulo en función de
sus lados. Luego desarrolle el programa haciendo uso de dicho algoritmo.
Algoritmo
En este caso usted puede guiarse del algoritmo del ejercicio 6 y escribir el proceso
matemático respectivo para obtener el algoritmo buscado.
int operacion;
Console.WriteLine("CALCULO DE AREAS ........ \n");
Console.WriteLine("============================ \n\n\n");
Console.WriteLine("1 para calcular el área de un triángulo \n");
Console.WriteLine("2 para calcular el área de un trapecio \n");
Console.WriteLine("3 para calcular el área de un rectángulo \n");
Console.WriteLine("4 para calcular el área de un triángulo en función de
sus lados\n\n\n"); Console.WriteLine("ingrese el número que le
corresponde al área que desea calcular ..... ");
operacion=int.Parse(Console.ReadLine());
switch (operacion)
{
case 1:
double bt, ht;
Console.WriteLine("AREA DEL
TRIÁNGULO \n");
Console.WriteLine("ingrese la base ........ ");
bt = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese la altura ........ ");
ht = double.Parse(Console.ReadLine());
Console.WriteLine("el area del triángulo es {0}
", bt * ht / 2); break; case 2:
double bmayt, bment, at;
Console.WriteLine("AREA DEL
TRAPECIO \n");
Console.WriteLine("ingrese la base mayor ........ ");
bmayt = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese la base menor ........ ");
bment = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese la altura del trapecio ........ ");
at = double.Parse(Console.ReadLine());
Console.WriteLine("el area del trapecio es {0} unidades", ((bmayt
+ bment) / 2) * at); break; case 3: double ac,
hc;
Console.WriteLine("AREA DE UN RECTANGULO \n");
Console.WriteLine("ingrese la
ancho ........ "); ac =
double.Parse(Console.ReadLine());
Console.WriteLine("ingrese la alttura ........ ");
hc = double.Parse(Console.ReadLine());
Página 12 de 24
ucss [Escribir texto] ALGORITMICA I
Ejercicio
Console.WriteLine("el area del cuadrado es
%d ", ac * hc); break; case 4:
double a, b, c;
Página 13 de 24
ucss [Escribir texto] ALGORITMICA I
double s;
Console.WriteLine("ÁREA DEL TRIÁNGULO EN FUNCIÓN DE SUS
LADOS \n");
Console.WriteLine("ingrese lado
a ........ "); a=
double.Parse(Console.ReadLine());
Console.WriteLine("ingrese lado b ........ ");
b = double.Parse(Console.ReadLine());
Console.WriteLine("ingrese lado c......... ");
c = double.Parse(Console.ReadLine());
s = (a + b + c) / 2;
Console.WriteLine("el area del triángulo es {0} unidades", Math.Sqrt(s * (s -
a) * (s - b) * (s - c))); break; default:
Console.WriteLine(" nada mas ........
"); break;
}
Console.ReadKey();
Página 14 de 24
ucss [Escribir texto] ALGORITMICA I
GUÍA 04.C
Página 15 de 24
ucss [Escribir texto] ALGORITMICA I
12. Dos entidades financieras ofrecen las siguientes tasas de interés simple:
Desarrollar un programa que realice lo siguiente:
• Solicite al usuario que ingrese el monto de dinero que desea
depositar y el tiempo (meses) que lo mantendrá en el banco.
• Determine cuál de las dos entidades, A o B, es más conveniente
para depositar el dinero y muestre un mensaje indicando en que
banco debería el usuario depositar el monto ingresado, y cuanto
dinero tendrá luego de transcurrido el tiempo que indico al inicio.
Nota: Para calcular el interés simple se utiliza la siguiente fórmula:
Interés = Capital * Tasa * Tiempo
13. Dos vehículos A y B viajan por una pista que tiene una parte pedregosa
entre los 20 y 40 Km., como se muestra en la figura: Los vehículos parten
de los 0km y se sabe que, en terreno pedregoso, el vehículo A viaja al 80%
de su velocidad normal y el vehículo B al 75% de su velocidad normal.
Desarrollar un programa que realice lo siguiente:
Solicite al usuario que ingrese las velocidades de los dos vehículos en
kilómetros por hora (km/h).
Solicite el ingreso del número de horas transcurridas. Muestre un mensaje
indicando que vehículo va adelante (ambos parten simultáneamente) y las
posiciones de cada uno de ellos.
Si alguna de las velocidades o el tiempo no es mayor que cero, imprima el
mensaje de error correspondiente.
Sugerencia: Calcule primero en que tiempo total se recorre cada segmento
de pista. Luego, compare el tiempo ingresado con dichos tiempos totales
para aplicar las formulas correspondientes.
0 20 km 40 km
Página 16 de 24
ucss [Escribir texto] ALGORITMICA I
14. Introducir las notas de un estudiante pp, sp, ef y er (primer parcial, segundo
parcial, examen final y examen recuperatorio). Se desea calcular:
• La nota final, reemplazando la nota del examen de recuperación en
la peor nota de las tres notas anteriores (pp, sp o ef). Se debe tomar
en cuenta que la primera y la segunda nota tienen un peso de 30 %
puntos y la tercera nota se califica con un peso de 40 %.
• Si la nota final es mayor o igual a 11 desplegar el mensaje
APROBADO caso contrario desplegar REPROBADO.
15. Leer dos números reales LS y LI que representan los límites superior e
inferior de un intervalo, respectivamente. Dado un numero n determine si
dicho numero pertenece al intervalo. En caso contrario, indique si está a la
derecha o izquierda del intervalo.
16. Una tienda ha puesto en oferta la venta al por mayor de cierto producto,
ofreciendo un descuento del 15% por la compra de más de 3 docenas y
10% en caso contrario. Además por la compra de más de 3 docenas se
obsequia una unidad del producto por cada docena en exceso sobre 3.
Diseñe un algoritmo que determine el monto de la compra, el monto del
descuento, el monto a pagar y el número de unidades de obsequio por la
compra de cierta cantidad de docenas del producto.
19. Elaborar un programa que permita leer la medida de los tres lados de un
triangulo y si forman un triangulo recto que escriba la medida de sus tres
ángulos.
Página 17 de 24
ucss [Escribir texto] ALGORITMICA I
21. Desarrollar un programa que permita ingresar una fecha como DD, MM, AA
y escribir la fecha en formato largo. Ejemplo si dd es 12, mm es 11 y aa es
2010, la fecha en formato largo seria: “12 de noviembre de 2010”
23. Elaborar un programa que presente un “menú” por el cual se pueda elegir
la figura geométrica (Rectángulo, Rombo, Trapecio, Circulo) para la cual se
desea calcular su área, una vez seleccionada la figura ingresar los datos
que sean necesarios para realizar el cálculo de su superficie y escribir el
resultado.
Recuerde: Si trabaja con el programa PSeInt, figGeo, tomaría los valores:
1: Rectangulo 2: Rombo 3:Trapecio y 4: Circulo figGeo tipo entero Si
trabaja con el C#, figGeo tomaría estos valores:
‘R’: Rectangulo ‘O’: Rombo, ‘T’:Trapecio y ‘C’: Circulo figGeo tipo char
24. Elabore una aplicación en C#, para calcular el importe de una llamada
Telefónica internacional. El importe de la llamada telefónica está en función
del número de minutos hablados y de la zona a la cual se llama, de
acuerdo a la Siguiente tabla: El descuento se realiza solamente para
llamadas de más de 10 minutos. Se ingresa el número de minutos
hablados
25. Escribir un programa para ingresar las notas de dos exámenes de alumno,
calcular el promedio y si el promedio es menor o igual a 08 se ingresa una
tercera nota “Recuperación”, que se debe promediar con el promedio
anterior para obtener el promedio final.
Página 18 de 24
ucss [Escribir texto] ALGORITMICA I
Tabla:
Disciplinas Características
Edad Estatura Peso
Futbol Edad <17 >=1.65 Max 70
Voley Edad <= 12 Min 1.75 Max 68
Atletismo Edad Min 14 Max 1.70 Max 67
29. Calcular el monto a pagar en una cabina de Internet si el costo por hora es de
S/.1,5 y por cada 5 horas te dan una hora de promoción gratis.
30. Elabore un algoritmo que calcule la edad exacta de una persona, si se conoce la
fecha de nacimiento y la fecha de hoy.
Página 19 de 24
ucss [Escribir texto] ALGORITMICA I
6. Se desea agregar una letra para representar la calificación de los alumnos, las
calificaciones son notas entre 1 y 10; use los siguientes parámetros: A para
calificaciones mayores o iguales a 9, B para calificaciones mayores o iguales a
8, C para calificaciones mayores o iguales a 7, D para calificaciones mayores o
iguales a 6, F para todas las demás calificaciones.
8. La empresa Milagrito S.A. tiene la siguiente tabla de parámetros para pagar las
comisiones de sus ejecutivos de ventas:
Página 20 de 24
ucss [Escribir texto] ALGORITMICA I
A. Iguales.
B. No iguales.
C. El primero es mayor que el segundo.
D. El segundo es mayor que el primero.
E. El primero es mayor o igual que el segundo.
F. El segundo es mayor o igual que el primero.
11. Elabore un programa que pida dos números y que permita mostrar un
menú con las cuatro operaciones básicas, donde el usuario pueda seleccionar la
operación que desea realizar (basta con que seleccione el número).
Página 21 de 24
ucss [Escribir texto] ALGORITMICA I
13. Escribir una algoritmo tal que dada la temperatura máxima del mes y la
temperatura medida hoy, actualice el valor de la máxima si la temperatura leída
hoy es mayor que dicho máximo.
14. Escribir un algoritmo que calcule las soluciones reales de una ecuación de
segundo grado ax2+bx+c=0. La función debe devolver el número de soluciones
distintas (una si b2-4ac=0, dos si b2-4ac>0 y ninguna si b2-4ac<0) y cuáles son
esas soluciones.
15. Escribir un algoritmo que reciba la nota (número real) que un alumno ha
sacado en un examen y devuelva su calificación (cadena de caracteres), según el
siguiente criterio: 0-4.9, suspenso; 5-6.9, aprobado; 7-8.4 notable; 8.5-9.9, 10
sobresaliente.
16. Implementar un algoritmo que dados tres números a, b y c, los devuelva
ordenados de menor a mayor.
17. El cuadrante de un punto (x,y) se puede
determinar a partir del signo de x e y. Escribir un
algoritmo tal que dadas las coordenadas x e y,
indique a qué cuadrante pertenece el punto.
18. Dados los nombres de dos equipos, A y B,
el número de goles que A ha marcado jugando en
casa contra B (gaa), el número de goles que B ha
marcado en casa de A (gab), el número de goles
que B ha marcado en los partidos jugados en su
casa (gbb) y el número de goles que A ha marcado en el campo de B (gba).
Escribir un algoritmo que indique qué equipo de los dos va primero en la
Página 22 de 24
ucss [Escribir texto] ALGORITMICA I
22. Dada una medida de tiempo expresada en horas, minutos y segundos con valores
arbitrarios, elabore un algoritmo que transforme dicha medida en una expresión correcta.
Por ejemplo, dada la medida 3h 118m 195s, el programa deberá obtener como resultado
5h 1m 15s.
23. Hacer un programa que reciba datos de una persona y le una categoría según el
siguiente criterio:
a) Adulto profesionista, si tiene un título y trabajo y tiene entre 20 y 50 años.
b) Adulto desempleado, si no tiene trabajo y tiene entre 20 y 50 años.
c) Joven estudiante, si estudia y tiene entre 15 y 20 años.
d) Joven desempleado, si no estudia y tiene entre 15 y 20 años.
e) Joven empleado, si no tiene título y trabaja, entre 15 y 20 años de edad.
24. Hacer un programa que reciba la fecha de nacimiento y te de su signo del Zodiaco.
25. Hacer un programa que solicite la información de un paciente, que lo clasifique como:
paciente sin
Página 23 de 24
ucss [Escribir texto] ALGORITMICA I
Enfermedad y se puede ir a su casa si: sin importar edad, sexo, su temperatura está entre
36,5 y 37,4 y no tiene síntomas de dolor, además su presión está entre de 90/60 y
120/80 y tiene un peso no mayor a 5 kilos de su peso normal. Paciente con posibles
síntomas de enfermedad y pasa a medicina preventiva, sin importar edad, sexo, su
temperatura está entre 37,5 y 37,8, o tiene síntomas de algún dolor, o su presión está por
debajo de 90/60 o arriba de 120/80, o tiene más de 7 kilos por abajo o arriba de lo normal.
Paciente con una señal clara de enfermedad pasa directamente a consulta de un médico,
si tiene temperatura entre 37,9 y 38,8, o tiene dolor agudo o tiene presión muy baja o muy
alta o pesa por más o menos de 20 kilos a lo normal. Paciente con enfermedad grave
pasa directamente a internarse, si tiene temperatura mayor a 38,9 o tiene dolor agudo o
tiene presión muy baja o muy alta o pesa por más o menos de 30 kilos a lo normal.
Paciente con enfermedad muy grave pasa directamente hospital de especialidad, si tiene
temperatura mayor a 38,9 con tiene dolor agudo y tiene presión muy baja o muy alta
cualquier peso.
Página 24 de 24