Логические операции
|
Выражение |
Значение |
Выражение |
Значение |
|
not true |
false |
not false |
true |
|
true and true |
true |
true or true |
true |
|
true and false |
false |
false or true |
true |
|
false and true |
false |
true or false |
true |
|
false and false |
false |
false or false |
false |
Пример. Пусть х=3, у=-9. рассмотрим некоторые логические выражения и их значения.
|
Прстые выражения |
Значения |
Сложные выражения |
Значения |
|
х = 3 |
true |
not (y<=-50) |
true |
|
х > y |
true |
(1<x) and (x<5) |
true |
|
7 mod 3=1 |
true |
(x>4) or (y<-15) |
false |
|
y div 2=4 |
false |
(x>4) or (y>-15) |
true |
Двойное неравенство 1<х<5 как сложное логическое выражение записывают так: (1<x) and (x<5). Совокупность неравенств вида x<1; x>5 так: (x<1) or (x>5). Простые логические выражения, из которых состоят сложные, всегда берут в круглые скобки.
Операторы ввода данных (read, readln). Задать значения переменным можно двумя способами: при помощи оператора присваивания, например, х:=5, или оператора ввода данных с клавиатуры read. Второй способ делает программу более универсальной (массовой), поскольку даёт возможность решать одни и те же задачи для разных значений переменных. Оператор read в общем виде выглядит так:
|
read(<переменная 1>, …, <переменная n>); |
Действие оператора. Выполнение программы приостанавливается. Система переходит в режим ожидания ввода данных (экран темный, мигает курсор ввода). Значения данных пользователь набирает на клавиатуре через пропуск или нажимает после каждого данного клавишу Enter. В результате соответственным переменным будут присвоены конкретные значения.
Оператор readln выглядит так:
|
readln(<переменная 1>, …, <переменная n>); |
Различие между операторами read и readln заключается в том, что во время выполнения оператора readln лишние данные в строке ввода игнорируются. Следующий оператор ввода будет считывать данные с новой строки. Этот оператор используют обычно при работе с текстовыми файлами.
Замечание 1. Оператор readln без параметров можно использовать в среде ТР для MS-DOS для просмотра окна с результатами. Для того, чтобы перейти в режим редактирования программы, достаточно нажать любую клавишу. В среде ТР для Windows результаты выполнения программы система выводит в отдельном окне, поэтому там этим приемом не пользуются.
Замечание 2. Значения переменных логического и перечисляемого типов вводить с клавиатуры нельзя.
Операторы вывода данных (write, writeln). Для вывода на экран сообщений и результатов работы программы используют операторы write и writeln. Оператор write выглядит так:
|
write(<выражение 1>, …, <выражение n>); |
В списке вывода могут быть константы, переменные или выражения.
Действие оператора. Константы, значения переменных и выражений выводят на экран в окно вывода. В среде TP для MS-DOS это окно можно активизировать, например, с помощью комбинации клавиш Alt+F5.
Оператор
|
writeln(<выражение 1>,…<выражение n>); |
действует почти также, как и оператор write. Различие в том, что следующий после него оператор вывода будет печатать значение в новой строке.
Для перехода на новую строку экрана или пропуска строки используют writeln без параметров.
Форматированный вывод данных. С помощью операторов write и writeln можно осуществить форматированный вывод данных. Форматирование – это представление результатов в нужном для пользования виде. Для этого после выражения записывают формат – двоеточие и число (:n), обозначающее количество позиций на экране, которые необходимо выделить для вывода значения этого выражения. Формат :n применяют для данных целого, логического, символьного и строкового типов. При выводе данного действительного типа указывают общее количество позиций (n) и количество позиций для дробной части (m), то формат выглядит так :n:m.
Задача 1.1. Вычислить высоты треугольника со сторонами а, b, с, используя формулы 1.1, 1.2, 1.3:
1.1
1.2
1.3
где p = (a + b +с)/2.
Схема алгоритма решения задачи приведена на рис. 1.1.

Рис. 1.1. Схема алгоритма решения задачи 1.1
Исходными данными для решения являются значения длин сторон треугольника – а, b, с. Для ввода этих значений следует использовать оператор read . При этом значения а, b, с, должны быть расположены на одной строке экрана дисплея. В программе используются переменная р для вычисления полупериметра и вспомогательная переменная t для исключения повторений. Вычисленные значения высот ha, hb, hc необходимо вывести со своими именами, каждую на одной строке.
Программа имеет вид:
Program Htr;
uses Crt;
var a, b, c, p, t, ha, hb, hc: real; {Объявляем переменные}
begin
clrscr; {Очищаем экран перед выводом результатов}
read(a,b,c); {вводим с клавиатуры значения сторон}
p := (a + b + c)/2; {Вычисляем полупериметр}
t:= 2*sqrt(p * (p – a) * (p – b) * (p – c));
ha:=t/a; {Вычисляем высоту ha}
hb:=t/b; {Вычисляем высоту hb}
hc:=t/c; {Вычисляем высоту hc}
writeln(' ha =', ha:5:2);
writeln(' hb =', hb:5:2);
writeln(' hc =', hc:5:2);
writeln(‘Программу составил студент Петров И.И.’);
readln {нажимаем клавишу Enter}
end.
В программе Htr отсутствуют метки, константы, типы, функции и процедуры. Поэтому разделы определения и описания указанных структур отсутствуют.
Примечание: С целью сокращения текстов программ:
1) можно опускать заголовки;
2) модуль Crt подключается не всегда, хотя имеет смысл подключать этот модуль даже тогда, когда его процедуры и функции не применяются;
3) в языке Паскаль допускается размещать на одной строке несколько операторов. Однако этого следует избегать, так как такое размещение приводит к плохому восприятию программы.
Задание 1.1. Проанализируйте программу Htr. Поменяйте значения сторон и выполните программу.
-
Для следующих формул записать соответствующие арифметические выражения на языке Паскаль:
а)
;
б)
;
в) 10α -3
β;
г)

-
Даны x, y, z. Вычислить а, b, если:
а)
![]()
б)
,
![]()
.
-
В банк был положен вклад в размере N грн. Через три года он увеличился на 50%. Сколько денег получил вкладчик?
-
В билетной кассе аэропорта имеются К билетов по N1 грн. и М билетов на ночной рейс по цене N1 грн. Определите предполагаемую выручку авиа кассы за этот дней
-
Самолет делает две посадки для дозаправки. Определите, сколько горючего требуется для перелета, если при первой посадке было долито 60%, а при второй 70% до полного бака.
-
Пусть заданы координаты трёх вершин треугольника А(1;1), В(2;2), С(-1;2) Вычислить биссектрису Wa
и
радиус описанной окружности R
(R
= abc
/ (4s)),
где: s
– площадь треугольника;
p
– полупериметр треугольника.
-
Ввести размер ребра куба. Определить объем и площадь боковой поверхности куба.
-
Сколько секунд в сутках, неделе, году?
-
Цены на два вида товаров возросли на p процентов. Вывести старые и новые цены.
-
Ввести целое трехзначное число. Определить первую цифру числа.
-
Дано натуральное трехзначное число n. Чему равно произведение его цифр?
-
Ввести целое четырехзначное число. Найти сумму цифр этого числа.
