La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Resolución de Problemas y Algoritmos Buffer - Read & Readln Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía.

Presentaciones similares


Presentación del tema: "Resolución de Problemas y Algoritmos Buffer - Read & Readln Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía."— Transcripción de la presentación:

1 Resolución de Problemas y Algoritmos Buffer - Read & Readln Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina

2 2 ¿qué es ENTER ? En las máquinas de escribir mecánicas al finalizar un renglón hay que hacer dos movimientos: 1) retorno de carro 2) nueva línea En las computadoras, la tecla ENTER tiene asociados 2 caracteres cuyos códigos ASCII son 13 y 10 1) ASCII 13: retorno de carro (CR: carriage return) 3) ASCII 10: nueva línea (LF: line feed) Los caracteres 13 y 10 son caracteres de control y al imprimirlos en pantalla producen un efecto en lugar de mostrar algo visible. Resolución de Problemas y Algoritmos

3 3 El buffer de lectura: concepto Todos los datos ingresados por teclado se almacenan en una zona llamada buffer de lectura (o simplemente buffer). Todos los caracteres ingresados queda retenidos en el buffer hasta que son leídos apropiadamente por los programas (en el caso de Pascal por read y readln). La capacidad del buffer depende de cada computadora. El buffer tiene un puntero ( ), el cual apunta al elemento que está siendo leido por un programa.... Resolución de Problemas y Algoritmos

4 4 Read: comportamiento del buffer Al ejecutar un READ, el programa se suspende y todo lo ingresado por teclado se almacena en el buffer de lectura. Al presionar la tecla ENTER la ejecución continúa y el procedimiento READ lee del buffer los valores que necesita para asociar a las variables. Resolución de Problemas y Algoritmos program eje_read; var a,b,c,d: integer; begin write('Ingrese valores numericos:'); read(a); read(b); read(c); readln; d := a + b + c; writeln('El valor de D es ',d); readln; end.

5 5 En el programa eje_read, al ejecutar la primera primitiva read, el programa se suspenderá y esperará a que ingresemos datos por teclado y ENTER. Supongamos que ingresamos , y luego ENTER. En el buffer se habrán guardado todos los caracteres que hemos ingresado, incluídos los espacios en blanco y el [13][10] (ENTER). El puntero ( ) indica el primer carácter a leer  2  3 [13][10] Read: comportamiento del buffer Resolución de Problemas y Algoritmos

6 6 Una vez que se presiona ENTER, la primitiva READ entra en acción: READ comienza a leer del buffer en la posición que indica el puntero ( ), y según sea el tipo de la variable para la cual está leyendo un valor, sigue leyendo hasta encontrar un dato de ese tipo. Por ejemplo: cada vez que encuentre uno o más espacios en blanco, el read supone que termina un entero y comienza otro. Mientras READ va leyendo del buffer, el puntero ( ), se va desplazando indicando el próximo carácter a leer. Read: comportamiento del buffer  2  3 [13][10] Resolución de Problemas y Algoritmos

7 7 Como la variable A es de tipo integer, cuando el read lee un espacio en blanco almacena el número que ha leído en la variable A. Lo mismo para B y C 23 [13][10] Read: comportamiento del buffer Resolución de Problemas y Algoritmos La variable A recibe el valor 10

8 8 Como la variable A es de tipo integer, cuando el read lee un espacio en blanco almacena el número que ha leído en la variable A. Lo mismo para B y C 23 [13][10] Read: comportamiento del buffer Resolución de Problemas y Algoritmos La variable A recibe el valor 10 La variable B recibe el valor 2

9 9 Como la variable A es de tipo integer, cuando el read lee un espacio en blanco almacena el número que ha leído en la variable A. Lo mismo para B y C. La variable A recibe el valor 23 [13][10] Read: comportamiento del buffer Resolución de Problemas y Algoritmos La variable B recibe el valor 2 La variable C recibe el valor 3

10 10 En este punto ya se ejecutaron 3 primitivas read: read(A); read(B); y read(C); pero en el buffer aún hay caracteres. Está el enter representado por los caracteres 13 y 10. La primitiva READLN saca un enter del buffer y vuelve el puntero al principio, dejando el buffer vacío y preparado para una nueva entrada de datos. Read: comportamiento del buffer... 1023 [13][10]... Resolución de Problemas y Algoritmos


Descargar ppt "Resolución de Problemas y Algoritmos Buffer - Read & Readln Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía."

Presentaciones similares


Anuncios Google