Циклические алгоритмы

Содержание

Слайд 2

Содержание 24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Циклический алгоритм Итоги

Содержание

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование
Циклический алгоритм
Итоги
Примеры

Оператор цикла с постусловием

do_while
Оператор цикла с предусловием while
Цикл for
Библиографический список
Автор
Операторы передачи управления
Слайд 3

Циклический алгоритм Используется для повторения некоторых действий несколько раз Виды операторов

Циклический алгоритм

Используется для повторения некоторых действий несколько раз
Виды операторов цикла:
- цикл

с предусловием (while);
- цикл с постусловием (do - while );
- цикл с параметром (for).

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 4

Оператор цикла с предусловием (while) 24.04.2016 каф. РТС дисциплина Алгоритмизация и

Оператор цикла с предусловием (while)

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

условие

да

нет

Оператор1

Оператор2

Оператор3

Следующий оператор программы

Тело цикла

Слайд 5

Синтаксис оператора цикла с предусловием (while) while (условие) { оператор1; оператор2;

Синтаксис оператора цикла с предусловием (while)

while (условие)
{
оператор1;
оператор2;
оператор3;
}
Следующий оператор

программы;

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Тело цикла

Слайд 6

Особенности оператора цикла с предусловием (while) Число повторений заранее неизвестно, определяется

Особенности оператора цикла с предусловием (while)
Число повторений заранее неизвестно, определяется условием
Возможен

случай, когда тело цикла не выполнится ни разу

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 7

Оператор цикла с постусловием (do - while) 24.04.2016 каф. РТС дисциплина

Оператор цикла с постусловием (do - while)

24.04.2016

каф. РТС дисциплина Алгоритмизация

и программирование

нет

Оператор1

Оператор2

Оператор3

Следующий оператор программы

Тело цикла

условие

да

Слайд 8

Синтаксис оператора цикла с постусловием (do - while) do { оператор1;

Синтаксис оператора цикла с постусловием (do - while)
do
{
оператор1;
оператор2;
оператор3;
} while

(условие) ;
Следующий оператор программы;

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Тело цикла

Слайд 9

Особенности оператора цикла с постусловием (do -while) Число повторений заранее неизвестно,

Особенности оператора цикла с постусловием (do -while)
Число повторений заранее неизвестно, определяется

условием
Тело цикла обязательно выполнится хотя бы один раз

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 10

Обобщенна схема цикла for 24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование

Обобщенна схема цикла for

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Инициализация

Вычисление
выражения_условия

Выражение_
условие

Да

Нет

Тело_цикла

Выражения


модификации

Следующий за
for оператор

Слайд 11

Синтаксис оператора цикла for 24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование

Синтаксис оператора цикла for

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

for (инициализация;

выражение_условие; выражение_модификации) тело_цикла;
или в общем виде
for (выражение1; выражение2; выражение 3) тело_цикла;
Слайд 12

24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Цикл с параметром (1)

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Цикл с параметром (1)

for (i =

i1 ; i <= i2; i++)
{
операторы тела цикла
}
Следующий оператор программы ;
i = i1 до i2

Тело цикла

Следующий оператор программы

используется, когда число повторений заранее известно

Слайд 13

Примеры цикла с параметром for ( i=0; i for ( i=9;

Примеры цикла с параметром

for ( i=0; i<10; i++ ) printf (“%d

\n", i);
for ( i=9; i>=0; i--) printf (''%d\n", i);
for (ch='A'; ch<='Z'; ch++) printf (''%c ", ch);
for (ch='0'; ch!='N';) scanf (''%c", &ch);
for (int j=1, s=0; j<=k; j++) s+=j*j;
for (int j=1,s=0; j<=k; s+=j*j++);
for (int j=0,s=0; j<=k; ) s+=++j*j;

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 14

Бесконечные циклы for (;;) printf ("Бесконечный цикл\n"); for (i=1;1;i++) printf(" Бесконечный

Бесконечные циклы

for (;;) printf ("Бесконечный цикл\n");
for (i=1;1;i++) printf(" Бесконечный цикл\n");
for (i=10;i>6;i++)

printf (''Бесконечный цикл\n");
while (1) printf ("Бесконечный цикл\n");

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 15

Вложенные циклы #include main() { int i, j; for ( i=1;

Вложенные циклы

#include
main()
{ int i, j;
for ( i=1; i<10;

i++) //внешний цикл
{for ( j=1; j<5; j++) //вложенный цикл
printf ( "%d*%d = %2d ", i, j, i*j );
printf ( "\n");
}
}

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 16

Пример работы программы 24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование

Пример работы программы

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 17

24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Операторы передачи управления К

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Операторы передачи управления

К операторам передачи

управления относятся:
goto - оператор безусловного перехода
break – оператор выхода из цикла или из оператора выбора
continue – оператор перехода к следующей итерации (шагу) цикла
return – оператор возврата из функции (подробно рассмотрен в главе, посвященной функциям)
Слайд 18

Оператор GOTO Оператор безусловного переходи имеет вид goto метка. Одно из

Оператор GOTO

Оператор безусловного переходи имеет вид goto метка. Одно из

полезных применений оператора goto – это выход из вложенных циклов:
for ()
{while ()
{ for()
{…
goto exit;
… } }
exit: printf(“Быстрый выход из вложенных циклов”);

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 19

24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Применение оператора break окончание

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Применение оператора break
окончание case в

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

24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Оператор CONTINUE оператор continue

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Оператор CONTINUE
оператор continue в теле цикла

передает управление на начало следующей итерации цикла. В циклах while и do-while - на проверку условия, в цикле for - на приращение.
Этот оператор необходим, если нужно закончить текущую итерацию цикла и не выполнять оставшиеся операторы, а сразу перейти к следующей итерации цикла.
Слайд 21

24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Пример «Кубы чисел» #include

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Пример «Кубы чисел»

#include
main()


{
int i;
for (i=0;i<1000;i++)
{ printf (''%d - %d \n", i, i*i*i);
if (i*i*i >= 10000) break;}
}
Слайд 22

24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Пример «Числа, кратные семи»

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Пример «Числа, кратные семи»

#include


main()
{
int i;
for(i=l;i<1000;i++)
{
if (i%7) continue;
printf (%8d", i );
}
}
Слайд 23

Итоги Рассмотренные вопросы: Линейный алгоритм Разветвляющийся алгоритм Циклический алгоритм Цикл с

Итоги Рассмотренные вопросы:

Линейный алгоритм
Разветвляющийся алгоритм
Циклический алгоритм
Цикл с параметром
Цикл с предусловием
Цикл с постусловием


24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Слайд 24

24.04.2016 каф. РТС дисциплина Алгоритмизация и программирование Библиографический список Подбельский В.В.

24.04.2016

каф. РТС дисциплина Алгоритмизация и программирование

Библиографический список

Подбельский В.В. Язык СИ++.

Учебное пособие. М.: Финансы и статистика, 2003. – 560 с.
Павловская Т.А. C/C++. Программирование на языке высокого уровня: учебник для студентов вузов, обучающихся по направлению "Информатика и вычисл. техника" СПб.: Питер, 2005. - 461 с.
Березин Б.И. Начальный курс C и C++ / Б.И. Березин, С.Б. Березин. - М.: ДИАЛОГ-МИФИ, 2001. - 288 с
Каширин И.Ю., Новичков В.С. От С к С++. Учебное пособие для вузов. – М.: Горячая линия – Телеком, 2005. – 334 с.