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




Октября 2020 г. (четверг)

Дисциплина: Информатика и ИКТ

Группа: № 78

Урок № 9

Тема: Программирование циклов.

Цель: изучить операторы, используемые для программирования циклических алгоритмов.

Учебник: Информатика. Базовый уровень: ученик для 10 класса / И.Г. Семакин, Е.К. Хеннер, Т.Ю. Шеина. – 7-е изд. – М.: БИНОМ. Лаборатория знаний, 2017. – 264 с.: ил.

 

Посмотреть презентацию по теме урока можно ЗДЕСЬ

КОНСПЕКТ УРОКА

Программирование циклов

 

Рассмотрим приемы программирования циклов на Паскале. На уроках 33 - 35 "Программирование линейных алгоритмов" рассказывалось о том, что существуют две циклические алгоритмические структуры: цикл с предусловием (цикл-пока) и цикл с постусловием (цикл-до). Были показаны способы описания циклических структур в блок-схемах и на Алгоритмическом языке. Форматы соответствующих операторов цикла в Паскале следующие.

Цикл с предусловием (цикл-пока):

While < логическое выражение > Do < оператор >

Цикл с постусловием (цикл-до):

Repeat < оператор > Until < логическое выражение >

 

Различают циклы с заданным числом повторений и итерационные циклы.

На примерах конкретных задач рассмотрим приемы программирования циклов.

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

в пределе стремится к значению константы е = 2,71828182... Функция ех называется экспонентой, а логарифм по основанию е называется натуральным логарифмом: 1пх.

Требуется составить программу, вычисляющую эту константу по сумме числового ряда. Напомним, что символ «!» читается как «факториал» — функция, определенная следующим образом:

Если слагаемые в вычисляемом выражении обозначить так:

то обобщенная формула для i-го элемента будет следующей:

Нетрудно увидеть, что между элементами данной последовательности имеется зависимость:

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

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

Пример 1. Дано целое положительное значение N. Требуется вычислить сумму:

Ниже приводятся два варианта программы решения этой задачи. В первом варианте используется цикл с предусловием, во втором — цикл с постусловием.

Обратите внимание на то, как цикл с предусловием преобразуется в цикл с постусловием — условие цикла помещается после тела цикла и заменяется на противоположное:

Not(i ≤ N) = i > N.

И тот, и другой цикл повторят свое выполнение (N + 1) раз. Переменная i выполняет роль не только знаменателя в дроби 1/i!, но и является счетчиком числа повторений цикла. Такие переменные называются параметрами цикла. И еще: в цикле с постусловием служебные слова Repeat и Until сами выполняют роль операторных скобок. Поэтому писать Begin и End здесь не требуется.

Выполнение этих программ на компьютере для значения N = 7 приводит к следующему результату: Е=2,7182539.

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

В программе используется оператор цикла For, для которого существуют два варианта:

1) For <параметр цикла>:=<выражение 1> То <выражение 2>

Do <оператор>

2) For <параметр цикла>:=<выражение 1> Downto <выражение 2>

Do <оператор>

Здесь <параметр цикла> — имя простой переменной порядкового типа. Выполнение оператора For в первом варианте (То) происходит по следующей схеме.

1. Вычисляются значения <выражения 1> и <выражения 2>. Это делается только один раз при входе в цикл.

2. Параметру цикла присваивается значение <выражения 1>.

3. Значение параметра цикла сравнивается со значением <выражения 2>. Если параметр цикла меньше или равен этому значению, то выполняется тело цикла (<оператор>), в противном случае выполнение цикла заканчивается.

4. Значение параметра цикла изменяется на следующее значение в его типе (для целых чисел — увеличивается на единицу); происходит возврат к пункту 3.

Оператор цикла For объединяет в себе действия, которые при использовании цикла While выполняют различные операторы: присваивание параметру начального значения, сравнение его с конечным значением, изменение значения параметра на следующее.

Во втором варианте оператора For слово Downto буквально можно перевести как «вниз до». В таком случае параметр цикла изменяется по убыванию, т. е. при каждом повторении цикла параметр изменяет свое значение на предыдущее (равносильно i: =pred (i)).

Работая с оператором For, учитывайте следующие правила:

• параметр цикла не может иметь вещественного типа;• в теле цикла нельзя изменять переменную-параметр цикла;• при выходе из цикла значение переменной-параметра является неопределенным.

 

Рассмотрим пример программы, в которой в теле цикла будет присутствовать ветвление.

Пример 2. Составим программу проверки знаний учеником таблицы умножения. Компьютер задает ученику 10 вопросов на умножение чисел от 2 до 9. На каждое задание ученик вводит свой ответ, компьютер сообщает, верный ответ или нет.

На рисунке 3.16 приведена блок-схема такого алгоритма.

Обратите внимание на то, как отображается на блок-схеме цикл с параметром.

В этом алгоритме использована функция random (х), результатом выполнения которой является случайное целое число из диапазона от 0 до х - 1. Следовательно, выражение random (8)+2 принимает случайные значения от 2 до 9. Функция random называется датчиком случайных чисел.

На Паскале этот алгоритм программируется так:

А вот фрагмент интерфейса исполнения этой программы:

Сколько будет 4*8?21Неправильно! 4*8=32Сколько будет 6*9?54Правильно!

В программе используется стандартная процедура randomize. Ее исполнение производит установку случайного начального состояния датчика случайных чисел. Благодаря этому при повторном выполнении программы будут получаться разные последовательности случайных чисел.

Домашнее задание:

1. Выучите конспект.

Конспект сфотографировать и прислать в ВКонтакте:

1. Елене Анатольевне в ЛС.

2. Александру Седнёву в ЛС или на электронную почту sednyov@mail.ru Зайти на электронную почту можно здесь.

ВНИМАНИЕ!!!

При составлении конспекта обязательно!!! вначале написать свою фамилию и имя (можно простым карандашом), дату урока, номер урока, тему урока, а затем текст конспекта.

Образец оформления конспекта урока:

Иванова Анна Урок № 25 Дата: 20.03.20 Тема: Электрический ток в вакууме. Электронно-лучевая трубка. Вакуум – состояние газа, при котором молекулы успевают пролететь от одной стенки сосуда к другой, ни разу не испытав соударение друг с другом. …………………………………………………………………………………………………………… И так далее.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-11-23 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: