viernes, 7 de noviembre de 2008

EJERCICIOS DE ALGORITMOS

  1. 1.Realizar un algoritmo que ingrese dos números y determine cual de los es mayor.

1algoritmo mayor_v1; 2.var
3.a, b: entero;
4.inicio
5.escriba(“por favor entre un numero”);
6.lea (a);
7.escriba(“por favor entre el segundo numero”);
8.lea(b);
9.si(a=b)
10.escriba(“los números son iguales”);
11.si_no si (a>b)
12. escriba(“el mayor es:”, a);
13.si_no
14. escriba(“el mayor es:”, b);
15.fin_si
16.fin_si
17.fin


Determinar cual es el cuadrado de un determinado número.

1.algoritmo cuadrado;
2.var
3.a, c: entero;
4.inicio
5.escriba(“por favor ingrese un numero”);
6.lea(a);
7.c=a*a;
8.escriba(“el cuadrado es:”, c);
9.fin

Elaborar un programa que permita determinar si un número es positivo o negativo.

1.algoritmo positivo;
2.var
3.x: entero;
4.inicio
5.escriba(“por favor ingrese un numero”);
6.lea(x);
7.si(x>0)
8.escriba(“el numero es positivo”);
9.si_no
10. escriba(“el numero es negativo”);
11.fin_si
12.fin

Desarrollar un programa que permita ingresar una cantidad en metros y la convierta a centímetros, kilómetros, pies y pulgadas.


1.algoritmo conversión;
2.var
3.metros, centímetros, kilómetros, pies, pulgadas: entero;
4.inicio
5.escriba(“por favor ingrese una cantidad en metros”);
6.lea(metros);
7.centímetros=metros*100;
8.escriba(“la conversión a centímetros es:”, centímetros);
9.kilómetros=metros/1000;
10.escriba(“la conversión a kilómetros es:”, kilómetros);
11.pies=metros*3.28;
12.escriba(“la conversión a pies es:”, pies);
13.pulgadas=metros*39.37;
14.escriba(“la conversión a pulgadas es:”, pulgadas);
15.fin

Realizar un programa que permita leer una determinada temperatura en grados centígrados y la convierta a Fahrenheit.


1.algoritmo temperatura;
2.var
3.centígrados, °F: entero;
4.inicio
5.escriba(“por favor ingrese una cantidad en centígrados”);
6.lea(centígrados);
7.°F = centígrados * 1.8 + 32;
8.escriba(“la conversión a Fahrenheit es:”, °F);
9.fin

una persona es apta para prestar el servicio milita obligatorio cuando es mayor de 18 y menor de 25 años, de nacionalidad colombiana y genero masculino. Realiza un programa que permita determinar si una persona es apta o no para prestar el servicio militar.


1.algoritmo servicio _ militar;
2.var
3.edad: entero;
4.sexo, nacionalidad: carácter;
5.inicio
6.escriba(“por favor ingrese la edad”);
7.lea(edad);
8.escriba(“por favor ingrese el sexo”);
9.lea(sexo);
10.escriba(“por favor ingrese la nacionalidad”);
11.lea(nacionalidad);
12.si(edad>18 y edad<25)
13. si(sexo=masculino)
14. si(nacionalidad=colombiano)
15. escriba(“es apto”);
16. si_no
17. escriba(“no es apto”);
18. fin_si
19 fin_si
20.fin_si
21.fin

Elabore un programa teniendo como dato de entrada el radio y la altura de un cilindro. Calcule el área total y volumen.


1.algoritmo cilindro;
2.var
3.r, h, V, A: entero;
4.inicio
5.escriba(“por favor ingrese el radio”);
6.lea(r);
7.escriba(“por favor ingrese la altura”);
8.lea(h);
9.A = 3.14 * r * h;
10.escriba(“el área del cilindro es:”, A);
11.V = 3.14 *r2 * h;
12.escriba(“el volumen del cilindro es:”, V);
13.fin

Una persona realiza un préstamo de un banco por una año y desea saber cuanto pagara de interés al terminar el préstamo, si se sabe que el banco le cobrara una tasa de 1.8% mensual. Realice un programa que calcule este monto.


1.algoritmo préstamo;
2.var
3.préstamo, int, monto: entero;
4.inicio
5.escriba(“ingrese el valor del préstamo”);
6.lea(préstamo);
7.int = préstamo * 0.018;
8.monto = int * 12;
9.escriba(“el monto total de intereses es:”. monto);
10.fin

una empresa desea conocer el monto de comisión correspondiente a una venta realizada por un vendedor bajo las siguientes condiciones si la venta es menor a 1000000 se le otorga el 3% de comisión, si es de 1000000 o mas el vendedor recibe el 5% de comisión.


1.algoritmo comisión;
2.var
3.venta, comisión: entero;
4.inicio
5.escriba(“ingreses el valor de la venta”);
6.lea(venta);
7.si (venta < 1000000)
8. comisión = venta * 0.03;
9. escriba(“la comisión es:”, comisión);
10.si_no
11. comisión = venta * 0.05;
12 escriba(“la comisión es:”, comisión);
13.fin_si
14.fin

Desarrollar un diagrama que permita con dos números simular una calculadora (suma, resta, multiplicación y división). Se debe leer los números y la operación a realizar.


1.algoritmo calculadora;
2.var
3.X, Y, S, R, M, D: entero;
4.operación: carácter;
5.inicio
6.escriba(“por favor ingrese el primer numero”);
7.lea(X);
8.escriba(“por favor ingrese el segundo numero”);
9.lea(Y);
10.escriba(“por favor ingrese la operación”);
11.lea(operación);
12.si (operación = suma)
13. S = X+ Y;
14. escriba(“la suma es:” S);
15. si_no si (operación = resta)
16. R = X - Y;
17. escriba(“la resta es:” R);
18. si_no si (operación = multiplicación)
19. M = X * Y;
20. escriba(“la multiplicación es:” M);
21. si_no si (operación = división)
22. D = X / Y;
23. escriba(“la división es:”, D);
24. fin_si
25. fin_si
26. fin_si
27.fin_si
28.fin

Dado un valor de X calcular el valor de Y según la siguiente función: Y=f(X)

· 3X + 36, si X<=11.
· X2 – 10, si 11< X <= 33.
· X + 6, si 33< X <= 64.
· 0, para los demás valores de X.

1.algoritmo función;
2.var
3.X, Y: entero;
4.inicio
5.escriba(“ingrese el valor de X”);
6.lea(X);
7.si (X<=11)
8. Y = 3X +36;
9. si_no si (1110. Y = X2 + 10;
11. si_no si (33 < X < 64)
12. Y = X + 6;
13. si_no
14. Y = 0;
15. fin_si
16. fin_si
17. fin_si
18. escriba(“el valor de Y es:” Y);
19. fin

Realizar un algoritmo que permita leer 20 temperatura (°C) diferentes durante un día, se debe indicar cual fue la temperatura promedio.

1.algoritmo temperatura_promedio;
2.var
3.temp, tempt, k, prom: entero;
4.inicio
5.tempt = 0;
6.para (k = 1 hasta 20) hacer
7. escriba(“ingrese la temperatura”);
8. lea(temp);
9. tempt = tempt + temp;
10.fin_para
11.prom = tempt / k;
12.escriba (“la temperatura promedio es:”, prom);
13.fin

Realizar un algoritmo que ingrese un numero y muestra la de determinado numero.

1.algoritmo tabla;
2.var
3.num, k, tabla: entero;
4.inicio
5.escriba(“ingrese el numero que desea conocer la tabla”);
6.lea(num);
7.para (k=1 hasta 9) hacer
8. tabla= num * k;
9. escriba(k, “*”, num, “=”, tabla);
10.fin_para
11.fin

Realizar un algoritmo que permita calcular de las tablas de multiplicar (1 al 9).

1.algoritmo tabla1;
2.var
3.k, j, tabla: entero;
4.inicio
5.para (k=1 hasta 9) hacer
6. para (j =1 hasta 9) hacer
7. tabla= k * j;
8. escriba(k, “*”, j, “=”, tabla);
9. fin_para
10.fin_para
11.fin

Realizar un algoritmo que calcule el factorial (factorial = n!) de determinado numero.

1.algoritmo factorial;
2.var
3.num, k, fact: entero;
4.inicio
5.fact = 1;
6.escriba(“ingrese el numero que desea conocer el factorial”);
7.lea(num);
8.para (k=1 hasta num) hacer
9. fact = fact * k;
10.fin_para
11.escriba (“el factorial es:”, fact);
12.fin

Dado un tiempo en segundos calcular los segundos restantes que le correspondan para convertirse en minutos.

1.algoritmo segundos;
2.var
3.seg, min, f, s1: entero;
4.inicio
5.escriba (“ingrese el valor en segundos”);
6.lea (seg);
7.si (seg < 60)
8. f = seg – 60;
9. escriba(“lo que le falta es :”, f);
10.si_no
11.min = seg / 60;
12.s1 = seg mod 60;
13.f = 60 – s1;
14.escriba (“los minutos son :”, min);
15.escriba (“lo que le falta es:”, f);
16.fin_si
17.fin

Calcular mediante un algoritmo repetitivo la suma de los n primeros números naturales.

1.algoritmo suma;
2.var
3.num, k, suma: entero;
4.inicio
5.suma = 0;
6.escriba(“ingrese el numero hasta que desea sumar”);
7.lea(num);
8.para (K = 1 hasta num) hacer
9. suma = suma + k;
10.fin_para
11.escriba(“el resultado es:”, suma);
12. Fin


Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos.

1.algoritmo naturales;
2.var
3.k, num: entero;
4.inicio
5.para (k =1 hasta 50) hacer
6. escriba(“ingrese numero”);
7. lea(num);
8. si (num mod 2 = 0)
9. escriba (“el numero es par”);
10. si_no
11. escriba (“el numero es impar”);
12. fin_si
13. si (num > 0 )
14. escriba (“el numero es positivo”);
15. si_no
16. escriba (“el numero es negativo”);
17. fin_si
18.fin_para
19.fin

Determine cual es la diferencia entre:

CONTADOR Y ACUMULADOR

La diferencia es que el contador incrementa o decrementa un valor constante y el acumulador incrementa o decrementa un valor variable.

CICLO PARA Y CICLO MIENTRAS

En el para se conoce la cantidad de veces que se ejecuta la acción y en el mientras se ejecuta mientras se cumpla una determinada condición.

CICLO MIENTRAS Y CICLO REPITA

En el ciclo mientras se ejecuta mientras se cumpla una determinada condición, esta condición se evalúa al inicio del ciclo y el repita se evalúa la condición al final del ciclo permitiendo que el bucle se ejecute por lo menos una vez.
CONDICIONAL Y CICLO

En el condicional se realiza las instrucciones una vez y en el ciclo se ejecuta las acciones varias veces.

Realice los siguientes ejercicios:

Los cubos de Nicomaco. Considere la siguiente propiedad descubierta por Nicomaco de Gerasa: sumando el primer impar, se obtiene el primer cubo. Sumando los dos siguiente se obtiene el segundo cubo. Sumando los tres siguientes, se obtiene el tercer cubo y asi sucesivamente, es decir:


1 = 13
3 + 5 = 23 = 8
7 + 9 + 11 = 33 = 27
13 + 15 + 17 + 19 = 43 = 64

Elabore un algoritmo que dado un numero n entero positivo, imprima n primeros cubos utilizando esta propiedad.

1. algoritmo nicomaco;
2. var
3. impar, suma, n, num, var, crece: entero;
4. inicio
5. sumas = 0;
6. num=1;
7. var = n – 1;
8. para(variable var, hasta var > 0; disminuya 1 )
9. num= num + var;
10. impar= (2 (num -1))+1;
11. fin_para
12. para (crece = 1 hasta n) hacer
13. sumas = sumas + impar;
14. escriba(impar, “+”);
15. impar = impar +2;
16. fin_para
17. escriba (“=”, sumas);
18. fin



La serie fibonacci es un ejercicio interesante, el cual se construye a partir de los dos primeros números que son 0 y 1, a partir de ahí se construye la serie ejemplo: 0,1; 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55….
Desarrolle un algoritmo que permita, calcular n números de esta serie.

1. algoritmo fibonacci;
2. var
3. a, b, c, k, num: entero;
4. inicio
5. a = 0, b = 1, c = 0;
6. escriba(“ingrese numero a calcular”);
7. lea (num);
8. para ( k = 0 hasta num ) hacer
9. c = a + b;
10. a = b;
11. b = c;
12. fin_para
13. escriba (“el valor de la serie es:”, c);
14. fin



No hay comentarios: