Разделы презентаций


Вложенные циклы

Повторение1. Дана последовательность операторов: а := 1; b := 1; while a + b < 8 do begin а := а + 1;

Слайды и текст этой презентации

Слайд 1Вложенные циклы

Вложенные циклы

Слайд 2Повторение
1. Дана последовательность операторов:
а := 1;
b := 1;
while a

+ b < 8 do
begin

а := а + 1;
b := b + 2;
end;
s := a + b;

Сколько раз будет повторен цикл, и какими будут значения переменных а, b, и s после завершения этой последовательности операторов?

Повторение1. Дана последовательность операторов:	а := 1; 	b := 1;				while a + b < 8 do

Слайд 3Повторение
2. Определить значение переменной s после выполнения следующих операторов:
s :=

0;
i := l;
Repeat

s := s + 5 div i;
i := i - l;
Until i <= 1;
Повторение2. Определить значение переменной s после выполнения следующих операторов:		s := 0; 	     i

Слайд 4 При решении некоторых задач приходится использовать вложенные циклы.

Внутренний и внешний циклы могут быть любыми из трех рассмотренных

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

Вложенные циклы

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

Слайд 5Задача 1. Написать программу, которая находит и выводит на печать все

четырехзначные числа abcd, числа a, b, c, d - различные

цифры, для которых выполняется условие: ab — cd = a + b + c + d.

Задачу можно решать несколькими способами.

Задача 1. Написать программу, которая находит  и выводит на печать все четырехзначные числа abcd, числа a,

Слайд 61 способ. Перебор всех четырехзначных чисел и проверка для каждого

из них выполнения условий.
Var x, a, b, c, d: integer;
Begin

for x := 1000 to 9999 do
begin
a := x div 1000;
b := x div 100 mod 10;
c := x div 10 mod 10;
d := x mod 10;
if (a<>b) and (a<>c) and (a<>d) and (b<>c) and (b<>d) and
(c<>d) and(a*10+b)-(c*10+d)=a+b+c+d then writeln (x);
end;
End.
1 способ. Перебор всех четырехзначных чисел и проверка для каждого из них выполнения условий.Var x, a, b,

Слайд 72 способ. Перебор всех чеиырех цифр числа и проверка для

каждого набора цифр выполнения условий.
Var x, a, b, c, d:

integer;
Begin
for a:=1 to 9 do
For b:=0 to 9 do
For c:=0 to 9 do
For d:= 0 to 9 do
if (a<>b) and (a<>c) and (a<>d) and
(b<>c) and (b<>d) and (c<>d) and
((a*10+b)-(c*10+d)=a+b+c+d)
then writeln (a, b, c, d);
End.
2 способ. Перебор всех чеиырех цифр числа и проверка для каждого набора цифр выполнения условий.Var x, a,

Слайд 83 способ. Попробуем сократить перебор, для этого преобразуем второе условие



10a + b — (10c + d) =

a + b + c + d;
9(a — c) = 2(c + d);
(a — c)/(c + d) = 2/9

Проанализировав первое условие, получаем,
что a = с + 2, d = 9 - c,
следовательно 0 <= c <= 7.
3 способ. Попробуем сократить перебор, для этого преобразуем второе условие   10a + b — (10c

Слайд 9
Var a, b, c, d: integer;
Begin
for c:=0 to

7 do
begin

a := c + 2;
d := 9 - c;
for b := 0 to 9 do
if (b <> c) and (b <> a) and (b <> d)
then write (a, b, c, d);
end;
End.

QB

TP

Var a, b, c, d: integer; Begin	 for c:=0 to 7 do     begin

Слайд 10 Задача 2.
Если мы сложим все цифры какого-либо числа, затем

все цифры найденной суммы и будем повторять много раз, мы,

наконец, получим однозначное число (цифру), называемое цифровым корнем данного числа.
Например, цифровой корень числа 34697 равен 2 (3 + 4 + 6 + 9 + 7 = 29; 2 + 9 = 11; 1 + 1 = 2).

Составим программу для нахождения цифрового корня натурального числа.
Задача 2.Если мы сложим все цифры какого-либо числа, затем все цифры найденной суммы и будем повторять

Слайд 11Решение
Сколько переменных потребуется для решения задачи, какого типа будут эти

переменные?
Всегда ли необходимо вычислять сумму цифр числа
(а если

введенное число является однозначным)?
Вычислим сумму цифр числа: для этого будем выделять цифры числа и увеличивать текущую сумму. Какую конструкцию необходимо использовать для этого?
В результате выполнения цикла мы получили число. Является ли оно однозначным (корнем данного числа)? Какую конструкцию необходимо использовать для нахождения корня числа? Какие действия должна выполнять программа внутри этой конструкции?
Программа, вычисляющая корень данного числа, может выглядеть следующим образом:
РешениеСколько переменных потребуется для решения задачи, какого типа будут эти переменные? Всегда ли необходимо вычислять сумму цифр

Слайд 12Var n, k, s: longint;
Begin
read (n);

s := n;
while s > 9 do

begin
k := s;
s := 0;
Repeat
s := s + k mod 10;
k := k div 10;
Until k = 0;
end;
writeln ('цифровой корень числа ', n, ‘ равен ', s);
End.

QB

TP

Var n, k, s: longint; Begin  read (n);   s := n;  	while s

Слайд 13Домашнее задание

1. Старинная задача

Сколько можно купить быков, коров и

телят, если плата за быка 10 рублей, за корову —

5 рублей, за теленка — полтинник (0,5 рубля) и на 100 рублей надо купить 100 голов скота.
Домашнее задание1. Старинная задача Сколько можно купить быков, коров и телят, если  плата за быка 10

Слайд 142. Задание
Что будет выведено на экране монитора после выполнения

следующего фрагмента программы:

а := 28;
for i:=1 tо a

div 2 do
if a mod i = 0 then writeln (i);

Решение какой задачи выражает этот фрагмент программы?
2. Задание Что будет выведено на экране монитора после выполнения следующего фрагмента программы: а := 28; for

Теги

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика