Операторы циклов.
В языке программирования Pascal возможна организация 3х видов циклов: 1. С параметром (со счетчиком) – оператор FOR. 2. С предусловием – оператор WHILE. 3. С постусловием – оператор REPEAT.
Оператор FOR Существует два варианта оператора: - с увеличением счетчика for счетчик:= начальное значение to конечное значение do оператор; - с уменьшением счетчика for счетчик:= начальное значение downto конечное значение do оператор; где счетчик – переменная управляющая циклом, оператор – тело цикла (выполняется в цикле в операторных скобках begin…end; ПРИМЕР 1. Program cshetchik; var I,n:integer; s,ai:real; begin writeln(‘Введите количество слагаемых’); readln(n); s:=0; for i:=1 to n do begin ai:=1/sqr(i); s:=s+ai; end; writeln(s:5:2); end.
ПРИМЕР 2. Вычислить:
program cshetchik; var I,n,z:integer; s,ai,x:real; begin writeln(‘Введите количество слагаемых’); readln(n); writeln(‘Ввод х’); readln(x); s:=0; z:=-1; for i:=1 to n do begin ai:=z*x/I; s:=s+ai; z:=-z; end; writeln(s:5:2); end.
№ 1. Вычислить функцию: F = cos x + sin x, где 0,8 < x < 1,2 шаг 0,1
№ 2. Задать случайное число D на отрезке [10; 15], если D >15, то вычислить объем куба, иначе - площадь квадрата.
№ 3. Из N случайно заданных чисел найти максимальное. В D записать максимальное число.
№ 4. Задано 10 чисел. Найти количество положительных чисел.
№ 5. Задано N случайных чисел. Найти количество чисел, кратных 3.
№ 6. Задать N чисел. Найти количество отрицательных чисел.
№ 7. Вычислить функцию: а) y = x2 в интервале [а; в] c шагом h; б) y =
№ 8. Задано 10 чисел. Найти минимальное.
№ 9. Вывести числа от 0 до 10 и найти их квадраты.
№ 10. Составить таблицу перевода миль в километры для расстояний от 5 миль до 75 миль с шагом 5. Примечание: 1 миля = 1,609 км.
№ 11. Пирамида состоит из шаров, основание которой представляет собой квадрат со стороной, состоящей из N шаров. Следующий слой представляет собой квадрат со стороной из N-1 шаров и т.д., а верхний слой содержит 1 шар. Определить количество шаров в такой пирамиде.
№ 12. Составить таблицу умножения для числа 12.
№ 13. Возвести в 7 степень число 3, не используя операцию возведения в степень.
№14. Вычислить: S = 2 i + 2 i + 1+ 2 i +2 +... + 2 n, где I = 1, n = 6 а) используя операцию возведения в степень б) не используя операцию возведения в степень
№ 15. Вычислить: S = (-1) i * i 2 + (-1) i + 1 * (i + 1) 2 + (-1) i + 2 * (i + 2) 2 +... + (-1)n * n2, где i = 1, n = 10
№ 16. Составить таблицу стоимости порций сыра весом 50, 100, ...,1000 гр. Примечание: цена 1кг – 93 рубля.
№ 17. Около стены стоит палка длиной x. Один её конец находится на расстоянии y от стены. Определить значение угла α между палкой и полом для х = 4,5 и y Є [2;3] ∆ 0,2
х
y α
№ 18. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько клеток будет через 3, 6, 9, 12,..., 24 часа.
№ 19. Вычислить сумму нечетных чисел в интервале от 10 до 100.
№ 20. Вычислить произведение четных чисел в интервале от 10 до 100.
№ 21. Вывести на экран 12 чисел, заданных случайным образом.
№ 22. Вывести на экран фамилии учеников и их рост. Рост задать генератором случайных чисел в пределах от 150 –180 см.
№ 23. Вычислить P = n!
№ 24. Вычислить сумму первых 10 натуральных чисел.
№ 25. Вычислить произведение первых 10 натуральных чисел
№ 26. Вычислить сумму первых N натуральных чисел
№ 27. Вычислить сумму натуральных чисел, начиная с числа m по число n.
№ 28. Вычислить сумму N чисел, заданных случайным образом.
№ 29. а) Создать электронный журнал. Вывести три предмета с пятью оценками по каждому предмету. Предметы задать с помощью таблицы значений, оценки – случайно заданным образом. б) По каждому предмету вывести среднюю оценку.
№ 30. В ПК поступают результаты соревнований по плаванию для трех спортсменов. Выбрать лучший результат и номер спортсмена с этим результатом.
№ 31. Создать информационное табло, где отражены фамилии трех спортсменов по прыжкам в длину с результатами трех попыток для каждого спортсмена. Вывести лучший результат попыток для каждого спортсмена. Через некоторое время вывести на табло фамилию спортсмена, занявшего 1-е место и его результат.
Оператор WHILE Формат WHILE логическое выражение DO оператор Вычисляется значение логического выражения. Если значение истина, то выполняется тело цикла в операторных скобках begin…end. Цикл прекращается, если значение логического выражения – ЛОЖЬ.
ПРИМЕР. Задача 1. а) Спортсмен в первый день пробежал 10км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего дня. Какой путь пробежит спортсмен в 7-ой день? Х = х + 0,1х I
program sport; var i:integer; s,x:real; begin s:=10; i:=1; x:=10; writeln(I,’ день - ‘,x:4:2,’км’); while i<7 do begin i:=i+1; x:=x+x*0.01; writeln(I,’ день - ‘,x:4:2,’км’); s:=s+x; end; writeln(s:5:2); end.
Задача 1. б) Определить, через сколько дней спортсмен пробежит суммарный путь более 100 км? I = I + 1 S = S + X S в) Определить на какой день спортсмен будет пробегать Более 20 км. I = I + 1 х = х + 0,1х х
Задача 2. Вычислить сумму нечетных чисел натурального ряда и прекратить вычисления, как только эта сумма превысит число n. Применить цикл с предусловием. №9. Составить алгоритм вычисления суммы бесконечного ряда чисел а1, а2, а3,... с точностью е. Точность считается достигнутой, если добавление к сумме очередного слагаемого изменяет ее значение не больше чем на е (это слагаемое и берется в качестве последнего в сумме). Предполагается, что точность достигается при номере члена ряда не большем 100 000. Задача 3. У гусей и кроликов вместе 64 лапы. Сколько может быть кроликов и гусей? Указать все сочетания. Задача 4. Известна знаменитая легенда об изобретателе шахматной игры. Царь Шерам, которому была преподнесена в подарок эта игра, захотел наградить изобретателя Сете и разрешил ему выбрать награду самому. «Дай мне, - сказал мудрец, - только несколько пшеничных зерен. Причем ровно столько, сколько поместиться на шахматной доске, если ты на первую клетку положишь одно зернышко, то на вторую – два зернышка и так далее: на каждую клетку вдвое больше, чем на предыдущую». Царь был рассержен из-за слишком скромной просьбы мудреца. Но как же он был удивлен, когда ему не хватило запасов пшеницы всей Индии, чтобы ее выполнить. Задача 5. S =
Оператор REPEAT Формат REPEAT оператор 1; оператор 2; …; оператор N; until условие; Выполняется оператор REPEAT следующим образом. В начале выполняется группа операторов – оператор 1, оператор 2, …, оператор N. Затем вычисляется значение логического выражения. Если оно равняется true, то цикл прекращается, в противном случае выполняется следующая итерация цикла.
program sport; var i:integer; s,x:real; begin s:=10; i:=1; x:=10; writeln(i,' день - ',x:4:2,'км'); repeat i:=i+1; x:=x+x*0.01; writeln(i,' день - ',x:4:2,' км '); s:=s+x; until s>100; writeln(i,' день - ',s:7:2,' км '); end.
|