Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по проге / 6_Комбинирование операторов

.pdf
Скачиваний:
30
Добавлен:
14.03.2016
Размер:
387.56 Кб
Скачать

Лекция №6. Комбинирование операторов

Комбинации управляющих операторов

Алгоритмическая сложность

Разбиение сложной задачи на простые

1

Комбинации операторов

Сложные алгоритмы строятся путем комбинирования операторов языка Си двумя способами:

последовательным расположением операторов;

вложением одних операторов в другие.

При последовательном расположении один оператор следует за другим

При вложении оператор помещается внутрь другого (управляющего) оператора

2

Последовательное расположение операторов

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

3

Задание

Определите, что появится на экране при выполнении следующих операторов:

int x = 7;

int x = 7;

x++;

printf("%d", x);

printf("%d", x);

x++;

4

Последовательное расположение операторов

В

первом

случае

на

экране

появится

8,

т.к. инкремент произойдет до печати

 

 

Во

втором

случае

на

экране

появится

7,

т.к. инкремент произойдет после печати

 

5

Задание. Вложенные альтернативы

Определите, при каких условиях будут выполняться действия, помеченные комментариями:

if (x > 0)

{

// действие 1

if(y > 0)

{

// действие 2

}

else

{

// действие 3

}

6 }

Вложенные альтернативы

действие 1

при

x > 0

 

 

действие

2

при

x >

0

&& y

> 0

действие

3

при

x >

0

&& y

<= 0

7

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

if (x > 0 && y > 0)

{

//действие 1

//действие 2

}

else if (x > 0 && y <= 0)

{

//действие 1

//действие 3

}

8

Использование вложенных альтернатив

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

в двух или более ветках имеются одинаковые действия (в пример это действие 1);

в альтернативных ветках встречается само условие и его отрицание (в пример это y > 0 и

y <= 0).

9

Задание

Определите, что выполняет следующая программа:

int arr[10] = {3, -1, 4, 5, 0, 7, -2, 8, 2, 0};

i = 0;

if (arr[i] > 0)

{

while (i < 10)

{

printf("%d ", arr[i]); i++;

}

10 }