Taller de algoritmos

66,713 views
65,872 views

Published on

Published in: Technology, Business
2 Comments
12 Likes
Statistics
Notes
No Downloads
Views
Total views
66,713
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
855
Comments
2
Likes
12
Embeds 0
No embeds

No notes for slide

Taller de algoritmos

  1. 1. TALLER DE ALGORITMOS <br />ERIKA HERNANDEZ <br />Y <br />SEBASTIAN GONSALES <br />
  2. 2. 1. Dada las horas trabajadas de una persona y el valor por hora.<br />Calcular su salario e imprimirlo.<br />ENTEROS horas, valor, salario<br />INICIO<br />LEER hora, valor<br />salario<-hora*valor<br />ESCRIBIR salario<br />FIN<br />
  3. 3. 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.<br />
  4. 4. INICIO<br />DATOS:<br />CONSTANTES<br />MILL_METR Numérico Entero = 1852<br />VARIABLES<br />Dmillas Numérico Entero<br />Dmetros Numérico Entero<br />ALGORITMO:<br />Escribir “Distancia en millas: ”<br />Leer Dmillas<br />Dmetros = Dmillas * MILL_METR<br />Escribir “Distancia en metros:”, Dmetros<br />FIN<br />
  5. 5. 3. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa<br />que pida por teclado dos números enteros y muestre su suma, resta, multiplicación,<br />división y el resto (módulo) de la división. Si la operación no es conmutativa, también<br />se mostrará el resultado invirtiendo los operadores.<br />
  6. 6. 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<br />
  7. 7. 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<br />
  8. 8. 5. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programaque calcule el área y el perímetro de un triángulo rectángulo dada la base y la altura.<br />
  9. 9. 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<br />
  10. 10. 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)<br />
  11. 11. INICIO<br />DATOS:<br />CONSTANTES<br />CM_PULG Numérico Real = 2.54<br />VARIABLES<br />cm Numérico Real<br />pulgadas Numérico Real<br />ALGORITMO:<br />Escribir “Valor en centímetros: “<br />Leer cm<br />pulgadas = cm / CM_PULG<br />Escribir “Pulgadas: “, pulgadas<br />FIN<br />
  12. 12. 7. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programaque exprese en horas, minutos y segundos un tiempo expresado en segundos.<br />
  13. 13. INICIO<br />DATOS:<br />VARIABLES<br />segundos Numérico Entero<br />minutos Numérico Entero<br />horas Numérico Entero<br />ALGORITMO:<br />Leer segundos<br />horas = segundos / 3600<br />segundos = segundos mod 3600<br />minutos = segundos / 60<br />segundos = segundos mod 60<br />Escribir horas, “h “, minutos, “m “, segundos, “s”<br />FIN<br />
  14. 14. 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 losingredientes necesarios y el coste de la misma.<br />
  15. 15. INICIO<br />DATOS:<br />VARIABLES<br />comensales Numérico Entero<br />precio arroz Numérico Real<br />precio gambas Numérico Real<br />cantaros Numérico Real<br />cant_gambas Numérico Real<br />coste gambas Numérico Real<br />costearos Numérico Real<br />coste total Numérico Real<br />ALGORITMO:<br />Leer comensales, precio arroz, precio gambas<br />cantaros = comensales * 0.5 / 4<br />cant_gambas = comensales * 0.25 / 4<br />coste_arroz = cant_arroz * precio_arroz<br />coste_gambas = cant_gambas * precio_gambas<br />coste_total = coste_arroz + coste_gambas<br />Escribir cant_arroz, cant_gambas, coste_arroz,<br />coste_gambas, coste_total<br />FIN<br />
  16. 16. 1. Inicio<br />2. Declaración de Variables:<br />N = 0, Promedio = 0, Acumula= 0<br />3. Leer N<br />4. Mientras N <> 0 hacer<br />5. Cuenta = Cuenta + 1<br />6. Acumula = Acumula + N<br />7. Fin Mientras<br />8. Promedio = Acumula/Cuenta<br />9. Imprimir “Promedio:”; Promedio<br />10. Fin<br />9. Desarrolle un algoritmo que permita calcular Promedio de Notas; finaliza cuando N = 0.<br />
  17. 17. 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.<br />
  18. 18. 1. Inicio<br />2. Declaración de Variables:<br />Numero_Obreros =50<br />Numero_Hora_Trabajadas = 0<br />Total_nomina = 0<br />3. Imprimir líneas de títulos de la nómina<br />4. Leer Datos<br />5. Mientras Numero_Obreros>0<br />6. Salario = Numero_Hora_Trabajada * 30<br />7. Total_nómina= Totalnómina + Salario<br />8. Numero_Obreros = Numero_Obreros - 1<br />9. Imprimir Registro<br />10. Leer Datos<br />11. Fin_Mientras<br />12. Imprimir “Total : “, Total_nómina<br />13. Fin<br />Ejercicios<br />
  19. 19. 11. Desarrolle un algoritmo que funcione como caja registradora,<br />
  20. 20. 1. Inicio<br />2. Declaración de Variables:<br />Sub_total=0,Total = 0<br />3. Ingrese “Código de Producto y<br />Precio:”<br />4. Almacenar Codigo_Producto, Precio<br />5. Imprimir líneas de títulos del recibo<br />de pago<br />6. Mientras Código_Producto <> “ “<br />7. Subtotal = Subtotal + Precio<br />8. Imprimir Codigo_Producto, Precio<br />9. Ingrese “Código de Producto y<br />Precio:”<br />10. Fin Mientras<br />11. IVA = Subtotal * 0,15<br />12. Total = Subtotal + IVA<br />13. Imprimir “Sub Total : “, Subtotal<br />14. Imprimir “ IVA : “, IVA<br />15. Imprimir “Total: “, Total<br />16. Fin<br />
  21. 21. 12. Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y C<br />respectivamente. El algoritmo debe imprimir cual es el mayor y cual es el menor. Recuerde constatar que<br />los tres valores introducidos por el teclado sean valores distintos. Presente un mensaje de alerta en caso de<br />que se detecte la introducción de valores iguales.<br />
  22. 22. 1. Inicio<br />2. Inicializar las variables A, B y C<br />3. Leer los tres valores<br />4. Almacenar en las variables A, B<br />y C<br />5. Si A > B y A > C Entonces<br />6. Escribir A “Es el mayor”<br />7. Sino<br />8. Si B > A y B > C Entonces<br />9. Escribir B “Es el mayor”<br />10. Sino<br />11. Escribir C “Es el mayor”<br />12. Fin_Si<br />13. Fin_Si<br />14. Fin<br />
  23. 23. 13. Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10,<br />es decir, 1 + 2 + 3 + …. + 10.<br />
  24. 24. 1. Inicio<br />2. Declaración de variables:<br />N= 0, Suma = 0<br />3. Asignación Contador :<br />N = N + 1<br />4. Asignación Acumulador:<br />Suma = Suma + N<br />5. Si N = 10 Entonces<br />6. Escribir Suma<br />7. De lo contrario, Repetir desde el<br />paso 3<br />8. Fin_Si<br />8. Fin<br />
  25. 25. 14. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos. Desarrolle el algoritmo correspondiente.<br />
  26. 26. 1. Inicio<br />2. Declaración de Variables: CatA= 0,<br />CatB=0<br />3. Leer el valor de cada cateto<br />4. Almacenarlo en la variable CatA y<br />CatB<br />5. Calcular el valor de Hip con la<br />formula indicada<br />6. Escribir el valor de la Hipotenusa<br />7. Fin<br />
  27. 27. 15. Desarrolle un algoritmo que permita determinar el área y volumen de un cilindro dado su radio (R) y<br />Altura (H).<br />
  28. 28. 1. Inicio<br />2. Declaración de variables: R = 0, H = 0<br />3. Leer el valor de Radio (R) y Altura (H)<br />4. Calcular el Volumen aplicando la fórmula<br />5. Calcular el valor del área aplicando la<br />fórmula respectiva<br />6. Escribir el valor del Área y del Volumen<br />7. Fin<br />
  29. 29. 16. Desarrolle un algoritmo que permita leer un valor cualquiera N y escriba si dicho número es par o impar. <br />
  30. 30. 1. Inicio<br />2. Declaración de variables: N<br />3. Leer un número<br />4. Asignarlo a la variable N<br />5. Si el residuo de dividir a N entre 2 es<br />igual a cero<br />6. Si es Si: Entonces: Escribir “ Es par”<br />7. Sino: Escribir “Es impar”<br />8. Fin_Si<br />9. Fin<br />
  31. 31. 17. Desarrolle un algoritmo que permita convertir calificaciones numéricas, según la siguiente tabla:<br />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á<br />comprendida entre 1 y 20.<br />
  32. 32. 1. Inicio<br />2. Declaración de variables:<br />NuevaNota = Carácter<br />3. Leer registros hasta fin de archivo<br />4. Si Nota>=19 OR Nota<=20 Entonces<br />5. NuevaNota= “A”<br />6. Si no (De lo contrario)<br />7. Si Nota>=16 OR Nota<=18 Entonces<br />8. NuevaNota= “B”<br />9. Si no (De lo contrario)<br />10. Si Nota>=13 OR Nota<=15 Entonces<br />11. NuevaNota= “C”<br />12. Si no (De lo contrario)<br />13. Si Nota>=10 OR Nota<=12 Entonces<br />14. NuevaNota= “D”<br />15. Si no (De lo contrario)<br />16. Si Nota>=1 OR Nota<=9 Entonces<br />17. NuevaNota= “E”<br />18. Si no (De lo contrario)<br />19. Fin_Si<br />
  33. 33. 18. Desarrolle un algoritmo que permita leer dos números y ordenarlos de menor a mayor, si es el caso.<br />
  34. 34. 1. Inicio<br />2. Declaración de Variables:<br />A = 0, B = 0, Temporal = 0<br />3. Leer A y B<br />4. Si A<B Entonces<br />5. Asignar a Temporal = B<br />6. Asignar a B = A<br />7. Asignar a A = Temporal<br />8. Si no (De lo contrario)<br />9. Fin_Si<br />10 Escribir “Orden = “, A, B<br />11. Fin<br />
  35. 35. 19. Desarrolle un algoritmo que permita leer un valor entero positivo N y determinar si es primo o no.<br />
  36. 36. 1. Inicio<br />2. Declaración de variables:<br />J = 2, S =0<br />3. Leer N<br />4. Mientras J<= N / 2 hacer<br />5. Si N / J =0<br />6. S=S+1<br />7. J=J+1<br />8. Fin_Si<br />9. Fin del ciclo mientras<br />10. Si S = 0 Entonces<br />11. Escribir N “es primo”<br />12. Sino (De lo contrario)<br />13. Escribir N “no es primo”<br />14. Fin_Si<br />15. Fin<br />
  37. 37. 20. Tanto el Pseudocódigo como el Diagrama de flujo presentan errores; encuéntrelos y corrijalos. Realice un<br />algoritmo que calcule el monto a pagar por el servicio de estacionamiento, teniendo en cuenta que por la<br />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.<br />
  38. 38. 1. Inicio<br />2. Declaración de Variables<br />HE = 0 (Hora Entrada)<br />HS = 0 (Hora Salida)<br />Pago = 0<br />3. Leer Datos: HE, HS<br />4. HoraEstadia = HS – HE<br />5. HoraFracción = HoraEstadia–HoraEstadia<br />6. Si HoraEstadia>= 1 Entonces<br />7. Si HoraFraccion >= 1 Entonces<br />8. HoraEstadia=HoraEstadia + 1<br />9. Fin_SI<br />10. Hora Restante = HoraEstadia – 1<br />11. Pago = 1000 + (HoraRestante * 600)<br />12. De lo contrario<br />13. Pago = 1000<br />14. Imprimir resultado<br />15. Fin<br />
  39. 39. 21. A un trabajador le pagan segun sus horas y una tarifa de pago por<br />horas. si la cantidad de horas trabajadas es mayor a 40 horas. la<br /> tarifa se incrementa en un 50% para las horas extras. calcular el<br />salario del trabajador dadas las horas trabajadas y la tarifa.<br />
  40. 40. variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e<br /> inicio<br />leer: horas_trabajadas,tarifa<br /> si: horas_trabajadas <= 40 entonces<br /> salario <-- horas_trabajadas * tarifa<br /> si_no<br />tarifa_extra <-- tarifa + 0.50 * tarifa<br /> horas_extras <-- horas_trabajadas - 40<br /> salario <-- horas_extras * tarifa_extra + 40 *<br /> tarifa<br /> fin_si<br /> imprimir: salario.<br /> fin<br />
  41. 41. 22. A un trabajador le descuentan de su sueldo el 10% si su sueldo es<br /> menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del<br /> adicional, y por encima de 2000 el 3% del adicional. calcular el<br /> descuento y sueldo neto que recibe el trabajador dado su sueldo.<br />
  42. 42. variables: sueldo,sueldo_neto,descuento<br /> inicio<br /> leer: sueldo<br /> si: sueldo <= 1000 entonces<br /> descuento <-- sueldo * 0.1<br /> si_no<br /> si: sueldo <= 2000 entonces<br /> descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1<br /> si_no<br /> descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1<br /> fin_si<br /> imprimir: descuento.<br /> fin<br />
  43. 43. 24. Dado un tiempo en segundos, calcular los segundos restantes que le<br />correspondan para convertirse exactamente en minutos.<br />
  44. 44. variables: tiempo_seg,minutos,segundos<br /> inicio<br /> leer: tiempo_seg<br /> si minutos <-- tiempo_segdiv 60 entonces<br /> segundos <-- tiempo_seg mod 60<br />fin_si<br /> imprimir: minutos,segundos.<br /> fin <br />
  45. 45. 25 Dado un tiempo en minutos, calcular los dias, horas y minutos que<br />le corresponden.<br /> variables: tiempo,dias,horas,minutos<br /> inicio<br /> leer: tiempo<br /> si: dias <-- tiempo div 1440<br /> x <-- tiempo mod 1440<br /> horas <-- x div 60<br /> minutos <-- x mod 60<br /> imprimir: dias,minutos,horas<br />fin_si<br /> fin <br />
  46. 46. …FIN…<br />

×