•Ejercicios•
- freitesvalentina
- 18 ago 2015
- 3 Min. de lectura
1- Escribir un programa que calcule la suma de los numeros enteros comprendidos entre 1 y 50:
Analisis:
Entrada
- Los numeros
Proceso:
- Calcular suma
- Leer Numeros
Salida:
- La suma
Program Suma;
Uses crt;
Const
Tope:=50;
Var: Suma, J: Integer;
Begin
Suma:=0;
For J:=1 TO 50 DO;
Begin
Suma:= J+Suma;
End
Write ('El Resultado es: La suma);
End.
2- Escribir un programa que calcule y visualice una tabla de las 20 potencias de 2 e imprima los cuadrados de los enteros del 1 al 20:
Analisis:
Entrada:
-Los numeros
Proceso:
- Calcular Potencia
- Calcular cuadrados 1 al 20
Salida:
-La potencia de 2
-Cuadrados del 1 al 20
Program calculo;
Uses crt;
Const
Tope=20;
Var
Potencia, Cuadrados, i, a: Integer;
Begin
Potencia:=1; Cuadrados:=1
For i:=1 TO tope DO
Begin
Potencia:=Potencia*2;
Write(‘2 elevado a la ‘ , i , ‘es: ‘ , Potencia);
End;
For a:=1 TO tope DO
Begin
Cuadrados:=a*a;
Write(a , ‘al cuadrado es: ‘ , Cuadrados);
End.
3. Dada una serie de números realice un programa que calcule el factorial de cada uno:
Analisis:
Entrada
-Los numeros
Proceso
-Calcular factorial
Salida
-Resultado
Program
Uses crt;
Var
Factorial, n, i: integer;
Resp: Char;
Begin
Repeat
Factorial:=1;
Write(‘Introduzca el numero’); Read (n);
For i:=1 TO n DO
Begin
Factorial:=factorial*i;
End;
Write(‘El resultado es de: ‘) , Factorial;
Write(‘¿Quiere introducir otro numero? S/N’);
Read (Resp); Upcase(Resp)
Until Resp=’N’;
End.
4. En una empresa de computadoras, los salarios de los empleados se van a aumentar según su contrato actual:
Contrato Aumento%
0 a 9000Bsf <-> 20%
9001 a 15000Bsf <-> !0%
15001 a 20000Bsf <-> 5
Mas de 20000Bsf <-> 0
Analisis:
Entrada:
-Salarios
Proceso
-Leer aumento
-Calcular aumento
Salida
-Salario nuevo
Program aumento
Uses crt;
Const
aum20:=0.2; aum10:=0.1; aum5:=0.05;
Var
Sueldo: real;
Resp: Char;
Begin
Repeat
Write(‘Introducir el sueldo del empleado’); Read (salario);
If salario<=9000 then
salario_n:=Sueldo+(sueldo*aum20); Else
If salario>9000 and sueldo<=15000 then
salario_n:=salario+(salario*aum10); Else
If salario>15000 and salario<=20000 then
salario_n:=salario+(salario*aum10); Else
If salario>20000 then
salario_n:=salario;
Write(‘El nuevo sueldo es: ‘ , salario_n)
Write(‘¿Quiere calcular salario nuevo de otro empleado? S/N’); Upcase(Resp)
Until Resp=’N’;
End.
5. El valor de e**x se puede aproximar por la suma: 1+x+(x**2/2!)+(x**3/3!)+...+(x**n/n!). Escribir un programa que tome un valor de x como entrada y visualice la suma para cada uno de los valores de 1 a 100.
Analisis:
Entrada
-N, X
Proceso
-Leer Variable
-Sumar fracciones
-Calcular factorial
-Calcular potencias
-Calcular Division
Salida
-Exponencial
Program exponencial;
Uses crt;
Var
i, j, x, factorial, potencia, limite: integer;
Division, exponencial: real;
Const
Tope=100;
Begin
Whrite(‘Introducir el valor de x’); Read (x);
For i:=1 TO tope DO
Begin
Limite:=i
For j:=1 TO Limite DO
Potencia:=Potencia*x;
Factorial:=factorial*j;
End;
Division:=Potencia/Factorial;
Exponencial:=Exponencial+división;
End;
Whrite(‘El resultado es: ‘ , Exponencial);
End.
6. Escribir la suma de la serie ½+(2/(2**2))+(3/(2**3))+…+(n/(2**n)):
Analisis:
Entrada
-N
Proceso
-Calcular potencia
-Sumar Fracciones
-Leer N
Salida
-Resultado
Program Serie
Uses crt
Const
Var: N,J,I,Tope, Integer;
Suma; Real;
Begin
Potencia:=1;
Write ('Introduzca el tope de la serie');
ForJ:=1 TO N DO
Begin
Tope:=J;
For J:=1 TO tope DO
Potencia:= Potencia x2
Suma:=(J/Potencia)+Suma;
End
Write (El resultado de cada serie es: ' suma);
End.
7. Escribir un programa que calcule y visualice el mas grande, el mas pequeño y el promedio de N numeros. El valor de N se solicitará al principio del programa y los números serán introducidos por el usuario:
Analisis:
Entrada
-N, numeros
Proceso
-Leer numero
-Calcular mayor
-Calcular menor
-Calcular promedio
Salida
-Mayor
-Menor
-Promedio
Program numeros
Uses crt;
Var
Grande, Pequeno, Suma, n, i, numero, promedio; :Integer; :Real;
Begin
Grande:= -5; Pequeno:=32000; Suma:=0
Write('Introduzca la cantidad de numeros a leer:')
Read (N);
For i:=1 TO N DO
Begin
Write ('Introduzca el numero:');
Read(Numero);
Suma:= Suma + numero;
IF Numero > Grande
then
Grande:=Numero;
Else
IF Numero<Pequeno
then
pequeno:=Numero
End.
Promedio:=Suma/N
Write('El promedio es ' , Promedio);
Write('El numero mayor es ' , Grande);
Write('El numero menor es ' , Pequeno);
End.
Comments