Урок 20, 21, 22. Циклические алгоритмы.

Организация циклов в Паскале

Циклический алгоритм – алгоритм, содержащий повторяющиеся действия, - цикл. Цикл состоит из условий и тела цикла.

Условие цикла – логическое выражение, от значения которого зависит принятие решения о следующем выполнении цикла.

Тело цикла – набор действий (команд, операторов), которые выполняются несколько раз.

Параметр цикла – переменная, которая меняется от известного начального до известного конечного значения с известным шагом.

Существует несколько видов циклов: пока,до, для. В Паскале им соответствуют операторы while, repeatиfor.

Цикл пока Урок 20, 21, 22. Циклические алгоритмы. - student2.ru Оператор while whileусловие do begin тело цикла; end;

Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат верен, тело цикла выполняется и снова вычисляется выражение условия. Если результат неверен, происходит выход из цикла и переход к следующему после цикла оператору.

Урок 20, 21, 22. Циклические алгоритмы. - student2.ru Цикл до   Оператор repeat   repeat тело цикла; untilусловие;

Сначала выполняется тело цикла, затем проверяется условие выхода из цикла. Именно поэтому цикл, организованный с помощью оператора repeat, выполнится хотя бы один раз.

Цикл для Урок 20, 21, 22. Циклические алгоритмы. - student2.ru Оператор for Прямой формат: for i:=n1 to n do begin тело цикла; end; Обратный формат: for i:=n1 downto n do begin тело цикла; end;

i – переменная – параметр цикла; n1 и n2 – выражения, определяющие соответственно начальное и конечное значение параметра цикла.

Параметр цикла принимает начальное значение и затем сравнивается с конечным значением. Если конечное значение меньше значения параметра цикла, то происходит выполнение тела цикла, иначе цикл завершается и выполняется следующий за циклом оператор. Шаг изменения параметра цикла равен 1(to)или -1(downto).

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

Пример: Программа суммирует n-е количество вводимых с клавиатуры чисел.

С – параметр цикла (подсчитывает количество вводимых чисел); n – количество чисел; x – вводимое число; S – сумма чисел.

Урок 20, 21, 22. Циклические алгоритмы. - student2.ru program DemoWhile; var c, n: integer; x, s: real; begin write (‘Введите к-во чисел n=’); readln (n); c:=0; s:=0; while c<=n do begin c:=c+1; write (c,’-е число:’); readln (x); s:=s+x end; write (‘Сумма чисел =’,s) end.
Урок 20, 21, 22. Циклические алгоритмы. - student2.ru program DemoRepeat; uses wincrt; var c, n: integer; x, s: real; begin write (‘Введите к-во чисел n=’); readln (n); c:=0; s:=0; repeat c:=c+1; write (c,’-е число:’); readln (x); s:=s+x until c=n; write (‘Сумма чисел =’,s) end.
Урок 20, 21, 22. Циклические алгоритмы. - student2.ru program DemoFor; uses wincrt; var c, n: integer; x, s: real; begin write (‘Введите к-во чисел n=’); readln (n); s:=0; for c:=1 to n do begin write (c,’-е число:’); readln (x); s:=s+x end; write (‘Сумма чисел =’,s) end.

Упражнения

1. Загрузите Turbo Pascal, введите текст программы, откомпилируйте и проверьте ее действие.

2. Напишите программу, которая 10 раз печатает ваше имя.

3. Составьте программу, выводящую на экран все числа первой сотни, оканчивающиеся на 5.

4. Программа запрашивает возраст, а затем печатает на экране «Здравствуй!» столько раз, сколько лет введено.

5. Составьте программу для вывода на экран таблицы значений функции:

а) у = х Урок 20, 21, 22. Циклические алгоритмы. - student2.ru с шагом 0,2;

б) у = sin x, x Урок 20, 21, 22. Циклические алгоритмы. - student2.ru с шагом Урок 20, 21, 22. Циклические алгоритмы. - student2.ru ;

в) у = Урок 20, 21, 22. Циклические алгоритмы. - student2.ru с шагом h;

г) у=3х2+х-4, х Урок 20, 21, 22. Циклические алгоритмы. - student2.ru [a, b] с шагом 0,1;

д) у= Урок 20, 21, 22. Циклические алгоритмы. - student2.ru , х Урок 20, 21, 22. Циклические алгоритмы. - student2.ru [0; 5] с шагом 0,5.

Урок 23 - 33. Решение задач

1. Вычислить значения пути, пройденного телом за каждую из 12 секунд. Скорость тела запросить с клавиатуры. Результат представить в виде таблицы.

2. Расход бензина на 100 км пути в среднем составляет 9 л. Определить стоимость бензина для расстояния 200 км, 400 км, 600 км, 800 км, 1000 км, если цена одного литра равна х руб.

3. Цена 1 кг сыра К рублей. Распечатать таблицу стоимости порций сыра по 100 г, 200 г, 300 г, 400 г, 500 г, 600 г, 700 г.

4. Напечатать таблицу перевода температуры из градусов по шкале Цельсия (С) в градусы по шкале Фаренгейта (F) для значений температуры от 250С до 400С с шагом 10С. Формула перевода F=1,8С+32.

5. Напечатать таблицу перевода миль в километры для расстояний от 5 до 75 миль с шагом 5. если 1 миля составляет 1,609 км.

6. Напечатать таблицу соответствия между весом в фунтах и весом в килограммах дл значений от 1 до 10 фунтов с шагом 1 фунт, если 1 фунт=400 г.

7. Составить программу, показывающую, как меняется объем вещества массой 0,45 кг при изменении его плотности от 0,5 до 1 кг/м3 с шагом 0,1 кг/м3.

8. Составить программу, находящую значение произведения:

а) а(а+1)(а+2)(а+3)…(а+n);

б) (х-1)(х-2)(х-3)…(х-n).

9. Напишите программу, выводящую на экран все

а) четные числа из диапазона (m, n);

б) нечетные числа из диапазона (m, n);

в) отрицательные числа из диапазона (m, n).

10. Программа вычисляет n факториал (n!). факториалом натурального числа n называется произведение всех чисел от 1 до n, включая n

11. Составьте программу, вычисляющую an, где n – любое натуральное число.

12. Для вводимых с клавиатуры произвольного количества целых чисел найти сумму положительных и их количество.

13. Программа находит сумму чисел от 1 до 100 кратных 3, но не кратных 6.

14. У школьников было S рублей. Бутылка с соком стоит Р рублей, пустая бутылка – В рублей. Сколько бутылок сока выпили школьники, если они сдавали пустые бутылки и на вырученные деньги покупали новые?

15. Для N, вводимого с клавиатуры (2≤N≤9), распечатать соответствующий столбик таблицы умножения.

16. Распечатать все натуральные числа кратные 7 и не превосходящие 200.

17. Найдите произведение всех положительных двузначных чисел.

18. Спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Найти: а) какой путь пробегал спортсмен за каждый день в течение недели; б) какой суммарный путь он пробежал за эту неделю?

19. В первый час лыжник прошёл 8км. Каждый последующий час его скорость снижалась на 10%. Через какое время он преодолеет 33км?

20. Росток появляется из земли, начинает расти, прибавляя в росте 40% от роста в предыдущий день. Нормальный рост равен 32см. Успеет ли росток за 13 дней набрать нормальный рост, если в первый день его высота 0,5см. Если не успеет, то посчитайте, за сколько дней он вырастет до нормы.

21. Дано натуральное число n. Вывести на экран все его натуральные делители.

22. Напишите программу печати таблицы перевода расстояний из дюймов в сантиметры (1 дюйм=2,5 см) для значений от 20 до 1 дюйма.

23. Составьте программу, определяющую максимальное из 10 введенных вами чисел.

24. Составьте программу, которая печатала бы последовательности:

а) 10, 9, 8,…, 1;

б) 1, 1, 2, 3, 5, 8,…, 233;

в) 100, 81, 64,…, 1.

25. Вычислите:

а) 22+24+26+…+210;

б) (2t+3)+(2t+6)+(2t+9)+…+(2t+30), где t – целое число;

в) 1∙2∙3+4∙5∙6+7∙8∙9+…+43∙44∙45;

г) 1+ Урок 20, 21, 22. Циклические алгоритмы. - student2.ru ;

д) Урок 20, 21, 22. Циклические алгоритмы. - student2.ru ;

е) Урок 20, 21, 22. Циклические алгоритмы. - student2.ru .

26. Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется одна бактерия. Составьте программу, которая рассчитывает количество бактерий на заданное вами целое значение момента времени (5 мин, 7 мин, 10 мин и т. п.).

27. Составьте программу для проверки справедливости формул:

а) 1+2+3+…+n= Урок 20, 21, 22. Циклические алгоритмы. - student2.ru ;

б) 1+3+5+…+(2n-1)=n2;

в) 12+22+32+…+n2= Урок 20, 21, 22. Циклические алгоритмы. - student2.ru ;

г) 12+32+52+…+(2n-1)2= Урок 20, 21, 22. Циклические алгоритмы. - student2.ru .

28. Последовательно вводятся N целых чисел. Определите, каких среди них больше – положительных или отрицательных.

29. Составьте программу, вычисляющую сумму наибольшего и наименьшего чисел из 15 введенных вами.

30. В бригаде имеется n косилок. Первая из них работала m часов, а каждая следующая на 10 минут больше, чем предыдущая. Сколько часов проработала вся бригада?

31. Составьте программу определения наибольшего общего делителя двух натуральных чисел.

32. Составьте программу, которая печатает все натуральные числа меньше 100, для которых количество букв в записи числа русскими буквами равно его числовому значению. Например: 3 – три, 11 – одиннадцать и т. д.

33. Найти все натуральные числа, меньшие 200, у которых сумма цифр равна 13.

34. Вывести на экран все целые числа от 30 до 350, у которых сумма цифр равна 15.

35. Чтобы сделать бусы, ювелир взял нить длиной D и жемчужины радиусом R. Определить, сколько жемчужин он сможет нанизать на эту нить.

36. Вычислить площади N прямоугольных треугольников, катеты которых а и b водятся с клавиатуры. N ввести с клавиатуры.

37. Составьте программу, вычисляющую сумму факториалов: 1!+2!+…+n!

Наши рекомендации