- Escribir un programa en Pascal que lea 4 datos, calcule y visualice
en pantalla su producto, suma y media aritmética.
PROGRAM EJER71;
USES CRT;
VAR a,b,c,d:REAL;
VAR producto,suma,media:REAL;
BEGIN
ClrScr;
WRITELN('Introduzca 4 datos para calcular las soluciones:');
WRITELN ('');
WRITE ('a: '); READLN (a);
WRITE ('b: '); READLN (b);
WRITE ('c: '); READLN (c);
WRITE ('d: '); READLN (d);
WRITELN ('');
producto:= a * b * c * d;
suma:= a + b + c + d;
media:= suma / 2;
WRITELN ('El valor del producto de los numeros es: ',
producto:10:2);
WRITELN ('El valor de la suma de los numeros es: ',
suma:10:2);
WRITELN ('El valor de la media de los numero ses: ',
media:10:2);
END.
PROGRAM EJER71;
USES CRT;
VAR i:INTEGER;
VAR dato,producto,suma,media:REAL;
BEGIN
ClrScr;
producto:=1;
suma:=0;
FOR i:=1 TO 4 DO
BEGIN
WRITE('Dato '); WRITE(i); WRITE('-> ');
READLN(dato);
producto:=producto*dato;
suma:=suma+dato;
END;
media:=suma/i;
WRITE('Producto: '); WRITELN(producto:5:2);
WRITE('Suma: '); WRITELN(suma:5:2);
WRITE('Media: '); WRITELN(media:5:2);
END.
- Escribir un programa en Pascal que lea un peso en libras y a
continuación visualice su equivalente en kilos y en gramos.
1 libra = 0.45 Kg
PROGRAM EJER72;
USES CRT;
VAR libras,kilos,gramos:REAL;
BEGIN
ClrScr;
WRITE ('Introduzca el numero de libras para pasarlo a kilos y
gramos: ');
READLN (libras);
WRITELN ('');
kilos:= libras * 0.45;
gramos:= kilos * 1000;
WRITELN ('Son ',kilos:5:2,' kilos y ',gramos:5:2,' gramos.');
END.
PROGRAM EJER72;
USES CRT;
VAR libras:REAL;
BEGIN
ClrScr;
WRITE('Libras -> '); READLN(libras);
WRITE('Kilogramos -> '); WRITELN(libras*0.45:7:2);
WRITE('Gramos -> '); WRITELN((libras*0.45)/1000:7:4);
END.
- Escribir un programa en Pascal que calcule y escriba el cuadrado de
821.
PROGRAM EJER73;
USES CRT;
VAR numero, cuadrado:REAL;
BEGIN
ClrScr;
WRITE ('Escriba un numero para hacer su cuadrado: ');
READLN (numero);
WRITELN ('');
cuadrado:= sqr(numero);
WRITELN ('El cuadrado es: ',cuadrado:5:2)
END.
PROGRAM EJER73;
USES CRT;
VAR numero:LONGINT;
BEGIN
ClrScr;
numero:=821;
WRITE('Cuadrado de 821: '); WRITE(sqr(numero));
END.
- Escribir un programa en Pascal que escriba los números comprendidos
entre 1 y 1000.
El programa escribirá en la pantalla los números en grupos de20,
solicitando al usuario si quiere o no continuar visualizando el
siguiente grupo de números.
PROGRAM EJER74;
USES CRT;
VAR num, flag, x:INTEGER;
VAR resp:CHAR;
BEGIN
ClrScr;
num:=0;
x:=1;
FOR num:=1 TO 100 DO
BEGIN
IF (num mod 20)= 0 THEN
flag := x;
WRITELN (num);
IF flag = x THEN
BEGIN
WRITE('DESEA CONTINUAR: S/N --> '); READLN(resp);
IF UPCASE (resp)<>'S' THEN
BEGIN
WRITE ('Este programa ha finalizado'); EXIT
END;
END;
x:= x + 20;
END;
END.
PROGRAM EJER74;
USES CRT;
VAR fila,i:INTEGER;
VAR resp:CHAR;
BEGIN
fila:=1;
ClrScr;
FOR i:=1 TO 1000 DO
BEGIN
WRITELN(i);
fila:=fila+1;
IF fila = 21 THEN
BEGIN
WRITE('Desea continuar (S/N)?');
READLN(resp);
IF UPCASE(resp)='S' THEN
BEGIN
ClrScr;
fila:=0;
CONTINUE;
END
ELSE
EXIT;
END;
END;
END.
- Escribir un programa en Pascal que calcule, independientemente,
la suma y la media de los números pares e impares comprendidos entre
1 y 200.
PROGRAM EJER75;
USES CRT;
VAR media_p, media_i:REAL;
VAR suma_p, suma_i:LONGINT;
VAR i, total_p, total_i:LONGINT;
BEGIN
ClrScr;
FOR i:=1 TO 200 DO
BEGIN
IF (i mod 2)=0 THEN
BEGIN
suma_p:=suma_p + i;
total_p:=total_p + 1;
END
ELSE
BEGIN
suma_i:=suma_i + i;
total_i:=total_i + 1;
END;
END;
media_i:= suma_i / total_i;
media_p:= suma_p / total_p;
WRITELN ('La suma de los impares es: ',suma_i);
WRITELN ('La suma de los pares es : ',suma_p);
WRITELN ('La media de los impares es: ',media_i:5:2);
WRITELN ('La media de los pares es: ',media_p:5:2);
END.
PROGRAM EJER75;
USES CRT;
VAR i,conpar,conimp,sumapar,sumaimp:INTEGER;
BEGIN
ClrScr;
sumapar:=0; sumaimp:=0; conpar:=0; conimp:=0;
FOR i:=1 TO 200 DO
BEGIN
IF (i mod 2) = 0 THEN
BEGIN
sumapar:=sumapar+i;
conpar:=conpar+1;
END
ELSE
BEGIN
sumaimp:=sumaimp+i;
conimp:=conimp+1;
END;
END;
WRITE('Suma pares: '); WRITELN(sumapar:7);
WRITE('Media pares: '); WRITELN(sumapar div conpar:7);
WRITE('Suma impares: '); WRITELN(sumaimp:7);
WRITE('Media impares: '); WRITELN(sumaimp div conimp:7);
END.
- Escribir un programa en Pascal que calcule el importe de una factura
sabiendo que el IVA a aplicar es del 12% y que si el importe bruto de
la factura es superior a 50.000 pts se debe realizar un descuento del 5%.
PROGRAM EJER76;
USES CRT;
VAR i_bruto, i_neto, importe:REAL;
CONST IVA=0.12;
BEGIN
ClrScr;
WRITE ('Escriba el importe bruto: '); READLN (i_bruto);
WRITELN ('');
i_bruto:= i_bruto + (IVA * i_bruto);
IF i_bruto > 50000 THEN
BEGIN
i_neto:= i_bruto - (i_bruto * 0.05);
WRITE ('El importe neto con descuento del 5% es de: ',
i_neto:5:2,' pts')
END
ELSE
BEGIN
i_neto:= i_bruto;
WRITE ('El importe bruto sin descuento es de: ',i_neto:5:2,
' pts.');
END;
END.
PROGRAM EJER76;
USES CRT;
VAR imp_bruto:REAL;
BEGIN
ClrScr;
WRITE('Importe bruto -> '); READLN(imp_bruto);
IF imp_bruto <= 50000 THEN
BEGIN
WRITE('Importe neto: ');
WRITELN(imp_bruto+(imp_bruto*0.12):9:2);
END
ELSE
BEGIN
WRITE('Importe neto -> ');
imp_bruto:=imp_bruto-(imp_bruto*0.05);
WRITELN(imp_bruto+(imp_bruto*0.12):9:2);
END;
END.
- Escribir un programa en Pascal que calcule la suma de los cuadrados
de los 100 primeros números enteros.
PROGRAM EJER77;
USES CRT;
VAR x:INTEGER;
VAR suma:REAL;
BEGIN
ClrScr;
FOR x:=1 TO 100 DO
BEGIN
suma:= suma + (sqr(x));
END;
WRITE (suma);
END.
PROGRAM EJER77;
USES CRT;
VAR i:INTEGER;
VAR sumacuad:LONGINT;
BEGIN
ClrScr;
FOR i:=1 TO 100 DO
sumacuad:=sumacuad+sqr(i);
WRITE('Suma de Cuadrados (1-100) ---> '); WRITE(sumacuad);
END.
- Escribir un programa en Pascal que visualice una tabla de conversión de
kilómetros a millas marinas y millas terrestres:
1 milla marina = 1852 metros
1 milla terrestre = 1609 metros
PROGRAM EJER78;
USES CRT;
VAR m, m_mar, m_terr:REAL; {metros, millas marinas y
terrestres}
BEGIN
ClrScr;
WRITE ('Introduzca el numero de metros: '); READLN (m);
WRITELN ('');
m_mar:=m/1852;
m_terr:=m/1609;
WRITE (m:5:2,' metros son: ',m_mar:5:2,' millas marinas y ');
WRITE (m_terr:5:2,' millas terrestres');
END.
PROGRAM EJER78;
USES CRT;
VAR milla_marina:REAL;
VAR milla_terrestre:REAL;
VAR kilometros:INTEGER;
BEGIN
ClrScr;
WRITELN('Kilometros' + ' ---- ' + 'Millas M.' + ' ---- '
+ 'Millas T.');
FOR kilometros:=1 TO 10 DO
BEGIN
WRITE(kilometros:6);
WRITE(kilometros/1.852:15:2);
WRITELN(kilometros/1.609:15:2);
END;
END.
- Escribir un programa en Pascal que lea 10 datos desde el teclado y sume
sólo aquellos que sean negativos.
PROGRAM EJER79;
USES CRT;
VAR y, suma:REAL;
VAR x:INTEGER;
BEGIN
ClrScr;
WRITELN ('Debe introducir 10 datos, se sumaran solo los
negativos:');
WRITELN ('');
FOR x:=1 TO 10 DO
BEGIN
WRITE('Introduzca el dato ',x:2,': '); READLN (y);
IF y < 0 THEN suma := suma + y;
END;
WRITELN ('');
WRITE ('El resultado de la suma de los numeros negativos es: ');
WRITELN (suma:5:2);
END.
PROGRAM EJER79;
USES CRT;
VAR i:INTEGER;
VAR num,sumaneg:REAL;
BEGIN
ClrScr;
sumaneg:=0;
FOR i:=1 TO 10 DO
BEGIN
WRITE('Numero '); WRITE(i); WRITE(' -> '); READLN(num);
IF num < 0 THEN
sumaneg:=sumaneg+num;
END;
WRITE('Suma de negativos: '); WRITE(sumaneg);
END.
- Escribir un programa en Pascal que calcule el sueldo semanal de un
trabajador a partir del número de horas trabajadas por día y
las siguientes tarifas:
600 pts/hora Turno de mañana
800 pts/hora Turno de noche
1000 pts/hora Turno de días festivos
PROGRAM EJER80;
USES CRT;
VAR t_mannana, t_noche, t_festivos:INTEGER;
VAR total:LONGINT;
BEGIN
ClrScr;
WRITE ('Introduzca las horas trabajadas por dia, en cada
turno, ');
WRITELN (' para calcular el sueldo semanal.'); WRITELN ('');
WRITE ('Horas del turno de mañana: '); READLN
(t_mannana);
WRITE ('Horas del turno de noche: '); READLN
(t_noche);
WRITE ('Horas del turno de dias festivos: '); READLN
(t_festivos);
WRITELN ('');
total:=(600 * t_mannana) + (800 * t_noche) + (1000 * t_festivos);
WRITE ('El sueldo semanal es de: ',total);
END.
PROGRAM EJER80;
USES CRT;
VAR turno,resp:CHAR;
VAR numhoras:REAL;
BEGIN
ClrScr;
resp:='S';
WRITE('Turno ? (M/N/F) ---> '); READLN(turno);
WRITE('Numero de horas (dia) ---> '); READLN(numhoras);
WHILE UPCASE(resp) = 'S' DO
BEGIN
IF UPCASE(turno) = 'M' THEN
BEGIN
WRITE('Salario neto: '); WRITELN(numhoras*5*600:7:2);
END
ELSE IF UPCASE(turno) = 'N' THEN
BEGIN
WRITE('Salario neto: '); WRITELN(numhoras*5*800:7:2);
END
ELSE IF UPCASE (turno) = 'F' THEN
BEGIN
WRITE('Salario neto: '); WRITELN(numhoras*5*1000:7:2);
END
ELSE
WRITELN('Turno incorrecto');
WRITE('¿Desea continuar (S/N)? ---> ');
READLN(resp);
IF UPCASE(resp) = 'S' THEN
BEGIN
ClrScr;
WRITE('Turno ? (M/N/F) --->'); READLN(turno);
WRITE('Numero de horas (dia) --->'); READLN(numhoras);
END
ELSE
EXIT;
END;
END.
Volver