Lección 5 · 5 de 20
Leer del teclado · Pascal
Pida datos al usuario con ReadLn en Pascal: textos y números, uno por línea o varios en la misma, para calcular el precio de unas entradas de cine.

`ReadLn` espera a que el usuario escriba una línea y pulse Intro, y guarda lo escrito en la variable que le pase: ReadLn(name). Antes se usa Write, sin salto de línea, para que la pregunta y la respuesta queden en la misma línea.
En este ejemplo las respuestas salen del archivo input.txt, como si alguien las tecleara; por eso no aparecen en la salida y cada pregunta va seguida directamente de la contestación del programa. En la consola de DMarlon Studio (destino Consola, F9) puede escribirlas usted mismo.
A diferencia de otros lenguajes, ReadLn convierte el texto al tipo de la variable: con age: Integer lee un entero y con price: Double, un número con decimales. Si se teclea algo que no es un número, el programa se detiene con un error de ejecución (el 106).
`ReadLn(first, second)` lee varios números de una misma línea, separados por espacios, como 7 9. Con ellos se calcula la nota media, (first + second) / 2, que se escribe con un decimal.
Código · main.pas
program main;var name: String; age, tickets, first, second: Integer; price: Double;begin Write('What is your name? '); ReadLn(name); WriteLn('Nice to meet you, ', name, '!'); // ReadLn turns the text into the type of the variable. Write('How old are you? '); ReadLn(age); WriteLn('In 10 years you will be ', age + 10, '.'); Write('Price of a cinema ticket? '); ReadLn(price); Write('How many tickets? '); ReadLn(tickets); WriteLn(tickets, ' tickets cost ', price * tickets:0:2, ' euros.'); // Several numbers on the same line, separated by spaces. Write('Your two exam marks? '); ReadLn(first, second); WriteLn('Average mark: ', (first + second) / 2:0:1);end.Entrada (lo que se teclea) · input.txt
Lucia 29 8.50 3 7 9
Salida · fpc main.pas && ./main
What is your name? Nice to meet you, Lucia! How old are you? In 10 years you will be 39. Price of a cinema ticket? How many tickets? 3 tickets cost 25.50 euros. Your two exam marks? Average mark: 8.0
Para recordar
ReadLn(variable)lee una línea del teclado.ReadLnconvierte el texto al tipo de la variable.Writeantes deReadLndeja la pregunta en la misma línea.ReadLn(a, b)lee varios números separados por espacios.
Ejercicio
Pregunte también el título de la película y termine con una frase como «3 tickets for Dune cost 25.50 euros.». Añada la respuesta a input.txt en el lugar que le corresponda.