Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемАлександра Пехтерева
2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов (Цикл for ) цикл с неизвестным числом шагов (цикл с условием) Телом цикла называют действие, повторяемое в цикле. Повторим: Дайте определение цикла. Когда в программе есть смысл использовать цикл? Какие виды циклов вам известны? Что называют телом цикла? Проверим: 2
3 Цикл for позволяет выполнить серию действий заданное число раз. Общая форма цикла for Повторим start–начальное значение целочисленной переменной, limit –конечное значение for i:=start to limit do тело цикла for i:=start downto limit do тело цикла 3
4 Сначала проверяется условие. Если оно истинно, то тело цикла выполняется, затем условие проверяется снова, и процесс повторяется. Если условие ложно, то цикл завершается, входа в тело цикла не происходит, и следующим выполняется предложение, стоящее непосредственно после цикла. Таким образом, после while ставится условие работы цикла. Проверка условия производится до выполнения цикла. Пример оператора цикла с предусловием: k := 20; while k > 0.1 do k := k / 2; Цикл с предусловием 4
5 используется в задачах, когда неизвестно число повторений цикла; условие проверяется до входа в цикл; тело выполняется если условие истинно; тело может ни разу не выполниться; тело цикло должно влиять на условие выхода из цикла. после while ставится условие работы цикла. Цикл с предусловием 5
6 while do begin {тело цикла} end; Особенности: можно использовать сложные условия: если в теле цикла только один оператор, слова begin и end можно не писать: while (a < b) and (b < c) do begin {тело цикла} end; while a < b do a := a + 1; 6
7 Особенности: условие пересчитывается каждый раз при входе в цикл если условие на входе в цикл ложно, цикл не выполняется ни разу если условие никогда не станет ложным, программа зацикливается a := 4; b := 6; while a > b do a := a – b; a := 4; b := 6; while a < b do d := a + b; Цикл с предусловием 7
8 8 Сколько раз выполняется цикл? a := 4; b := 6; while a < b do a := a + 1; 2 раза a = 6 2 раза a = 6 a := 4; b := 6; while a < b do a := a + b; 1 раз a = 10 1 раз a = 10 a := 4; b := 6; while a > b do a := a + 1; 0 раз a = 4 0 раз a = 4 a := 4; b := 6; while a < b do b := a - b; 1 раз b = -2 1 раз b = -2 a := 4; b := 6; while a < b do a := a - 1; зацикливание
9 Пример 1 Задача: Найти наименьшее целое положительное число, факториал которого не меньше Идея решения: Последовательно перемножаем все натуральные числа. Проблема: Неизвестно, сколько шагов надо сделать. Решение: Надо остановиться, когда произведение превысит 10 15, т.е. Fakt < Факториалом целого положительного числа N называется произведение всех целых чисел от 1 до N. 5!=1*2*3*4*5 9
10 10 Программа 1 program cikl_2; const A = 1.0E+15; var N:integer; Fact: real; begin N:=1; Fact:=1; while Fact < A do begin N:=N+1; Fact:= Fact*N; end; writeln('N=',N,' Fact=',Fact); end.
11 Пример 2 «3»(2 стр. 154) Задача: Дано натуральное число N. Найти количество цифр в десятичной записи числа N Идея решения: Отсекаем последовательно последнюю цифру, N := n div 10 – отсекаем последнюю цифру увеличиваем счетчик. Проблема: Неизвестно, сколько шагов надо сделать. Решение: Надо остановиться, когда n = 0, т.е. надо делать «пока n 0». Nschetchik
12 12 Алгоритм начало count конец нет да N 0? k := 0 ; k := k + 1; N:= N div 10; обнулить счетчик цифр ввод n выполнять «пока N 0»
13 13 Программа 2 program cikl_while_2; var N, k: integer; begin writeln('Введите целое число'); read(N); k := 0; while N 0 do begin k := k + 1; N := N div 10; end; writeln('В числе ', N, ' нашли ', k, ' цифр'); end. program cikl_while_2; var N, k: integer; begin writeln('Введите целое число'); read(N); k := 0; while N 0 do begin k := k + 1; N := N div 10; end; writeln('В числе ', N, ' нашли ', k, ' цифр'); end. while N 0 do begin k := k + 1; N := N div 10; end;, N1: integer; N1 := N; N1, выполнять «пока N 0» Что плохо? ?
14 Пример 3 «4» ( 3 стр. 155) Задача: Дано натуральное N. Найти количество цифр в десятичной записи числа, равных 1. Идея решения: вводим число, обнуляем счетчик Используем идею цикла предыдущей задачи: while N 0 do Отсекаем последнюю цифру, если N mod 10 = 1, то увеличиваем счетчик на 1 готовим число к проверке следующей цифры N := N div 10 (– отбрасываем младшую цифру числа) Nschetchik
15 Пример 4 «5» ( 3 стр. 155) Задача: Вводится натуральное число N. Найти среднее арифметическое цифр данного числа не равных 0 Идея решения: Используем идею цикла предыдущей задачи: while N 0 do Отсекаем последнюю цифру, если цифра не 0, то находим сумму таких цифр Sum:=Sum + младшая цифра готовим число к проверке следующей цифры N := N div 10 (– отбрасываем младшую цифру числа) 15
16 ДОМАШНЕЕ ЗАДАНИЕ: п.11 (5) стр 138 – стр
17 Пройдите за компьютеры 17
18 18 Практические задания «3»: 2 стр. 154 Дано натуральное число N. Найти количество цифр в десятичной записи числа N «4»: 3 стр. 155 Дано натуральное N. Найти количество цифр в десятичной записи числа, равных 1. «5»: 4 стр.155 Вводится натуральное число N. Найти среднее арифметическое цифр данного числа не равных 0
19 М.Е. Фиошин, А.А. Рессин, С.М. Юнусов. Информатика и ИКТ. Профильный уровень. Часть 2.. М.: «ДРОФА», 2008 г. А. А Овчинников. Основы программирования на Паскаль АВС. Пособие для учащихся. г. Волгоград г. Презентация К.Ю. Полякова 7 класс_Паскаль: 19
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.