Сложные логические выражения

Обратите внимание на то, что отношения, связываемые логическими операциями, заключаются в скобки. Так надо делать всегда! Например, требуется определить, есть ли среди чисел A, B, C хотя бы одно отрицательное. Эту задачу решает следующий оператор ветвления:

if(А<0)or(В<0)or(С< 0)

thenwrite( 'YES ’)elsewrite('NO')

Выражение, истинное для отрицательного числа, может быть записано еще и так:

not(А>= 0)

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

Формат оператора ветвления (условного оператора) Паскаля:

if <логическое выражение>

then <оператор1> else <оператор2>

На ветвях условного оператора могут находиться простые или составные операторы. Составной оператор — это последовательность операторов, заключенная между служебными словами begin и end.

В сложных логических выражениях используются логические операции: and, or, not.

Сложные логические выражения - student2.ru Вопросы и задания

1. Как программируется на Паскале полное и неполное ветвление?

2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?

Сложные логические выражения - student2.ru 3. Выполните на компьютере все программы, приведенные в данном параграфе.

Сложные логические выражения - student2.ru 4. Составьте не менее трех вариантов программы определения наименьшего из трех данных чисел.

Сложные логические выражения - student2.ru 5. Составьте программу сортировки по возрастанию значений трех переменных: А, В, С.

Сложные логические выражения - student2.ru 6. Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов.

Сложные логические выражения - student2.ru ЕК ЦОР: часть 2, глава 6, § 37. ЦОР № 6.

§ 14

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

Основные темы параграфа:

■ что такое диалог с компьютером;

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

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

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

 
  Сложные логические выражения - student2.ru

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

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

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

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

А + В = 895

Пока!

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

 
  Сложные логические выражения - student2.ru

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

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

ProgramSumma;

varА, В: integer;

Begin

write ('Введите первое слагаемое: А =');

readln(А);

write ('Введите второе слагаемое: В =');

readln(В);

writeln;

writeln('А + В = ', А+В);

writeln('Пока!')

End.

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

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

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

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

Вариант 1:

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

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

Сложные логические выражения - student2.ru Ты здоров, дружок! Можешь идти в школу.

Желаю успехов!

Вариант 2:

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

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

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

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

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

алгНЯНЬКА

вещТ

Нач

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

вывод "Сообщи, какая у тебя температура: "

ввод (Т)

если Т> 36.6

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

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

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

вывод "Желаю успехов!"

кв

Кон

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

Program NANNY;

Var Т: real;

Begin

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

write('Сообщи, какая у тебя температура:');

readln(Т);

if Т>36.6

Then begin

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

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

End

Else begin

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

writeln('Желаю успехов!')

End

End.

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

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

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

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

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

Сложные логические выражения - student2.ru Вопросы и задания

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

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

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

Сложные логические выражения - student2.ru 4. Выполните на компьютере все программы, приведенные в данном параграфе.

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

Сложные логические выражения - student2.ru ЕК ЦОР: часть 2, глава 6, § 38. ЦОР № 2, 6-8.

§15

Программирование циклов

Основные темы параграфа:

■ этапы решения расчетной задачи на компьютере;

■ задача о перестановке букв. Программирование цикла на Паскале;

■ что такое отладка и тестирование программы.

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

Наши рекомендации