Download - Taller de algoritmos
ERIKA HERNANDEZ
Y
SEBASTIAN GONSALES
TALLER DE ALGORITMOS
1. Dada las horas trabajadas de una persona y el valor por hora.
Calcular su salario e imprimirlo.
ENTEROS horas, valor, salarioINICIOLEER hora, valorsalario<-hora*valorESCRIBIR salarioFIN
2. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programaque lea el valor correspondiente a una distancia en millas marinas y las escribaexpresadas en metros. Sabiendo que 1 milla marina equivale a 1852 metros.
INICIODATOS:CONSTANTESMILL_METR Numérico Entero = 1852VARIABLESDmillas Numérico EnteroDmetros Numérico EnteroALGORITMO:Escribir “Distancia en millas: ”Leer DmillasDmetros = Dmillas * MILL_METREscribir “Distancia en metros:”, DmetrosFIN
3. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un
programaque pida por teclado dos números enteros y muestre su suma, resta,
multiplicación,división y el resto (módulo) de la
división. Si la operación no es conmutativa, también
se mostrará el resultado invirtiendo los operadores.
INICIODATOS:VARIABLESnum1 Numérico Enteronum2 Numérico EnteroALGORITMO:Leer num1, num2Escribir “n1 + n2 = “, num1+num2Escribir “n1 - n2 = “, num1-num2Escribir “n2 - n1 = “, num2-num1Escribir “n1 * n2 = “, num1*num2Escribir “n1 / n2 = “, num1/num2Escribir “n2 / n1 = “, num2/num1Escribir “n1 mod n2 = “, num1 mod num2Escribir “n2 mod n1 = “, num2 mod num1FIN
4. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programaque obtiene la última cifra de un número introducido.
INICIODATOS:VARIABLESnum Numérico EnteroALGORITMO:Escribir “Introduzca número:”Leer numEscribir “Última cifra: “, num mod 10FIN
5. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa
que calcule el área y el perímetro de un triángulo rectángulo dada la
base y la altura.
INICIODATOS:VARIABLESbase Numérico Enteroaltura Numérico Enteroárea Numérico Realhipotenusa Numérico Realperímetro Numérico RealALGORITMO:Leer base, alturaárea = base * altura / 2hipotenusa = Raíz (base^2 + altura^2)perímetro = base + altura + hipotenusaEscribir “Área = “, áreaEscribir “Perímetro = “, perímetroFIN
6. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programaque tras introducir una medida expresada en centímetros la convierta en pulgadas (1pulgada = 2,54 centímetros)
INICIODATOS:CONSTANTESCM_PULG Numérico Real = 2.54VARIABLEScm Numérico Realpulgadas Numérico RealALGORITMO:Escribir “Valor en centímetros: “Leer cmpulgadas = cm / CM_PULGEscribir “Pulgadas: “, pulgadasFIN
7. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programaque exprese en horas, minutos y segundos un tiempo expresado en segundos.
INICIO DATOS: VARIABLES segundos Numérico Entero minutos Numérico Entero horas Numérico Entero ALGORITMO: Leer segundos horas = segundos / 3600 segundos = segundos mod 3600 minutos = segundos / 60 segundos = segundos mod 60 Escribir horas, “h “, minutos, “m “, segundos, “s” FIN
8. Suponiendo que una paella se puede cocinar exclusivamente con arroz y
gambas, yque para cada cuatro personas se utiliza medio kilo de arroz y un cuarto de kilo
degambas, escribir un programa que pida por pantalla el número de comensales
para lapaella, el precio por kilo de los
ingredientes y muestre las cantidades de los
ingredientes necesarios y el coste de la misma.
INICIO DATOS: VARIABLES comensales Numérico Entero precio arroz Numérico Real precio gambas Numérico Real cantaros Numérico Real cant_gambas Numérico Real coste gambas Numérico Real costearos Numérico Real coste total Numérico Real ALGORITMO: Leer comensales, precio arroz, precio gambas cantaros = comensales * 0.5 / 4 cant_gambas = comensales * 0.25 / 4 coste_arroz = cant_arroz * precio_arroz coste_gambas = cant_gambas * precio_gambas coste_total = coste_arroz + coste_gambas Escribir cant_arroz, cant_gambas, coste_arroz, coste_gambas, coste_total FIN
1. Inicio2. Declaración de Variables:N = 0, Promedio = 0, Acumula= 03. Leer N4. Mientras N <> 0 hacer5. Cuenta = Cuenta + 16. Acumula = Acumula + N7. Fin Mientras8. Promedio = Acumula/Cuenta9. Imprimir “Promedio:”; Promedio10. Fin
9. Desarrolle un algoritmo que permita calcular Promedio de Notas; finaliza cuando N = 0.
10. Desarrolle un algoritmo para la empresa Constructora Tecno vivir Casas C.A., que le permita calcular e imprimir la nómina para su cancelación a un total de 50 obreros calificados a quienes debe cancelar por horas trabajadas. La hora trabajada se pautó en 30.000 Bolívares.
1. Inicio2. Declaración de Variables:Numero_Obreros =50Numero_Hora_Trabajadas = 0Total_nomina = 03. Imprimir líneas de títulos de la nómina4. Leer Datos5. Mientras Numero_Obreros>06. Salario = Numero_Hora_Trabajada * 307. Total_nómina= Totalnómina + Salario8. Numero_Obreros = Numero_Obreros - 19. Imprimir Registro10. Leer Datos11. Fin_Mientras12. Imprimir “Total : “, Total_nómina13. FinEjercicios
11. Desarrolle un algoritmo que funcione como caja registradora,
1. Inicio 2. Declaración de Variables: Sub_total=0,Total = 0 3. Ingrese “Código de Producto y Precio:” 4. Almacenar Codigo_Producto, Precio 5. Imprimir líneas de títulos del recibo de pago 6. Mientras Código_Producto <> “ “ 7. Subtotal = Subtotal + Precio 8. Imprimir Codigo_Producto, Precio 9. Ingrese “Código de Producto y Precio:” 10. Fin Mientras 11. IVA = Subtotal * 0,15 12. Total = Subtotal + IVA 13. Imprimir “Sub Total : “, Subtotal 14. Imprimir “ IVA : “, IVA 15. Imprimir “Total: “, Total 16. Fin
12. Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables
A, B y Crespectivamente. El algoritmo debe imprimir cual es el mayor y cual es el menor. Recuerde
constatar quelos tres valores introducidos por el teclado sean valores distintos. Presente un mensaje
de alerta en caso deque se detecte la introducción de valores
iguales.
1. Inicio2. Inicializar las variables A, B y C3. Leer los tres valores4. Almacenar en las variables A, By C5. Si A > B y A > C Entonces6. Escribir A “Es el mayor”7. Sino8. Si B > A y B > C Entonces9. Escribir B “Es el mayor”10. Sino11. Escribir C “Es el mayor”12. Fin_Si13. Fin_Si14. Fin
13. Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10,es decir, 1 + 2 + 3 + …. + 10.
1. Inicio2. Declaración de variables:N= 0, Suma = 03. Asignación Contador :N = N + 14. Asignación Acumulador:Suma = Suma + N5. Si N = 10 Entonces6. Escribir Suma7. De lo contrario, Repetir desde elpaso 38. Fin_Si8. Fin
14. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus
dos catetos. Desarrolle el algoritmo correspondiente.
1. Inicio2. Declaración de Variables: CatA= 0,CatB=03. Leer el valor de cada cateto4. Almacenarlo en la variable CatA yCatB5. Calcular el valor de Hip con laformula indicada6. Escribir el valor de la Hipotenusa7. Fin
15. Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro
dado su radio (R) yAltura (H).
1. Inicio2. Declaración de variables: R = 0, H = 03. Leer el valor de Radio (R) y Altura (H)4. Calcular el Volumen aplicando la
fórmula5. Calcular el valor del área aplicando lafórmula respectiva6. Escribir el valor del Área y del Volumen7. Fin
16. Desarrolle un algoritmo que permita leer un valor cualquiera N y escriba si dicho
número es par o impar.
1. Inicio2. Declaración de variables: N3. Leer un número4. Asignarlo a la variable N5. Si el residuo de dividir a N entre 2 esigual a cero6. Si es Si: Entonces: Escribir “ Es par”7. Sino: Escribir “Es impar”8. Fin_Si9. Fin
17. Desarrolle un algoritmo que permita convertir calificaciones numéricas, según la
siguiente tabla:A = 19 y 20, B =16, 17 y 18, C = 13, 14 y 15, D
= 10, 11 y 12, E = 1 hasta el 9. Se asume que la nota está
comprendida entre 1 y 20.
1. Inicio 2. Declaración de variables: NuevaNota = Carácter 3. Leer registros hasta fin de archivo 4. Si Nota>=19 OR Nota<=20 Entonces 5. NuevaNota= “A” 6. Si no (De lo contrario) 7. Si Nota>=16 OR Nota<=18 Entonces 8. NuevaNota= “B” 9. Si no (De lo contrario) 10. Si Nota>=13 OR Nota<=15 Entonces 11. NuevaNota= “C” 12. Si no (De lo contrario) 13. Si Nota>=10 OR Nota<=12 Entonces 14. NuevaNota= “D” 15. Si no (De lo contrario) 16. Si Nota>=1 OR Nota<=9 Entonces 17. NuevaNota= “E” 18. Si no (De lo contrario) 19. Fin_Si
18. Desarrolle un algoritmo que permita leer dos números y
ordenarlos de menor a mayor, si es el caso.
1. Inicio2. Declaración de Variables:A = 0, B = 0, Temporal = 03. Leer A y B4. Si A<B Entonces5. Asignar a Temporal = B6. Asignar a B = A7. Asignar a A = Temporal8. Si no (De lo contrario)9. Fin_Si10 Escribir “Orden = “, A, B11. Fin
19. Desarrolle un algoritmo que permita leer un valor entero positivo
N y determinar si es primo o no.
1. Inicio2. Declaración de variables: J = 2, S =03. Leer N4. Mientras J<= N / 2 hacer5. Si N / J =06. S=S+17. J=J+18. Fin_Si9. Fin del ciclo mientras10. Si S = 0 Entonces11. Escribir N “es primo”12. Sino (De lo contrario)13. Escribir N “no es primo”14. Fin_Si15. Fin
20. Tanto el Pseudocódigo como el Diagrama de flujo presentan errores; encuéntrelos y corrijalos. Realice un
algoritmo que calcule el monto a pagar por el servicio de estacionamiento, teniendo en cuenta que por la
primera hora de estadía se tiene una tarifa de 1000 bolívares y las restantes tienen un costo de 600 bolívares. Se tiene como datos: hora de entrada, hora de salida (formato militar), iniciada una hora se contabiliza como hora total.
1. Inicio 2. Declaración de Variables HE = 0 (Hora Entrada) HS = 0 (Hora Salida) Pago = 0 3. Leer Datos: HE, HS 4. HoraEstadia = HS – HE 5. HoraFracción = HoraEstadia–HoraEstadia 6. Si HoraEstadia>= 1 Entonces 7. Si HoraFraccion >= 1 Entonces 8. HoraEstadia=HoraEstadia + 1 9. Fin_SI 10. Hora Restante = HoraEstadia – 1 11. Pago = 1000 + (HoraRestante * 600) 12. De lo contrario 13. Pago = 1000 14. Imprimir resultado 15. Fin
21. A un trabajador le pagan segun sus horas y una tarifa de pago por
horas. si la cantidad de horas trabajadas es mayor a 40 horas. la
tarifa se incrementa en un 50% para las horas extras. calcular el
salario del trabajador dadas las horas trabajadas y la tarifa.
variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e
inicioleer: horas_trabajadas,tarifa si: horas_trabajadas <= 40 entonces salario <-- horas_trabajadas * tarifa si_notarifa_extra <-- tarifa + 0.50 * tarifa horas_extras <-- horas_trabajadas - 40 salario <-- horas_extras * tarifa_extra + 40 * tarifa fin_si imprimir: salario. fin
22. A un trabajador le descuentan de su sueldo el 10% si su sueldo es
menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del
adicional, y por encima de 2000 el 3% del adicional. calcular el
descuento y sueldo neto que recibe el trabajador dado su sueldo.
variables: sueldo,sueldo_neto,descuento inicio leer: sueldo si: sueldo <= 1000 entonces descuento <-- sueldo * 0.1 si_no si: sueldo <= 2000 entonces descuento <-- (sueldo - 1000) * 0.05 + 1000
* 0.1 si_no descuento <-- (sueldo - 2000) * 0.03 + 1000
* 0.1 fin_si imprimir: descuento. fin
24. Dado un tiempo en segundos, calcular los segundos restantes que le
correspondan para convertirse exactamente en minutos.
variables: tiempo_seg,minutos,segundos inicio leer: tiempo_seg si minutos <-- tiempo_seg div 60
entonces segundos <-- tiempo_seg mod 60 fin_si imprimir: minutos,segundos. fin
25 Dado un tiempo en minutos, calcular los dias, horas y minutos que
le corresponden.
variables: tiempo,dias,horas,minutos inicio leer: tiempo si: dias <-- tiempo div 1440 x <-- tiempo mod 1440 horas <-- x div 60 minutos <-- x mod 60 imprimir: dias,minutos,horas fin_si fin
…FIN…