Diseño de Algoritmos


Material para el curso:

Tareas:

  1. Algoritmo para determinar el mayor de N números con N > 1

  2. Algoritmo para determinar si un numero n >= 0 es par o impar

  3. Diagramas de flujo de los algoritmos.

  4. Algoritmo de Euclides

  5. Escriba un algoritmo que lea un número de 4 dígitos, separe el número en sus dígitos individuales e imprima los dígitos separados unos de otros mediante el tabulador. Si el usuario escribe 1492 el algoritmo debería imprimir 1 @ 4 @ 9 @ 2.

  6. Escriba un algoritmo que calcule los cuadrados y los cubos de los números del 1 al 10 y que utilice espacios para imprimir la siguiente tabla de valores:

  7. Escriba un algoritmo que calcule la suma de los primeros 10 números enteros.

  8. Escriba un algoritmo que dados 2 números enteros positivos pequeños, calcule el resultado de elevar el primero de ellos al segundo. Ejemplo:

      Dame dos números: 2 3

      Resultado: 8

      Donde 8 es el resultado de 2 elevado a la 3

  9. Escribir, utilizando la estructura de repetición FOR todos los algoritmos anteriores que hayan utilizando la estructura de repetición WHILE en el esquema de repetición controlada por contador.

  10. En razón del alto precio de la gasolina, los automovilistas están preocupados con el kilometraje que obtienen de sus automóviles. Suponiendo que un conductor ha llevado el registro del consumo de varios tanques de gasolina, desarrolle un algoritmo que lea los kilómetros manejados y los litros de gasolina utilizados en cada tanque para un automóvil determinado. El algoritmo debe calcular y desplegar los kilómetros por litro obtenidos para dicho automóvil. Después de procesar toda la información de entrada, el algoritmo deberá calcular también el promedio en Kms/lt de todos los tanques de todos los automóviles. Utilice repetición controlada por centinela (-1 para terminar).

  11. Una gran empresa química paga a su personal de ventas en base a comisiones. El personal de ventas recibe $200.00 por semana más 9% de las ventas brutas de la semana. Por ejemplo, una persona de ventas que vende $5000.00 de productos químicos en una semana, recibe $200.00 más 9% de $5000.00, o sea un total de $650.00. Desarrolle un algoritmo que introduzca las ventas brutas de cada vendedor correspondiente a la última semana y calcule y despliegue las ganancias de dicho vendedor. Procese las cifras vendedor por vendedor utilizando repetición controlada por centinela.

  12. Especificar y diseñar un algoritmo para determinar las raíces reales de una ecuación de segundo grado de la forma ax ^2 + bx + c = 0.

  13. Diseñar un algoritmo en el que a partir de una fecha introducida por teclado con el formato DIA, MES AÑO se obtenga la fecha del día siguiente. Se supone que la fecha introducida es correcta.

  14. Realizar un algoritmo que averigüe si dados dos números enteros introducidos por teclado, uno es divisor del otro.

  15. Un palíndromo es un número o una fase de texto, que se lee igual hacia delante y hacia atrás. Por ejemplo, cada uno de los siguientes enteros de cinco dígitos son palíndromos: 12321,55555, 45554 y 11611. Escriba un algoritmo que lea un entero de cinco dígitos y que determine si es o no un palíndromo. (Sugerencia: utilice los operadores de división y de módulo para separar los números en sus dígitos individuales).

  16. Introduzca un entero (de cuatro dígitos) que contenga sólo 0s y 1s (es decir, un entero "binario") e imprima su equivalente decimal. (Sugerencia: utilice los operadores de módulo y de división para detectar los dígitos del número "binario" uno por uno, de derecha a izquierda. Al igual que en el sistema numérico decimal, donde el dígito más a la derecha tiene un valor posicional de 1, y el siguiente dígito a la izquierda tiene un valor posicional de 10, y a continuación de 100, y a continuación de 1000, etc., en un sistema numérico binario, el dígito más a la derecha tiene un valor posicional de 1, el siguiente dígito a la derecha tiene un valor posicional de 2, y a continuación de 4 , y a continuación de 8, etc. Por lo tanto, el número decimal 234 puede ser interpretado como 4 * 1 + 3 * 10 + 2 * 100. El equivalente decimal del número 1101 binario es 1 * 1 + 0 * 2 + 1 * 4 + 1 * 8 o bien, 1 + 0 + 4 + 8, es decir 13).

  17. Escriba un algoritmo que imprima 100 asteriscos, uno por uno. Después de cada décimo asterisco, su algoritmo deberá imprimir un carácter de nueva línea. (Sugerencia: cuente de 1 a 100. Utilice un operador de módulo para reconocer cada vez que el contador llegue a un múltiplo de 10.)

  18. Escriba un algoritmo que lea un entero, y determine e imprima cuántos dígitos de ese entero son 7s.

  19. Una empresa desea trasmitir datos mediante el teléfono, pero están preocupados de que sus teléfonos pudieran estar intervenidos. Todos sus datos se transmiten como enteros de cuatro dígitos. Le han solicitado a usted que escriba un algoritmo que cifre sus datos, de tal forma de que puedan ser transmitidos con mayor seguridad. Su algoritmo debe leer un entero de cuatro dígitos y cifrarlo como sigue: reemplazar cada dígito por (la suma del dígito más 7) módulo 10. A continuación, intercambiar el primer dígito con el tercero, y el segundo con el cuarto. A continuación imprimir el entero cifrado. Escriba un algoritmo por separado, que introduzca un entero de cuatro dígitos cifrado, y que lo descifre para formar el número original.

  20. El factorial de un entero no negativo n se escribe como n! (se dice "factorial de n") y se define como sigue:

    n! = n * (n-1) * (n-2) * ... * 1 (para valores de n mayores que o igual a 1) y
    n! = 1 (para n = 0).
    Por ejemplo, 5! = 5 * 4 *3 * 2 * 1, lo que significa 120.
    Escriba un algoritmo que lea un entero no negativo, y que calcule e imprima su factorial.

Numero

Cuadrado

Cubo

0

0

0

1

1

1

2

4

8

3

9

27

4

16

64

5

25

125

6

36

216

7

49

343

8

64

512

9

81

729

10

100

1000


Bibliografía:


[Cursos] [Página Principal]