Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 3 Разветвленные алгоритмы

Работа добавлена на сайт samzan.net:


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

Разветвленные алгоритмы.

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

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

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

Одним из операторов, реализующих конструкции принятия решений является условный оператор. Его формат:

if (выражение) оператор;

если оператор, выполняемый при истинности условия (или выражения) – единственный, или:

if (выражение) {оператор1;

оператор2;

 ………….

операторN;

} //end if

если таких операторов несколько.

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

При необходимости сравнить выражение с некоторым значением следует использовать операторы отношения  = = или != в виде 

if (выражение = = значение) оператор;

или

if (выражение != значение) оператор;

оператор; может быть как простым, так и составным.

Оператор 

if (выражение != 0) оператор;

эквивалентен оператору

if (выражение) оператор;

Нельзя писать

if (выражение = значение) оператор;

Это одна из наиболее распространенных и трудно обнаруживаемых ошибок. Результатом такого использования операции присваивания = будет сравнение выражение со значением с последующим присваиванием выражению значения, с которым оно сравнивалось. Однако не следует этого делать даже целенаправленно.

Пример. Использование оператора if:

#include <stdio.h>

main ()

{ char sym;

int ok;

printf(“Введите символ от ‘a’ до’m’:”);

scanf(“%c”,&sym);

ok=(‘a’<=sym)&&(sym<=’m’);

if(!ok)

 printf(“Некорректный ввод!\n”);

return ok; }

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

Оператор if может иметь две ветви, одна из которых является альтернативной. Такая схема называется «развилка». Для организации структуры «развилка» служит оператор else, являющийся расширением оператор if или его альтернативной частью. Развилка работает следующим образом: проверяется на истинность выражение, если оно истинно, выполняется оператор1, если ложно – оператор2:

if (выражение) оператор1;

 else оператор2;

если после if  и else следуют простые (одиночные) операторы, или

if (выражение) {оператор1;

 оператор 2;}

 else {оператор3;

оператор4;}

если операторы составные.

Точка с запятой после закрывающей скобки } не ставится.

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

if (выражение1)

 оператор1;

 else if (выражение2)

    оператор2;

       else if (выражение3)

          оператор3;

          else if (выражениеN)

             операторN;

else //необязательная часть, выполняется, если первое выражение не истинно

 оператор_по_умолчанию;

Оператор if-else можно записать более компактно, не нарушив его функционального назначения. В этом случае он будет называться условным выражением:

выражение1? выражение2 : выражение3;

Программа вычисляет выражение1, если оно истинно, выполняется выражение2, если ложно, выполняется выражение3.

2. Оператор множественного выбора

Если в программе необходимо выбрать один из многочисленных выриантов, то вместо вложенной конструкции if более целесообразно примениять оператор-переключатель switch, иначе называемый оператором множественного выбора.

Его синтаксис:

switch (выражение)

{case значение1: оператор01;

оператор02;

оператор0N;

break;

case значение2: оператор11;

оператор12;

оператор1N;

 break;

case значениеN: оператор21;

оператор22;

оператор2N;

 break;

default: // необязательный компонент

 оператор_по_несравнению; // если не было ни одного совпадения.

}

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

Использованная литература:

Ашарина, И.В. Основы программирования на языках С и С++ / И.В. Ашарина – М.: Горячая линия-Телеком, –2002. – 207 с.




1. Механизация тоннелепроходческих работ
2. Реферат- Лица, участвующие в деле и иные участники процесса
3. исторические и экзистенциальноличностные
4. Тeopии и цeли иcкуccтв
5. Надежда п. Айхал РСЯ Гапотченко Алла Фёдоровна ~педагог дополнительного образования Образован.
6. Тема- НЕВРОЗИ В ДИТЯЧОМУ ВІЦІ
7. прежнему упрямец и анархист так же независим с начальством и никто из сослуживцев не знает что выкинет Ребу
8. Спектрофотометрия широко применяется для исследования органических и неорганических веществ для качест
9. 03100.html Рак ' общее название для группы заболеваний характеризующихся аномальным неконтролируемым ростом
10. РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ «МЕТОДОЛОГИЯ ПОЛИТИЧЕСКОЙ НАУКИ»
11. Проектирование промышленного предприятия в городе Челябинск
12. Курсовая работа- Законодательство о защите прав потребителей
13. Тема- Организация сбытовой деятельности организации на примере предприятия ТД На Немиге КР
14. соціальна значимість хронічного обструктивного бронхіту ХОБ зумовлена невпинним зростанням захворюванос
15. Древнеславянское знание об управлении судьбой 11 12 и 13 декабря в Москве
16. за моей взглянув спины Он не тревожа тишины Померк в озёрном отражении И в разум мой впечатал след
17. измерительный материал 1 Понятие и характеристика правовой нормы
18. На тему- Анализ транспортных расходов на примере ООО Стройкран Выполнил- студент э
19. организация работы неврологического отделения
20. задание Родители и совместно дети