Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 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.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных