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

обучение PascalABC

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

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

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

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

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

На паскале запись следующая: if [здесь условие]  then [команда 1] else [команда 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.

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

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

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

как программируется на паскале полное и неполное ветвлениеНа pascal запись следующая: if [здесь условие]  then [команда 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.

Следующая тема для изучения Цикл с предусловием и постусловием

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

Проверь свои знания по теме «Условный оператор»

Рейтинг
( 48 оценок, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями:
Инфоучка
Комментарии: 2
  1. Иван

    Я вас долго искал. И нашёл

    1. Сергей Фомин (автор)

      Кто ищет, тот всегда найдёт. ;)

Добавить комментарий

seventy five − seventy three =

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