ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Алгоритмы с повторениями. Цикл с параметром FORВ языке Паскаль существует три различных оператора с помощью которых можно запрограммировать повторяющиеся фрагменты программы (три оператора цикла): - счетный цикл FOR; - цикл WHILE с предусловием; - цикл REPEAT...UNTIL c постусловием. На первом нашем занятии постараемся познакомиться и научимся использовать счётный цикл FOR. Переменная внутри цикла изменяется автоматически от k до n (n>k) с шагом 1. Формат записи цикла: for i:=k to n do или от n до k (n>k) с шагом -1. Формат записи цикла: for i:=n dawnto k do Если в цикле должны выполняться несколько операторов, то используем операторные скобки: begin …. end; Цикл FOR удобно использовать тогда, когда точно известно количество повторений.
Рассмотрим несколько примеров: Найти сумму всех натуральных чисел от 1 до n.
program zadacha3_1; var i,n,s:integer; Begin writeln(' введите натуральное n'); readln(n); s:=0; for i:=1 to n do s:=s+i; writeln('сумма от 1 до',n,' = ',s); End.
В данном цикле переменная i автоматически изменяется от 1 до n с шагом 1. Поэтому к переменной s прибавляется i вначале равная 1, потом 2, потом 3, и т.д. до n, соответственно переменная s принимает значении 1, 3, 6, 10, 15 ….… Задано натуральное n. Вычислить сумму ряда: S=1 - 1/2 + 1/3 - 1/4 + 1/5-........±1/n
program zadacha3_2; var i,n,a:integer; s:real; Begin writeln('Введите n'); readln(n); s:=1;a:=1; for i:=2 to n do begin a:=(-1)*a; s:=s+a/i; end; writeln('Сумма ряда S= ',s); End.
Определить количество трёхзначных натуральных чисел, сумма цифр которых равна заданному числу N.
program zadacha3_3; var с1,с2,с3,i,n,kol:integer; Begin writeln('Введите n'); readln(n); kol:=0; for i:=100 to 999 do begin c1:=i div 100; c2:=(i div 10) mod 10; c3:=i mod 100; if c1+c2+c3=n then kol:=kol+1; end; writeln('Количество таких чисел = ',kol); End. Вопросы для повторения: 1. Для чего предназначен оператор цикла? 2. Какие существуют циклы в языке Паскаль? 3. Какой формат записи имеет оператор FOR? 4. Как работает оператор FOR? 5. В каких случаях применяется оператор FOR? 6. Сколько раз будет выполнен цикл, и чему будет равна переменная S после выполнения: s:=0; n=6; for i:=3 to n do s:=s+i; 7. Как в теле цикла выполнить несколько операторов? Задания для самостоятельной работы: 1. Найти сумму всех нечётных трёхзначных чисел. 2. Найти сумму положительных кратных 7 чисел, меньших 100. 3. Найти все числа, которые делятся на N среди: a) всех двухзначных чисел; b) всех трёхзначных чисел. 4. Составить программу вычисления суммы квадратов чисел от 1 до n. 5. Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13. 6. Найти все делители для заданного числа n. 7. Дано натуральное число n. Вычислить: a) 2n; b) 3n c) n!; 8. Среди четырёхзначных чисел выбрать те, у которых: a) все четыре цифры различны (например: 3167, 9012); b) имеются три одинаковые цифры (например: 1311, 7779); c) цифры попарно различны (например: 1331, 7979, 2255); d) цифры образую возрастающую последовательность (например: 1389, 4678); Написать программу поиска чисел <1000, которые при делении на 2 дают в остатке 1, при делении на 3 дают в остатке 2, при делении на 4 - в остатке 3, при делении на 5 - в остатке 4, при делении на 6 - в остатке 5 а при делении на 7 дают в остатке 6. Не нашли, что искали? Воспользуйтесь поиском:
|