Глава 2 Введение в язык программирования Pascal
____________________________________________________________________
Рис. 2.29. Окно исполняемой программы в Windows
Рис. 2.30. Окно исполняемой программы в Linux
Введите значения переменных A и B. Это должны быть целые числа. Для завершения ввода числа нажмите Enter.
Окно вывода программы в Linux будет иметь вид, рис. 2.31:
81
2.1 Основные элементы языка
____________________________________________________________________
Рис. 2.31. Окно вывода программы в Linux
В Windows после ввода второго числа в окне что-то промелькнет и окно закроется. Как сделать так, чтобы окно не закрывалось, и мы могли увидеть ре-
зультаты выполнения программы?
Для этого можно вставить в код программы оператор readln без пара-
метров перед завершающим оператором end с точкой. Снова нажмите клави-
шу F9. На этот раз после ввода чисел окно не закроется и вы сможете увидеть результаты работы программы, рис. 2.32.
Рис. 2.32. Окно вывода программы в Windows
82
Глава 2 Введение в язык программирования Pascal
____________________________________________________________________
Чтобы закрыть окно программы нажмите Enter.
Проанализируем нашу программу. Вроде программа работает, сумма вы-
числяется правильно. И все же даже в этой простейшей программе видны су-
щественные недостатки. Недостатки с точки зрения организации взаимосвязи с пользователем или, как говорят, интерфейса связи с пользователем.
Во-первых, после запуска нашей программы появляется пустое окно. Это сразу же вызывает негативные ассоциации. Что-то случилось с компьютером?
Он завис?
Ну, мы-то с вами знаем, что нужно ввести два числа, но пользователь мо-
жет и не знать об этом! Как исправить это? А очень просто! Вставьте оператор writeln(UTF8ToConsole('Введите два целых числа'));
перед оператором ввода readln(A, B);
Окно программы будет выглядеть так, рис. 2.33, 2.34:
Рис. 2.33. Окно программы в Windows
83
2.1 Основные элементы языка
____________________________________________________________________
Рис. 2.34. Окно программы в Linux
Теперь даже ежу понятно, что нужно ввести два числа!
Во-вторых, (это касается опять же Windows) неплохо было бы дать поль-
зователю инструкцию как выйти их программы. Окно программы будет закры-
то только после нажатия клавиши Enter. Нажатие любых других клавиш к за-
крытию окна не приведет! Можно, конечно, воспользоваться кнопкой закрытия окна. Но желательно, чтобы программа сама закрывала свое собственное окно.
И опять, пользователь ведь не знает, что для выхода из программы нужно на-
жать клавишу Enter. Есть два варианта выхода из этой ситуации:
1.В конце программы, но перед readln вставить оператор
writeln(UTF8ToConsole ('Для выхода нажмите Enter'));
2.Воспользоваться функцией readkey без параметров. Окно программы бу-
дет закрываться при нажатии любой клавиши. Этот вариант предпочтительней,
только для этого необходимо использовать объявление uses Crt, чтобы включить модуль CRT о котором речь пойдет позже и в ко-
тором и есть эта функция. Но, даже в этом случае, будет правильнее, если вставить оператор (разумеется, перед readkey) writeln(UTF8ToConsole('Для выхода нажмите любую клавишу'));
84
Глава 2 Введение в язык программирования Pascal
____________________________________________________________________
Окончательный текст программы будет выглядеть следующим образом:
program summa; {$mode objfpc}{$H+} uses
Crt, FileUtil; {Подключение модуля CRT для использования функ-
ции readkey и модуля FileUtil для корректного отображения русских букв с помощью функции UTF8ToConsole}
var
result, A, B: integer; begin
writeln(UTF8ToConsole('Введите два числа')); readln(A, B);
result:=A + B;
writeln(UTF8ToConsole('1-е введенное число= '), A); writeln(UTF8ToConsole('2-е введенное число= '), B); writeln(UTF8ToConsole('Сумма двух чисел = '), result); writeln(UTF8ToConsole('Нажмите любую клавишу')); readkey;
end.
Результаты работы программы приведены на рис. 2.35, 2.36.
85