EJERCICIO INDIVIDUAL DE PROGRAMACIÓN

Anuncio
Tecnologías de la Información – Introducción a la programación
exa_ip_230108.doc
EJERCICIO INDIVIDUAL DE PROGRAMACIÓN
El programa a realizar consiste en aceptar un número en base 10 por teclado, comprendido entre 0 y
255, y obtener su representación binaria mediante 8 bits. Además debes representar el desglose en
forma de sumas de potencias de dos del número decimal.
Como vuestros conocimientos de programación son muy “escasos” (por ahora) vamos a suponer
que el usuario introduce un valor correcto para el numero en base. NOTA : si te “pica” la
curiosidad, una vez terminado el programa, ejecuta el programa introduciendo valores fuera del
rango entre 0 y 255 y escribe las conclusiones en un papel y me las entregas..
Dentro de la carpeta planti_ti\int_programacion\exa_ip_230108 del computador
del profesor (ib00), existe almacenada una versión ejecutable de la solución a este ejercicio
(ej230108_sol.exe),de la que debes obtener la especificación de la pantalla, tanto los colores
como las posiciones de los correspondientes elementos.
Para la realización del programa dispones de la plantilla ej230108.pas situada en la carpeta
citada anteriormente. Este fichero deberá ser cambiado de nombre sustituyendo los dos primeros
caracteres (“ej ”) por tu identificativo personal de dos caracteres.
Recomendaciones
• No borres nada de la plantilla suministrada ya que no contiene errores, SOLO
debes completarla para que realice su cometido.
• Comprueba que le falta a la plantilla, escríbelo en el papel y realiza las
modificaciones poco a poco en el computador : compilando y ejecutando cada
vez que termines una parte.
• Ejecuta varias veces la solución aportada por el profesor para tomar nota de los
colores a utilizar en el programa.
Tecnologías de la Información – Introducción a la programación
exa_ip_230108.doc
program Ej_230108; (* Pasa un numero entero de 8 bits a binario *)
uses CRT;
var
(* VARIABLES DE ENTRADA *)
num_ent : byte;
(* Numero a pedir al usuario *)
(* VARIABLES INTERMEDIAS *)
c0,c1,c2,c3,c4,c5 : byte;
(* Cocientes intermedios *)
(* VARIABLES DE SALIDA *)
b7,b6,b5,b4,b3,b2,b1,b0: byte;
(* Definicion de los 8 bits *)
begin
TextBackground (Blue);
TextColor (yellow);
clrscr;
writeln ('************************************************');
writeln ('*********** DECIMAL --> BINARIO
*************');
writeln ('************************************************');
(* Dibujo de la pantalla *)
gotoxy (10,08); writeln ('Decimal ...');
gotoxy (22,08); write ('³
TextColor (White);
gotoxy (22,12); write ('
³');
7
6
5
4
3
2
1
0');
TextColor (yellow);
gotoxy (10,14); writeln ('Binario ...');
gotoxy (22,13); write ('ÚÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄ¿');
gotoxy (22,14); write ('³
³
³
³
³
³
³');
gotoxy (22,15); write ('ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ ');
gotoxy (22,17); write (' 128 ');
(* Solicito el numero al usuario *)
TextColor (yellow);
gotoxy(1,5); clreol;
writeln ('Introduzca un numero entero entre 0 y 255');
Textcolor(white);
gotoxy (24,08);
(* OBTENGO EL VALOR DE LOS 8 BITS *)
(* MUESTRO EL RESULTADO POR
Textcolor (green);
gotoxy (24,14); write (b7);
gotoxy (32,14); write (b5);
gotoxy (48,14); write (b1);
PANTALLA *)
gotoxy (28,14); write (b6);
gotoxy (36,14); write (b4);
gotoxy (52,14); write (b0);
TextColor (White);
gotoxy (10,22); write (num_ent, ' = ');
write (32*b5,' + '); write (16*b4,' + ');
write (8*b3,' + '); write (4*b2,' + ');
write (2*b1,' + '); write (1*b0);
(* FINALIZA LA EJECUCION DEL PROGRAMA *)
Textcolor (white);
gotoxy(1,5); clreol;
writeln ('Pulse una tecla para terminar la ejecucion del programa');
repeat ; until keypressed;
end.
Descargar