42470

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

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

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

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

Русский

2013-10-29

288 KB

54 чел.

Лабораторная работа № 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


 

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

6022. Технологія складання оптичних деталей 62.5 KB
  Вивчити зміст роботи та конструкцію приладу для центрування лінз, що склеюються. Розрахувати граничну величину (число m поділів) переміщення центра сітки коліматора за шкалою сітки окуляра для заданого допуска С на децентрування склеєних лінз з урахуванням їх фокусної відстані.
6023. Інсталювання та налагодження сервера операційної системи Windows NT 126.5 KB
  Інсталювання та налагодження сервера операційної системи WindowsNT Мета роботи: Навчитись інсталювати ОС WindowsNTServer 3.51 Під-час інсталяції навчитись виявляти параметри, що пропонуються за замовчуванню і визн...
6024. Операційний контроль форми полірованих поверхонь 308 KB
  Операційний контроль форми полірованих поверхонь Мета роботи: вивчити методи контролю форми плоских поверхонь практично виміряти відступ від площини. Завдання 1. Вивчити інтерференційні методи контролю форми плоских полірован...
6025. Управління обліковими записами користувачів та групами користувачів у Windows NT 98 KB
  Управління обліковими записами користувачів та групами користувачів у WindowsNT. Мета роботи: навчитись створювати та видаляти обліковий запис користувача у Windows NT Server. Навчитись створювати групи користувачів у Windows NT...
6026. Інсталяція сервера Novell Netware 4.x 146 KB
  Інсталяція сервера NovellNetware 4.x Мета роботи: провести процесс інсталяції сервера операційної системи NovellNetware на программі-емуляторі і зрозуміти призначення кожного кроку. Порядок виконання роботи. Запустити файл Install....
6027. Налаштування та принципи функціонування робочої станції Novell NetWare 4.x 84.5 KB
  Налаштування та принципи функціонування робочої станції Novell Net Ware 4.x Мета роботи: Вивчити структуру, налаштування та принципи функціонування робочої станції Novell Netware 4-х Порядок виконання роботи. Ознайомитись з теоре...
6028. Кореляційний аналіз сигналів 289 KB
  Кореляційний аналіз сигналів Метароботи: набути навичок кореляційного аналізу сигналів у середовищі MatLAB. Порядокроботи 1. Сформувати вектор відліків часу тривалістю 1 с для частоти дискретизації 256 Гц. Сформувати сигнал випадкового б...
6029. Створення обєктів Novell Netware 4.x 93.5 KB
  Створювати і змінювати користувальницькі об'єкти й об'єкти ресурсів. Зрозуміти призначення об'єктів-контейнерів у дереві каталогів. Створення шаблонів користувачів в об'єктах-контейнерах. Створювати і змінювати користувальницькі об'єкти й об'єкти ресурсів. Керування повноваженнями доступу..
6030. Робота з файловою системою NetWare 185.5 KB
  Робота з файловою системою NetWare Мета роботи: освоїти роботу з засобами управління файлами і каталогами утиліти Netware Administrator і утиліти текстового режиму FILER, а також інші команди роботи з каталогами і файлами. Файлова система ОС No...