34655

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

Реферат

Информатика, кибернетика и программирование

Например вычисление квадратного корня из числа проводится при условии =0 операторами: IF =0 Then b := Sqrt Else begin WriteLn' 0'; Redln; Hlt end; Оператор Hlt прекращает выполнение программы. PROGRM VES; { определение весовой категории спортсмена } Условная схема программы CONST 1='легкая категория'; 2='средняя категория'; 3='тяжелая категория';...

Русский

2013-09-08

50.5 KB

0 чел.

исциплина «Основы алгоритмизации и программирование»  Условный оператор. Оператор выбора

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

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

Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид:

  IF  "условие"  Then  "оператор1"  Else  "оператор2";

где "условие" - выражение логического типа;

"оператор1" выполняется, если условие верно ( True ),

"оператор2" выполняется, если условие не верно ( False ).

Например, вычисление квадратного корня из числа "a" проводится при условии a>=0, операторами:

 IF a>=0 Then b := Sqrt(a)

 Else

   begin

     WriteLn('a<0');

     Readln;

     Halt

   end;

Оператор Halt прекращает выполнение программы.

Схема выполнения условного оператора имеет вид:


В условном операторе может отсутствовать блок
Else оператор2; т. е. условный оператор может иметь вид:

IF "условие" Then "опертор1";

например:
IFa<0 Then a:= abs(a); 

Приведем пример программы определения весовой категории в зависимости от веса спортсмена.

PROGRAM VES;                        { определение весовой категории спортсмена }

                                    Условная схема программы

CONST A1='легкая категория';

     A2='средняя категория';

     A3='тяжелая категория';

     A4='сверхтяжелая категория';

var

 V : integer;

BEGIN

 Write('введите вес спортсмена V = '); ReadLn(v);

 if V<62 then WriteLn(A1)           {вложенный условный оператор }

 else if V<75 then WriteLn(A2)

      else if V<88 then WriteLn(A3)

           else WriteLn(A4)

 writeln('Нажмите Enter');

 readln;

END.

Для разложения целого числа на цифры удобно применять операции: MOD и DIV. Например, если дано трехзначное число "N" ( "N" соответствует "X1X2X3" ), то цифры: X1X2X3, составляющие это число определяются блоком операторов:

 X3:= N mod 10;

 N:= N div 10;

 X2:= N mod 10;

 N:= N div 10;

 X1:= N;

Если требуется определить, делится ли вещественное число "A" нацело на число "B", то можно применять функции Frac(x); и Int(x); например:

 x := A/B;    

 if Frac(x) = 0  then writeln('Число "A" делится нацело на число "B"');

 if Int(x) = x   then writeln('Число "A" делится нацело на число "B"');

Условный оператор может применяться для идентификации (распознавания) объекта по определенным признакам составляющих его элементов. Например, если объектом является треугольник, то элементами объекта могут быть: 1) три его угла (a, b, c); 2) три его стороны (a1, b1, c1); и т. д.

Признаками являются значения элементов по которым производится идентификация, например, для углов: 1) один угол > 90 - (один признак); 2) три угла < 90 - (три признака); и т. д.

В результате идентификации объект получает имя. Например, треугольник - остроугольный, либо тупоугольный и т. д.

Если идентификация проводится по одному признаку для нескольких элементов, то несколько условий связываются служебным словом "or", например:

 If (a > 90) or (b > 90) or (c > 90) then writeln ( 'Треугольник - тупоугольный' );

Если идентификация проводится по нескольким признакам, число которых равно числу элементов, то несколько условий связываются служебным словом "and", например:

 If (a < 90) and (b < 90) and (c < 90) then

   writeln('Треугольник - остроугольный');

Если имя объекта составное, то добавляются признаки для идентификации второй части имени и применяются вложенные условные операторы, например, для равнобедренного треугольника:

 If (a < 90)and (b < 90) and(c < 90) then

   If (a=b) or (b=c) or (a=c) then

     writeln('Треугольник - остроугольный и равнобедренный')  

   else writeln('Треугольник - остроугольный');

Напомним, что условный оператор можно применять для контроля правильности вводимых данных, например:

 If (a+b+c)<>180 then

   begin

     writeln('Суммауглов <> 180');

     Halt  

   end;

Если для идентификации объекта достаточно меньшего числа признаков, чем число элементов, то условия, связанные "and" группируются, а группы соединяются служебным словом "or". Например, четырехугольник имеет элементами четыре стороны ( a, b, c, d ), а его имя устанавливается по двум признакам (равенство двух пар сторон), тогда можно использовать операторы:

 If ((a=b) and (c=d)) or ((a=c) and (b=d)) or ((a=d) and (b=c)) then

   writeln('Параллелограмм');

Оператор выбора CASE

Оператор служит для выбора одного из помеченных вариантов действия (операторов), в зависимости от значения "параметра". Оператор имеет вид:

  Case "параметр" Of

    "список помеченных операторов"    

    Else "оператор"

  End;

Здесь "параметр" - выражение или переменная порядкового типа.

Из "списка помеченных операторов" выполняется оператор с меткой, включающей значение "параметра", иначе оператор после слова Else.

Конструкция Else "оператор" может отсутствовать. Напомним, что "оператор" может иметь вид: Begin "операторы" end;

Пример операторов для определения порядка целого числа N от 0 до 999:

 case N of

   0..9     : writeln('однозначное');

   10..99   : writeln('двузначное');

   100..999 : writeln('трехзначное')

   else writeln('Число "N" не входит в указанный диапазон')  

 end;

Приведем пример программы случайного предсказания одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных случаях - вы "неудачник".

PROGRAM FUTURE;

var N : word;

BEGIN

 writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО');

 Randomize;

 N:=Random(20)+1;      { N - случайное число от 1 до 20 }

 writeln;   write('Вас ожидает ');

 case N of

    1 : writeln('счастье');

    2 : writeln('пятерка');

    3 : writeln('дорога');

    4 : writeln('двойка');

    5 : writeln('болезнь');

    6 : writeln('здоровье');

    7 : writeln('деньги');

    8 : writeln('любовь');

    9 : writeln('встреча');

    10 : writeln('дети')

     else writeln('неудача')

 end;

 writeln('Нажми Enter');

 readln;  

END.

Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.


 

А также другие работы, которые могут Вас заинтересовать

14663. МОДЕЛИРОВАНИЕ ДИФФЕРЕНЦИРУЮЩИХ И ИНТЕГРИРУЮЩИХ ЦЕПЕЙ 658 KB
  ЛАБОРАТОРНАЯ РАБОТА МОДЕЛИРОВАНИЕ ДИФФЕРЕНЦИРУЮЩИХ И ИНТЕГРИРУЮЩИХ ЦЕПЕЙ Цель работы: ознакомление с принципом действия основными свойствами и параметрами дифференцирующих и интегрирующих цепей установление условия дифференцирования и интегрирования о...
14664. СТАТИЧЕСКИЕ ИСПЫТАНИЯ НА МИКРОТВЕРДОСТЬ 247.75 KB
  СТАТИЧЕСКИЕ ИСПЫТАНИЯ НА МИКРОТВЕРДОСТЬ Руководство к лабораторным работам и КНИР для студентов специальностей 110500 Металловедение и термическая обработка металлов; 070900 Физика металлов; 071000 Материаловедение и технология новых материалов направления 551600 ...
14665. Определение параметров пласта по кривой восстановления давления (КВД) в возмущающей скважине 954 KB
  ЛАБОРАТОРНАЯ РАБОТА №2 Определение параметров пласта по кривой восстановления давления КВД в возмущающей скважине. В ходе выполнения данной лабораторной работы студенты знакомятся с одним из методов обработки кривых восстановления давления в скважинах. По результ...
14666. Усі уроки світової літератури. 11 клас (академічний рівень) 2.73 MB
  Плани-конспекти уроків світової літератури для 11-го класу складені відповідно до оновленої Програми «Світова література. 10-11 класи» академічного рівня. Посібник містить календарно-тематичний план та розробки 70 уроків. Вичерпна інформація про історичну ситуацію, що зумовила розвиток літератури, глибокий аналіз художніх творів, традиційні та інноваційні технології навчання — усе це в пропонованому виданні.
14667. Тоновая и цветовая коррекция изображений. Работа с фильтрами 164.5 KB
  Лабораторная работа 8 Тема: Тоновая и цветовая коррекция изображений. Работа с фильтрами Тоновая коррекция – это коррекция перераспределяющая свет и тень между пикселами т.е. регулировка яркости и контрастности изображения. 1. Построение гис...
14668. Создание спецэффектов с помощью фильтров 2.02 MB
  Лабораторная работа 7 Часть 1: Создание спецэффектов с помощью фильтров 1. Эффект воды Необходимо получить следующий эффект: Алгоритм: Создайте новый файл. В параметрах создания файла задайте: – Name Имя – water; – Width Ширина – 400 пикселей; – Height Вы
14669. Особенности анализа динамических систем (ДС) при детерминированных и случайных воздействиях 199 KB
  ЛАБОРАТОРНАЯ РАБОТА № 4 Тема: Особенности анализа динамических систем ДС при детерминированных и случайных воздействиях Цель работы: на практических примерах изучить особенности задач анализа качества систем при детерминированных и случайных воздействиях; постр...
14670. Описание работы схемы в нормальном режиме и в случае возникновения короткого замыкания 249.5 KB
  ЛАБОРАТОРНАЯ РАБОТА №3 ПО КУРСУ: АВТОМАТИЗАЦИЯ РЕЖИМОВ СЭС ЗАДАНИЕ №1 Задание: описать работу схемы в нормальном режиме и в случае возникновения короткого замыкания К10 неустойчивое КЗ при однократном АПВ на выключателе Q1 Рисунок 1 – Схема задания ОПИСАН...
14671. Технология совмещения фотографий 1.18 MB
  Лабораторная работа №5 Технология совмещения фотографий I способ: Работа со слоймасками Слой маска – это маска прозрачности слоя. Для каждого слоя она может быть только одна. Слоймаска сочетает в себе свойства слоев и каналов и часто применяется при компоновке. ...