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

Presentaciones similares


Presentación del tema: "Resolución de Problemas y Algoritmos Buffer - Read & Readln"— Transcripción de la presentación:

1 Resolución de Problemas y Algoritmos Buffer - Read & Readln
Resolución de Problemas y Algoritmos Dr. Alejandro J. García 01/04/2017 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 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

2 Resolución de Problemas y Algoritmos
¿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 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 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. 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. Resolución de Problemas y Algoritmos

5 Read: comportamiento del buffer
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. ... 1 2 3 [13][10] Resolución de Problemas y Algoritmos

6 Read: comportamiento del buffer
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. ... 1 2 3 [13][10] Resolución de Problemas y Algoritmos

7 Read: comportamiento del buffer
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. ... 1 2 3 [13][10] La variable A recibe el valor 10 Resolución de Problemas y Algoritmos

8 Read: comportamiento del buffer
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. ... 1 2 3 [13][10] La variable A recibe el valor 10 La variable B recibe el valor 2 Resolución de Problemas y Algoritmos 8

9 Read: comportamiento del buffer
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. ... 1 2 3 [13][10] La variable A recibe el valor 10 La variable B recibe el valor 2 La variable C recibe el valor 3 Resolución de Problemas y Algoritmos 9

10 Read: comportamiento del buffer
... 1 2 3 [13][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. ... Resolución de Problemas y Algoritmos


Descargar ppt "Resolución de Problemas y Algoritmos Buffer - Read & Readln"

Presentaciones similares


Anuncios Google