Basic Pascal Tutorial/Chapter 2/Input/bg
│
български (bg) │
Deutsch (de) │
English (en) │
français (fr) │
日本語 (ja) │
한국어 (ko) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Вход
(author: Tao Yue, state: unchanged)
Входът (входни данни) е това, което влиза в програмата. Може да бъде от клавиатурата, мишката, файл на диск, скенер, джойстик и т.н.
Няма да навлизаме подробно във въвеждането на данни от мишката, тъй като този синтаксис се различава при различните машини. В допълнение, днешните прозоречни операционни системи обикновено обработват входните данни от мишката вместо вас.
Основният формат за четене на данни е:
read (Variable_List);
Variable_List е поредица от идентификатори на променливи, разделени със запетаи.
read третира въвеждането като поредица от символи, с редове разделени със специален знак за край на реда. readln, от друга страна, след прочитане на стойност ще пропусне всички оставащи символи до следващия ред, като автоматично премести позицията след знака за край:
readln (Variable_List);
Да предположим, че сте получили този вход от потребителя и a, b, c, и d са цели числа.
45 97 3 1 2 3
Ето някои примерни изрази read и readln, заедно със стойностите, прочетени в съответните променливи.
Израз(и) | a | b | c | d |
---|---|---|---|---|
read (a); | 45 | 97 | ||
read (b); | ||||
readln (a); | 45 | 1 | ||
read (b); | ||||
read (a, b, c, d); | 45 | 97 | 3 | 1 |
readln (a, b); | 45 | 97 | 1 | 2 |
readln (c, d); |
При четене в цели числа всички интервали се пропускат, докато се намери число. След това се четат всички следващи цифри, докато се достигне знак, който не е цифра (интервал или друго).
8352.38
Когато цяло число се прочете от горното, неговата стойност става 8352. Ако веднага след това прочетете символ, стойността ще бъде '.', тъй като четенето е спряло на първия символ, който не е цифра.
Да предположим, че сте се опитали да прочетете две цели числа. Това няма да проработи, защото когато компютърът търси данни за запълване на втората променлива, той вижда '.' и спира, тъй като не може да намери цифри за четене.
С реални стойности компютърът също прескача интервали и след това чете толкова, колкото може да се прочете. Много компилатори на Pascal обаче поставят едно допълнително ограничение: реалното, което няма цяла част, трябва да започне с 0. По този начин .678 не е валидно и компютъра не може да прочете real, но 0.678 е правилно.
Уверете се, че всички идентификатори в списъка с аргументи се отнасят до променливи! На константите не може да се присвоява стойност, както и на литералите.