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


Т

Урок 44

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


Цель урока:


  1. Образовательные:

  • Познакомиться с новым типом оператора языка Turbo Pascal – циклический оператор с предусловием, его особенностями исполнения.

  • Обеспечить усвоение учащимися реализации циклических алгоритмов при решении конкретных задач.

  1. Воспитательные:

  • Воспитать познавательную потребность, интерес к предмету.

  1. Развивающие:

  • Развить логическое мышление.


План урока.


1. Лекционная часть.

  • Основные этапы решения задач на ЭВМ.

  • Задача из области комбинаторики – число сочетаний, понятие «факториал».

  • Цикл с предусловием - «пока». Использование составного оператора.


2. Практическая часть.

  • Использование циклического оператора при решении задач.

  • Экспериментальная часть.

3. Задание на дом.

1.1. Этапы решения задач на ЭВМ

1. Постановка задачи.

2. Математическая модель.

3. Построение алгоритма.

4. Перевод алгоритма в программу.

5. Отладка и тестирование программы.

6. Проведение расчетов и анализ полученных результатов.


1.2. Задача «Комбинаторика»


Дано N кубиков, на которых написаны разные буквы. Сколько различных N-буквенных сочетаний можно составить из этих кубиков (слова не обязательно должны иметь смысл)?

Дано: N

Найти: F


Количество различных комбинаций из N предметов, получаемых изменением их порядка, называется числом перестановок. Это число выражается функцией от N, которая называется факториалом и записывается так:


N !N факториал

1! = 1 F(N) = N! = 1*2*3*…*N

2! = 1 × 2 = 2

3! = 1 × 2 × 3 = 6

4! = 1 × 2 × 3 × 4 = 24

5! = 1 × 2 × 3 × 4 × 5 = 120 и т.д.



Довольно часто при решении задач возникает необходимость выполнять одни и те же операции несколько раз. Для более компактной реализации этих операций во всех языках используются циклические конструкции, суть которых заключается в том, что вместо многократного переписывания одних и тех же строк программы управление в нужном месте передается предыдущим операторам с тем, чтобы они повторялись.


Различают три вида циклических структур:

1) Циклы с предусловием.

2) Циклы с постусловием.

3) Циклы с параметром.


1.3. Цикл с предусловием (цикл ПОКА)

– наиболее универсальная циклическая структура.

Блок-схема цикла «ПОКА»













P- это логическое выражение или условие; тело цикла – это один или несколько операторов.

Цикл «пока» выполняется до тех пор, пока условие истинно.

Если тело цикла содержит более одного оператора, то они заключаются в операторные скобки BeginEnd.

Цикл ПОКА на языке Паскаль


While <условие> do <оператор>;

Пример:

Написать программу решения задачи «Комбинаторика».

Program Words;

Var F, N, R: Integer;

begin

Write(‘введите число букв n=’);

Readln(n);

F:=1; R:=1;

while R<=N do

Begin

F:=F * R;

R:=R + 1;

End;

writeln(‘Из ’,N, ‘букв можно составить‘, F, ‘ слов’);

readln

End.

2. Практическая работа.


Ввести и отладить программу вычисления факториала (§12.6 стр.375 учебника).

Протестировать на значении N=6 (ответ – 720 слов)

3. Домашнее задание: §12.6 (изучить), учить конспект, к §12.7 №7 письменно

Слайд 1
Программирование циклов Паскаль. 9 класс Криворотова Л.Н. МОУ"Гимназия №5", г.Тырныауз
Слайд 2
ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА ЭВМ • 1. Постановка задачи. • • • • 2. Математическая модель. 3. Построение алгоритма. 4. Перевод алгоритма в программу. 5. Отладка и тестирование программы. • 6. Проведение расчетов и анализ полученных результатов. Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 3
Задача • Дано N кубиков, на которых написаны разные буквы. Сколько различных N-буквенных сочетаний можно составить из этих кубиков (слова не обязательно должны иметь смысл)? • Дано: N К И • Найти: F ИК Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз КИ
Слайд 4
Комбинаторика Количество различных комбинаций из N предметов, получаемых изменением их порядка, называется числом перестановок. Это число выражается функцией от N, которая называется факториалом и записывается так: N! – N факториал 1! 2! 3! 4! 5! = = = = = 1 1 1 1 1 × × × × 2 2 2 2 = × × × F = N! = 1 × 2 × … × N 2 3=6 3 × 4 = 24 3 × 4 × 5 = 120 и т.д. Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 5
Цикл с предусловием, «пока». WHILE … DO Цикл – это команда исполнителю многократно повторить указанную последовательность команд. • WHILE условие DO оператор (тело цикла) ; • Цикл выполняется до тех пор, пока истинно условие • Если несколько операторов в теле цикла, то использовать BEGIN …. END Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 6
Блок-схема цикла с предусловием While (x
Слайд 7
Практическая работа •Ввести и отладить программу вычисления факториала (стр.375). •Протестировать на значении N=6 (ответ – 720 слов) Домашнее задание Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз §12.6 №7 к §12.7
Слайд 8
Алгоритм Евклида Наибольший общий делитель двух натуральных чисел (НОД) – это самое большое натуральное число, на которое они делятся нацело. НОД(12, 18) = 6 Постановка задачи Дано: M, N Решение задачи Из большего числа вычесть меньшее Найти: НОД(N,M) до тех пор пока числа не будут Криворотоваравны. Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 9
Блок-схема Program Evklid; Var M, N: integer; Begin Writeln(‘Введите M и N’); Readln(M, N); While M > N do begin if M>N then M:=M-N else N:=N-M end; Write(‘НОД=’, M); Readln End. Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 10
Практическая работа • №7 Цикл с предусловием Program Summa1; Var S, N, a: integer; Begin Writeln(‘Введите N’); Readln(N); a:=1; S:=0; While a
Слайд 11
Домашнее задание • § 12.6, 12.7 (читать, отвечать на вопросы: №1-6 устно, № 8 письменно) §12.7, §12.6 №8 Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 12
Программирование циклических алгоритмов Существуют 3 разновидности циклов: • Цикл “Пока”, • Цикл “До”, • Цикл “Для”. Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 13
Цикл со счетчиком (для) в котором тело цикла выполняется определенное количество раз I: = A, B I>B (счетчик) I≤B Тело цикла Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 14
Цикл с увеличением параметра FOR I:= A TO B DO ; I – параметр, увеличивается на 1 A – начальное значение B – конечное значение Тело цикла – один оператор!!! Или – скобки BEGIN … END; Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 15
Цикл с уменьшением параметра • FOR I:=A DOWNTO B DO ; • выполняется аналогичным образом, но значение параметра уменьшается на 1. Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 16
Цикл с постусловием, цикл «до» Операторы REPEAT … UNTIL Формат оператора: REPEAT {повторять} UNTIL условие ; {до тех пор, пока не} Цикл выполняется пока условие не станет истинным! Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 17
Блок-схема тело цикла нет условие да • Тело цикла может содержать любое количество операторов без использования операторных скобок. • Проверка условия происходит не до, а после очередного выполнения цикла. • Цикл REPEAT выполняется хотя бы один раз, цикл WHILE может не выполниться ни разу. • Условие в цикле «до» является условием выхода из цикла, а в цикле «пока» – условием продолжения цикла. Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 18
№7. Найти сумму всех положительных целых чисел, не превышающих данного натурального числа N. Цикл с постусловием Цикл с параметром Program Summa2; Program Summa3; Var S, N, a: integer; Var S, N, a: integer; Begin Begin Writeln(‘Введите N’); Writeln(‘Введите N’); Readln(N); Readln(N); a:=1; S:=0; S:=0; Repeat For a:= 1 to N do S:=S+a; S:=S+a; a:=a+1; Write(‘сумма =’, S); Until a>N Readln Write(‘сумма =’, S); End. Readln End. Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 19
Практическая работа • Программа будет состоять из трех частей, в которых повторяется решение одной и той же задачи с использованием операторов цикла while, repeat и for. • Наберите и отладьте программу, убедитесь в том, что все три результата одинаковые. • Тест: при N=10 S=55 Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз
Слайд 20
Домашнее задание §12.7, №8 §4.4.3 том1 • § 4.4.3. (том 1) – учить циклы • №8 к §12.7 – решить 3-мя способами Примечание: Вычислить XN P=XN ; P=X * X * X *…* X – N раз В цикле вычисляется P=P * X. Начальное значение Р=1. Криворотова Л.Н. МОУ "Гимназия №5", г.Тырныауз

Полный текст материала Программирование циклов смотрите в скачиваемом файле.
На странице приведен фрагмент.
Автор: Криворотова Лариса Николаевна  klarisa
12.11.2009 3 7472 2335

Спасибо за Вашу оценку. Если хотите, чтобы Ваше имя
стало известно автору, войдите на сайт как пользователь
и нажмите Спасибо еще раз. Ваше имя появится на этой стрнице.



А вы знали?

Инструкции по ПК