Решим следующую задачу. Даны два числа а и в. Написать программу для нахождения их частного.
Program chasnoe;
var a, b: integer;
c: real;
begin
Read (a, b);
c:=a/b;
write(c);
end.
Программа работает для всевозможных а и в, кроме тех случаев, когда в равно нулю. При в равном нулю возникает ошибка. На нуль делить нельзя, но хотелось бы, чтобы программа сама обработала подобный случай и попросила пользователя ввести другие данные.
Решение задачи
Program chasnoe2;
var a, b: integer; с:real;
begin
read (a, b);
If b=0 then {проверяем в на равенство нулю}
write (‘Введите не 0.’) {выводим сообщение, если в равно 0}
Else
c:=a/b;
write(c); {делим, если в не равно 0}
end.
Условный оператор
Ветвление – это такая форма организации действий, при которой в зависимости от выполнения (истинности) и невыполнения (ложности) условия выполняется одна либо другая последовательность действий.
Полная и сокращенная формы условного оператора
Рассмотренная выше форма условного оператора if..then..else называется полной. Она позволяет выполнять программу по одной из двух ветвей. Такую алгоритмическую конструкцию называют ветвлением (по аналогии с развилкой ветвей дерева). В языке программирования Pascal существует также cокращенная форма условного оператора, которая применяется в тех случаях, когда какое-либо действие (группу действий) нужно выполнить только при выполнении заданного условия.
Простые условия
Условие – это выражение, стоящее в операторе if..then..else после слова if. В зависимости от результатов проверки этого условия (его истинности либо ложности) выполняется та либо иная ветвь программы.
В блок-схемах оператор if обозначают ромбом, называемым блоком проверки условия.
Пример 2. Составить программу, которая запрашивает ответ пользователя на вопрос «Сколько будет 3Х5?», сравнивает введенное значение с числом 15 и выводит соответствующее сообщение: «Верно» либо «Неверно».
Решение задачи
Program prowerka;
var a: integer;
begin
writeln(‘Сколько будет 3х5?’);
readln (a); {Ответ вводится с клавиатуры и записывается в переменную а}
If a=15 then writeln (‘Верно’)
else writeln (‘Неверно’);
{В операторе if сравнивается значение переменной а с числом 15.
Если а=15, то выводится сообщение ‘Верно’, в противном случае – ‘Неверно’}
end.
Простое условие
Простое условие - это математическое сравнение двух выражений по величине (сравнение двух величин). Операции сравнения на языке программирования можно записать при помощи следующих знаков:
Составные условия
При решении различных задач иногда возникает необходимость проверять выполнение двух (как например, 0составными. Для записи составных условий на языке программирования используют следующие логические операции:
and – логическое «и»;
or – логическое «или»;
not – логическое отрицание.
Примеры записи составных условий:
(a>0) and (a<5), (x>10) or (y<100)
!Простые условия обязательно
заключаются в круглые скобки,
так как логические операции имеют
приоритет перед операциями сравнения.
Правила выполнения логических операций
Составное условие, состоящее из двух простых условий, соединенных операцией and, верно (истинно) только тогда, когда верны оба простых условия.
Составное условие, состоящее из двух простых условий, соединенных операцией or, верно тогда, когда верно хотя бы одно из простых условий.
Составное условие not верно только тогда, когда простое условие ложно.
Примеры использования логических операций:
(2>5) and (2>3) - неверно (ложно)
(1<5) and (1>0) - верно (истинно)
(6>9) and (7>5) – неверно (ложно)
(3>2) or (3<1) - верно
(3>2) or (2>0) - верно
(1>2) or (1<0) - неверно
not (5 > 6) - верно
not (6 > 5) - неверно
Пример 3. Определить, является ли введенное число двузначным.
Program c2;
var a:integer;
begin
write ('Введите целое число: ');
readln (a); {исходное число}
if (a>=10) and (a<=99)then write ('число двузначное')
else write('число не двузначное');
{если (a>=10)и(a<=99), то вывести сообщение
'число двузначное', иначе - 'число не двузначное'}
end.
Пример 4. Необходимо ввести некоторое целое число и, если оно четное, уменьшить его в 2 раза.
program c2_2;
var a:integer;
begin
write('Введите целое число: ');
readln(a);
if (a mod 2=0) then
a:=a div 2;
write(a);
end.
Составной оператор
При составлении программ на языке программирования часто бывает так, что в случае выполнения либо невыполнения некоторого условия в операторе if необходимо осуществить несколько действий. В этом случае последовательность действий (несколько операторов подряд) объединяют в одну группу, заключенную между словами begin и end.
Пример 5. Пусть дано некоторое целое число. Составить программу, которая выводит на экран монитора сообщение о том, какое это число: положительное либо отрицательное. И если это число положительное, уменьшает его в 2 раза, в противном случае возводит его в квадрат.
Программа, реализующая данный алгоритм, имеет вид:
program chislo;
var a:integer; r:real;
begin
write(‘Введите целое число не равное нулю:');
readln(a);
if a > 0 then
begin
r:=a/2; {число уменьшается в 2 раза}
writeln(‘Положительное. r=', r);
end
else
begin
r:=sqr(a); {число возводится в квадрат}
writeln(‘Отрицательное. r=', r);
end;
end.
© ООО «Знанио»
С вами с 2009 года.