Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Task1sm.doc
Скачиваний:
8
Добавлен:
20.03.2015
Размер:
231.94 Кб
Скачать

Циклы. Сочетания цикла и разветвления.

При решении многих задач вычислительный процесс может иметь циклический характер. Это означает, что часть операторов многократно выполняется при различных значениях переменных. В языке PASCAL имеется три вида операторов цикла: оператор с предварительным условием (While), оператор с последующим условием (Repeat), оператор цикла с параметром (For).

Операторы для записи циклов являются сложными, так как в их состав входят другие операторы.

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

Форма записи оператора цикла с предусловием:

While <логическое выражение> do

begin

<операторы циклической части>

end;

Например, найти наименьшее положительное число для данной ЭВМ.

Program MinEps;

var Eps, Eps_Min: real;

begin

Eps:=1;

While Eps>0 do {Заголовок оператора цикла}

begin

Eps_Min:=Eps; {Тело оператора цикла }

Eps:=Eps/2;

end;

writeln('Eps_Min=', Eps_Min);

end.

Форма записи оператора цикла с постусловием:

Repeat

< операторы циклической части>

Until < логическое выражение >

Например, найти наименьшее положительное число для данной ЭВМ.

Program MinEps;

var Eps_Min: real;

begin

Eps_Min:=1;

Repeat {Заголовок оператора цикла}

Eps_Min:=Eps_Min/2; {Тело оператора цикла }

Until Min_Eps/2=0;

writeln('Eps_Min=', Eps_Min);

end.

Оператор цикла с параметром используется в тех случаях, когда известно заранее число повторений. Существует два варианта оператора:

1) используется при изменении переменной цикла i по возрастанию

For i:=m1 to m2 do

begin

<операторы циклической части>

end;

2) используется при изменении переменной цикла i по убыванию

For i:=m1 Downto m2 do

begin

<операторы циклической части>

end;

Например, вычислить сумму первых 10 натуральных чисел

Program Sum10;

var i, Sum :integer;

begin

Sum:=0;

For i:=1 to 10 do

Sum:=Sum+i;

writeln('Сумма=', Sum);

end.

Замечание. Если циклическая часть оператора цикла состоит из одного оператора, операторные скобки Begin - End можно не использовать.

Целью данной работы является получение практических навыков использования операторов цикла.

ЗАДАНИЕ. Напишите программу решения задачи, с использованием операторов организующих циклические вычисления.

ВАРИАНТЫ ЗАДАНИЙ.

1. Дано натуральное число N. Вычислить

1/sin(1)+1/(sin(1)+sin(2))+...+1/(sin(1)+sin(2)+...+sin(N))

2. Дано натуральное число n. Вычислить

3. Дано натуральное число n. Вычислить an.

4. Дано натуральное число n. Вычислить

a (a+1) ... (a+n-1)

5. Дано натуральное число n, действительное x. Вычислить

sin(x) + sin2 (x) + ... + sinn (x)

6. Дано натуральное число N. Сколько цифр в числе n.

7. Дано натуральное число N. Вычислить сумму его цифр.

8. Пусть a0=1; ak=kak-1+1/k, k=1,2,…

Дано натуральное число n. Получить an.

Вычислить бесконечную сумму с заданной точностью  (>0). Считать, что требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых и очередное слагаемое оказалось по модулю меньше, чем , - это и все последующие слагаемые можно не учитывать.

9. Вычислить:

10. Вычислить:

11. Вычислить:

12. Вычислить:

13. Вычислить

14. Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно простые с ним.

15. Дано натуральное число n. Получить все простые делители этого числа.

16. Найти натуральное число от 1 до 10000 с максимальной суммой делителей.

17. Найти первые 100 простых чисел.

18. Натуральное число называется совершенным, если оно равно сумме всех своих делителей, за исключением себя самого. Число 6 - совершенное, так как 6=1+2+3. Число 8 - не совершенное, так как 81+2+4. Дано натуральное n. Получить все совершенные числа, меньшие n.

20. Напечатать в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр.

Работа N 3.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]