Комбинированное

Download Report

Transcript Комбинированное

Шутилина Л.А.
[email protected]
Повторим вместе…
1. Что называется циклом параметрами?
2. Формат записи цикла с параметрами?
3. Как в цикле записать команду присваивания,
чтобы она вычисляла сумму чисел? Количество?
4. Какое начальное значение должно быть у
переменной, в которой накапливаем
произведение чисел?
5. Формат записи параметрического цикла, в
которой счетчик цикла уменьшается?
6. Можно ли изменять значение верхней границы
цикла в теле цикла?
7. Можно ли в теле цикла использовать команду
сравнения?
Основные наши задачи
1.
2.
3.
Дать определение вложенному циклу.
В каких программах данную разновидность
параметрических циклов необходимо
применять.
Правила записи параметрических
вложенных циклов.
Вложенный параметрический цикл
Итак, цикл называется вложенным, если
он находится в теле другого цикла.
for i:=0 to n do
begin
for j:=0 to m do
begin
for k:=0 to w do
begin
<оператор>
end;
end;
Цикл i
end;
Внутренний цикл должен полностью
находиться в теле внешнего цикла.
Цикл j
Цикл k
Алгоритмическая конструкция
данного вложенного цикла
Для I:=1 до n с
шагом +1 выполнять
Для j:=1 до m с
шагом +1 выполнять
Для k:=1 до w с
шагом +1 выполнять
Тело цикла
Задача
В кассе есть монеты по 2, 5 и 10 копеек.
Сколькими способами можно выдать сдачу
на некоторую сумму Sum?
Program EX1;
Uses Crt;
Var Sum, Xmax, Ymax, Zmax, x, y, z, p:integer;
Begin
Clrscr;
Writeln ('Vvedite Summu'); Readln (Sum); p:=0;
Xmax:=Sum div 2; Ymax:=Sum div 5; Zmax:=Sum div 10;
Writeln (' 2 5 10 Vsego monet');
Writeln ('______________________');
for x:=0 to Xmax do
for y:=0 to Ymax do
for z:=0 to Zmax do
if 2*x+5*y+10*z=Sum then
begin
writeln(x:3,y:3,z:3,x+y+z:8);
p:=p+1;
end;
If p=0 then writeln('Variantov net‘) else writeln ('Vsego ', p,' variantov');
readln;
End.
Итоги занятия
1. Какой цикл можно назвать вложенным?
2. Какие правила записи вложенных циклов?
3. Могут ли циклы «пересекаться» друг с другом?
4. Для чего нужно стараться сократить количество
повторений циклов?
Решаем вместе на занятии
1. Определить сколько существует «счастливых» автобусных
билетов в одной серии с номерами от 000000 до 999999.
«Счастливым» считается билет, сумма первых трех цифр
которого равна сумме вторых трех цифр.
2. С клавиатуры вводится 10 различных произвольных чисел.
а) Найти разность между наибольшим и наименьшим из них.
б) Порядковый номер наибольшего и наименьшего числа.
3. Вычислить:
y  1
2  ... 10
Эту задачу нужно решать с конца, т.е., использовать цикл с
уменьшающимся счетчиком.