Циклы в С/С++

Содержание

Слайд 2

Содержание занятия

Содержание занятия

Слайд 3

1. Повторение

Задание 1.1. Устный опрос. Подробнее>> Задание 1.2. Перевод на язык программирования

1. Повторение Задание 1.1. Устный опрос. Подробнее>> Задание 1.2. Перевод на язык
команд. Подробнее>> Задание 1.3. Продолжить. Подробнее>>

Слайд 4

Задание 1.1. Устный опрос

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните

Задание 1.1. Устный опрос Для просмотра ответа щелкните мышью Для просмотра ответа
мышью

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Слайд 5

Задание 1.2. Перевести на язык программирования следующие команды

Для
просмотра
ответа
щелкните
мышью

Задание 1.2. Перевести на язык программирования следующие команды Для просмотра ответа щелкните мышью

Слайд 6

Задание 1.3. Продолжить

Для
просмотра
ответа
щелкните
мышью

Задание 1.3. Продолжить Для просмотра ответа щелкните мышью

Слайд 7

2. Самоконтроль

Задание 2.1. Найти и объяснить ошибки. Подробнее>>
Задание 2.2. Записать в сокращенном

2. Самоконтроль Задание 2.1. Найти и объяснить ошибки. Подробнее>> Задание 2.2. Записать
виде операции. Подробнее>>
Задание 2.3. Записать цикл. Подробнее>>
Задание 2.4. Определить значение переменной. Подробнее>>
Задание 2.5. Чему равны значения переменных после выполнения последовательных действий. Подробнее>>
Слово учителя. Подробнее>>
Перечень возможных ошибок. Подробнее>>

Слайд 8

Задание 2.1. Найти и объяснить ошибки

Для
просмотра
ответа
щелкните
мышью

Задание 2.1. Найти и объяснить ошибки Для просмотра ответа щелкните мышью

Слайд 9

Задание 2.2. Записать в сокращенном виде операции

Для
просмотра
ответа
щелкните
мышью

Задание 2.2. Записать в сокращенном виде операции Для просмотра ответа щелкните мышью

Слайд 10

Задание 2.3. Записать цикл

Для
просмотра
ответа
щелкните
мышью

Задание 2.3. Записать цикл Для просмотра ответа щелкните мышью

Слайд 11

Задание 2.4. Определить значение переменной с

Для
просмотра
ответа
щелкните
мышью

Задание 2.4. Определить значение переменной с Для просмотра ответа щелкните мышью

Слайд 12

Задание 2.5. Определить, что будет напечатано в результате работы фрагмента программы

Для
просмотра

Задание 2.5. Определить, что будет напечатано в результате работы фрагмента программы Для

ответа
щелкните
мышью

Для
просмотра
ответа
щелкните
мышью

Слайд 13

Что нужно знать:
сложность базовая;
время на решение каждой задачи 1-2 минуты.
проверяется умение построить

Что нужно знать: сложность базовая; время на решение каждой задачи 1-2 минуты.
алгоритм ветвления и цикла по заданным входным данным.
Не забывать:
что начальные значения переменных не всегда равны нулю;
значения каких переменных надо выводить.

Задания 2.4 и 2.5 соответствуют заданиям В2 и В5 из ЕГЭ

Слайд 14

Перечень возможных ошибок

1. Синтаксические ошибки.
2. Ошибки в вычислениях.
3. Ошибки в обозначении операций

Перечень возможных ошибок 1. Синтаксические ошибки. 2. Ошибки в вычислениях. 3. Ошибки
отношения и логических операций (!=, ==, ||, &&).
4. Операции отношения и логические операции в условных операторах и циклах должны быть заключены в скобки ().
5. Скобки { } должны быть парными.
6. В процессе выполнения программы происходит обновление данных.

Слайд 15

3. Разбор задач

Рекомендации по использованию циклов. Подробнее>>
Вопросы для обсуждения. Подробнее>>
Задача 1. Подробнее>>
Задача

3. Разбор задач Рекомендации по использованию циклов. Подробнее>> Вопросы для обсуждения. Подробнее>>
2. Подробнее>>
Задача 3. Подробнее>>

Слайд 16

Рекомендации по использованию циклов

1. Если в теле цикла больше одного оператора, тело

Рекомендации по использованию циклов 1. Если в теле цикла больше одного оператора,
цикла заключается в скобки { }.
2. В операторе цикла do ... while скобки { } обязательны.
3. В условных циклах обязательно должен быть оператор, влияющий на изменение условий.
4. В условных циклах, переменные входящие в условия, должны быть определены до цикла.
5. Цикл с постусловием do ... while рекомендуется применять для проверки правильности ввода данных, или когда цикл должен быть выполнен хотя бы один раз.
6. Оператор цикла с предусловием while удобнее использовать в случаях, когда число итераций заранее неизвестно.
7. Оператор for предпочтительнее в большинстве остальных случаев (однозначно – для организации циклов со счетчиками).

Слайд 17

Вопросы для обсуждения

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Вопросы для обсуждения Для просмотра ответа щелкните мышью Для просмотра ответа щелкните

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Слайд 18

Задача 1 Используя цикл for, напишите программу, которая определяет среднее арифметическое всех

Задача 1 Используя цикл for, напишите программу, которая определяет среднее арифметическое всех
чисел на отрезке [a,b]

c3_1_z1

Слайд 19

Задача 2 Используя цикл while, напишите программу, которая определяет среднее арифметическое всех

Задача 2 Используя цикл while, напишите программу, которая определяет среднее арифметическое всех
чисел на отрезке [a,b]

c3_1_z2

Слайд 20

Задача 3 Решить предыдущую задачу с проверкой ввода интервала

Вопросы для обсуждения:

Для просмотра

Задача 3 Решить предыдущую задачу с проверкой ввода интервала Вопросы для обсуждения:
ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

c3_1_z3

Слайд 21

4. Задачи для самостоятельного решения

4а. Задачи для обязательного решения. Подробнее>>
4а. Задачи для

4. Задачи для самостоятельного решения 4а. Задачи для обязательного решения. Подробнее>> 4а.
самостоятельного решения. Подробнее>>
4в. Задачи для подготовки к ГИА и ЕГЭ. Подробнее>>

Слайд 22

4а. Задачи для обязательного решения

4.1. Напечатать 10 раз столбиком и строкой слово

4а. Задачи для обязательного решения 4.1. Напечатать 10 раз столбиком и строкой
“komp”.
Алгоритм. Для вывода в столбик использовать endl, для вывода в строку endl заменить на разделитель “ “ .
4.2. По введенному числу n вычислить n!.
Алгоритм. Применить алгоритм нахождения произведения. Не забывать присваивать в начале значение 1 переменной (f=1), в которой будет храниться произведение. f=1; f=f*i.
4.3. По трем заданным числам определить и вывести на экран число, имеющее в своем составе больше всего единиц.
Алгоритм. Для хранения вводимых данных ввести дополнительные переменные. Используя операции целочисленного деления и цикл найти количество единиц в каждом числе. Далее решение задачи сведется к алгоритму нахождения наибольшего из трех чисел.
4.4. Определить, является ли введенное число палиндромом.
Алгоритм. Необходимо перевернуть введенное число и сравнить его с оригиналом. Алгоритм перевертывания:
123 ? 3*100 +2*10+1.

Для просмотра ответа щелкните мышью

Для просмотра ответа щелкните мышью

Для просмотра ответа щелкните мышью

Для просмотра ответа щелкните мышью

C4_1

C4_2

C4_3

C4_4

Слайд 23

4а. Задачи для самостоятельного решения

4.5. Дано десятичное число. Определить, сколько нулей и

4а. Задачи для самостоятельного решения 4.5. Дано десятичное число. Определить, сколько нулей
единиц в его двоичном представлении.
Алгоритм. Применить алгоритм перевода числа из 10 СС в 2 СС. В цикле делим число на 2 до тех пор, пока оно не станет равным нулю, при этом подсчитываем количество остатков равных 1 и 0.
4.6. Вычислить s=x/1! + x/2! + x/3! + .. + x/n!.
Алгоритм. Применить алгоритм суммирования, рекурсию и алгоритм задачи 4.2.
4.7. Напишите программу, которая находит произведение двух наибольших чисел из последовательности натуральных чисел. Программа получает на вход натуральные числа, количество введённых чисел не известно, последовательность чисел заканчивается числом 0. Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Алгоритм. По условию задачи числа натуральные, поэтому в начале max1=max2=0.Числа вводим до тех пор, пока вводимое число станет =0. Если вводимое число a > max1, то заменяем max2 на max1, a max1=a. Особенность – вводимое число м.б. < max1, но > max2, поэтому нужно заменять max2 на это число.

Для просмотра ответа щелкните мышью

Для просмотра ответа щелкните мышью

Для просмотра ответа щелкните мышью

C4_5

C4_6

C4_7

Слайд 24

4в. Задачи для подготовки к ГИА и ЕГЭ

4.8. Напишите программу, которая в

4в. Задачи для подготовки к ГИА и ЕГЭ 4.8. Напишите программу, которая
последовательности целых чисел определяет произведение двух наибольших чисел. Программа получает на вход целые числа, количество введённых чисел не известно, но не больше 1000. Последовательность чисел заканчивается числом 0. Введённые числа по модулю не превышают 30 000.
Алгоритм. Использовать алгоритм задачи 4.7. Наибольшее произведение могут дать как 2 положительных числа, так и 2 отрицательных. В последовательности находим 2 максимальных и 2 минимальных числа, и определяем наибольшее произведение.
4.9. Напишите программу, которая из введенного с клавиатуры натурального числа удаляет все цифры 5. Программа получает на вход целое число, не превышающее 30 000. Программа должна вывести одно число – число, полученное из исходного, после удаления всех цифр 5 из его записи.
Алгоритм. Делим число до тех пор, пока оно не станет =0. Если цифра числа не равна 5 - оставляем ее. Используем позиционность 10 СС. Особенность: оставшиеся цифры должны сохранять последовательность. k=k*10 отвечает за сдвиг числа влево каждый раз на разряд, а - z*k цифра z в своем разряде. Пример. Дано число 1253, получим новое n = 1 +2 *10 + 1* 100 = 123.
4.10. Напишите программу, которая в последовательности целых чисел находит наименьшие порядковые номера двух соседних чисел, произведение которых меньше 50. Программа должна вывести 2 числа (разделенных пробелом) – порядковые номера двух соседних чисел, произведение которых меньше 50.
Алгоритм. Для решения этой задачи лучше использовать цикл do…while. Находим произведение двух чисел – предыдущего и текущего. Если произведение чисел > 50, опять переходим к вводу нового числа, до тех пор - пока оно будет < 50. Также считаем количество введенных чисел, чтобы определить порядковые номера двух соседних чисел, дающих такой результат.

Для просмотра ответа щелкните мышью

Для просмотра ответа щелкните мышью

Для просмотра ответа щелкните мышью

C4_8

C4_9

C4_10

Слайд 25

5. Задачи повышенной сложности

Задача 5.1, 5.2, 5.3. Подробнее>>
Задача 5.4, 5.5, 5.6. Подробнее>>

5. Задачи повышенной сложности Задача 5.1, 5.2, 5.3. Подробнее>> Задача 5.4, 5.5, 5.6. Подробнее>>

Слайд 26

5.1. Для заданных чисел a и b (a>1) найти такое наименьшее целое

5.1. Для заданных чисел a и b (a>1) найти такое наименьшее целое
натуральное число k, что ak>b.
Алгоритм. Возведение в степень – это сокращенная форма умножения. Умножаем число само на себя до тех пор, пока результат не станет больше заданного. Количество умножений даст число k.
5.2. Для заданного натурального числа n найти такое наименьшее число k, что к!>=n.
Алгоритм. Использовать алгоритм задачи 4.2.
5.3. Напишите программу, которая в последовательности целых чисел, не превышающих по модулю 30000, находит 3-е положительное число и его порядковый номер. Программа должна вывести 2 числа (разделенных пробелом) – это число и его порядковый номер. Если такого числа нет – сообщение “no”.
Алгоритм. Организовать счетчик по количеству введенных положительных чисел и количеству введенных чисел. Как только встретится 3-е положительное число или число равное 0 – цикл прекратит работу.

Задача 5.1, 5.2, 5.3

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

C5_1

C5_2

C5_3

Для просмотра ответа
щелкните мышью

Слайд 27

5.4. Известно, что число делится на 3, когда сумма его цифр делится

5.4. Известно, что число делится на 3, когда сумма его цифр делится
на 3. Проверить этот признак на примере заданного натурального числа n.
Алгоритм. Используя операции целочисленного деления найти сумму цифр числа s, проверить на кратность 3 (s % 3 = 0).
5.5. Посчитать сумму таких натуральных чисел, у которых удалены все четные цифры.
Алгоритм. Организовать вложенные циклы. Во внутреннем цикле из числа удалить все четные цифры (алгоритм задачи № 4.9), во внешнем - подсчитать сумму чисел.
5.6. Напишите программу, которая в последовательности целых чисел, не превышающих по модулю 500, находит и выводит среднее арифметическое всех положительных чисел, которые кратны первому введенному числу. Если таких чисел нет, нужно вывести сообщение «no».
Алгоритм. Ввести до цикла 1- число. В цикле проверять: вводимое число на кратность первому, положительность, подсчитать количество таких чисел.

Задача 5.4, 5.5, 5.6

Для просмотра ответа
щелкните мышью

Для просмотра ответа
щелкните мышью

C5_4

C5_5

Для просмотра ответа
щелкните мышью

C5_6

Слайд 28

6. Подведение итогов

Вызвать итоговую таблицу

6. Подведение итогов Вызвать итоговую таблицу

Слайд 29

7. Материалы для самоподготовки и самообразования

7. Материалы для самоподготовки и самообразования

Слайд 30

Чтобы научиться бегать, нужно сначала научиться ходить

1. В чем отличие цикла do

Чтобы научиться бегать, нужно сначала научиться ходить 1. В чем отличие цикла
.. while от цикла while?
2. Можно ли цикл for заменять циклом while?
3. Какой цикл удобнее использовать для проверки корректности вводимых данных?
4. Когда тело цикла заключается в операторные скобки?
5. В чем особенности применения оператора цикла while?
6. В чем особенности применения оператора цикла do … while?
7. Как Вы понимаете эпиграф к занятию?
Имя файла: Циклы-в-С/С++.pptx
Количество просмотров: 31
Количество скачиваний: 0