Основы программирования на языке Паскаль
Методическое пособие - Компьютеры, программирование
Другие методички по предмету Компьютеры, программирование
и ложь, если А и B ложны.
Например: А В А ог В
true true true
true false true
false true true
false false false
Замечание: данная операция аналогична арифметической OR, если TRUE заменить 1, а FALSE 0.
АND - логическое умножение, читается "и". Результат операции истина только тогда, когда и А, и В истина, в остальных случаях результат ложь.
А В A and B
true true true
truefalse false
falsetrue false
false false false
Кроме того, удобно применять однокомпонентную операцию Not, которая вводится следующим образом: если А есть TRUE, то Not А есть FALSE и если А есть FALSE, то Not А есть TRUE.
С помощью этих операций можно построить условия любой сложности. Например, пусть необходимо решить задачу:
Напишем программу:
Program Prim5;
Var a,x:real;
BEGIN
writeln(введите а,х); readln(a,x);
if (a>0) and (x>0) and (x<=0.5) then
writeln(z=,a*sqr(x)/sin(x)) else
if (a>0) and (x>=0.5) and (x<3) then
writeln(z=,exp(x)) else
if (a<=0) or (x<=0) then
writeln(z=,sqrt(a)*sqrt(x)/sin(x)) else
writeln(z=0);
readln; END.
Замечание: в последнем примере мы видим, что операторы if могут быть вложены друг в друга. Вкладывать их можно неограниченное количество раз, причем новый if может начинаться как после слова then, так и после слова else.
Еще один пример: пусть дана область (заштрихованная на рис. 3.3). Мы вводим с клавиатуры координаты точки. Машина должна определить, принадлежит ли данная точка этой области или нет.
Разобьем область рис. 3.3 на несколько простых:
1. Внутренняя часть сектора, ограниченного отрицательной частью оси OX, положительной OY и окружностью с центром в начале координат и радиусом, равным 2.
2. Прямоугольник, ограниченный осями OX, OY и прямыми x=4, y=2.
3. Прямоугольник, ограниченный осями OX, ОУ и прямыми x=-2, y=-4.
4. Внутренняя часть сектора, ограниченного положительной частью оси OX, отрицательной OY и окружностью с центром в начале координат и радиусом, равным 3.
5. Внутренняя часть квадрата, ограниченного прямыми линиями x=2, x=3, y=-3, y=-4.
6. Область, лежащая внутри окружности с центром x=5, y=-3 и
радиусом= 1,5.
Программа:
Program Prim6;
Label N,K,L;
Var x,y:real; f:char;
BEGIN N: writeln(введите координаты точки);
readln(x); writeln(x=,x);
readln(y); writeln(y=,y);
if (x=0) and (sqr(x)+sqr(y)<=4) {1-я область}
or (x>=0) and (x=0) and (y<=2) {2- я область}
or (x=-4) {3- я область}
or (x>=0) and (y<=0) and (sqr(x)+sqr(y)<=9) {4- я область}
or (x>=2) and (x=-4) {5- я область}
or (sqr(x-5)+sqr(y+3)<=2.25) {6- я область}
then writeln(точка с координатами х=,x, y=,y, принадлежит области)
else writeln(точка с координатами х=,x, y=,y, не принадлежит оласти);
L: writeln(будем ли ещё вводить координаты точки?, Y, N); readln(f);
if (f=Y) or (f=y) then goto N else
if (f=N) or (f=n) then goto K else
writeln(неправильно нажали клавишу, попробуйте ещё раз); goto L;
K: readln; End.
Замечание: для того, чтобы построить область, необходим здравый смысл и элементарные знания аналитической геометрии. Так, х>=0 определяет область (рис. 3.4)
x>=0 and x<=4 определяет полосу (рис. 3.5)
Вспомнив, что уравнение окружности с центром в начале координат x2+y2=r2, имеем x2+y24 (рис. 3.6),
x 0 является полуплоскостью (рис. 3.7),
y 0 определяет полуплоскость (рис. 3.8),
x 0 and y 0 есть квадрант (рис. 3.9)
и, наконец,
x 0 and y 0 and sqr(x)+sqr(y)4 есть сегмент (рис. 3.10)
3.4. Оператор case (оператор выбора)
Общий вид:
Case выражение - селектор of
Список констант выбора 1: оператор 1;
Список констант выбора 2: оператор 2 ;
Список констант выбора n оператор n;
else оператор end;
Здесь выражение-селектор есть выражение, которое после выполнения имеет любое скалярное значение, кроме вещественного (типы данных; разд. 2.6.), т.е. выражение-селектор может быть байтового, целого, логического, символьного, перечисляемого и интервального типов.
Список констант выбора состоит из перечня констант, разделенных запятыми, либо из констант, заданных интервалом, либо из комбинаций перечня констант и интервалов. Тип констант в списках Case должен соответствовать типу выражения селектор. Значения констант в списках не должны повторяться.
Работа оператора. вначале вычисляется выражение-селектор, затем полученное значение сравнивается с константами выбора, и, если значение выражения-селектор?/p>