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


 

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

46977. Аудит нематериальных активов организации 40.5 KB
  Соглно ПБУ14 07 для принятия актива в качве НМА н мо сущестное выполне опредых усл:отсут матвещ формывозмть идентифик использе в прве прод. Цель Ата НМАформире мнения о достоверности БО по разделу НМА и устане соответсвия применяемых Мек учета и н о операций с НМА действующму законодву РФ. При Ате проверяются= :постановка кля за наличием НМА ведение синтго учета по поступю и выбытию НМА начислие и отражие амортизации. Инфая база для Ара:НА поб у и н обл НМА;уч пол;регистры бух учета;первич док;БО.
46978. Настроечные базы 40.97 KB
  Для осуществления настройки станка относительно определенных поверхностей заготовки необходимо чтобы эти поверхности занимали на станке при смене заготовок неизменное положение относительно упоров станка определяющих конечное положение обрабатывающего инструмента. К таким поверхностям относятся опорные поверхности заготовки что и предопределяет широкое их использование в крупносерийном производстве в качестве опорных...
46979. Эпоха Просвещения. Конец XVII в.-середина ХVIII в 41 KB
  Академия скульптуры и живописи во Франции Академия изящных искусств первая система высшего художественного образования. Академия в Филадельфии Бенджамина Франклина Школа Декарта – картезианская первое педагогическое нововведение – алгебра вместо арифметики и геометрия. Королевская Академия во Франции уходила в прошлое религиозная живопись и каноны придворного искусства все более становились ведущими светские реалистические и галантные жанры. В 1563 году открывается академия художеств во Флоренции в 1577г.
46980. СПП 41 KB
  СПП – это сложное предложение, части которого связаны подчинительными союзами или союзными словами, относительными местоимениями. Опираясь на связь между главным и придаточным и на о к чему относится придаточное СПП делятся на СПП расчлененной и нерасчлененной структуры. СПП нерасчлененной структуры реализуют присловную связь, т.е. придаточное относистся к ОДНОМУ слову в главной части.
46984. Средневековая цивилизация Запада 41.64 KB
  От лоскутной цивилизации к единому историческому пространству. Религия структурообразующий компонент Западноевропейской средневековой цивилизации. Основные достижения Западноевропейской средневековой цивилизации. Новая жизнь имперской идеи История Средневековой цивилизации знает две попытки создания в Западной Европе универсальных империй.