1 / 10

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

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. ¿qué es ENTER ?. En las máquinas de escribir mecánicas al finalizar un renglón hay que hacer dos movimientos:

natala
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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. ... 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 bufferdepende de cada computadora. • El buffertiene 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 ENTERla ejecución continúa y el procedimiento READleedel 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. 1 0  2  3 ...  [13][10] 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 10 2 3, 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. Resolución de Problemas y Algoritmos

  6. 1 0  2  3 ...  [13][10] 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. Resolución de Problemas y Algoritmos

  7. [13][10] 1 0  2  3 ... 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.  La variable A recibe el valor 10 Resolución de Problemas y Algoritmos

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

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

  10. [13][10] 1 0  2  3 ... ...   Read: comportamiento del buffer • 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

More Related