Презентация. Программирование циклов (Язык программирования C++)
презентация к уроку по теме

Болгак Лидия Павловна


В презентации рассматриваются виды циклов, порядок их работы, а также вложенные циклы.

Скачать:

ВложениеРазмер
Office presentation icon cikl.ppt1.25 МБ

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Программирование циклов Циклы: с параметром (для - for ), с предусловием (пока - while ), с постусловием (до – do … while ). Преподаватель Болгак Лидия Павловна

Слайд 2

Цикл с параметром for – ДЛЯ Используется, когда известно точное количество повторов, которое нужно выполнить (регулярный цикл). x = a, b, h серия команд тела цикла for(x = a; x <= b; x += h) { // серия команд тела цикла операторы; } 1. Задать начальное значение управляющей переменной цикла x = a. 2. Выполнить команды тела цикла. 3. Изменить значение управляющей переменной цикла x += h. 4. Проверить условие окончания или продолжения цикла x <= b. если истинно - выполнить команды с пункта 2, если ложно – перейти к выполнению команды, следующей за циклом. Порядок работы цикла for

Слайд 3

Значения функции y = sin(x) Вычислить для x, изменяющегося от a до b с шагом h . #include #include void main() { float a = 0, b = 180, h = 10, x, y; for(x = a; x <= b; x += h) { // тело цикла y = sin(x * M_PI / 180); cout << " sin(" << x << ") = " << y << endl; } } x b a h Как исполняется программа ?

Слайд 4

Концентрические окружности #include #include #include #include #include"..\\h\\init.h" main() { init(); int i; setbkcolor(0); setlinestyle(1, 1, 3); for(i = 1; i <= 15; i++) { setcolor(i); circle(300, 240, i * 10); } getch(); closegraph(); } начало color = 1, 15, 1 r = 10 · color circle(300, 240, r); конец Как исполняется программа ?

Слайд 5

Отрицательное значение шага Кубы всех целых чисел в диапазоне от 5 до -3 (конечное значение управляющей переменной цикла i меньше ее начального значения) #include main() { int i, a = 5, b = -3, y; for(i = a; i >= b; i--) { y = i * i * i; cout << "y = " << i << " * " << i << " * " << i << " = " << y << endl; } } y = 5 * 5 * 5 = 125 y = 4 * 4 * 4 = 64 y = 3 * 3 * 3 = 27 y = 2 * 2 * 2 = 8 y = 1 * 1 * 1 = 1 y = 0 * 0 * 0 = 0 y = -1 * -1 * -1 = -1 y = -2 * -2 * -2 = -8 y = -3 * -3 * -3 = -27 Вывод: значение управляющей переменной цикла можно как увеличивать, так и уменьшать Какие значения примет i ? Что будет выведено ?

Слайд 6

Цикл с параметром Когда удобно использовать? Как еще называют этот вид цикла? Какие ключевые слова необходимы? Какой программный код надо написать для вывода на экран всех значений целых чисел от -2 до 5 ? А в обратном порядке? Сколько раз повторится тело цикла for(int i = 1 ; ; i++) cout << i << endl;

Слайд 7

Цикл do … while – цикл ДО Используется, когда не известно точное количество повторов, но цикл необходимо выполнить хотя бы один раз ( цикл с постусловием) x = a серия команд тела цикла x = x + h x > b да нет x = a; d o { // серия команд тела цикла операторы; x += h; } while (x > b); 1. Задать до цикла начальное значение управляющей переменной цикла x = a 2. Выполнить команды тела цикла 3. Изменить значение управляющей переменной цикла x += h 4. Проверить условие окончания или продолжения цикла x > b если ложно - выполнить команды с пункта 2, если истинно – перейти к выполнению команды, следующей за циклом Порядок работы цикла do … while

Слайд 8

Построение вложенных квадратов #include #include #include #include #include"..\\h\\init.h" main() { init(); getch(); closegraph(); } // построение квадратов randomize(); setbkcolor(0); setlinestyle(1, 1, 3); int x = 310, y = 230, c, h = 6, a = 2*h; do { c = random(15); setcolor(c); rectangle(x, y, x + a, y - a); x -= h; y += h; a += 2 * h; } while(a < 200); начало конец Ввод x, y, h a = 2 · h сгенерировать цвет задать цвет рисования нарисовать прямоугольник x = x – h y = y + h a = a + 2 · h a < 200 нет да // построение квадратов a

Слайд 9

Покупка по x рублей на ≤ p #include main() { float x, p, s, o; int k; cout << "x = "; cin >> x; cout << "p = "; cin >> p; s = 0; k = 0; do { k++; s += x; } while(p - s >= x); o = p - s; cout << "k = " << k << "\ts = " << s << "\to = " << o; } начало конец Ввод x, p s = 0, k = 0 o = p – s p – s ≥ x да k = k + 1 s = s + x нет Вывод k, s, o Дано: x - цена 1 штуки товара p - имеющаяся сумма Найти: k - количество, s - стоимость, o - остаток денег Зачем нужны команды S = 0; k = 0; Как будет исполняться программа ? x = 2.21 p = 10.82 s = 0 k = 0 k = 1 s = 2.21 o = 8.61 k = 2 s = 4.42 o = 6.4 k = 3 s = 6.63 o = 4.19 k = 4 s = 8.84 o = 1.98 k = 4 s = 8.84 o = 1.98 Какие команды будут записаны в программе ?

Слайд 10

Цикл с постусловием Когда удобно использовать? Как еще называют этот вид цикла? Какие ключевые слова необходимы? Какие команды необходимы для организации цикла?

Слайд 11

Цикл while – цикл ПОКА Используется, когда не известно точное количество повторов, и нет необходимости, чтобы цикл обязательно был выполнен x = a x ≤ b серия команд тела цикла x = x + h да нет x = a; while (x <= b) { // серия команд тела цикла операторы; x += h; } Порядок работы цикла while 1. Задать до цикла начальное значение управляющей переменной цикла x = a 2. Проверить условие окончания или продолжения цикла x <= b если истинно - выполнить команды с пункта 3 , если ложно – перейти к выполнению команды, следующей за циклом 3. Выполнить команды тела цикла 4. Изменить значение управляющей переменной цикла x += h, перейти к 2

Слайд 12

Работая до обеда, надо выкопать траншею от забора. Лентяйкин, выкопав очередные 12.3 см 3 , проверяет, не пора ли обедать. Сколько см 3 траншеи выкопает Лентяйкин от "забора и до обеда"? Копание траншеи от забора до обеда #include void main() { char ch; float s = 0; cout << "Подойди к забору\ n "; cout << "Обед (y/n) ? \n "; while(ch = getche() != 'y') { s += 12.3; cout << "\ts = " << s << endl; } cout << "\ns = " << s; } Какие команды будут записаны в программе ? Как будет исполняться программа ? При ch = 'y' s = 0 Тело цикла не выполняется Подойди к забору Обед (y/n) ? y s = 0 Подойди к забору Обед (y/n) ? n s = 12.3 n s = 24.6 n s = 36.900002 y s = 36.900002 При ch = 'n' s накапливается Выход из цикла - нажать y

Слайд 13

Цикл с предусловием Когда удобно использовать? Как еще называют этот вид цикла? Какие ключевые слова необходимы? Какие команды необходимы для организации цикла? Какие типы циклов мы рассмотрели?

Слайд 14

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

Слайд 15

Вложенные циклы Это конструкция, в которой внутрь одного цикла помещен другой цикл. Используются, если имеется два или более параметров, изменяющихся строго заданным образом . Год начался Когда пройдет 12 месяцев - сменится год Смена дней Когда пройдет 30 дней - сменится месяц Смена суток Когда пройдет 24 часа - сменится день Смена часов Когда пройдет 60 минут - сменится час

Слайд 16

Не забывайте: Циклы нигде не должны пересекаться. Внешний цикл всегда должен начинаться раньше и заканчиваться позднее. Управляющая переменная внешнего цикла изменяется медленнее. Внутренний цикл всегда должен начинаться позднее и заканчиваться раньше. Управляющая переменная внутреннего цикла изменяется быстрее.

Слайд 17

Вложенные циклы for Таблица умножения на 3 и 4 #include void main() { int i, j, v; for(i = 3; i < 5; i++) { for(j = 1; j < 11; j++) { v = i * j; cout << i << " * " << j << " = " << v << endl; } cout << endl; } } Начало i = 3, 4 j = 1, 10 v = i · j Вывод i, j, v Конец 3 × 1 = 3 3 × 2 = 6 3 × 3 = 9 3 × 4 = 12 3 × 5 = 15 3 × 6 = 18 3 × 7 = 21 3 × 8 = 24 3 × 9 = 27 3 × 10 = 30 4 × 1 = 4 4 × 2 = 8 4 × 3 = 12 4 × 4 = 1 6 4 × 5 = 20 4 × 6 = 24 4 × 7 = 2 8 4 × 8 = 3 2 4 × 9 = 36 4 × 10 = 4 0 Изменение внешнего цикла происходит только тогда, когда полностью отработает внутренний цикл Как выглядит таблица?

Слайд 18

Вложенные циклы do…while #include #include main() { float m, p = 900.; int n1 = 0, n2; randomize(); do { n1++; m = 0; n2 = 0; do { m += 20 + random(3 1 ); n2++; } while(m < 100); cout << n1 << '\t' << p << " - " << m << " = "; p -= m; cout << p << "\t - " << n2 << endl; } while(p > 400); } Имеется груз p= 900 кг, состоящий из объектов массой m от 20 до 50 кг. Отбирая по несколько объектов суммарной массой не более 100 кг, добиться, чтобы оставшийся груз не превышал 400 кг. Сколько объектов надо отобрать ? Возможные результаты За 4 итерации внешнего цикла 1 900 - 114 = 786 - 3 2 786 - 135 = 651 - 4 3 651 - 128 = 523 - 3 4 523 - 129 = 394 - 4 За 5 итераций внешнего цикла 1 900 - 110 = 790 - 4 2 790 - 104 = 686 - 3 3 686 - 143 = 543 - 4 4 543 - 119 = 424 - 3 5 424 - 102 = 322 - 4 Почему массы : откладываемые больше 100 кг ? оставшаяся меньше 400 кг? Зачем n1 = 0 n2 = 0 m = 0

Слайд 19

Вложенные циклы while #include #include #include #include #include"..\\h\\init.h" main() { init(); setbkcolor(9); int x = 70, y; while(x < 600) { y = 65; while(y < 420) { circle(x, y, 60); y += 50; delay(50); } x += 50; } closegraph(); } Из каких элементарных фигур состоит орнамент? Есть ли какая-нибудь закономерность в построении окружностей? Какие данные меняются строго определенным образом?

Слайд 20

Подумайте и скажите Какой цикл можно назвать вложенным? Какие правила записи вложенных циклов? Могут ли циклы пересекаться друг с другом? Какие команды необходимы для организации циклов любого вида?


По теме: методические разработки, презентации и конспекты

История развития языков программировани

План - конспект открытого урока. Включает в себя основной тематический материал и сценку по данной теме. ...

Тест по дисциплине «Основы алгоритмизации и программирования» Раздел: «Программирование на языке СИ/СИ++» специальности 230401 "Информационные системы (по отраслям)"

Тест по дисциплине «Основы алгоритмизации и программирования»  Раздел: «Программирование на языке СИ/СИ++» специальности 230401 "Информационные системы (по отраслям)"...

Презентация на тему "Работа с массивами в языке программирования С"

Определение одномерных и двумерных массивов. Инициализация, примеры....

Презентации к урокам по теме «Основы программирования на языке Basic»

СПБ ГБОУ СПО Колледж Строительной Индустрии и Городского Хозяйства,      Тема работы: пакет презентаций к урокам по теме «Основы программирования на языке Basic»...

К олимпиаде по программированию. Тема "Длинная арифметика" (Язык программирования C++)

Разработка составлена в помощь студентам и содержит изложение материала по теме "Длинная арифметика", которая в литературе освещена не достаточно полно. Рассмотрены простейшие математические операции:...

"STEPS IN THE DEVELOPING OF COMPUTERS" - презентация по английскому языку "Этапы создания компьютеров" для специальности Программирование в компьютерных системах

"STEPS IN THE DEVELOPING OF COMPUTERS" - презентация по английскому языку "Этапы создания компьютеров" рассчитана для обучающихся СПО с информационно-технической специализацией, а также, кто интересуе...

Презентация по теме "Массивы" для языка программирования Python

Презентация по теме "Массивы" для языка программирования Python создана как дополнение к презентации Полякова по программированию в 10 классе...