Диалог с компьютером паскаль

Содержание урока

Уроки 36 — 37. Программирование диалога с компьютером

Уроки 36 — 37
Программирование диалога с компьютером

Что такое диалог с компьютером

Если вы исполняли рассмотренные выше программы на компьютере, то почувствовали определенное неудобство при работе с машиной. Во-первых, непонятно, когда машина начинает ожидать ввода данных, какие данные и в каком порядке нужно вводить (это ведь можно и забыть). Во-вторых, результаты получаются в виде чисел на экране, без всяких пояснений их смысла. Ясно, что люди между собой так не общаются.

Любую программу составлять нужно так, чтобы ее исполнение реализовывало диалог между компьютером и пользователем в понятной для человека форме.

Прежде чем начать составление программы, нужно продумать сценарий такого диалога.

Например, составим сценарий работы программы, вычисляющей сумму двух целых чисел. На экране компьютера последовательно должны появляться следующие строки (для примера предположим, что будем вводить числа 237 и 658):

Введите первое слагаемое: А = 237

Введите второе слагаемое: В = 658

Здесь курсивом записаны символы, которые выводит компьютер по программе, а прямым жирным шрифтом — символы, вводимые пользователем.

Любой вывод на экран происходит по оператору вывода, записанному в программе.

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

Вот программа, которая реализует наш сценарий:

В этой программе используется возможность включать в список вывода символьные строки (они заключаются в апострофы) и арифметические выражения. Выражение А + В сначала вычисляется, а потом полученное число выводится на экран. Конечно, для вычисления суммы можно было написать отдельный оператор присваивания, но можно сделать и так, как в этом примере.

Еще обратите внимание на оператор writeln без списка вывода. Он обеспечивает пропуск строки на экране.

Пример программирования диалога

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

Ты вчера был болен. Измерь-ка температуру!

Сообщи, какая у тебя температура: 36.5

Ты здоров, дружок! Можешь идти в школу.

Ты вчера был болен. Измерь-ка температуру!

Сообщи, какая у тебя температура: 37.3

Ты еще болен! Раздевайся и ложись в постель.

Поправляйся, дружок!

Читайте также:  Amd fx 4170 характеристики

Алгоритм этой программы содержит ветвление. Идея алгоритма состоит в том, что значение температуры ребенка сравнивается с величиной нормальной температуры человека: 36,6 °С. И если у ребен ка температура выше, то он нездоров. Вот соответствующий алгоритм на АЯ:

По этому алгоритму получается следующая программа на Паскале:

Обратите внимание на два момента: во-первых, перед словом else ни в коем случае нельзя ставить точку с запятой; во-вторых, в записи и при вводе вещественных чисел целая и дробная части числа отделяются десятичной точкой.

Составляя подобную программу, вы сами организуете интерфейс компьютера с пользователем вашей программы. Этот интерфейс обязательно должен быть дружественным. Содержание диалога должно быть понятным и удобным.

Коротко о главном

Сценарий работы программы — это описание ее общения с пользователем (пользовательского интерфейса). Интерфейс обязательно должен быть дружественным.

Любой символьный вывод на экран программируется с помощью оператора write или writeln.

Вопросы и задания

1. Что означает понятие «диалоговый характер программы»?

2. Какими средствами программируется диалог между пользователем и компьютером?

3. Что означает понятие «дружественный интерфейс»?

4. Выполните на компьютере все программы, приведенные в данном параграфе.

5. Постройте алгоритм и составьте программу, по которой будет реализован следующий сценарий: компьютер запрашивает номер дня недели, после ввода компьютер сообщает название этого дня. Например, если ввели 1, то выведется фраза «Это понедельник» и т. д.

Следующая страница Уроки 36 — 37. Компьютерный практикум ЦОР. Программирование диалога с компьютером (Задание 1 — 6)

Напишем программу, которая осуществляла бы такой диалог человека с компьютером:

КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Здравствуй, я компьютер, а тебя как зовут?

ЧЕЛОВЕК ВВОДИТ С КЛАВИАТУРЫ: Коля

КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Очень приятно, Коля. .Сколько тебе лет?

Читайте также:  Как включить режим игры windows 10

ЧЕЛОВЕК ВВОДИТ С КЛАВИАТУРЫ: 16

КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Ого!Целых 16 лет!Ты уже совсем взрослый!

VAR imya :String;

WriteLn (‘Здравствуй, я компьютер, а тебя как зовут?’);

WriteLn (‘Очень приятно, ‘, imya, ‘ . Сколько тебе лет?’);

WriteLn (‘Ого! Целых ‘ ,vozrast, ‘ лет! Ты уже совсем взрослый!’)

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

КОМПЬЮТЕР: Здравствуй, я компьютер, а тебя как зовут?

КОМПЬЮТЕР: Очень приятно, Фантомас! . Сколько тебе лет?

КОМПЬЮТЕР: Ого! Целых 100 лет! Ты уже совсем взрослый!

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

КОМПЬЮТЕР: Здравствуй, я компьютер, а тебя как зовут?

ЧЕЛОВЕК: Сгинь с моих глаз!

КОМПЬЮТЕР: Очень приятно, Сгинь с моих глаз! . Сколько тебе лет?

КОМПЬЮТЕР: Ого! Целых -2 лет! Ты уже совсем взрослый!

Задание 17: Напишите программу для следующей задачи: Компьютер спрашивает названия двух планет, радиусы их орбит (в миллионах километров) и скорости движения по орбите (в миллионах километров в сутки). Компьютер вычисляет продолжительность года на планетах и выдает результат в таком виде: Продолжительность года на планете Земля — 365 суток, а на планете Эоэлла — 12 суток.

Кроме переменных величин в тексте программы мы встречаем константы. Это те значения, которые или присванваются переменным, или встречаются в выражениях, или сравниваются с выражениями. Например:

x:=25 здесь числовая константа — 25

slovo:=’Волга’ здесь строковая константа — Волга

simvol:=’!’ здесь символьная константа — !

y:=(x+1) / (200*x — 0.3) здесь числовые константы — 1 и 200 и 0.3

Читайте также:  Золотая орда иван грозный

Ответ

Проверено экспертом

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

var a:string;
begin
writeln(‘Как тебя зовут ?’);
readln(a);
writeln(‘Привет ‘,a,’ !’);
writeln(‘Сколько тебе лет? ‘);
readln();
writeln(‘Какой у тебя любимый предмет в школе?’);
readln();
writeln(‘Какая у тебя любимая книга’);
readln();
end.

Если же,необходимо запомнить всю полученную информацию,тогда используем этот вариант:

var a,b,c,d:string;
begin
writeln(‘Как тебя зовут ?’);
readln(a);
writeln(‘Привет ‘,a,’ !’);
writeln(‘Сколько тебе лет? ‘);
readln(b);
writeln(‘Какой у тебя любимый предмет в школе ?’);
readln(c);
writeln(‘Какая у тебя любимая книга ?’);
readln(d);
write (‘Значит тебя зовут ‘,a ,’. Тебе ‘,b,’. Твой любимый предмет — ‘,c,’. И твоя любимая книга — ‘,d);
readln();
end.