Условный оператор

обучение PascalABC

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

На языке программирования Паскаль ветвление реализуется в виде условного оператора. В этой статье мы разберем как программируется на паскале полное и неполное ветвление.

Условный оператор (полная форма)

Посмотрите на рисунок ниже. На нем изображена блок-схема полного ветвления. В этом варианте при выполнении условия выполняется команда Оператор 1. Если условие ложно, то выполнится команда Оператор 2. Ниже схемы приведена форма записи этой структуры на языке программирования Паскаль.

условный оператор паскаль

 

Задание 1. Напишите программу. Целое число М вводится с клавиатуры. Если оно неотрицательное, то увеличить его на 5. В противном случае — заменить числом ноль.

Решение:

program uslop1;
var m:integer; {m - число, вводимое с клавиатуры }
begin
 read(m);           { ввод значения для m }
   if m >= 0 then m:=m+5 else m:=0;  { проверка условия и выполнение соответствующего действия }
 write(m);          { вывод нового значения m }
end.

Задание 2. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.

Решение:

1 вариант

program uslop2;
var a,b,c,ko,kp:integer; {a,b,c - числа, kp - количество положительных, ko - количество отрицательных}
begin
 read(a,b,c); { ввод значений для a,b,c }
 ko:=0; { обнуление счетчика отрицательных чисел}
 kp:=0; { обнуление счетчика положительных чисел}
   if a > 0 then kp:=kp+1 else if a < 0 then ko:=ko+1; { проверка условия для числа a } 
   if b > 0 then kp:=kp+1 else if b < 0 then ko:=ko+1; { проверка условия для числа b } 
   if c > 0 then kp:=kp+1 else if c < 0 then ko:=ko+1; { проверка условия для числа c }
 write(kp,ko); { вывод результата}
end.

2 вариант
Добавим пояснительный текст в программу для улучшения пользовательского интерфейса.

program uslop2;
var a,b,c,ko,kp:integer; {a,b,c - числа, ko - количество положительных, kp - количество отрицательных}
begin
 write('Введите через пробел три целых числа и нажмите Enter');
 readln(a,b,c); { ввод значений для a,b,c}
 ko:=0; 
 kp:=0; 
   if a > 0 then kp:=kp+1 else if a < 0 then ko:=ko+1; 
   if b > 0 then kp:=kp+1 else if b < 0 then ko:=ko+1; 
   if c > 0 then kp:=kp+1 else if c < 0 then ko:=ko+1; 
 writeln('Количество положительных чисел = ',kp); 
 write('Количество отрицательных чисел = ',ko); 
end.

Условный оператор (неполная форма)

Посмотрите на следующий рисунок внизу. Здесь изображена блок-схема неполного ветвления. В этом варианте при выполнении условия выполняется только команда Оператор 1. Если условие неверно, то программа передаст управление следующей команде, которая будет записана после ветвления.

Ниже блок-схемы приведена форма записи этой структуры на языке программирования Паскаль.

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

Задание 3. Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д.

Решение:

program uslop3;
var a:integer; { исходное число }
begin
 write('Введите любое целое число ');
 readln(a); { ввод значения числа а}
 write('Число ',a); { вывод начала текстовой строки на экран и значения числа }
   if a > 0 then write(' положительное'); { проверка условия и вывод продолжения текстовой строки }
   if a < 0 then write(' отрицательное'); { здесь и в следующих строках аналогичные действия }
   if a mod 2 = 0 then write(' чётное');
   if a mod 2 <> 0 then write(' нечётное');
   if a=0 then write(' нулевое');
end.

 

Рейтинг
( 5 оценок, среднее 4.8 из 5 )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

− 4 = 1

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: