Проверим домашнее задание:
Напишите программу
решения задачи:
Найти среднее арифметическое всех двузначных чисел, которые делятся на 3 и не делятся на 6.
Алгоритм – понятное и точное указание исполнителю совершить определенную последовательность действий для решения поставленной задачи или достижения указанной цели.
Циклический алгоритм
Алгоритм называется циклическим, если одни и те же действия повторяются несколько раз или ни разу пока не будет выполнено какое-нибудь условие.
ЦИКЛ «ДЛЯ»С ИЗВЕСТНЫМ ЧИСЛОМ ПОВТОРЕНИЙ
For параметр цикла := нач.зн to кон.зн. do
Begin
<одно или несколько действий>;
End;
ТЕЛО ЦИКЛА
downto
Если нач.зн. <= кон.зн.:
Если нач.зн. > кон.зн.:
For I := 10 to 100 do
For k := 5 downto -5 do
3) For J := 0 downto 0 do
4) For N := 4 to -5 do
Сколько раз выполнится цикл:
91
11
1
0
1) for k := -1 to 1 do
2) k := 1;
r := 15
for i := k+1 to r‒1 do
3) k := 5; r := 15
for i := 0 to к*r do
4) k := r;
for i := k to r do
Сколько раз выполнится цикл:
3
13
76
1
Задача
Когда Василисе Премудрой исполнилось 18 лет, Кощей Бессмертный решил взять ее замуж. Василиса спросила, сколько у Кощея сундуков с золотом. Кощей сказал, что у него 27360 сундуков, и каждый год прибавляется еще по 33 сундука. Василиса обещала выйти за Кощея тогда, когда у него будет 30000 сундуков, полных золота.
Сколько лет будет невесте Кощея в день свадьбы?
Программа:
Дано:
age := age + 1;
sunduki := sunduki + 33;
Program svadba;
var age, sunduki: integer;
BEGIN
age := 18; {Возраст Василисы}
sunduki := 27360; {Начальный капитал Кощея}
Begin
sunduki := sunduki + 33; {Каждый год Кощей становится богаче}
age := age + 1; {Каждый год Ваcилиса становится старше}
End;
writeln ( ‘ Василисе ‘ , age , ‘ лет ‘ );
END.
выполнять «пока sunduki < 30 000»
while sunduki < 30 000 do
Цикл с условием
while <условие> do begin
{тело цикла}
end;
Особенности:
можно использовать сложные условия:
если в теле цикла только один оператор, слова begin и end можно не писать:
while (a < b) and (b < c) do begin
{тело цикла}
end;
while a < b do
a := a + 1;
Цикл с условием
Особенности:
условие пересчитывается каждый раз при входе в цикл
если условие на входе в цикл ложно, цикл не выполняется ни разу
если условие никогда не станет ложным, программа зацикливается
a := 4; b := 6;
while a > b do
a := a – b;
a := 4; b := 6;
while a < b do
d := a + b;
Решите задачу
Жила-была одноклеточная амёба. Она была совсем одна. Решила амеба завести себе подружек и начала делится. Каждые 3 часа амеба делилась на 2 амебы. Напишите программу, которая определяет через сколько часов количество амёб превысит 1 000.
program ameba;
var a, t : integer;
begin
a := 1;
while a <= 1000 do
begin
t := t + 3;
a := a * 2;
end;
writeln(t);
end.
Итоги урока
Что нового вы узнали?
Какие знания вам помогли усвоить материал урока?
Что на ваш взгляд вам удалось освоить лучше, а что нет?
Над чем вам необходимо поработать?
Оцените свою работу на уроке.
Домашнее задание: § 3.5.1. Решить задачу:
1 уровень сложности («3»)
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.