Алгоритм – понятное и точное указание исполнителю совершить определенную последовательность действий для решения поставленной задачи или достижения указанной цели.
Циклический алгоритм
Алгоритм называется циклическим, если одни и те же действия повторяются несколько раз или ни разу пока не будет выполнено какое-нибудь условие.
Задача
Когда Василисе Премудрой исполнилось 18 лет, Кощей Бессмертный решил взять ее замуж. Василиса спросила, сколько у Кощея сундуков с золотом. Кощей сказал, что у него 27360 сундуков, и каждый год прибавляется еще по 33 сундука. Василиса обещала выйти за Кощея тогда, когда у него будет 30000 сундуков, полных золота.
Сколько лет будет невесте Кощея в день свадьбы?
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.5.1. Решить задачу:
1 уровень сложности («3»)
Написать программу, которая вводит с клавиатуры произвольные целых чисел, пока не будет введено число «0» и ищет их сумму.
2 уровень сложности («4»)
Написать программу, которая вводит с клавиатуры произвольные целых чисел, пока не будет введено число «0» и ищет их среднее арифметическое.
3 уровень сложности («5»)
Напишите пограмму, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 3. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
© ООО «Знанио»
С вами с 2009 года.