Está en la página 1de 24

ucss [Escribir texto] ALGORITMICA I

GUÍA DE PRACTICA 04

ALGORITMOS (DIAGRAMAS DE FLUJO – PSEUDOCODIGO)


ESTRUCTURAS DE CONTROL SELECTIVAS

OBJETIVO:

• Utilizar las estructuras de control selectivas simple y doble en el


programa Seudocódigo.
• Estructuras de control múltiple y anidada
• Programar en Netbeans usando estructuras de control selectivas .

GUÍA DE PRACTICA 04 - A

LAS ESTRUCTURAS SELECTIVAS, CÓMO SE REPRESENTAN EN


PSEUDOCÓDIGO Y EJEMPLOS PRÁCTICOS DE LAS MISMAS
Esta estructura se da cuando existen un número de posibles alternativas
resultantes de la evaluación de una determinada condición.

Esta estructura se identifica 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.

Las condiciones se especifican usando expresiones lógicas. La representación de


una estructura selectiva se hace con palabras en pseudocódigo (if - then - else o
en español si - entonces - sino) y en diagrama de flujo con una figura geométrica
en forma de rombo.

Las estructuras selectivas o alternativas se clasifican en:

a) Simples
b) Dobles
c) Compuestas
d) Múltiples

a) ESTRUCTURAS SELECTIVAS SIMPLES. (If … Then …EndIf ) o (Si ….


Entonces …. FinSi)

Se identifican porque están compuestos únicamente de una condición. La


estructura si - entonces evalúa la condición y en tal caso:

Página 1 de 24
ucss [Escribir texto] ALGORITMICA I

Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son


varias).
Si la condición es falsa, entonces no se hace nada.
Español Inglés
Si <condición> Entonces If <condición> Then
<acción Si> <acción Si>
FinSi Endif

Ejemplo1.

Construir un algoritmo tal, que dado como dato la calificación de un alumno en un


examen, escriba "Aprobado" en caso que esa calificación fuese mayor que 11.
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"
FinSi Fin

Página 2 de 24
ucss [Escribir texto] ALGORITMICA I

Ejemplo2 Hacer el algoritmo para escribir un programa que indique si un número


ingresado por el teclado es positivo.

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

… Complete los diagramas: de flujo y de Nassi Sneidermann

Ejemplo 3 Hacer un algoritmo para un programa que convierta un número mayor


de 10000, dado en segundos a horas minutos y segundos. Ejemplo 12015
segundos es equivalente a 3 horas, 20 minutos, 15 segundos

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

b) SELECCIÓN DOBLE If …. Then ….. else….EndIf (Si ….. Entonces


…. Sino … FinSi)

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

Ejemplo2 En un Instituto Superior, los pagos por curso desaprobado son de 20


soles, con un cargo máximo de 120 soles independiente del número de cursos
tomados. Ejemplo si un alumno desaprueba 3 cursos pagaría 60 soles, mientras
que uno que desaprueba 8 cursos paga 120 soles. Escriba el algoritmo en el que
las entradas sean el número de cursos desaprobados y la salida sea el valor del
pago total que el alumno haga por los cursos desaprobados.
Algoritmo
Inicio
Variables
Declare nroCur , pago
nroCur : Número de cursos
Leer nroCur
pago : guarda el pago calculado
Si nroCur <6 entonces
Pago=20* nroCur
Escribir pago
Sino
Escribir “el pago es 120 soles”
Fin si

Página 4 de 24
ucss [Escribir texto] ALGORITMICA I

Fin
Hacer diagrama de flujo
c) ESTRUCTURAS SELECTIVAS COMPUESTAS

En la solución de problemas encontramos numerosos casos en los que luego de


tomar una decisión y marcar el camino correspondiente a seguir, es necesario
tomar otra decisión. Dicho proceso puede repetirse varias veces. En aquellos
problemas en donde un bloque condicional incluye otro bloque condicional se dice
que un bloque está anidado dentro del otro.

Ejemplo 1. 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 excede 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. Lo primero que hay que determinar es si el trabajador trabajó horas
extras o no. Encontrar las horas extras de la siguiente forma:
Horas extras = horas trabajadas - 40 En
caso que sí trabajó horas extras:
Si horas extras > 8 entonces a horas extras excedentes de 8 = horas extras -8 y
pago por horas extras = pago por hora normal * 2 * 8 + pago por hora normal * 3 *
horas extras excedentes de 8
De otra forma (solo horas al doble) pago por horas extras = pago por hora normal
* 2 * horas extras.
Finalmente, pago total que recibirá el trabajador será:
Pago = pago por hora normal * 40 + pago por horas extras.
Si no trabajó horas extras tendremos:
Pago = pago por hora normal * horas trabajadas.
Datos de salida: Pago.
Datos de entrada: número de horas trabajadas y pago por hora normal.
Definición de variables: ht = horas trabajadas het =
horas extras que exceden de 8 ph = pago por hora normal
phe = pago por horas extras he = horas extras 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
Sino
Phe  ph * 2 * he
FinSi
Pt  ph * 40 + Phe
Sino
Pt  ph * ht

Página 5 de 24
ucss [Escribir texto] ALGORITMICA I

FinSi
Escribir “El pago que recibe = S/. “,Pt Fin

Ejemplo 2. Dados los datos A, B y C que representan números enteros


diferentes, construir un algoritmo para escribir estos números en forma
descendente. Este es un ejemplo de los algoritmos conocidos como de Lógica
Pura, ya que poseen muchas decisiones y muchas bifurcaciones.

Salida: A, B y C ordenados descendentemente. Entradas:


A, B y C.

La dinámica del problema es comparar dos números a la vez para conocer cuál es
el mayor.

Hacer el pseudocódigo de este ejemplo

Página 6 de 24
ucss [Escribir texto] ALGORITMICA I

d) ESTRUCTURA SELECTIVA MÚLTIPLE.

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

Escribir "El valor = ",val

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

Ejemplo 2.Dados como datos la categoría y el sueldo de un trabajador, calcule el


aumento correspondiente teniendo en cuenta la siguiente tabla. Imprimir la
categoría del trabajador y el nuevo sueldo.

Definición de variables:

cate = categoría sue


= sueldo nsue =
nuevo sueldo
ALGORITMO
Inicio
Leer cate, sue
Segun cate hacer
1: hacer nsue  sue * 1.15
2: hacer nsue  sue * 1.10
3: hacer nsue  sue * 1.08
4: hacer nsue  sue * 1.07
FinSegun
Escribir “para la categoría “, cate, “ el nuevo sueldo = “, nsue
Fin

Completar el diagrama de N-S

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

(regulares), pagan 50 soles por curso. Diseñe el algoritmo en el que el


usuario introduce los datos del estudiante (ex soldado o regular) y número
de cursos y las salidas sean la categoría del estudiante (ex soldado o
regular), número de cursos y los costos totales por los cursos matriculados.
Algoritmo
Inicio Variables categoría: Asume
Declare categoría, nc, pago los valores exsoldado o
Leer categoría, nc regular. nc: Número
Si categoría es exsoldado entonces de cursos. pago:
Pago  nc*30 Pago por el total de cursos
Imprimir "ex soldado", nc, pago matriculados
Sino
Pago  nc*50
Imprimir "regular", nc, pago FinSi
Fin
Hacer el diagrama de flujo y el diagrama de N-S.

Ejercicio 2 En la ciudad de Chachapoyas, una agencia de seguros para


automóviles asigna costos basados en el sexo y la edad del conductor. Los
varones menores de 25 años pagan 1000 soles. Los hombres de 25 años o más
años pagan 700 soles. Las mujeres de menos de 21 años pagan 800 soles, y las
mujeres de 21 años o más pagan 500 soles. Escribir el algoritmo que imprima la
edad del conductor, sexo, y pago correspondiente para los clientes de la
aseguradora.
Algoritmo
Inicio
Declare sexo, edad, pago
Leer sexo, edad
Si sexo es masculino entonces
Si edad<25 entonces
Pago 1000 Variables
Imprimir edad, sexo, pago sexo : Almacena 1 (masculino), 2
Sino (femenino). edad : Edad del cliente.
Pago  700 pago : valor del pago que hará el
Imprimir edad, sexo, pago cliente
FinSi
Sino
Si edad<21 entonces
Pago 800
Imprimir edad, sexo, pago
Sino
Pago  500
Imprimir edad, sexo, pago
FinSi
FinSi Fin

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

Ejercicio 4 En una tienda donde se venden sillas, si se compran más de 8 el


costo por cada una es de 10 soles; entre 4 y 8 es de 11 soles cada una, si la
compra es menor de 4 el costo es de 15 soles cada una. Escriba el algoritmo para
escribir un programa y saber cuánto pagará un cliente según el número de sillas
que compra. Debe imprimirse el número de sillas que compra y el total a pagar.

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

Nota: Completar los diagramas de flujo y N-S

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

Ejercicio 6 Hacer el algoritmo para un programa que calcule:


- El valor del área de un triángulo, dada la base y la altura.
- El valor de la base de un triángulo dada la altura y el área.
- El valor de la altura de un triángulo dada la base y el área.

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
Basearea/altura Escribir base 3: opción : 1 para calcular el área,
Leer area,base
2 para calcular la base, 3 para
Alturaarea/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

7: Hacer el pseudocódigo para escribir un programa que calcule: el área

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

EJERCICIOS PROPUESTOS DE ESTRUCTURAS SELECTIVAS

1. Dado un número introducido por el usuario, indicar si éste es positivo,


negativo o nulo.

2. Calcular el mayor de dos números leídos del teclado y visualizarlo en


pantalla.

3. Escriba un programa que pida un número y a continuación escriba si es par


o impar. Use el operador %. NOTA: If doble

4. Calcular el promedio de calificaciones de un alumno. Las dos primeras


notas valen 30% cada una y la tercera 40%. Si el promedio es mayor o
igual a 7 imprimirá aprobado, de lo contrario dirá reprobado. Si el promedio
es igual a 10, dirá alumno excelente. Se desea imprimir el nombre del
alumno, código de la materia y el promedio obtenido. NOTA: la nota debe
ser de 0 a 10. NOTA If doble y if simple

5. Desarrollar un pseudocodigo y su respectivo DF para leer tres números en


cualquier orden y los escriba ordenados de mayor a menor

6. Desarrollar un ALGORITMO y su respectivo DF que indica si un año es


bisiesto. Un año es bisiesto si es divisible por cuatro, excepto cuando es
divisible por 100, a no ser que sea divisible por 400. Así, 1900 no fue
bisiesto, pero 2000 sí lo fue.

7. Escribir un ALGORITMO EN PESUDOCODIGO y su respectivo DF tal que


dados los goles del equipo local (gl) y los goles del equipo visitante (gv),
muestre una cadena de caracteres indicando qué equipo ha ganado
(resultados posibles: ‘local’, ‘visitante’, ‘empate’).

8. Dadas las lecturas del valor anterior y el actual de un medidor de luz,


escribir un programa que determine a cuánto asciende la factura de la luz
de un determinado usuario. El importe es la suma de la cuota fija (12 soles)
más una cuota variable que depende del consumo y se calcula por tramos:
los primeros 100 Kws, a 0.06 soles el Kw; los 150 Kws siguientes, a 0.04
soles el Kw; si el consumo excede de 250 Kws, esa fracción se cobra a
0.02 soles el Kw.

9. Un banco antes de conceder un préstamo, comprueba los ingresos del


solicitante. Si los ingresos son superiores a 12000 soles anuales, el crédito
se concede. Si los ingresos son inferiores a 12000 soles anuales pero
superiores a 10000 soles y el cliente tiene máximo 2 hijos, el crédito se
concede. También se le concede, si tiene ingresos entre 8000 y 10000
soles pero no tiene hijos. Realizar un programa que pida los ingresos

Página 15 de 24
ucss [Escribir texto] ALGORITMICA I

anuales y el número de hijos del solicitante, y diga si se le da el crédito o


no.

10. Diseñe un programa que lea el importe de la compra y la cantidad recibida


y calcule el cambio a devolver, teniendo en cuenta que el número de
monedas que se devuelven debe ser mínimo. Suponer que el sistema
monetario utilizado consta de monedas de 100, 50, 25, 5 y 1 unidad, y que
hay capacidad ilimitada de monedas.

11. Escriba un algoritmo que lea tres números enteros de un supuesto


triángulo, determine si realmente forman un triángulo, y muestre el tipo de
triángulo que es (si es un triángulo). a) triángulo: La suma de dos
cualesquiera de los lados debe ser mayor que el otro. b) equilátero: todos
los lados son iguales.
c) isósceles: solo dos lados son iguales.
d) escaleno: no tiene dos lados iguales.

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.

17. Una compañía dedicada al alquiler de automóviles cobra $30 hasta un


máximo de 300 Km. de distancia recorrida. Para más de 300 Km y hasta
1000 Km., cobra $30 más un monto adicional de $ 0.15 por cada kilómetro
en exceso sobre 300. Para más de 1000 Km. cobra $30 más un monto
adicional de $ 0.10 por cada kilómetro en exceso sobre 1000. Los precios
ya incluyen el 18% del impuesto general a las ventas, IGV. Diseñe un
algoritmo que determine el monto a pagar por el alquiler de un vehículo y el
monto incluido del impuesto.

18. Diseñe un algoritmo para obtener el grado de eficiencia de un operario de


una fábrica de tornillos, de acuerdo a las siguientes condiciones, que se le
imponen para un período de prueba:
• Menos de 200 tornillos defectuosos.
• Más de 10000 tornillos producidos.
El grado de eficiencia se determina de la siguiente manera:
• Si no cumple ninguna de las condiciones, grado 5.
• Si sólo cumple la primera condición, grado 6.
• Si sólo cumple la segunda condición, grado 7.
• Si cumple las dos condiciones, grado 8.

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

20. Desarrollar un pseudocodigo y su respectivo programa para realizar la


lectura de un número entre 1 y 10 para escribirlo en su equivalente en
romano.

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”

22. Escribir un programa para ingresar dos números y el signo de la operación


aritmética que se debe resolver (suma +, resta -, multiplicación *, división /),
desarrollar la operación y escribir el resultado.

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.

26. En una empresa se hará un aumento al salario de acuerdo al tiempo de


servicio, para este aumento se tomará en cuenta lo siguiente:
Tiempo de servicio: de 1 a 5 años Aumento: S/. 100.
Tiempo de servicio: de 6 a 10 años Aumento: S/. 250.
Tiempo de servicio: de 11 a 20 años Aumento: S/. 400.
Tiempo de servicio: de 21 años a más Aumento: S/. 550.

Página 18 de 24
ucss [Escribir texto] ALGORITMICA I

Escribir un programa que lea el tiempo de servicio de los trabajadores y


calcule el monto de aumento que le corresponde.

27. El Instituto Peruano del Deporte (IPD) está interesado en promover el


basketball y para ello necesita seleccionar personas que tengan las
siguientes características: EDAD: menor de 18 años, ESTATURA: mínimo
1.80 cm., y PESO: máximo 80 Kg. Elabore un programa que le de entrada
a los datos de los aspirantes, verifique las condiciones y al que las cumpla
imprima su nombre.

28. Teniendo en cuenta el ejercicio anterior considerar que la selección se


amplía a tres nuevas disciplinas y la selección se realiza de acuerdo a la
tabla. Elabore un programa que le de entrada a los datos de los aspirantes,
verifique las condiciones y al que las cumpla imprima su nombre.

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

GUIA 04.D ESTRUCTURA SELECTIVA MULTIPLE


1. Realizar un algoritmo que ingrese número del 1 al 10 y lo muestre en letras.
2. Realizar un algoritmo que determine en que estación del año nos encontramos
de acuerdo a la siguiente tabla:
Valor Estación
1 Verano
2 Otoño
3 Invierno
4 Primavera
3. Realizar un algoritmo que simule la función de un semáforo, determine el color
y su significado de acuerdo a la siguiente tabla:
Valor Color
1 Rojo
2 Verde
3 Ambar
4. Realizar un algoritmo que solicite el ingreso de dos números y de un operador (
+ , - , * , /) . El algoritmo debe calcular el resultado de la operación
seleccionada.
5. Realizar un algoritmo que simule un cajero automático de cualquier banco. Se
desea actualizar el saldo de ahorro de Un cliente tiene ahorrado un valor
ingresado por teclado, los tipos de movimientos que puede hacer es 1 ó 2. Si
el tipo de movimiento es 1 representa un deposito. Si es 2 representa un retiro.
En ambos casos se debe pedir el monto de la transacción.

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.

7. Escriba un programa tal que al escribir el número de mes muestre el nombre


completo del mes (hecho para el primer semestre).

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

Escriba un programa que al introducir la cantidad vendida por el ejecutivo de


ventas, calcule de cuánto será su comisión.

9. En base al valor de dos números enteros, determine si estos son:

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.

10. Un restaurante, desea dar a conocer a sus clientes el plato que se ha


preparado para cada uno de los tiempos de comida desayuno, almuerzo y cena.
El restaurante muestra lo que se dispone para cada uno de los tiempos. Cuando
el cliente seleccione entre los tiempos de comida (desayuno, almuerzo o cena) se
debe desplegar el detalle de este.

Ejemplo: Seleccione su tiempo de Comida: desayuno


Detalle
Plátanos, Frijoles, Queso, Crema, Pan y Café.

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).

12. Dados los datos A, B y C que representan números enteros diferentes,


construir un algoritmo para escribir estos números en forma descendente. Este es
un ejemplo de los algoritmos conocidos como de Lógica Pura, ya que poseen
muchas decisiones y muchas bifurcaciones.

Salida: A, B y C ordenados descendentemente.


Entradas: A, B y C.
La dinámica del problema es comparar dos números a la vez para conocer cuál
es el mayor.

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

clasificación. A empate en número de goles, ganará el que más goles haya


marcado en el campo contrario.
19. Dada una fecha como día (número entero), mes (cadena de caracteres) y
año (número entero positivo con 4 dígitos), escribir un algoritmo que indique si
dicha fecha es correcta o no. Ejemplos: 22 octubre 2001 es correcta; 31 abril 2001
no es correcta porque abril no tiene 31 días; 29 de febrero de 2001 no es correcta
porque el año 2001 no es bisiesto.
20. Dados el valor antiguo y el actual del contador de la luz, escribir una
función que determine a cuánto asciende la factura de la luz de un determinado
abonado. El importe es la suma de la cuota fija (12 ) más una cuota variable que
depende del consumo y se calcula por tramos: los primeros 100 Kws, a 0.06 el
Kw; los 150 Kws siguientes, a 0.04 el Kw; si el consumo excede de 250 Kws, esa
fracción se cobra a 0.02 el Kw.
21. Simplificando, supóngase que el importe del seguro obligatorio de un coche
depende del modelo del coche, del color y de la edad del conductor. Sean dos
modelos de coche A y B y los precios del seguro según el color:
Modelo Color Precio
A Blanco 240.41
Metalizado 330.00
Otros 270.50
B Blanco 300.00
Metalizado 360.50
Otros 330.00
Si el conductor tiene menos de 26 años, el precio se incrementa un 25%; si tiene
entre 26 y 30 años se incrementa un 10%; si tiene entre 31 y 65 años el precio no
se modifica; si tiene más de 65 años, el precio se incrementará en un 10%.
Además, en cualquier caso, hay que considerar que si el conductor tiene menos
de 2 años el permiso de conducir, el precio se incrementará un 25% adicional.
Diseñar un algoritmo que calcule el precio del seguro para un determinado modelo
y un determinado conductor.

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.

26 Hacer un programa para simular el lanzamiento de una moneda.

Página 24 de 24

También podría gustarte