Теперь, когда вы постигли азы программирования, будем учиться писать программы, которые позволяют вести диалог между компьютером и человеком (пользователем). Например, что надо сделать, чтобы компьютер сказал: «Привет! Я компьютер, который может все!» мы уже знаем. Это можно сделать с помощью команды вывода Writeln либо Write. Это одна из самых важных команд вывода, ведь программа должна организовать не только диалог между пользователем и компьютером, но и сообщить пользователю о результатах своей работы, то есть вывести результат на экран монитора. Program privet_1; Begin Write (Привет! Я компьютер, который может все!); End. Здесь команда (процедура) вывода Write выводит на экран все, что написано между апострофами в круглых скобках. В результате выполнения этой программы, на экране монитора появится сообщение: Привет! Я компьютер, который может все!
Существует другая разновидность этой команды - Writeln, которая действует точно также, но после вывода информации курсор переходит на новую строку.. Например, программа Program privet_2; Begin Write (Привет!); Write ( Я компьютер, который может все!); End. Выведет текст так: Привет! Я компьютер, который может все! А программа Program privet_3: Begin Writeln (Привет!); Write (Я компьютер, который может все! ); End. выведет текст в две строки: Привет! Я компьютер, который может все!
Мы рассмотрели случаи использования команд вывода Write и Writeln. Но ведь компьютер можно заставить не только писать текст на экране, но и выполнять арифметические операции, с которыми мы с вами познакомились ранее. Например, программа Program summa2: Begin Write (2+3); { вычисление суммы 2+3 и вывод результата на экран} End. познакомит вас с новыми возможностями команды Write. В результате выполнения этой программы на экране появится число 5. Так работает команда Write, если арифметическое выражение записано в круглых скобках без апострофов. Если бы мы записали Write (2+3), на экране монитора был бы выведен текст: 2+3. ! Команда Write либо Writeln выводит на экран монитора все, что написано между апострофами в круглых скобках. Если выражение, находящееся в круглых скобках команды, не заключено в апострофы, то компьютер сначала его вычислит, а затем результат вычисления выведет на экран монитора.
Команда Write обладает и другими возможностями. Program summa3; Var a, b, s: integer; Begin A:=5; B:=10; S:=a+b; Write (S); {вывод содержимое переменной S} End. В результате выполнения программы summa3 на экране появиться число 15. Program sum_udv_a; Var a,b,s,p: integer; Begin A:=5; B:=10; S:=a+b; P:=2*b; Write (S,,p); {вывод содержимого переменных S и Р через пробел} End. А в результате выполнения программы sum_udv_a на экране появятся два числа, написанные через пробел: 15 20
Рассмотренные последние два примера показывают, что с помощью команды Write можно вывести на экран значение одной либо нескольких переменных. Существует еще одна возможность команды Write – красивый вывод на экран монитора. Например, в нашей программе sum_udv_a можно заменить строку Write (S,,p); строками Writeln ('Сумма=',s); Writeln ('Произведение=',p); И тогда на экране монитора будет сообщение: Сумма=15 Произведение=20 Вы научились получать информацию от компьютера, выводить результаты работы программ на экран. Теперь необходимо научиться отвечать компьютеру на его вопросы либо сообщать ему необходимые для вычислений числа.
Можно, конечно, заносить числа в переменные с помощью команды присваивания. Однако это не лучший способ, потому что каждый раз, когда нужно изменить значение переменной, приходиться заново редактировать текст программы, чтобы изменить соответствующую команду присваивания. Как же быть? Оказывается, можно изменять значение переменной при каждом новом выполнении программы, избегая повторного редактирования. Для этого используется команда (процедура) ввода Read (либо Readln), которая записывается аналогично команде вывода, за исключением того, что в круглых скобках через запятую перечисляются имена переменных, например: Read(a,b). либо Readln(a1,a2,….aN). Эта команда действует аналогично команде приcваивания в том смысле, что она тоже присваивает значение некоторой переменной. Однако в данном случае значение переменной зависит от того, какая информация набирается на клавиатуре во время выполнения программы. Вводимые с клавиатуры данные отображаются на экране монитора.
1. Команда Readln отличается от команды Read тем, что после ввода необходимого количества данных осуществляется переход курсора на следующую строку. 2. В круглых скобках команды Readln либо Read через запятую перечисляются имена переменных, которым будут присвоены соответственно числовые значения, набранные с клавиатуры. Посмотрим, как работает команда Read с числовыми данными: Program vvod_a; Var a,b,s,p: integer; Begin Write ( Введите любое число?); Readln (a); Write (Ваше число -, А) End. Результат выполнения программы: Введите любое число? 5 Ваше число - 5 В тот момент, когда выполняется команда Readln программа ждет, пока пользователь наберет какое-нибудь число с клавиатуры и нажмет клавишу ENTER. Если вы ввели число 5, то именно оно и становится значением переменной «a» в памяти компьютера.
Команда Read (либо Readln) повелевает компьютеру останавливаться всякий раз при выполнении программы и ждать, пока пользователь не введет какое-то значение для занесения его в соответствующую переменную. А вот еще одна программа: Program vvod_x2; Var a,b,s,p: integer; Begin Write ( Введите число); Readln (x); Write(Если вы умножите это число на два, то получится, 2*x) End. Результат ее выполнения: Введите число? 25 Если вы умножите это число на два, то получится 50 Интересно, что вы увидите, если выполните ее и введете в ответ на запрос значение 5? Что произойдет, если выполнить программу еще раз и ввести число 7? На экране появится цифра 10, затем 14. Каждый раз при выполнении программы значение переменной Х будет меняться.
А вот так будет выглядеть известная вам программа вычисления суммы двух данных целых чисел с организацией ввода/вывода данных с помощью диалога между пользователем и компьютером. Program summa2; {заголовок программы} Var a,b,s: integer; {описание переменных целого типа} Begin Writeln (Введите два числа); {запрос на ввод исходных данных} Readln(a,b); {ввод с клавиатуры чисел a и b} S:=a+b; Write (Сумма=,s); {вывод результата} End. Результат выполнения программы summa2: Введите два числа 6 8 Сумма=14 Во время выполнения программы после сообщения «Введите два числа» следует ввести с клавиатуры значения для переменных a и b. Сделать это можно двумя способами: набрать числа в одной строке через пробел (как это показано в примере) и нажать клавишу ENTER либо каждый раз при вводе очередного числа нажимать клавишу ENTER (тогда на экране каждое вводимое число будет занимать новую строку).