Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемЕвгения Огинская
1 Циклические алгоритмы
2 Область применения Циклические алгоритмы применяются для решения задач, в которых однотипные действия повторяются многократно. В языке программирования Паскаль существуют 2 типа циклических алгоритмов: цикл с параметром, цикл с условием.
3 Цикл с параметром Оператор цикл с параметром применяется тогда, когда заранее известно количество повторений одной и той же последовательности операторов. Существуют два вида цикла с параметром: цикл с нарастанием, цикл с убыванием.
4 Формат цикла с параметром ( цикл с нарастанием) For i:=m1 to m2 do ; где for – для; to – до, do – выполнять; i – параметр цикла, переменная целого типа; m1 – начальное значение параметра цикла; m2 – конечное значение параметра цикла; Если тело цикла состоит из нескольких операторов, то используется составной оператор. Начальное и конечное значение параметра цикла могут быть представлены константами, переменными или арифметическими выражениями.
5
Порядок выполнения Сначала вычисляются значения переменных m1 и m2; Переменной i присваивается начальное значение m1; Проверяется равно ли значение m1 значению m2; Если m1
6 Графическая схема i:=m1 i<=m2 Тело цикла i:=i+1 Да Нет
7 Формат цикла с параметром ( цикл с убыванием) For i:=m1 Downto m2 do ; где for – для; downto – назад (до), do – выполнять; i – параметр цикла, переменная целого типа; m1 – начальное значение параметра цикла; m2 – конечное значение параметра цикла
8 Графическая схема i:=m1 i>=m2 Тело цикла i:=i-1 Да Нет
9
Порядок выполнения Сначала вычисляются значения переменных m1 и m2; Переменной i присваивается начальное значение m1; Проверяется равно ли значение m1 значению m2; Если m1>m2, то выполняется тело цикла; Значение параметра цикла уменьшается на единицу. Затем опять выполняется тело цикла. Как только m1
10 Составить программу вывода на экран таблицы умножения на 9. program um9; var y,i:integer; begin for i:=1 to 10 do begin y:=i*9; writeln(y,'=9*',i); end; readln;end. Задачи табулирования функции Модифицировать программу: 1. Произвести вычисления до 9*144, произвольного числа, введённого с клавиатуры. 2. Написать программу для таблицы умножения на произвольное число, введённое с клавиатуры
11 Практикум по решению задач Вывести на экран в два столбика значения x от 1 до 10 и значения y=sin(x); Напечатать таблицу соответствия между весом в фунтах и килограммах для значений 1,2,…10 фунтов (1 фунт=453 г); Напечатать таблицу перевода расстояний в дюймах в сантиметры для значений 10,11,12,…22 дюйма ( 1 дюйм=25,4 мм)
12 Цикл с предварительным условием Цикл с предварительным условием (с предусловием) используется, как правило, в тех случаях, когда заранее неизвестно число повторений цикла и шаг цикла отличен от единицы
13 ФОРМАТ ЗАПИСИ ЦИКЛА С ПРЕДУСЛОВИЕМ: WHILE логическое выражение DO тело цикла; где WHILE(пока) и DO(выполнить)- служебные слова.
14 ГРАФИЧЕСКАЯ СХЕМА. Начальные присваивания Тело цикла условие Да Нет
15 Действие оператора: Предварительно проверяется значение логического выражения. Если оно истинно, выполняются тело цикла. Как только оно становится ложным, происходит выход из цикла. Если с самого начала значение логического выражения ложно, то операторы циклической части не выполняются ни разу. Если в циклической части стоит не один оператор, то тело цикла заключается в операторные скобки BEGIN - END, тогда оператор цикла принимает вид: WHILE логическое выражение DO BEGIN тело цикла END;
16 НАПРИМЕР: Пусть даны числа а и в(а>1), надо получить все члены бесконечной последовательности а, а 2, а 3, а 4... меньшие числа в. program stepeni; var a,b,p : real; begin writeln(введите а,в); readln(a,b); p:=a; while p
17 Примеры: 1. Дано положительное а. Найти наибольшее число вида 1/2 n,n>=0, меньшее а; 2. Дано действительное а. Найти среди чисел 1, 1+1/2, 1+1/2+1/3,... первое большее а; 3. Вычислить приближенное значение бесконечной суммы : а) до 2/2; б) в)1-... /4; г) 1
18 Начало S:=0 x:=10 a:=random(100) N N<>A x:=x-1 N
19 Цикл с постусловием Цикл с последующим условием (с постусловием) используется в тех случаях, когда заранее неизвестно число повторений цикла и (или) шаг цикла не равен единице. Тело цикла выполняется хотя бы один раз, поэтому при выборе вида цикла необходимо определить, должно ли тело цикла выполняться по крайней мере один раз.
20 ФОРМАТ ЗАПИСИ ЦИКЛА С ПОСТУСЛОВИЕМ: REPEAT тело цикла UNTIL логическое выражение ; где REPEAT (повторять) и UNTIL (до тех пор)- служебные слова.
21 ГРАФИЧЕСКАЯ СХЕМА Начальные присваивания Тело цикла Логическое выражение Да Нет
22 Действие оператора: Операторы циклической части выполняются повторно (по крайней мере один раз) до тех пор, пока значение логического выражения ложно. Условием выхода из цикла является исполнение логического выражения (логическое выражение имеет значение – истина).
23 Между циклами с последующим и циклом с предварительным условием существуют 3 различия: 1. В конструкции WHILE... DO проверка условия выхода из цикла выполняется в начале цикла, поэтому цикл может не выполняться ни разу, в конструкции REPEAT... UNTIL тело цикла один раз выполняется всегда. 2. В конструкции WHILE... DO условие выхода удовлетворяется, если логическое выражение ложно, а в конструкции REPEAT... UNTIL - если это выражение истинно. 3. Между служебными словами REPEAT... UNTIL может размещаться несколько команд, а в конструкции WHILE... DO только одна команда.
24 Пусть даны числа а и в(а>1), и надо получить все члены бесконечной последовательности а, а 2, а 3, а 4... меньшие числа в. program stepeni; var a, b, c : real; begin writeln(введите а,в); readln(a,b); c:=a; repeat writeln (c); c:=c*a; until c>b end.
25 Гражданин 1 марта открыл счёт в банке, вложив 1000 рублей. Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Определить в какой месяц величина ежемесячного увеличения вклада превысит 30 рублей. Program dengi; var n:integer; a,c:real; begin a:=1000; с:=1;n:=0; while c<30 do begin c:=a*2/100; a:=a+c; n:=n+1; end; writeln (n); end. (отв. 22 мес.) Начало A:=100 С:=1 n:=0 C<3 0 n:=n+1 a:=a+c c:=a*2/100 N Конец
26 Задание для практической работы: Гражданин 1 марта открыл счёт в банке, вложив 1000 рублей. Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. (отв.10 мес.) Определить, через сколько месяцев размер вклада превысит 1200 руб. Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий день он увеличивал величину пробега на 10% от пробега предыдущего дня. Определить: 1. В какой день он пробежит больше 20 км (отв. 8) 2. В какой день суммарный пробег за все дни превысит 100 км (отв. 25) В некотором году ( первом) на участке в 100 гектаров средняя урожайность составляла 20 центнеров с гектара. После этого площадь участка увеличивалась на 5 %, а средняя урожайность на 2%. Определить: 1. В каком году урожайность превысит 22 центнера с гектара; 2. В каком году площадь участка станет больше 120 гектаров; 3. В каком году общий урожай, собранный за все время, начиная с первого года, превысит 800 центнеров.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.