Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА и П.doc
Скачиваний:
23
Добавлен:
29.08.2019
Размер:
13.34 Mб
Скачать

Правила организации цикла с параметром.

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

  2. Очередное значение параметра цикла присваивается автоматически

  3. В теле цикла запрещено изменять значение параметра цикла, а так же начальное и конечное значения.

  4. Запрещено входить в цикл с помощью оператора GOTO, минуя заголовок цикла.

  5. Цикл не выполняется вообще, если начальное значение больше (при downto – меньше) конечного.

  6. По окончании выполнения цикла значение переменной параметр цикла неопределенно и не может быть использовано непосредственно в дальнейших вычислениях.

  7. После ключевого слова do в теле цикла может стоять только один оператор. Если в теле цикла необходимо выполнить группу операторов то используют составной оператор BEGINEND.

Вопросы для самоподготовки:

  1. Структура циклического алгоритма

  2. Оператор цикла FOR

  3. Работа оператора цикла с параметром

  4. Правила организации цикла с параметром.

Задание 1

Составьте программу, которая для заданных x и n вычисляет сумму:

  1. Составим графическую схему алгоритма

S=0

i=1

S=S+Xi

i=i+1

Нет

Да

  1. Составим таблицу соответствия

В исходной задаче

x

i

N

S

В программе

X

I

N

S

Тип

real

int

int

real

  1. Составляем программу на языке Pascal

Program primer 3;

Var

X, S: real;

i, n: integer;

begin

writeln (‘Введите количество повторений цикла N=’);

readln (N);

writeln (‘Введите Х’);

readln (X);

S:=0;

For i:=1 to n do

S:= S + exp (i * ln (x));

writeln (‘S=’, S:7:3);

readln

end.

Задание 2

Дано натуральное число n (n 9999). Определите, является ли оно палиндромом (перевертышем), с учетом четырех цифр.

Например, палиндромами являются числа: 2222, 6116, 0440.

Решение:

  1. Обозначим через n – вводимое число;

m – дубликат числа n;

a – перевертыш числа n;

i – параметр цикла.

  1. Исходя из обозначений пункта 1 получаем программу на языке Pascal.

Program primer4;

Var

n, m, i, a: integer;

begin

writeln (‘Введите целое число, не большее 9999’);

readln (n);

m:= n;

a:= 0;

{Создание перевертыша}

for i:=1 to 4 do

{конечное значение равно 4, т. к. из условия следует, что число четырехзначное}

begin

a:= a * 10+ m Mod 10;

m:= m div 10

end;

if a=n

then writeln (‘Перевертыш равен данному числу: a = n’, a, n)

else writeln (‘Перевертыш не равен данному числу’);

readln

end.

Рассмотрим выполнение этой программы в пошаговом режиме для числа 3994.

Имеем трассировку (пошаговое выполнение).

i

n

m

a

-

3994

3994

0

1

3994

399

0 * 10 + 3994 mod 10 = 0 + 4 = 4

2

3994

39

4 * 10 + 399 mod 10 = 40 + 9 = 49

3

3994

3

49 * 10 + 39 mod 10 = 490 + 9 = 499

4

3994

0

499 * 10 + 3 mod 10 = 4990 + 3 = 4993

Так как значение переменной а не равно значению переменной n, то на экране появится сообщение ‘Перевертыш не равен данному числу’.