Teoria - pantalla

Transcripción

Teoria - pantalla
UTN – FRRo
Algoritmos y Estructuras de Datos
Bibliotecas – Un ejemplo : Gestión de Pantalla, Retardo y Sonido
Bibliotecas en PASCAL:
Cualquier versión que empleemos de lenguaje PASCAL cuenta con un
conjunto de instrucciones, subprogramas y funciones que son comunes a
todas las implementaciones del lenguaje.
Estas son conocidas como las aplicaciones estándar del lenguaje .
Desde el punto de vista de aprender a programar(objetivo inicial de Wirth,
creador del lenguaje) estas aplicaciones, junto a las que podemos incorporar
con nuestras propias declaraciones de funciones y procedimientos, son
suficientes.
Sin embargo, cuando se pretende trabajar con mínimo grado de elegancia, se
hace verdaderamente difícil, y a veces imposible lograrlo con ese limitado al
conjunto de funciones y procedimientos.
Es por ello que las implementaciones ofrecen la posibilidad de agregar
conjuntos de funciones y subprogramas adicionales.
Esos conjuntos que son denominados “bibliotecas” , “librerías” o “unidades”
permiten agregar a las estándar, funciones y procedimientos para los mas
diversos objetivos.
Así hay librerías orientadas al manejo de la memoria, a la interacción con el
sistema operativo, con funciones matemáticas y estadísticas de altonivel,
manejo de archivos, manejo de pantallas, etc.
El mecanismo para hacer uso de estas librerías es sencillo.
En la parte declarativa se pone la palabra reservada de Pascal para incluir
librerías: USES seguida del nombre, o los nombres, de las librería s a utilizar.
El nombre de la librería depende de la implementación, así como las
herramientas (funciones y procedimientos) que trae la misma. ( se encuentran
en el manual del lenguaje).
Como ejemplo, la versión de Pascal utilizada en nuestro curso tiene una
biblioteca destinada a un elementa manejo de la pantalla, tiempo y sonido.
Es la llamada Unidad CRT (CRT = catodic ray tube = tubo de rayos catódicos,
por el tipo de pantalla que existía cuando se creó – igual sirve para la pantalla
de plasma…)
Para poder usar todas las herramientas de esta unidad nuestro programa debe
tener definida en su parte declarativa una declaración de este tipo:
PROGRAM nombredeprograma (INPUT, OUTPUT);
USES CRT;
… resto del programa…
Pag. 1 de 5
Ma. Elena Farias- R.Kantor
UTN – FRRo
Algoritmos y Estructuras de Datos
Bibliotecas – Un ejemplo : Gestión de Pantalla, Retardo y Sonido
Veamos a continuación los procedimientos y funciones que ofrece esta unidad:
Procedimientos:
Procedimiento ClrScr :
ClrScr=clear screen( borrar pantalla).
El procedimiento ClrScr borra el contenido de la pantalla.
No lleva argumentos.
Procedimiento GotoXY(x,y):
El procedimiento GotoXY tiene dos parámetros x e y, correspondientes a una
columna y una fila en la pantalla (la pantalla en este caso se presenta como
una matriz cuyas columnas van de 1 a 80, y sus filas de 1 a 24).
Por ejemplo la sentencia GotoXY(3,4) posiciona el cursor, para que la próxima
sentencia de lectura o escritura(read o write) se posicione y lea o imprima a
partir de la columna 3 y fila 4.
Procedimiento DelLine:
El procedimiento DelLine (sin parámetros), borra la línea en la cual se
encuentra ubicada el cursor.El cursor puede ser posicionado en un lugar
cualquiera usando GotoXY
Procedimiento TextColor (Color);
El procedimiento TextColor se usa para seleccionar el color del texto en la
pantalla. En el anexo se encontrará un listado de algunos de los valores de
color posibles.
Funciones :
Función Keypressed:
Devuelve TRUE si se pulsa una tecla, y false en caso contrario
Función ReadKey:
Espera que el usuario pulse una tecla, y devuelve el caracter correspondiente
a la tecla pulsada.
Pag. 2 de 5
Ma. Elena Farias- R.Kantor
UTN – FRRo
Algoritmos y Estructuras de Datos
Bibliotecas – Un ejemplo : Gestión de Pantalla, Retardo y Sonido
Se recomienda probar los siguientes ejemplos en la computadora:
1 – El siguiente programa muestra por pantalla un texto.
Program hacer_algo;
uses crt;
begin
clrscr;
Writeln(’este programa’);
Writeln(’muestra este texto por pantalla’);
repeat until keypressed;
end.
2 - El siguiente programa borra la pantalla, e imprime en el centro de la pantalla
un cartel:
Program P;
Uses Crt;
Begin
ClrScr;
GotoXY(30,10); write(' Esto esta ');
GotoXY(30,11); write(' Al medio de');
GotoXY(30,12); write(' la pantalla');
End.
3 – ESte programa escribe un texto ingresado por el usuario en el centro de la
pantalla, en color verde.
Program texto_scr;
Uses crt;
Var
Frase : String[40];
Begin
clrscr;
Writeln('Escriba una frase:');
Readln(Frase);
clrscr;
textcolor(10);
gotoxy(20,10);
write(Frase);
Repeat until keypressed;
End.
Pag. 3 de 5
Ma. Elena Farias- R.Kantor
UTN – FRRo
Algoritmos y Estructuras de Datos
Bibliotecas – Un ejemplo : Gestión de Pantalla, Retardo y Sonido
4 – Este programa dibuja un rectangulo.
Program Rectangulo;
uses Crt;
var
i:integer;
begin
ClrScr;
write(chr(218));
for i:=1 to 20 do
write(chr(196));
write(chr(191));
for i:=2 to 10 do
begin
GotoXY(1,i);
write(chr(179));
GotoXY(22,i);
write(chr(179));
end;
GotoXY(1,11);
write(chr(192));
for i:=1 to 20 do
write(chr(196));
write(chr(217));
repeat until keypressed;
end.
MANEJO DEL TIEMPO:
Delay(Tmp : Word);
Detiene la ejecución del programa durante un tiempo especificado en Tmp en
milisegundos. El intervalo válido es desde 0 hasta 65535, la precisión del
retardo depende de la precisión del reloj interno de la computadora.
Ejemplo: Este programa muestra los números del 1 al 50 con un retardo entre
uno y otro.
PROGRAM Retardo;
uses crt;
var i: integer;
BEGIN
WriteLn('Retardo entre números');
for i:=1 to 50 do
begin
writeln (i);
Delay(65000);
end;
WriteLn('Fin del ejemplo');
repeat until keypressed;
END.
Pag. 4 de 5
Ma. Elena Farias- R.Kantor
UTN – FRRo
Algoritmos y Estructuras de Datos
Bibliotecas – Un ejemplo : Gestión de Pantalla, Retardo y Sonido
MANEJO DE SONIDO:
Procedimiento Sound (Frecuencia)
Activa el sonido.
Genera un sonido en la bocina de la computadora a una frecuencia
determinada por el valor de Frecuencia. Para detener el sonido es necesario
ejecutar el procedimiento NoSound.
Procedimiento NoSound
Desactiva el sonido iniciado con el procedimiento Sound.
Ejemplo: Este programa emite un sonido hasta que el usuario presiona una
tecla.
PROGRAM Sonido;
uses crt;
var
i: integer;
BEGIN
sound(70);
repeat until keypressed;
nosound;
END.
ANEXO
Las constantes definidas para los colores son:
Constante Valor Color
Constante
Valor Color
Black
0
Negro
Dark gray
8
Gris oscuro
Blue
Green
1
2
Azul
Verde
Light Blue
Light Green
9
10
Azul claro
Verde claro
Cyan
Red
Magenta
3
4
5
Cyan
Rojo
Magenta
Light Cyan
11
Light Red
12
Light Magenta 13
Brown
6
Light Gray 7
Pag. 5 de 5
Marrón
Yellow
Gris claro White
14
15
Cyan claro
Rojo claro
Magenta claro
Amarillo
Blanco
Ma. Elena Farias- R.Kantor

Documentos relacionados