42470

Программирование алгоритмов разветвленной структуры

Лабораторная работа

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

Оператор ветвления IF THEN ELSE При выполнении работы необходимо знать: Знать и уметь строить алгоритмы разветвленной структуры. Условный оператор IF THEN ELSE. Составной оператор. Структура полного ветвления: Структура сокращенного ветвления: Условный оператор IF THEN ELSE.

Русский

2013-10-29

288 KB

55 чел.

Лабораторная работа № 3.

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

Оператор ветвления  IFTHENELSE

При выполнении работы необходимо знать:

  •  Знать и уметь строить алгоритмы разветвленной структуры.
  •  Условный оператор IFTHENELSE.
  •  Составной оператор.
  •  Уметь составить схему программы (алгоритм) разветвленной структуры для конкретной задачи и записать программу по готовому алгоритму.

Теоретический минимум:

  1.  Алгоритмы разветвленной структуры.

Разветвленным вычислительным процессом называют алгоритм (программу), имеющую несколько альтернативных ветвей (путей), причем выбор направления выполнения вычислительного процесса (выбор ветви) происходит в результате проверки указанных условий.

Разветвление бывает полным или сокращенным.

Структура полного ветвления:


Структура сокращенного ветвления:

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

Если в программе, в зависимости от некоторого условия, требуется выбрать тот или иной вариант действий, можно воспользоваться одним из условных операторов. В Turbo Pascal предусмотрено два условных оператора— IF и CASE.

Оператор IF имеет следующий вид:

При выполнении этого оператора сначала вычисляется некоторое логическое выражение p (условие), в случае истинности которого выполняется оператор a1, а в случае ложности—оператор a2.

Возможен сокращённый вариант оператора IF.

       If  p  then  a1;


Здесь, если условие р истинно, выполняется оператор a1. Если же условие р ложно, управление просто передаётся следующему (за оператором IF) оператору в программе. Можно сказать, что первый вариант оператора IF осуществляет выбор между двумя действиями, а второй—между действием и отсутствием действия.

Что представляет собой условие? Как правило, в качестве условия используется переменная (или выражение) логического типа (типа Boolean) либо один из операторов сравнения.

Сравнивать между собой числа и другие значения в Turbo Pascal можно c помощью шести операторов. Речь идёт об операторах > (больше), < (меньше), = (равно), <> (не равно),>= (больше или равно),<=(меньше или равно). Результат сравнения всегда представляет собой значение логического типа. Так, результатом сравнения 77>63 будет TRUE, а результатом сравнения 82<47—FALSE.

В условии так же широко могут использоваться три логических оператора: NOT, AND и OR. Например, выражение x1 AND x2 будет иметь значение TRUE, если значения х1 и х2 принадлежат логическому типу и оба равны TRUE.

Примеры операторов IF, которые могут встретиться в программах.

If x>y   then  z:=x/2  else z:=y+2;

if a and (b>c) then  d:=a+b  else d:=c;

В языке Turbo Pascal допускается вложенность операторов IF:

if x>0 then y:=1

          else  if  x<0 then y:=-1

                               else y:=0;

При вложении операторов IF один в другой может возникнуть синтаксическая неоднозначность. Действительно, к какому из двух ключевых слов IF относится ключевое слово ELSE в операторе

 

if x then 

       if y then S1

           else S2;

На самом деле ключевое слово ELSE ассоциируется с ближайшим  IF, еще не связанным со словом ELSE.

  1.  Составной оператор.

Во многих программах, в зависимости от некоторого условия, часто требуется выполнить не одно, а последовательность действий. Однако оператор IF в Turbo Pascal обеспечивает выполнение единственного оператора, присутствующего после зарезервированного слова THEN или ELSE.Выйти из положения можно, применив составные операторы.

Составной оператор представляет собой последовательность некоторых операторов, которые выполняются в том порядке, в каком они содержаться в тексте программы. При этом зарезервированные слова BEGIN и END являются так называемыми операторными скобками, в которые заключены операторы, входящие в составной оператор.

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


Составной оператор имеет следующий вид:

Оператор IF с составными операторами выглядит так:

if  p then begin

               S1;  S2; … Sn

               end

       else begin

               V1; V2; … Vn

               end;

Операторы S1; S2; … Sn принадлежат к ветви «да», а операторы V1; V2; … Vn 

принадлежат к ветви «нет».

Частный случай составного оператора—тело любой программы. Составной оператор может включать другие составные операторы (т.е. составным может быть любой из операторов S1; S2; … Sn или V1; V2; … Vn), причём допускается любое число уровней вложенности.

Рассмотрим подробно составление алгоритма разветвленной структуры для решения следующей задачи.


Задача 2.

Задать значение роста человека (в см) и его веса (в кг). Вычислить оптимальное значение веса для данного роста и сравнить его с реальным. Вывести соответствующее сообщение.

Математическая формулировка задачи:

Определить оптимальное значение веса можно по формуле:  Рост(см)-100. Очевидно, что реальный вес может равняться оптимальному, быть меньше него или превышать. Нужно сравнить оптимальное значение веса с реальным и вывести соответствующее сообщение.


Алгоритм  решения задачи 3.


Текст программы к задаче 3:

Program Ex_3;

Uses Crt;

Var

  w: real;     {  вес  }

   h: real;     {  рост  }

   opt: real;  {  оптимальный вес }

   d: real;     { отклонение от оптимального веса  }

Begin

 ClrScr;

 Writeln(‘Введите вес и рост через пробел ’);

  Readln(w, h);

  opt:=h-100;

  d:=Abs(w-opt);

If  w=opt  then  Writeln(‘Ваш вес оптимален!’)

  Else

      If  w<opt  then

         Writeln(‘Вам надо поправится на ’,d:5:2,’ кг ‘)

      Else

         Writeln(‘Вам надо похудеть на ‘, d:5:2, ‘ кг ‘);

Readln;

End.


Лабораторная работа № 4.

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

Оператор ветвления  CASE.

При выполнении работы необходимо знать:

  •  Знать  структуру ветвления  «Выбор – Иначе».
  •  Условный оператор CASE.
  •  Уметь составить схему программы (алгоритм) разветвленной структуры «Выбор – Иначе» для данной задачи и записать программу по готовому алгоритму.

Теоретический минимум:

  1.  Структура ветвления «Выбор – Иначе».

Рассмотренная ранее структура разветвленного алгоритма и соответствующий ей оператор IF позволяет осуществить выбор одного из двух вариантов. Но что если вариантов нужно иметь больше? Можно воспользоваться ветвлением с несколькими уровнями вложения, однако если количество вариантов большое, потребуется столько же уровней, и в итоге полученная конструкция оказывается слишком громоздкой. Выйти из положения позволяет структура ветвления «Выбор – Иначе».

При выполнении алгоритма сначала вычисляется некоторое выражение, а затем, в зависимости от полученного значения (если оно равно одной из констант) выполняется одна из групп действий, помеченная соответствующей константой. Если значение выражения не совпадает ни с одной из констант выбора, выполняются альтернативные действия, содержащиеся в ветви «Иначе», причем ветвь «Иначе» в этой структуре необязательна.

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

Структура ветвления «Выбор – Иначе» соответствует оператору выбора CASE.

Оператор CASE имеет следующий вид:

Case P  of

       a: S1;

       b: S2;

         ..

         n: Sn

      else  Sn+1

   end;

Каждый из операторов в операторе CASE, помеченный константой выбора, может быть составным. Операторы S1; S2; … Sn отделяются один от другого точкой с запятой.

Выражение, играющее роль селектора выбора, должно принадлежать порядковому типу данных (т.е. типу, имеющему конечное число значений).

При выполнении этого оператора сначала вычисляется некоторое выражение P называемое селектором выбора, а затем, в зависимости от полученного значения (если оно равно одной из констант a, b, ..., n, которые называются константами выбора), выполняется один из операторов, помеченный соответствующей константой. Если значение выражения P не совпадает ни с одной из констант выбора, выполняется оператор Sn+1, содержащийся после ключевого слова ELSE, причем ветвь ELSE в операторе CASE необязательна.

Кроме одиночных констант, в вариантах оператора CASE могут использоваться диапазоны значений и списки (представленные через запятую).


Case
X of

            1 .. 5:  S1;

            2, 3, 8:  S2;

        4, 6, 9 .. 13: S3;

else

                 S4

   end;

Задача 4.

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

Математическая формулировка задачи:

Очевидно, что значение поясняющего слова зависит от последней цифры введенного числа: если последняя цифра 0, 5, 6, 7, 8, 9, то поясняющее слово «рублей», если 1 – то «рубль», если 2, 3, 4 – то «рубля». Исключение составляют числа, оканчивающиеся на 11, 12, 13, 14 для которых поясняющее слово должно быть «рублей».


                                                    Алгоритм к задаче 4:


Текст программы к задаче 4:

Program Ex_4;

Uses Crt;

Var

n: integer; { число }

r: integer;  {остаток от деления числа на 10}

Begin

    ClrScr;

    Writeln(‘Введите число ‘);

    Readln(n);

 If n>100  then n:=n mod 100;

 If (n>=11) and (n<=14) then

     Writeln( ‘ рублей‘);

Else begin

      r:=n mod 10;

      Case r of

               0, 5..9:  writeln (‘ рублей‘);

               1:          writeln (‘ рубль’);

               2..4:      writeln (‘ рубля ‘);

       end;

      end;

      Readln;

      End.

PAGE  34


 

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

72567. СОВРЕМЕННЫЕ ТЕНДЕНЦИИ РАЗВИТИЯ ЖИЛИЩНЫХ ПРАВООТНОШЕНИЙ 185.5 KB
  До принятия Жилищного кодекса РСФСР под жилищными правоотношениями обычно понимались лишь гражданско-правовые отношения по пользованию гражданами жилыми помещениями и эти отношения регулировались гражданским законодательством.
72568. СБЛИЖЕНИЕ И ГАРМОНИЗАЦИЯ ЗАКОНОДАТЕЛЬСТВ: ПОНЯТИЕ И МЕЖДУНАРОДНО-ПРАВОВАЯ ХАРАКТЕРИСТИКА 104.5 KB
  Качественная система права и законодательства основа для установления новой эпохи сотрудничества и взаимодействия не только граждан и их ассоциаций в пределах отдельных стран но в масштабах международного сообщества. поправок внесенных в российское законодательство.
72569. КОНСТИТУЦИОННОЕ ПРАВО ЧЕЛОВЕКА НА ДОСТОЙНУЮ ЖИЗНЬ И ДОСТОЙНОЕ ЕЕ ЗАВЕРШЕНИЕ 128 KB
  Статья 7 Конституции Российской Федерации провозглашает Россию социальным государством политика которого направлена на создание условий обеспечивающих достойную жизнь и свободное развитие человека. Под достойной жизнью понимают прежде всего материальную обеспеченность на уровне...
72570. ПРОБЛЕМЫ РАССМОТРЕНИЯ В СУДЕ ДЕЛ ОБ ОСПАРИВАНИИ ОТЗЫВА ЛИЦЕНЗИИ, ПРЕДПИСАНИЙ, А ТАКЖЕ ДЕЛ О ПРИНУДИТЕЛЬНОЙ ЛИКВИДАЦИИ БАНКОВ 112 KB
  После отзыва лицензии временная администрация действует от имени кредитной организации во всех иных судебных делах в том числе и в тех где другой стороной спора является Центральный банк России. В практике Арбитражного суда города Москвы были дела, когда после отзыва лицензии у банка...
72571. ПРАВОВЫЕ ОСНОВЫ СОВЕРШЕНСТВОВАНИЯ СИСТЕМЫ СТРАХОВОЙ ЗАЩИТЫ ИМУЩЕСТВЕННЫХ РИСКОВ В РОССИЙСКОЙ ФЕДЕРАЦИИ 114.5 KB
  Общий объем страховых платежей взносов по всем видам страхования за 2005 г. Доля средств от страхования в валовом внутреннем продукте страны выросла с 16 процента в 1998 г. Активно развивается рынок посреднических и дополнительных услуг в области страхования услуги агентов...
72572. РЕПУТАЦИОННЫЙ ВРЕД КАК ПОСЛЕДСТВИЕ УМАЛЕНИЯ ДЕЛОВОЙ РЕПУТАЦИИ ЮРИДИЧЕСКОГО ЛИЦА 128.5 KB
  В Гражданском кодексе дано детальное определение юридического лица: статья 48 Понятие юридического лица гласит что это организация которая имеет в собственности хозяйственном ведении или оперативном управлении обособленное имущество и отвечает по своим обязательствам этим имуществом...
72573. ПРИНЦИПЫ БЮДЖЕТНОГО ПРАВА И ПРОЦЕССА 138 KB
  Последнее обстоятельство особенно важно для налогового права в условиях продолжающейся бюджетной реформы когда еще не выработана общепринятая концепция построения и развития бюджетной системы Российской Федерации не определены на государственном уровне ориентиры бюджетной политики страны.
72574. ЗАВЕЩАНИЕ КАК СПОСОБ РАСПОРЯЖЕНИЯ ИМУЩЕСТВОМ 92 KB
  Тесная взаимосвязь права собственности и наследственного права проявляется в основном в двух обстоятельствах: наследование является одним из оснований приобретения права собственности завещание же как сделка есть один из вариантов реализации правомочия распоряжения являющегося...
72575. ПОНЯТИЕ И КЛАССИФИКАЦИЯ СУБЪЕКТИВНЫХ ПРАВ И СВОБОД И СПОСОБЫ ИХ ОГРАНИЧЕНИЯ 193.5 KB
  Права человека это ценностный ориентир позволяющий применять человеческое измерение не только к государству праву закону законности правовому порядку но и к гражданскому обществу поскольку степень зрелости и развитости последнего зависит в значительной мере от состояния дел...