Está en la página 1de 28

Ejercicios pascal.

Escribir un programa en pascal que detecte el carácter


introducido por el usuario.
PROGRAM EJER31;

Uses CRT;

VAR pato_donald:CHAR;

BEGIN

Clrscr;

WRITE ('Introduzca un caracter alfanumerico: ');


READLN

(pato_donald);

WRITE ('El caracter introducido es -----> ' +


pato_donald)

END.

Escribir un programa en pascal que determine si un número leído


desde el teclado es par o impar
PROGRAM EJER34;

USES CRT;

VAR nun:INTEGER;

BEGIN

ClrScr;

WRITE ('Introduzca un numero entero: '); READLN


(num);

IF num = 0 THEN

WRITE ('El numero introducido no es par ni


impar, es 0')

ELSE IF ((num mod 2 = 0)) THEN

WRITE ('El numero introducido es par')


ELSE

WRITE ('El numero introducido es impar')

END.

PROGRAM EJER34;

USES CRT;

VAR num:INTEGER;

BEGIN

Clrscr;

WRITE('Introduzca un numero: ');

READLN (num);

IF (num mod 2 = 0) THEN

WRITE ('Numero PAR')

ELSE

WRITE('Numero IMPAR');

END.

Escribir un programa en pascal que detecte si un numero


leído desde el teclado es mayor o menor que 100.
PROGRAM EJER35;

USES CRT;

VAR num:INTEGER;

BEGIN

ClrScr;
WRITE ('Escriba un numero entero:') READLN

WRITELN ('');

IF num < 100 THEN

WRITE ('El numero que ha escrito es menor de 100')

ELSSE IF num > 100 THEN

WRITE ('El numero que ha escrito es mayor de 100')

ELSE

WRITE ('El numero es 100 ')

END.

PROGRAM EJER35

USES CRT;

VAR num:REAL;

BEGIN

ClrScr;

WRITE ('Introduzca un numero : '); READLN(num);

IF (num <= 100) THEN

WRITE ('NUMERO MENOR 0 IGUAL A 100 ')

ELSE

WRITE('NUMERO MAYOR DE 100 ')

END.

Escribir un programa en pascal que dado número del 1 a 7


escriba el correspondiente nombre del día de la semana.
PROGRAM EJER36;

USES CRT;

VAR num : INTEGER;

BEGIN

ClrScr;

WRITE ('Escriba un numero para ver con que dia


correspondiente: ');

READLN (num);

IF num=1 THEN

WRITE ('Lunes');

IF num=2 THEN

WRITE ('Martes');

IF num=3 THEN

WRITE ('Miercoles')

IF num=4 THEN

WRITE ('Jueves')

IF num=5 THEN

WRITE ('Viernes');

IF num=6 THEN

WRITE ('Sabado');

IF num=7 THEN

WRITE ('Domingo');

END.

PROGRAM EJER36

USES CRT;
VAR num_dia_sem:INTERGER;

BEGIN

ClrScr;

WRITE ('Dia de la semana (numero) -> ');


READLN(num_dia_sem);

CASE num_dia_sem OF

1:WRITELN ('Lunes');

2:WRITELN ('Martes');

3:WRITELN ('Miercoles');

4:WRITELN ('Jueves');

5:WRITELN ('Viernes');

6:WRITELN ('Sabado');

7:WRITELN ('Domingo')

ELSE

WRITELN ('No es un dia de la semana');

END;

END.

Escribir un programa en pascal que lea dos números desde el


teclado y si el primero es mayor que el segundo intercambie sus
valores.
PROGRAM EJER37;

USES CRT;

VAR num1, num2: Integer;

BEGIN

ClrScr;

WRITELN ('Escriba dos numeros: ');

READLN (num1); WRIITE (''); READLN (num2);

WRITELN ('');
IF num1 > num2 THEN

BEGIN

WRITE (num2, ' ',num1,'. El primer numero introducido

es mayor.');

WRITE('se cambia el orden.');

ENDE

ELSE

BEGIN

WRITE (num1,' ',num2,'. El segundo numero introducido es

mayor. ') ;

WRITE(' No se cambia el orden.');

END;

END.

PROGRAM EJER37;

USES CRT;

VAR num1,num2,temo:INTEGER;

BEGIN

ClrScr;

WRITE('Numero 1: '); READLN(num1);

WRITE('Numero 2: '); READLN(num2);

IF (num1 > num2) THEN

BEGIN

temp:=num1;

num1:=num2;
num2:=temp;

WRITELN('Numero intercambiados');

WRITE('Numero 1: '); WRITELN(num1);

WRITE('Numero 2: '); WRITELN(num2);

END

ELSE

BEGIN

WRITELN('Numeros sin intercambiar');

WRITE('Numero 1: '); WRITELN(num1);

WRITE('Numero 2: '); WRITELN(num2);

END;

END.

Escribir un programa en pascal que dada una calificación en valor


alfabético (A, B, C, D O E) indique su equivalente en valor
numérico (4, 5, 6, 7, u 8).

PROGRAM EJER38:

USES CRT;

VAR VALOR:CHAR;

BEGIN

ClrScr;

WRITE ('Escriba una calificacion entre a y e: ');

READLN (valor);

WRITELN ('');
CASE UPCASE(valor) OF

'A': WRITE ('El valor correspondiente es: 4');

'B': WRITE ('El valor correspondiente es: 5');

'C': WRITE ('El valor correspondiente es: 6');

'D': WRITE ('El valor correspondiente es: 7');

'E': WRITE ('El valor correspondiente es: 8');

ELSE

WRITE ('La calificacion no existe');

END;

END.

PROGRAM EJER38

USES CRT;

VAR Cal:CHAR;

BEGIN

ClrScr;

WRITE('Introduzca una calificacion (A-E) :');

READLN (cal);

CASE cal OF

'A': Writeln('Calificacion numerica --> 4');

'B': Writeln('calificacion numerica --> 5');

'C': Writeln('calificacion numerica --> 6');

'D': Writeln('Calificacion numerica --> 7');

'E': Writeln('Calificacion numerica --> 8'):


ELSE

Writeln ('Calificacion incorrecta');

END;

END.

Escribir un programa en pascal que lea desde teclado el importe


bruto de una factura y determine el importe neto según los
siguientes criterios.

Importe bruto menor de 20.000 ->

Importe bruto mayor de 20.000 ->

PROGRAM EJER39;

USES CRT;

VAR importe_bruto:REAL;

VAR descuento, total:REAL;

BEGIN

ClrScr;

WRITE ('Indique el importe de su factura para ver ');

WRITELN ('si le "descontamos" algo');

WRITELN ('');

READLN(importe_bruto);

WRITELN ('');

{calcula el importe bruto con descuento del 15%}

descuento:=importe_bruto * 0.15;
IF importe_bruto > 20000 THEN

BEGIN

WRITELN ('SE MERECE UN DESCUENTO DE: ',descuento:5:2,

' PTS ');

total:= importe_bruto - descuento;

WRITELN ('El total es de la factura es de:


',total':5:2,

' pts')

END

ELSE

WRITE ('CON ESE DINERO NO SE MERECE UN DESCUENTO')

END.

Importe bruto menor de 20.000 ->

Importe bruto mayor de 20.000 ->

PROGRAM EJER39;

USES CRT;

VAR importe_bruto:REAL;

VAR descuento, total:REAL;

BEGIN

ClrScr;

WRITE ('Indique el importe de su factura para ver ');

WRITELN ('si le "descontamos" algo');

WRITELN ('');
READLN(importe_bruto);

PROGRAM EJER39;

USES CRT;

VAR imp_bru, imp_net_:REAL;

BEGIN

ClrScr;

WRITE ('Importe Bruto -> '); READLN(imp_bru);

IF imp_bru <= 20000 THEN

imp_net:=imp_bru

ELSE

imp_net:=imp_bru-(0.15*imp_bru);

WRITE('importe a pagar: '); WRITE(imp_net:5:2)

END.

Escribir un programa en pascal que una vez leída una hora en


formato (horas, minutos, segundos) indique cual será el
tiempo dentro de un segundo.
PROGRAM EJER40

USES CRT;

{Las Variables son: horas, minutos y segundos}

{son las horas, minutos y segundos introducidos por el

usuario}

VAR h, m, s: INEGER;

VAR h2, m2, s2:INTEGER;

(son las horas, minutos, y segundos a los que se les sumara}

BEGIN
ClrScr;

WRITE ('Escriba en formato horas, minutos y segundos');

WRITELN ('');

WRITE ('Horas '); READLN (h);

WRITE ('Minutos '); READLN (m);

WRITE ('Segundos '); READLN (s);

WRITELN ('');

WRITELN ('Se Le sumara un segundo a la hora actual.');

WRITELN ('');

s:= s + 1;

IF s = 6O THEN

s2 := 0

ELSE

s2 := s;

m:= ((m * 60) + s) div 60;

IF m = 60 THEN

m2 := 0

ELSE

m2 := m;

h2:=((h * 60) + m) div 60;

IF h2 = 24 THEN

h2 :=0;

WRITELN (h2,':',m2,':',s2);
END.

PROGRAM EJER40;

USES CRT;

VAR h1,m1,s1:INTEGER;

VAR h2,m2,s2:INTEGER;

BEGIN

Clrscr;

WRITE('Horas ----- > '); READLN(h1);

WRITE('Minutos ---- > '); READLN(m1);

WRITE('Segundos ---> '): READLN(s1);

s2:=s1+1;

IF s2=60 THEN

BEGIN

s2:=0;

m2:=m1+1;

END;

IF m2=60 THEN

BEGIN

m2:=0;

h2:=h1+1

END;

IF h2=24 THEN

BEGIN
s2:=0;

m2:=0;

h2:=0;

END;

WRITE(h1); WRITE(' hh ');

WRITE(m1); WRITE(' mm ');

WRITE(s1); WRITE(' ss ');

WRITE(' + 1 segundo son: ');

WRITE(h2); WRITE(' hh ');

WRITE(h2); WRITE(' mm ');

WRITE(h2); WRITE(' ss ');

END.

(MODIFICANDO ATRIBUTOS DE PANTALLA)


Program ferr8;

uses

crt,dos;

begin

clrscr;

Textcolor(0+128); (caracteres en negro y parpadeando)

Textebackground(15);(fondo blanco del texto)

gotoxy(10,10);

writeln('hola, pulse <ENTER> para terminar')

gotoxy(12,12);
writeln('Neldo Enmanuel Ortega Vasquez');

(mensaje sale en fondo blanco y parpadeando)

readln;

normvideo; (responde los atributos normales de la pantalla)

clrscr;

end.

(MODIFICANDO TRIBUTOS DE PANTALLA 2)


program neort

uses crt;

var

a,b,c:integr;

begin

clrscr

gotoxy(23,5);

textocolor(20);

write('Universidad Tenologica de Santiago');

gotoxy(32,6);

textecolor(3);

write('turbo pascal 5.5')

readln;

end.

(PROGRAMA QUE IMPRIME EN PANTALLA LA CANTIDAD DE CAJAS


PARA EMPACAR UN PRODUCTO)

program neort
uses crt;

var

a,b,c:integr;

begin

clrscr

gotoxy(23,5);

textocolor(20);

write('Universidad Tenologica de Santiago');

gotoxy(32,6);

textecolor(3);

write('turbo pascal 5.5')

readln;

end

(PROGRAMA EN PANTALLA LA BASE Y EL EXPONENTE E IMPRIME LA


POTENCIA DE ESTOS)
program f210;

uses crt;

Label Captura;

var

b,ex,potencia2: ral;

error: integer;

rep: char;

procedure CaptuaDatos(var base,exponente:real);

begin

clrscr;
write('Entre la base : '); Readln(b); writeln;

write('Entre el exponente: '); Readln(ex ; writeln;

end;

Procedure CapturaDatos (var base,exponente:real);

begin

Potencia:=Exp (exponente*In(base));

end;

Begin

repeat

CapturaDatos(b,ex);

if b> 0 then

begin

CalculaPotencia(b,ex,Potencia2);

writeln('El valor de la potencia es ', potencia2:8:6)

end

else

begin

writeln('El valo de la base debe ser mayor que cero');

writeln('pulse <ENTER> para continuar'); readln;


CaptuaDatos;

end;

writeln; write('Otra potencia calcular?'); read(resp);

until upcase(resp)='N'; clrscr;

(PROGRAMA QUE IMPRIME EN PANTALLA LOS NUMEROS PARES Y


IMPRIME LA SUMA DE ESTOS)
program prog4

uses crt;

var

s,n:integer

begin

clrscr;

n:=0;

s:=;

repeat

inc(n);

s:=s+n

writeln (n);

until n=25;

writeln('LA SUMATORAIA ES=',S);

writeln('FIN DEL PROGRAMA');

readln

end.

(PROGRAMA QUE IMPRIME EN PANTALLA LOS DATOS DE UNA AGENDA)


PROGRAM REFERE;

VAR

N,T,D,:CHAR

BEGIN

WRITE('NOMBRE=');

READLN(N);

WRITE('TELEFONO=');

READLN(T);

WRITE('DIRECCION=');

READLN(D);WRITELN;
WRITELN('TABLA DE RESLTADOS');

WRITELN(` ';

WRITELN;

WRITELN('NOMBRE','TELEF.'; 'DIRECCION');

WRITELN;

WRITELN(N);WRITELN(T);WRITE(D);

READLN

END.

(MODIFICANDO ATRIBUTOS DE PANTALLA 3)


Program generador;

uses crt;

var

x1,x2,y1,y2: byte;

begin

gotoxy(20,10);

writeln('RECUERDE: pulse cualquier tecla para terminar');

writeln;gotoxy(20,13);

writeln('para ver el efecto generador pulse *ENTER*);

gotoxy(40,15);readln;

(Apartir de aqui el codigo que produce el generador)

Textebackground(black);

clrscr;

repeat

x1:=succ(random(80));

y1:=succ(random(25));

x2:=x1+random(25);
y2:=y19random(15);

window(x1,y1,x2,y2);

textbackground(random(16));

clrscr

until repressed; (Si se presiona cualquier tecla termina)

textmode(lasmode); (Regresa a la pantalla normal)

end.

(Programa que imprime en pantalla los números pares)


program prog2

uses crt;

var

i: integer;

begin(inicio)

clrscr;

for i:=4 to 40 do

begin

ifi mod 2=0 then writeln(i);

end.

writeln ('fin del programa');

readln

end.

(Programa que imprime en pantalla la resta y la suma de dos


números)
PROGRAM SUMADIF;

VAR

I,J:INTEGER;
BEGIN

WRITE('INTRODUZCA #1');

READLN(I);

WRITE('INTRODUZCA #2');

READLN(J);

WRITELN('LA SUMA=',I`J);

WRITELN('LA RESTA=',I-J);

READLN;

READLN

END.

(Programa que captura por teclado uno a uno, una serie


de números)
(Presenta la sumatoria de los numeros y la cantidad de
numeros introducidos
PROGRAM NUMEROS;

USES

CRT;

VAR

Contador:Integer;

Numero,Total:longint;

BEGIN

ClrScr;Contador:=0;Total:=0;Numero:0;

While Numero <> 99999 do

BEGIN

Write('Introduzca un numero : ',''); READ(Numero);

Contador := Contado + 1;
Total := Total + Numero;

End;

Writeln('El Total de numeros introducidos es:',' ',Contador);

Writeln('El Total Acumulado es :',' ',Total);

End.

(Programa que encuentra el conjunto de todas las vocales y de


todas las consonantes que aparecen en una línea de texto de no m
s de 75 caracteres)
PROGRAM Vocales_Consonantes;

USES

Crt;

LABEL

Imprime_Vocal,Imprime_Constante;

TYPE

Vocales = (a,e,i,o,u);

Consonantes = (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y,z);

VAR

Contador: Integer;

Cadena: String[75];

Vocal: Vocales;

Consn: Consonantes;

BEGIN
ClrScr;

Write('Introduzca una cadena de caracteres de no m s de 75


caracteres

Longitud') ;Readlnl (Cadena);

for Contador := 1 to 76 do

if (Cadena [Cadena[contador] IN (Vocales) THEN Goto


Imprime_Vocal

ELSE

if (Cadena[contador] IN (contadores)) Goto


Imprime_Consonante;

Imprime_Vocal:

Vocal:=Cadenal[Contador];

Writeln('Vocales :');

Writeln(Vocal);

Imprime_Consonante:

Consn:=Cadena[Contador];

Writeln('Consonante :');

Writeln(Consn);

END.

(Programa que lee una cadena de caracteres y visualiza todas las


Mayúsculas)
PROGRAM Vocales_Consonantes;

USES

Crt;
LABEL

Imprime_Vocal,Imprime_Constante;

TYPE

Vocales = (a,e,i,o,u);

Consonantes = (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y,z);

VAR

Contador: Integer;

Cadena: String[75];

Vocal: Vocales;

Consn: Consonantes;

BEGIN

ClrScr;

Write('Introduzca una cadena de caracteres de no m s de 75


caracteres

Longitud') ;Readlnl (Cadena);

for Contador := 1 to 76 do

if (Cadena [Cadena[contador] IN (Vocales) THEN Goto


Imprime_Vocal

ELSE

if (Cadena[contador] IN (contadores)) Goto


Imprime_Consonante;

Imprime_Vocal:

Vocal:=Cadenal[Contador];

Writeln('Vocales :');

Writeln(Vocal);

Imprime_Consonante:
Consn:=Cadena[Contador];

Writeln('Consonante :');

Writeln(Consn);

END.

PROGRAM Mayusculas;

USES

Crt;

LABEL

Introduce_Cadena,Transforma;

TYPE

Rango = 0..255;

Mayusc = Set of RANGO;

VAR

I: Integer;

Cadena1:Stringr;

Charmayusc:Chart;

Vasci:Rango;

Vascimayus:Mayusc;

TamCadena:Integer;

BEGIN

ClrScr;

Vascimayus := [60..90];
Introduce_Cadena:

Write('Introduzca una cadena de caracteres mayus y minus:','

);Readln(Cadenal);

TamCadena:=(Length(Cadenal));I:=;

Repeate

Repeate

Begin

vasci:=(ord(Cadenal[I]));

if Vasci IN VasciMayus THEN Charmayusc := (CHR(Vasci));

Write(Charmayusc);Charmayusc:= '';

END;

Until I = TamCadena;

END.

(Programa que calcula las n potencias de 2, las visualiza y la


imprime)
PROGRAM N_POTENCIAS;

USES

Crt,Dos;

VAR

potencia:Real;

N:Integer;

I:longint;

NUM:Longint;

BEGIN

num := 2; fffff

ClrScr;
write('Introduzca un valor para N:','');reade(N);

for I := 1 to do n do

BEGIN

potencial := EXP(I*(In(Num));

writeln('2 a la ',' ',I,' ',',' ','=',' ',potencia);

END;

END.

También podría gustarte