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

Работа n2. Циклы.

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

При решении многих задач вычислительный процесс может иметь циклический характер. Это означает , что часть операторов многократно выполняется при различных значениях переменных. В языке 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;

  1. используется при изменении переменной цикла 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. Дано натуральное число N. ВычислитьN корней

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

  1. Дано натуральное число n. Вычислить a (a+1) ... (a+n-1)

  1. Дано натуральное число N и действительное число x. Вычислить Sin(x)+Sin2(x)+…+Sinn(x).

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

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

  1. Пусть A 0=1, Ak=k*Ak-1+1/k, k=1,2, ...Для заданного k получить A­k.

  1. Дано натуральное число n и действительное число a. Получить a*(a+1)*(a+2)*…*(a+n-1)/

  1. Вычислить

10. Вычислить

11. Вычислить

12. Вычислить

13. Вычислить

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

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

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

17. Даны целые числа P, Q. Получить все делители числа Q взаимно простые с Р.

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

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

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

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