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


 

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

24135. Классификация глобальных проблем. Демографическая, экологическая проблемы 14.81 KB
  Демографическая проблема глобальная проблема человечества связанная с продолжающимся значительным приростом населения Земли опережающим рост экономического благосостояния в результате чего обостряются продовольственная и другие проблемы угрожающие жизни населения в этих странах. Глобальные экологические проблемы делят на несколько групп тесно связанных друг с другом: демографическая проблема негативные последствия роста численности населения в 20м в.; энергетическая проблема дефицит энергии порождает поиск новых ее источников и...
24136. Научно – техническая революция и судьбы цивилизации Будущее человечества. Методы его прогнозирования 14.97 KB
  Там где объекты неуправляемы особенно в естественных науках имеет место безусловное предсказание с целью приспособить действия к ожидаемому состоянию объекта. Отсюда методологическая ориентация прогнозирования управляемых большей частью социальныхявлений на оценку вероятного при условии заранее заданных норм состояние объекта с целью оптимизации принимаемых решений. Типовая методика прогнозирования содержит следующие основные этапы исследования: предпрогнозная ориентация определение объекта предмета рабочих гипотез методов...
24137. Специфика философского понимания человека 14.47 KB
  Свобода есть деятельность на основе познанной необходимости. Свобода же отражает развитие появление нового разнообразного новых возможностей. Необходимость выражает наличное показывает каков мир есть а свобода отражает будущее каким мир должен быть. Свобода многолика но сущность ее одна наличие разнообразных возможностей следовательно она наибольшая ценность.
24138. Новгородская феодальная республика 28.47 KB
  Высшим государственным органом Новгородской республики было вече. Некоторые историки полагают что вече собрание не всего мужского населения а собрание только владельцев городских усадеб. Вече принимало законы утверждало договоры рассматривало вопросы войны и мира избирало городские власти: посадника тысяцкого выдвигало кандидатуру на должность архиепископа. Вече приглашало князя который возглавлял дружину.
24139. Политическая специфика Северо-Западной Руси 24.89 KB
  Такая ситуация дала основание историкам классифицировать политический режим Новгорода как республиканский. Корни возникновения олигархической формы власти Новгорода имеют иной характер. А псковичи в условиях постоянной военной опасности со стороны Швеции от помощи Новгорода тоже не спешили отказываться.
24140. Нашествие Батыя на Русь 32.17 KB
  Ордынское монголотатарское иго и его последствия В начале XIII в. Родовая знать нового государства стремилась к обогащению что привело к большим завоевательным походам монголотатар. Проникнув в Причерноморье армия монголотатар встретила сопротивление объединенных сил русских и половцев. Монголотатары одержали победу но возвратились в степи для подготовки нового похода на Русь.
24141. Борьба с агрессией шведских и немецких феодалов 28.5 KB
  Древнерусское государство было зоной взаимодействия цивилизаций Запада и Востока Русь сыграла выдающуюся роль в судьбе Европы своего времени: отразила натиски печенегов половцев монголов став щитом заслонившим Европу от кочевников Она участвовала в отражении славянскими и прибалтийскими народами агрессии с Запада разбила крестовый поход шести держав на Прибалтику и Русь изменив этим соотношение сил в Европе. После официального разделения православной и католической церкви 1054 папство пыталось обратить Русь в католическую веру....
24142. Знакомство с культурой Киевской Руси и русских княжеств эпохи феодальной раздробленности 44.19 KB
  Утонченный византиец Иоанн Тцетцес был настолько очарован русской резьбой по кости что воспел в стихах присланную ему пиксиду резную коробочку сравнивая русского мастера с легендарным Дедалом. Грамотность письменность Много нового внесли в понимание уровня русской городской культуры находки свидетельствующие о широком распространении грамотности в народных массах. Родной язык Существенным отличием русской культуры от культуры большинства стран Востока и Запада является применение родного языка. Отдельные цитаты в сохранившихся рукописях...
24143. Предпосылки образования русского централизованного государства 26.01 KB
  Особенности русского централизованного государства Русское централизованное государство сложилось в XIVXVI вв. Группы предпосылок образования русского централизованного государства. Его князья строят государственный аппарат для укрепления своей власти; внешнеполитические: главная внешнеполитическая задача Руси заключалась в необходимости свергнуть татаромонгольское иго которое тормозило развитие Русского государства.