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.