Varios

Solo disponible en BuenasTareas
  • Páginas : 16 (3992 palabras )
  • Descarga(s) : 0
  • Publicado : 15 de diciembre de 2010
Leer documento completo
Vista previa del texto
(* 17. Introducir un car cter alfab‚tico y decir se esta en may£sculas o min£sculas. *)

MODULE ejer17;
FROM InOut IMPORT WriteString, WriteLn, Write, Read;
VAR car: CHAR;
num: CARDINAL;

BEGIN
WriteString ("INTRODUCE UN CARACTER: ");
Read (car);
Write(car);
WriteLn();

num := ORD (car);

IF (num >= 97) AND (num <= 122)THEN
WriteString ("ESTA EN MINéSCULAS");
ELSIF (num >= 65) AND (num <= 90) THEN
WriteString ("ESTA EN MAYéSCULAS");
ELSE
WriteString ("NO ES UN CARµCTER ALFABTICO");
END;

WriteLn;
END ejer17.

(* 19. Aceptar una letra por teclado y pasarla a may£sculas. *)

MODULE ejer19;
FROM InOut IMPORT WriteString, WriteLn, Write,Read;
VAR car: CHAR;
num: INTEGER;

BEGIN
WriteString ("Introduce una letra por teclado: ");
Read (car);
Write (car);
WriteLn();

num := ORD (car);

IF (num >= 97) AND (num <= 122) THEN
Write (CAP (car));
ELSIF (num >= 65) AND (num <= 90) THEN
WriteString ("La letra ya est  en may£sculas");
ELSEWriteString ("No es un car cter");
END;

WriteLn;
END ejer19.

(* 21. Escribe un programa que lea del teclado la longitud de los dos catetos de un tri ngulo rect ngulo,
calcule la longitud de la hipotenusa. ( h2 = a2 + b2 ) *)

MODULE ejer21;
FROM InOut IMPORT WriteString, WriteLn;
FROM RealInOut IMPORT WriteReal, ReadReal;
FROM MathLib0 IMPORTsqrt;

VAR a, b, h : REAL;

BEGIN
WriteString ("Introduzca el lado 'a' del tri ngulo (formato 0.0): ");
ReadReal (a);
WriteLn();

WriteString ("Introduzca el lado 'b' del tri ngulo (formato 0.0): ");
ReadReal (b);
WriteLn();

WriteString ("El valor de la hipotenusa es: ");
WriteReal (sqrt (a*a + b*b), 0);

WriteLn;
END ejer21.

(*25. Escribe un programa que lea dos letras min£sculas y determine:
_ el n£mero de letras que las separan
_ la letra o dos letras centrales del intervalo que determinan. *)

MODULE ejer25;
FROM InOut IMPORT WriteString, WriteLn, Write, Read, WriteCard;
VAR letraA, letraB : CHAR;
diferencia : CARDINAL;
BEGIN
WriteString ("Programa que indica la diferencia entredos letras ");
WriteLn();
WriteString ("y la/s letras centrales del intervalo");
WriteLn();

WriteString ("Introduce una letra del abecedario en min£sculas: ");
Read (letraA);
Write(letraA);
WriteLn();


WriteString ("Introduce una letra del abecedario en min£sculas: ");
Read (letraB);
Write(letraB);
WriteLn();

IF(letraA > letraB) THEN
diferencia := (ORD(letraA) - ORD(letraB) - 1);
ELSIF (letraA < letraB) THEN
diferencia := (ORD(letraB) - ORD(letraA) - 1);
ELSE
WriteString ("Es la misma letra");
WriteLn();
diferencia := 0;
END;

WriteString ("Existen entre esas letras: ");
WriteCard (diferencia,0);
WriteString (" letra/s.");WriteLn();

IF (diferencia > 0) THEN
IF (ODD(diferencia)) THEN
IF (diferencia = 1) THEN
Write (CHR (ORD(letraA) + diferencia) );
ELSE
INC (diferencia);
Write (CHR(ORD(letraA) + diferencia DIV 2) );
END;
ELSE
Write (CHR(ORD(letraA) +diferencia DIV 2) );
Write (CHR(ORD(letraB) - diferencia DIV 2) );
END;
ELSE
WriteString ("NO HAY LETRAS INTERMEDIAS");
END;

WriteLn;
END ejer25.

(* 26. Escribe un programa que determine si un a¤o es bisiesto.
Un a¤o es bisiesto si es m£ltiplo de 4 (por ejemplo 1984). *)

MODULE ejer26;
FROM InOut IMPORT...
tracking img