La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Resolución de Problemas y Algoritmos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina.

Presentaciones similares


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

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

2 Write y Read

3 Resolución de Problemas y Algoritmos 3 Muestra el contenido de cada uno de los parámetros (en la misma línea) y luego avanza a la próxima línea. Procedimiento Writeln Diagrama Sintáctico: writeln (); expresiónidentificador, Ej: writeln(‘El tamaño de la puerta es de ‘, Ancho,’ por ‘, Alto); writeln; writeln(‘Que es igual a ‘, Ancho * Alto, ‘ cm cuadrados ‘);

4 Resolución de Problemas y Algoritmos 4 Muestra el contenido de cada uno de los parámetros (en la misma línea). Ej: write(‘El tamaño de la puerta es de ‘, Ancho, ‘ por ‘, Alto, ‘ = ‘, Ancho * Alto); Procedimiento Write Diagrama Sintáctico: write (); expresiónidentificador,

5 Resolución de Problemas y Algoritmos 5 Write versus Writeln Usualmente, se utiliza el writeln para mostrar resultados. Sin embargo, si la cantidad de información es mucha es conveniente distribuírla en varios write para una mayor claridad. writeln(P1,P2,P3,P4,P5,P6,P7,P8); es equivalente a write(P1,P2,P3); write(P4,P5,P6); writeln(P7,P8);

6 Resolución de Problemas y Algoritmos 6 Write con formato Generalmente, se necesita mostrar la información con un formato específico o en forma tabular. Se utilizará un ancho de campo (fw) para formatear la salida. Tanto write como writeln aceptan formato. Formato: write( :fw, ); write( :fw:dp, );

7 Resolución de Problemas y Algoritmos 7 Enteros con formato Para formatear un valor Entero se utilizará un ancho de campo (fw) que especifíca la cantidad de dígitos a ser mostrado. Obs: el signo (-) ocupa 1 lugar. Si la cantidad de dígitos a mostrar es igual a fw Se muestra el valor sin modificación. Ej.:write(123:3); Muestra: 123 Si la cantidad de dígitos a mostrar supera a fw Se agregan los lugares necesarios. Ej.:write(123:1); Muestra: 123 Si la cantidad de dígitos a mostrar es inferior a fw Se agregan espacios, justificando el nro a la derecha. Ej.:write(123:6); Muestra:  123

8 Resolución de Problemas y Algoritmos 8 Reales con formato Para formatear un valor Real además del ancho de campo (fw) se utilizará un valor cantidad de decimales (dp) que especifíca la cantidad de dígitos decimales a ser mostrado. El ancho de campo (fw) consistirá de la cantidad deseada de dígitos en la parte entera, más dígitos en la parte decimal, más el lugar del punto decimal (.) Ejemplo: Si X es tipo Real y contiene sólo valores en el rango -99.9 a 999.9 se puede utilizar X:5:1 La parte decimal es redondeada, la parte entera mantiene la cantidad de dígitos (igual que enteros).

9 Resolución de Problemas y Algoritmos 9 Reales con formato Valor de XSalidaValor de XSalida -99.42-25.55 0.12399.999 -9.53999.43 Considere X un valor Real y el formato :5:1 -99.4  0.1  -9.5 -25.6 100.0 999.4

10 10 ¿qué es ENTER ? 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

11 11 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

12 12 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.

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

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

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

16 16 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. ... 10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

17 17 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 ... 10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

18 18 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 Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina."

Presentaciones similares


Anuncios Google