СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Организация диалога с пользователем в Pascal-программах

Категория: Информатика

Нажмите, чтобы узнать подробности

Когда программист разрабатывает программу, то он рассчитывает на то, что использовать её для решения задач будут другие люди. Поэтому он должен позаботиться о том, чтобы сделать работу программы максимально понятной и удобной для пользователя.

Просмотр содержимого документа
«Организация диалога с пользователем в Pascal-программах»

Организация диалога с пользователем в Pascal-программах


ПОНЯТЬ


Когда программист разрабатывает программу, то он рассчитывает на то, что использовать её для решения задач будут другие люди. Поэтому он должен позаботиться о том, чтобы сделать работу программы максимально понятной и удобной для пользователя.

Например, программы предыдущего параграфа не отвечают данному требованию. В частности потому, что пользователь должен точно знать, сколько данных и какого типа нужно вводить – ведь в программе нет на это никаких указаний.

Поскольку оператор read не выдаёт никаких сообщений, целесообразно предусмотреть в программе вывод пояснений.

Пример

В задаче о средней температуре воздуха перед оператором read(t9,t12,t15); целесообразно поставить оператор write(‘Введи результаты трёх измерений температуры:’); или оператор write(‘Введи t9, t12, t15:’);. В этом случае пользователь будет знать, что ему нужно делать.

Почти все языки программирования предоставляют пользователю разнообразные средства для организации «красивого» вывода информации на экран.

Заметим, что вывод текстовой и графической информации производится разными способами, а потому имеет свои особенности. В этом параграфе речь идет о выводе текстовой информации.

Текстовый экран представляет собой как бы таблицу 80х25, в каждой «клетке» которой может быть отображен один из возможных символов таблицы кодировки.

Указать конкретную позицию курсора при вводе/выводе можно с помощью процедуры gotoxy(Nk , Ns);, где Nk – номер колонки (от 1 до 80), Ns – номер строки (от 1 до 25).

Цвет выводимых сообщений можно задать с помощью процедуры Textcolor(номер цвета). Номера цветов можно задавать числами от 0 до 15 или их названиями на английском языке: 0 (black) – чёрный, 1 (blue) – синий, 2 (green) – зелёный и т.д. до 15 (white) – белый.

Цвет фона можно задать процедурой TextBackGround (номер цвета);.

Все эти стандартные процедуры размещаются обычно в библиотеке CRT, которую надо подключить в начале программы.

Другие процедуры и функции модуля CRT

Название

Назначение

ClrScr;

(от англ. clear screen – очистить экран).

Очищает цветом фона все текстовое окно или текущее окно. Устанавливает курсор в левый верхний угол очищенного окна

CRTWindowSize(w,h);

Устанавливает размер текстового окна в символах

TextSize(sz);

Устанавливает размер символов в sz пикселей

ReadKey

Читает символ из буфера клавиатуры

KeyPressed

Определяет, была ли нажата клавиша

Delay(ms);

Осуществляет задержку на ms миллисекунд


Операторы ввода и вывода используются также в виде readln (список имен переменных); и writeln (список параметров);. Добавление «ln» (от line –линия) в конце слов read и write означает, что после выполнения этих операторов курсор будет установлен в начало следующей строки рабочего экрана.

Операторы write и writeln допускают также явное указание количества позиций для вывода значений параметров. Иногда это бывает полезным, чтобы выводимы значения не «сливались» друг с другом, а выводились с некоторым промежутком между ними.

Пример

write (x:5, y:8:2); означает, что значение переменной х будет выводится в пяти позициях, а под значение переменной у отводится 8 позиций из них две для вывода дробной части числа. Если х=-12, а у=12,35825, то на экране будет выведено:

_ _ – 1 2 _ _ _ _ 1 2, 3 6

1 2 3 4 5 1 2 3 4 5 6 7 8

Покажем, как применяются подобные возможности на примере следующей задачи: ввести от пользователя небольшой текст и вывести его разными случайными цветами в центре и по углам экрана.

Алгоритм включает в себя следующую последовательность действий:

ввести от пользователя текст (Т); определить длину текста (L); очистить экран; * выбрать случайным образом номер цвета символов (С); установить курсор в заданную позицию; вывести текст * ; повторить от * еще 4 раза.

Заметим, что набирать одни и те же операторы для вывода текста в пяти разных позициях экрана, как правило, не нужно. Во встроенном текстовом редакторе среды программирования можно копировать выделенные фрагменты текста, аналогично тому, как это делается в обычных текстовых редакторах.

Программа может иметь вид:

uses CRT;

var T : string[20];

C, L : byte;

begin

write(‘Введи текст:’); read(T); L:=length(T);

Clrscr;

C:=random(15); Textcolor(C); gotoxy(1,1); write(T); {Верхний левый угол}

C:=random(15); Textcolor(C); gotoxy(80-L, 1); write(T); {Верхний правый угол}

C:=random(15); Textcolor(C); gotoxy((80-L) div 2, 13); write(T); {Центр}

C:=random(15); Textcolor(C); gotoxy(1,25); write(T); {Нижний левый угол}

C:=random(15); Textcolor(C); gotoxy(80-L, 25); write(T); {Нижний правый угол}

end.


ЗНАТЬ


Современные языки программирования имеют развитые средства для самого разнообразного вывода результатов работы программы на экран.

Существуют стандартные процедуры и функции


УМЕТЬ


Выясните, какие цвета обозначены числами от 0 до 15 в процедуре Textcolor.


Подумайте и затем проверьте, что будет на экране после выполнения оператора Writeln (true