Contactos

Operadores de entrada de datos ReadLn y Read. Tema: Entrada - Salida. Leer (leer), escribir (escribir) declaraciones. Programas lineales más simples ¿Cuál es la diferencia entre Readln y Read?

La rutina Readln se utiliza para algo más que el retraso de la pantalla. Su tarea principal es ingresar datos desde el teclado. En este artículo, aprenderemos cómo ingresar números desde el teclado y luego mostrarlos en la pantalla. Para hacer esto, necesitaremos familiarizarnos con la sección para describir las variables Var, así como con uno de los tipos de datos usados ​​en Pascal.

Número de programa 3; usa crt; var n: número entero; begin clrscr; escribir ('Ingrese un número con el teclado:'); readln (n); Writeln ("Ingresó un número", n); readln end.

En la línea # 3, escribimos la palabra funcional Var. Se utiliza para declarar variables. Las variables son valores, números o palabras diferentes que pueden cambiar durante la ejecución del programa. Cuando ingresamos números o letras desde el teclado, se escriben en variables. Después de la palabra Var, indicamos el identificador de la variable (es decir, su nombre, que nosotros mismos inventamos), separado por un espacio. Las variables no son palabras de servicio, el programador las establece él mismo. En este caso, hemos establecido una variable "n" y en el futuro usaremos solo esta variable. Después de escribir la variable, el tipo de datos se indica con dos puntos. Hay varios tipos de datos, uno de ellos es Integer. Le aclara al programa que nuestra variable "n" solo puede ser un número entero, que va de -32768 a 32767. El uso de diferentes tipos de datos depende de las necesidades específicas del programador al escribir el programa. Lo más importante en esta etapa es entender que si vas a usar algún número en tu programa, entonces para ello necesitas especificar una variable (en nuestro caso "n") y un tipo de dato (en nuestro caso Integer) .

En la línea # 7, escribimos una declaración para ingresar datos desde el teclado Readln. Esta declaración llama a la rutina de entrada de datos incorporada y en este punto el programa se detiene y comienza a esperar la entrada de datos. Ya hemos utilizado este operador para el retraso de la pantalla. En este programa, después de la instrucción Readln, nuestra variable "n" se indica entre paréntesis. En esta variable se escribirá el número que ingresaremos desde el teclado. En consecuencia, este número debe corresponder a los parámetros de la variable, es decir debe ser un número entero en el rango de -32768 a 32767. Después de que el programa llegue a la séptima línea, mostrará el mensaje "Ingrese un número desde el teclado:" y esperará. En esta etapa, debemos ingresar algún número y presionar Enter.

Línea número 8. Aquí es donde escribimos una declaración de salida en la pantalla de Writeln. Mostrará el mensaje "Has ingresado un número", y también mostrará el valor de nuestra variable "n" (es decir, el valor que ingresamos desde el teclado). Tenga en cuenta que en la línea # 8 colocamos una coma antes de la variable "n", y la variable en sí no está encerrada entre apóstrofos.

Ahora escriba el programa en Pascal.

Ejecutar (Ctrl + F9). Escribimos un número, por ejemplo, 5 y presionamos Enter.

Tema: De entrada y salida. Leer (leer), escribir (escribir) declaraciones. Los programas lineales más sencillos.

Resolvamos el problema comentando cada una de nuestras acciones entre llaves. Recordemos que el comentario no es percibido por la computadora, pero lo necesitamos para comprender mejor cómo funciona el programa.

Tarea ... Escriba un programa que borre la pantalla y calcule el producto de dos números proporcionados por el usuario.

Programa Proizv2;
Usos
Crt; (Conectamos el módulo Crt)
Var
número1, (variable que contendrá el primer número)
número2, (variable que contendrá el segundo número)
rezult (variable que contendrá el resultado)
: entero;
Empezar
ClrScr; (Usamos el procedimiento para borrar la pantalla del módulo Crt)
Escriba ("Ingrese el primer número");
Readln (número1);
(El número ingresado por el usuario se lee en la variable número1)
Escriba ("Ingrese el segundo número");
(Mostrando caracteres escritos entre apóstrofos)
Readln (número2);
(El número ingresado por el usuario se lee en la variable número2)
rezult: = número1 * número2;
(Encuentre el producto de los números ingresados ​​y asígnelo a la variable de resultado)
Write ("Producto de números", número1, "y", número2, "igual", resultado);
(Mostramos una línea que contiene la respuesta al problema)
Readln; (procedimiento de retardo de pantalla)
Fin.

Para comprender mejor la acción de un programa, escríbalo en su computadora y pruebe su acción. Responde a las preguntas:

  • ¿Por qué el programa se llamó Proizv2?
  • ¿Por qué pusiste el módulo Crt en la sección de Usos?
  • ¿Cuál es el propósito de las variables number1, number2, rezult?
  • ¿de qué tipo son estas variables? ¿Qué significa eso?
  • si establecemos las variables número1 y número2 en los valores 5 y 7, respectivamente, ¿qué línea producirá la computadora al ejecutar el último procedimiento de Escritura? Escríbalo en un cuaderno.
  • ¿En qué líneas se le pide al usuario los valores de las variables?
  • ¿En qué línea tiene lugar la multiplicación de números?
  • ¿Qué hace el operador de asignación en este programa?

Ejercicio ... Modifique el programa para que solicite al usuario otra variable y muestre el resultado del producto de tres números.

Escribir y escribir declaraciones de Ln

Ya hemos usado los operadores Write y WriteLn, pero necesitamos detenernos en más detalles sobre las reglas para usar estos operadores.

Escribir (inglés para escribir): operador que se utiliza para mostrar información en la pantalla. El operador WriteLn realiza la misma acción, pero como también tiene la terminación Ln (línea - línea en inglés, línea), después de mostrar el mensaje deseado en la pantalla, además mueve el cursor a la siguiente línea.

Forma general:
Escribir (lista de expresiones)
WriteLn (lista de expresiones)

Los procedimientos Write y WriteLn se utilizan no solo para mostrar el resultado, sino también para mostrar varios mensajes o solicitudes. Esto le permite dialogar con el usuario, decirle cuándo necesita ingresar valores, cuándo obtiene un resultado, cuándo cometió un error, etc.

Por ejemplo, al ejecutar el procedimiento WriteLn ('Número encontrado', a), se imprimirá una línea entre apóstrofos y luego se mostrará el valor de la variable a.

La instrucción WriteLn se puede utilizar sin parámetros. En este caso, se imprimirá una línea formada por espacios y el cursor se moverá a otra línea. A veces lo necesitamos para una mejor percepción de la entrada de datos.

Operadores Read y ReadLn

Recordemos que el objetivo principal de una computadora es ahorrar trabajo humano. Por lo tanto, es necesario brindar una oportunidad, una vez escrito un programa, reutilizarlo, ingresando cada vez diferentes datos. Esta flexibilidad en el lenguaje es proporcionada por las declaraciones Read y ReadLn. Estos operadores ingresan información desde el teclado.

Forma general:
Leer (variable, variable ...)
ReadLn (variable, variable ...)

El procedimiento de lectura espera ingresar los valores enumerados entre paréntesis. Los datos ingresados ​​deben estar separados entre sí por espacios. La asignación de valores ocurre a su vez.

Por ejemplo, si se ingresan los valores 53 y X, cuando se ejecute la instrucción Read (a, b), el número 53 se asignará a la variable a, y la letra X a la variable X. Además, en para evitar una emergencia, debe determinar correctamente el tipo de datos en la sección Var; en nuestro caso a: integer yb: char.

No hay diferencias especiales en lectura y escritura en el uso de los operadores Read y ReadLn. A menudo, el procedimiento ReadLn sin parámetros se utiliza al final del programa para retrasar: antes de presionar la tecla el resultado de la ejecución del programa permanece en pantalla. Esto es muy útil para analizar los resultados.

Nota ... Cuando establezca el retraso de la pantalla, preste atención a la entrada anterior. Si los datos fueron solicitados por el procedimiento de lectura, no habrá demora.

Resolvamos un problema en el que consideraremos todos los usos posibles de estos procedimientos.

Tarea ... Calcula el promedio de tres números.

Nota ... Para encontrar el promedio de varios números, sume estos números y divida la suma por el número de estos números.

Escriba el texto del problema y considere cuidadosamente cada línea. El nombre del programa Srednee refleja el contenido del problema. Por cierto, acordamos que el nombre del programa y el nombre del archivo que contiene este programa son el mismo. Luego viene la conexión del módulo Crt. En la sección Var, First, Second, Third se describen como variables de tipo entero y Sum es de tipo real. La sección del operador comienza con la rutina de pantalla estándar ClrScr (Clear Screen) que se encuentra en el módulo Crt. Luego, con la instrucción Write, mostramos el mensaje 'Ingrese el primer número', luego de recibir el cual el usuario debe ingresar el número.

Ahora la computadora debe leer los caracteres ingresados ​​y ponerlos en la variable Primera, esto sucederá cuando se ejecute la siguiente instrucción ReadLn (Primera). Luego, usando la instrucción Write, solicitamos los valores de dos números más y los leemos en las variables Segunda y Tercera. Luego calculamos su suma y asignamos el número resultante a la variable Suma. Para encontrar el promedio, ahora necesita dividir el número resultante entre 3 y almacenar el resultado en alguna variable.

No es necesario declarar otra variable para guardar el resultado. Puede, como en nuestro programa, dividir el valor de la variable Sum entre 3 y asignar el resultado a la misma variable Sum nuevamente. Ahora puede mostrar el resultado de los cálculos en la pantalla mediante el procedimiento de escritura. Finalmente, la rutina ReadLn final retrasará nuestra salida a la pantalla hasta que se presione una tecla.

Presione las teclas +... Ingrese los valores de las variables 5, 7 y 12, verá lo siguiente en la pantalla:

El promedio de 5, 7 y 12 es 8,00

Mire cuidadosamente esta línea y compárela con la línea de salida del resultado en nuestro programa. Pruebe el programa unas cuantas veces más para diferentes valores de variable.

Elija con el profesor los problemas a resolver de la siguiente lista:

  1. Ingrese dos números ay b. Utilice el operador de asignación para intercambiar sus valores:
    a) usando una variable intermedia (x: = a; a: = b; b: = x);
    b) sin utilizar una variable intermedia (a: = a-b; b: = a + b; a: = b-a).
  2. Escriba un programa que le pida al usuario un número entero, un número real, un carácter arbitrario y una cadena, y luego imprima todo en una línea.
  3. Muestre su apellido, nombre y patronímico, y dos líneas después, su fecha de nacimiento.
  4. Escriba un programa para imprimir una de las formas con asteriscos:
    a) Árboles de Navidad (varios árboles de Navidad);
    b) copos de nieve (varios copos de nieve);
    c) una casa. Por ejemplo,

    *
    * *
    * *
    ***********
    * *
    * *
    * *
    * *
    ***********

  5. Redacte su tarjeta de presentación.


    * Ivanov Sergey *
    * Proletarskaya 74 metros cuadrados. 55 *
    * Teléfono 45-72-88 *
    *******************************

  6. Redacte un diálogo entre el usuario y la computadora sobre un tema arbitrario.
    Por ejemplo, una máquina hace dos preguntas, "¿Cómo te llamas?" ¿Cuántos años tienes?"; después de ingresar el nombre (Anton) y el número (15) aparece en la pantalla "Sí ... En 50 años tendrás 65 años, y tu nombre no será Anton, sino abuelo Anton"
  7. Pídale al usuario dos números y muestre el resultado de la suma, la diferencia, el producto y el cociente de estos números con una respuesta completa.
  8. Solicita al usuario dos números y muestra el resultado de una división de enteros y el resto de una división de enteros en forma de tabla. Por ejemplo, al ingresar los números 5 y 3, la pantalla debe mostrar la siguiente tabla:

    **************************
    * X * Y * div * mod *
    **************************
    * 5 * 3 * 1 * 2 *
    **************************

  9. Escriba un programa que pregunte por el nombre del animal y un número, y luego muestre una frase como "Una ardilla se comerá 10 hongos" (cuando ingrese la palabra "ardilla" y el número 10).
  10. Organizar un diálogo entre el vendedor (computadora) y el comprador (usuario) al momento de comprar cualquier producto de acuerdo con el siguiente esquema: ofrecer un producto a un precio determinado, solicitar el monto del producto comprado, determinar y mostrar la cantidad de dinero que el El comprador debe pagar la compra.

Estás en la sección de programación Pascal. Antes de comenzar a programar, necesitamos aclarar algunos conceptos que necesitaremos al principio. No se puede programar así. No podemos escribir un programa con palabras: la computadora no entiende nada más que ceros y unos. Para esto, se han creado símbolos especiales en Pascal, el lenguaje Pascal, un conjunto de palabras reservadas que no se pueden usar en sus programas en ningún otro lugar excepto para su propósito previsto. Enumeremos los conceptos básicos que necesitamos al principio:

✎ 1) programa - "programa" en inglés, escrito al principio del código, seguido del nombre del programa en letras latinas y un punto y coma. Por ejemplo: programa Summa; - un programa llamado Summa. Pero esta parte del código, llamada encabezado del programa, no necesita escribirse; está presente solo para mayor claridad y muestra qué problema resuelve el programa dado. Aquí hemos utilizado la palabra "código" - este es el nombre del registro textual del programa.

✎ 2) entero - en inglés significa "entero" (o simplemente "entero") y en Pascal se usa para denotar enteros con signo de 32 bits (8 bytes) con el rango [-2147483648, 2147483647]. Lo que significan estos grandes números, lo analizaremos más adelante.

✎ 3) real - del inglés "real", "real", "real", "real". En el lenguaje Pascal, este término denota números reales del rango [-1,8 ∙ 10 308, 1,8 ∙ 10 308]. Estos son números muy grandes, pero 15 - 16. Se muestran con dígitos significativos Por cierto, los tipos de datos enteros y reales en el entorno de programación PascalABC.Net siempre se resaltan automáticamente en azul.

✎ 4) const - análogo del inglés. "Constante" que significa "constante", "constante". En Pascal, es una cantidad que no se puede cambiar. Está escrito así:


Esta entrada debe percibirse como está escrita: el número N es 12, S es 5, "pi" es 3,14 (como en matemáticas, solo se usa un punto en lugar de una coma en Pascal). En la última línea, usamos una barra doble (dos barras) seguida del texto; así es como se escriben los comentarios en Pascal y el programa no los acepta. Todo lo que comience con doble barra y hasta el final de la línea es un comentario que se escribe para explicar el programa y siempre está resaltado en un color diferente (en Pascal ABCNet es verde, Turbo Pascal no usa este tipo de comentario). Hay otro tipo de comentario: este (texto entre llaves, así como aquí, también resaltado en verde). Este tipo de comentario puede actuar varias líneas seguidas, desde el comienzo del paréntesis hasta su cierre, y todo lo que está en el medio de dicha construcción, el compilador no lo percibe como código y simplemente lo salta.

De hecho, el formato de grabación constante un poco más difícil. Según las reglas, tuvimos que escribir:

1 2 3 4 constante NORTE: tipo entero;

Descripción:

")" onmouseout = "toolTip ()"> entero
= 12 ; // número N - tipo entero S: tipo entero;

Descripción:
Representa un entero de 32 bits con signo.

Rango de valores: -2147483648 .. 2147483647")" onmouseout = "toolTip ()"> entero
= 5 ; // número S - tipo entero Pi: tipo real;

Descripción:
Representa un número de coma flotante de doble precisión.

Tamaño: 8 bytes
Número de dígitos significativos: 15 - 16
Rango de valores: -1,8 ∙ 10 308 .. 1,8 ∙ 10 308
")" onmouseout = "toolTip ()"> real
= 3.14 ; // número "pi" - real

Después de la declaración de cada valor, se indica su tipo y luego se asigna un valor. Pero la entrada anterior también es correcta, ya que el compilador de Pascal está configurado para que detecte automáticamente el tipo de constante. Pero no se puede decir lo mismo del siguiente tipo de números: las variables.

✎ 5) var - proviene del inglés. "Variable" (o "volátil"), que en Pascal significa un valor que en el transcurso del programa puede cambiar su valor. Está escrito así:


Como puede ver en la entrada, no hay signo "=" - las variables del mismo tipo se recalculan (separadas por comas) y solo se indica el tipo después de los dos puntos. Las variables N, m (números enteros) y Q, r, t (real) en el programa pueden cambiar los valores dentro de los números enteros y reales, respectivamente. Una nota más: la descripción de las variables siempre viene después de la descripción de las constantes (constantes); primero viene la construcción const y luego var.

✎ 6) comenzar - traducido del inglés significa "comenzar" y Pascal significa el comienzo del programa principal en el que se escriben los comandos (operadores). Después de la palabra empezar sin punto y coma.

✎ 7) final - en inglés. "Fin", y en lenguaje Pascal significa lo mismo (fin del programa). Después de la última palabra fin siempre hay un punto. Hemos resaltado la palabra "último" porque el uso de la construcción comenzar - terminar posiblemente en un caso más: estos son los denominados corchetes de operador, que se utilizan para combinar varias operaciones bajo un solo operador. Pero más sobre eso más adelante. Por lo tanto, el programa principal se verá así:

1 2 3 4 5 6 empezar < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; fin.

Aquí, los operadores en el cuerpo del programa son comandos diferentes al compilador.

✎ 8) escribir - en inglés significa "escribir". Este operador muestra el texto colocado en él, por lo que se llama: el operador de salida. El texto colocado en él está resaltado en azul y escrito así:

Escribir ( "se muestra este texto");

El mensaje entre corchetes y comillas se mostrará en la ventana de la consola (es simplemente imposible sin comillas entre corchetes). Después de ejecutar esta declaración, veremos en la pantalla:

este texto se muestra en la pantalla

De esta forma, el operador de escritura se utiliza en el caso de que sea necesario mostrar una pista, explicación, comentario, etc. Y a partir de si también es necesario mostrar un valor numérico, digamos, S = 50 sq. m, entonces se usa el formato:

Escribir (, S);

Como resultado, obtenemos el resultado en la pantalla:

El tamaño del área es: S = 50

Y si necesita mostrar las unidades de medida, debe insertar el texto entre comillas después de S nuevamente:

Escribir ( "El tamaño del área es: S =", S, "cuadrado M");

Después de ejecutar la última declaración de salida, obtenemos la salida en la pantalla:

El tamaño del área es: S = 50 m2

✎ 9) writeeln es lo mismo que write, pero después de la ejecución, el cursor se moverá a la siguiente línea.

✎ 10) leer - traducido del inglés significa "leer", por lo tanto, leer se denomina operador de lectura o entrada de datos. Está escrito como leído (N), lo que significa que debe ingresar el valor N, donde N es cualquier número, texto o cualquier otro tipo de variable. Por ejemplo, si necesita ingresar la edad de una persona que tiene 32 años, podemos escribirlo así:


En la primera línea de este código, el programa muestra la pregunta " ¿Cuál es tu edad?"Y mueve el cursor a la siguiente línea (terminando en ln); en la segunda línea, imprimimos "Year =" (al principio con un espacio); luego vemos el operador readln (Año), que significa la necesidad de ingresar la edad Año (número 32); Finalmente, mostramos los mensajes "Mi edad", "32" y "años". "Uno a uno. Debes vigilar de cerca los espacios. Como resultado de ejecutar este código, recibiremos el mensaje:

¿Cuál es tu edad?
Año = 32
Mi edad es 32

✎ 11) readln - igual que read, solo con nueva línea. De hecho, en el ejemplo anterior, después de ingresar el número Año, solo escribimos en la siguiente línea: " Mi edad es 32».

Eso es todo por ahora. En la página siguiente escribiremos el primer programa, y ​​en la programación Pascal estos serán nuestros

Para archivos escritos, lee el componente de archivo en una variable.

Para archivos de texto, lee uno o más valores en una o más variables

Notas:

Para variables de cadena:

Leer lee todos los caracteres hasta (pero sin incluir) el siguiente marcador de fin de línea o hasta que Eof (F) sea Verdadero. Leer no pasa a la siguiente línea después de leer. Si la cadena resultante es más larga que la longitud máxima de la variable de cadena, se trunca. Después de la primera lectura, cada llamada posterior a la lectura verá el marcador de fin de línea y devolverá una cadena de longitud cero.

Utilice varias llamadas a ReadLn para leer varios valores de cadena.

Cuando la opción Sintaxis extendida está habilitada, el procedimiento de lectura puede leer cadenas terminadas en nulo en matrices de caracteres basadas en nulos.

Para variables de tipo Integer o Real:

La lectura omitirá cualquier espacio, tabulación o marcador de final de línea que preceda a una línea numérica. Si la cadena numérica no es
coincide con el formato esperado, se produce un error de E / S; de lo contrario, a la variable se le asigna el valor resultante. La siguiente lectura comenzará con un espacio, tabulación o marcador de fin de línea que terminó la cadena numérica.

Ejemplo de procedimiento de lectura

Utiliza WinCrt, WinDos;
Var F: Texto;
Ch: Char;
Empezar
(Obtenga el nombre del archivo de la línea de comando)
Asignar (F, ParamStr (1));
Restablecer (F);
Aunque no EOF (F)
Empezar
Leer(F, Ch);
Escribir (Ch); (Mostramos el contenido del archivo en la pantalla)
Fin;
Fin.

  • Leer
  • Escribir
  • Writeln

La instrucción de lectura está diseñada para ingresar valores de variables (datos iniciales) desde el teclado. En general, la instrucción se ve así:

read (Variable!, Variable2, ... Variable, donde variables es el nombre de la variable, cuyo valor debe introducirse desde el teclado durante la ejecución del programa.

A continuación, se muestran algunos ejemplos de cómo escribir una declaración de lectura:

Leer un); leer (Cena, Kol);

Cuando se ejecuta la instrucción de lectura, sucede lo siguiente:

1. El programa detiene su trabajo y espera hasta que se ingresen los datos requeridos en el teclado y se presione la tecla .

2. Después de presionar la tecla el valor ingresado se asigna a la variable nombrada en la declaración.

Por ejemplo, como resultado de ejecutar la instrucción

Leer (Tempérât);

y escribiendo la línea 21, el valor de Tempérât será 21.

Una declaración de lectura le permite obtener los valores de varias variables. En este caso, los números ingresados ​​deben escribirse en una línea y separados por espacios. Por ejemplo, si el tipo de variables a, byc es real, entonces como resultado de ejecutar la lectura (a, b, c); y cadena de entrada de teclado:

4.5 23 0.17

las variables tendrán los siguientes valores: a = 4.5; b = 23, o; c = 0,17.

Si la línea contiene más números que las variables especificadas en la instrucción de lectura, el resto de la línea será procesada por la siguiente instrucción de lectura. Por ejemplo, como resultado de ejecutar las instrucciones:

Leer (a, B); leer (C);

y cadena de entrada de teclado

10 25 18

las variables recibirán los siguientes valores: a = 10, b = 25. Leer instrucción (C); asignará una variable con un valor de 18.

La instrucción readln difiere de la instrucción read en que después de la selección del siguiente número de la línea ingresada desde el teclado y su asignación a la última variable de la lista de la instrucción readln, el resto de la línea se pierde y la siguiente La instrucción read o readln requerirá una nueva entrada.

Por ejemplo, como resultado de ejecutar la instrucción:

Readln (a, B); leer (C);

y escribiendo la cadena

10 25 18

las variables recibirán los siguientes valores: a = 10, b = 25. Posteriormente, el programa esperará a que se ingrese un nuevo número para asignarlo a la variable c.

Cada instrucción read o readln debe ir precedida de una instrucción de escritura para decirle al usuario qué datos espera el programa de él. Por ejemplo, un fragmento del programa para calcular el costo de una compra puede verse así:

Writeln ("Ingrese los datos originales."); write ("Precio del producto:"); readln (Sepa); write ("Cantidad en el lote:"); readln (Kol); escribir ("Descuento:"); readln (Skidka);

Si el tipo de datos ingresados ​​desde el teclado no coincide o no se puede convertir al tipo de variables cuyos nombres se especifican en la instrucción read (readln), el programa falla (las instrucciones que siguen a read no se ejecutan) y se muestra un mensaje en la pantalla sobre el error.



¿Te gustó el artículo? Compártelo