You are on page 1of 7

1.

Escribir un programa en Pascal que detecte el carcter


2. introducido por el usuario.
3.
4. PROGRAM EJER31;
5.
USES CRT;
6.
VAR pato_donald:CHAR;
7.
8. BEGIN
9.
10.
ClrScr;
11.
12.
WRITE ('Introduzca un caracter alfanumerico: ');
READLN
13.(pato_donald);
14.
WRITE ('El caracter introducido es -----> ' + pato_donald)
15.END.
16.
17.
18.
19.Escribir un programa en Pascal que determine si un nmero
20.ledo desde el teclado es par o impar
21.
22.PROGRAM EJER34;
23.
USES CRT;
24.
25.
VAR num:INTEGER;
26.
27.BEGIN
28.
ClrScr;
29.
30.
WRITE ('Introduzca un numero entero: ');
READLN (num);
31.
32.
IF num = 0 THEN
33.
WRITE ('El numero introducido no es par ni impar, es 0')
34.
ELSE IF ((num mod 2 = 0)) THEN
35.
WRITE ('El numero introducido es par')
36.
ELSE
37.
WRITE ('El numero introducido es impar')
38.
39.END.
40.
41.
42.PROGRAM EJER34;
43.
USES CRT;
44.
VAR num:INTEGER;
45.BEGIN
46.
47.
ClrScr;
48.
49.
WRITE('Introduzca un numero: ');
50.
READLN(num);
51.
52.
IF (num mod 2 = 0) THEN
53.
WRITE('NUMERO PAR')
54.
ELSE
55.
WRITE('NUMERO IMPAR');
56.END.
57.
58.
59.
60.Escribir un programa en Pascal que detecte si un nmero
61.ledo desde el teclado es mayor o menor que 100.
62.
63.PROGRAM EJER35;
64.
USES CRT;
65.

66.
VAR num:INTEGER;
67.
68.BEGIN
69.
ClrScr;
70.
71.
WRITE ('Escriba un numero entero:');
READLN (num);
72.
WRITELN ('');
73.
74.
75.
IF num < 100 THEN
76.
WRITE ('El numero que ha escrito es menor de 100')
77.
ELSE IF num > 100 THEN
78.
WRITE ('El numero que ha escrito es mayor de 100')
79.
ELSE
80.
WRITE ('El numero es 100')
81.
82.END.
83.
84.
85.PROGRAM EJER35;
86.
USES CRT;
87.
VAR num:REAL;
88.
89.BEGIN
90.
ClrScr;
91.
92.
WRITE('Introduzca un numero : '); READLN(num);
93.
94.
IF (num <= 100) THEN
95.
WRITE('NUMERO MENOR O IGUAL A 100 ')
96.
ELSE
97.
WRITE('NUMERO MAYOR DE 100')
98.END.
99.
100.
101. Escribir un programa en Pascal que dado un nmero del 1 a 7
102. escriba el correspondiente nombre del da de la semana.
103.
104. PROGRAM EJER36;
105.
USES CRT;
106.
107.
VAR num:INTEGER;
108.
109. BEGIN
110.
111.
ClrScr;
112.
113.
WRITE ('Escriba un numero para ver con que dia corresponde:
');
114.
READLN (num);
115.
116.
IF num=1 THEN
117.
WRITE ('Lunes');
118.
IF num=2 THEN
119.
WRITE ('Martes');
120.
IF num=3 THEN
121.
WRITE ('Miercoles');
122.
IF num=4 THEN
123.
WRITE ('Jueves');
124.
IF num=5 THEN
125.
WRITE ('Viernes');
126.
IF num=6 THEN
127.
WRITE ('Sabado');
128.
IF num=7 THEN
129.
WRITE ('Domingo');

130.
131. END.
132.
133.
134. PROGRAM EJER36;
135.
USES CRT;
136.
VAR num_dia_sem:INTEGER;
137. BEGIN
138.
ClrScr;
139.
140.
WRITE('Dia de la semana (numero) -> ');
READLN(num_dia_sem);
141.
142.
CASE num_dia_sem OF
143.
1: WRITELN('Lunes');
144.
2: WRITELN('Martes');
145.
3: WRITELN('Miercoles');
146.
4: WRITELN('Jueves');
147.
5: WRITELN('Viernes');
148.
6: WRITELN('Sabado');
149.
7: WRITELN('Domingo');
150.
ELSE
151.
WRITELN('No es un dia de la semana');
152.
END;
153. END.
154.
155.
156. Escribir un programa en Pascal que lea dos nmeros desde el
157. teclado y si el primero es mayor que el segundo intercambie sus
valores.
158.
159. PROGRAM EJER37;
160.
USES CRT;
161.
162.
VAR num1,num2:INTEGER;
163. BEGIN
164.
ClrScr;
165.
166.
WRITELN ('Escriba dos numeros: ');
167.
READLN (num1); WRITE ('');
READLN (num2);
168.
WRITELN ('');
169.
170.
IF num1 > num2 THEN
171.
BEGIN
172.
WRITE(num2,' ',num1,'. El primer numero introducido
173.
es mayor.');
174.
WRITE(' Se cambia el orden.');
175.
END
176.
177.
ELSE
178.
BEGIN
179.
WRITE(num1,' ',num2,'. El segundo numero introducido
es
180.
mayor.');
181.
WRITE(' No se cambia el orden.');
182.
END;
183. END.
184.
185.
186. PROGRAM EJER37;
187.
USES CRT;
188.
VAR num1,num2,temp:INTEGER;
189. BEGIN
190.
ClrScr;
191.

192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.

WRITE('Numero 1: ');
WRITE('Numero 2: ');

READLN(num1);
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 calificacin en
valor alfabtico (A,B,C,D E) indique su equivalente en
valor numrico (4,5,6,7 u 8).
PROGRAM EJER38;
USES CRT;
BEGIN

VAR valor:CHAR;
ClrScr;
WRITE ('Escriba una calificacion entre a y e: ');
READLN (valor);
WRITELN ('');

END.

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;

PROGRAM EJER38;
USES CRT;
VAR cal:CHAR;
BEGIN
ClrScr;
WRITE('Introduzca una calificacion (A-E):');
READLN(cal);
CASE cal OF
'A': WriteLn('Calificacion numerica
'B': WriteLn('Calificacion numerica
'C': WriteLn('Calificacion numerica
'D': WriteLn('Calificacion numerica
'E': WriteLn('Calificacion numerica
ELSE
WriteLn('Calificacion incorrecta');

-->
-->
-->
-->
-->

4');
5');
6');
7');
8');

257.
END;
258. END.
259.
260.
261. Escribir un programa en Pascal que lea desde teclado el importe
262. bruto de una factura y determine el importe neto segn los
263. siguientes criterios.
264.
265. Importe bruto menor de 20.000 ->
sin descuento
266. Importe bruto mayor de 20.000 ->
15% de descuento
267.
268. PROGRAM EJER39;
269.
USES CRT;
270.
271.
VAR importe_bruto:REAL;
272.
VAR descuento, total:REAL;
273.
274. BEGIN
275.
ClrScr;
276.
277.
WRITE ('Indique el importe de su factura para ver ');
278.
WRITELN ('si le "descontamos" algo');
279.
WRITELN ('');
280.
READLN (importe_bruto);
281.
WRITELN ('');
282.
283.
{calcula el importe bruto con descuento del 15%}
284.
descuento:=importe_bruto * 0.15;
285.
286.
IF importe_bruto > 20000 THEN
287.
288.
BEGIN
289.
WRITELN ('SE MERECE UN DESCUENTO DE: ',descuento:5:2,
290.
' PTS');
291.
total:=importe_bruto - descuento;
292.
WRITELN ('El total es de la factura es de:
',total:5:2,
293.
' pts')
294.
END
295.
296.
ELSE
297.
WRITE ('CON ESE DINERO NO SE MERECE UN DESCUENTO')
298.
299. END.
300.
301.
302. PROGRAM EJER39;
303.
USES CRT;
304.
VAR imp_bru,imp_net:REAL;
305. BEGIN
306.
ClrScr;
307.
308.
WRITE('Importe Bruto -> ');
READLN(imp_bru);
309.
310.
IF imp_bru <= 20000 THEN
311.
imp_net:=imp_bru
312.
ELSE
313.
imp_net:=imp_bru-(0.15*imp_bru);
314.
315.
WRITE('Importe a pagar: ');
WRITE(imp_net:5:2)
316. END.
317.
318.
319.
320. Escribir un programa en Pascal que una vez leda una hora

321. en formato (horas, minutos, segundos) indique cual ser el tiempo


322. dentro de un segundo.
323.
324. PROGRAM EJER40;
325.
USES CRT;
326.
{Las variables son: horas, minutos y segundos}
327.
{Son las horas, minutos y segundos introducidos por el
328.
usuario}
329.
VAR h, m, s:INTEGER;
330.
VAR h2,m2,s2:INTEGER;
331.
{Son las horas, minutos y seguntos a los que se les
sumara}
332. BEGIN
333.
ClrScr;
334.
335.
WRITE ('Escriba en formato horas, minutos y segundos');
336.
WRITELN ('');
337.
WRITE ('Horas ');
READLN (h);
338.
WRITE ('Minutos ');
READLN (m);
339.
WRITE ('Segundos ');
READLN (s);
340.
WRITELN ('');
341.
WRITELN ('Se le sumara un segundo a la hora actual.');
342.
WRITELN ('');
343.
344.
s:= s + 1;
345.
346.
IF s = 60 THEN
347.
s2 := 0
348.
ELSE
349.
s2 := s;
350.
351.
m:= ((m * 60) + s) div 60;
352.
353.
IF m = 60 THEN
354.
m2 := 0
355.
ELSE
356.
m2 := m;
357.
358.
h2:=((h * 60) + m) div 60;
359.
360.
IF h2 = 24 THEN
361.
h2 := 0;
362.
363.
WRITELN (h2,':',m2,':',s2);
364. END.
365.
366. PROGRAM EJER40;
367.
USES CRT;
368.
VAR h1,m1,s1:INTEGER;
369.
VAR h2,m2,s2:INTEGER;
370. BEGIN
371.
Clrscr;
372.
373.
WRITE('Horas ------> ');
READLN(h1);
374.
WRITE('Minutos ----> ');
READLN(m1);
375.
WRITE('Segundos ---> ');
READLN(s1);
376.
377.
s2:=s1+1;
378.
379.
IF s2=60 THEN
380.
BEGIN
381.
s2:=0;
382.
m2:=m1+1;
383.
END;
384.

385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407. END.
408.

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(m2); WRITE(' mm ');
WRITE(s2); WRITE(' ss ');

You might also like