Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

Var n, r, м, к, I : integer;

F : BOOLEAN;

BEGIN

{ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ, ЯВЛЯЕТСЯ ЛИ ОНО ПАЛИНДРОМОМ. ЧИСЛО-ПАЛИНДРОМ МОЖНО ЧИТАТЬ СПРАВА НАЛЕВО И СЛЕВА НАПРАВО: 4 88 121 767767 И Т. Д.}

REPEAT

WRITE('BBЕДИTE НАТУРАЛЬНОЕ ЧИСЛО N = ');

READLN (N);

UNTIL N>0;

М :- N;R := 1;К := 1;F := FALSE;

WHILE (M DIV 10)>0 DO

BEGIN

M := M DIV 10;

R := R*10;

К := K+1

END;

M := N;

FOR I := 1 TO К DIV 2 DO

BEGIN

IF (M DIV R)<> (M MOD 10) THEN F := TRUE;

M := (M MOD R) DIV 10;

R := R DIV 100

END;

If f then writeln('число', n, ' he палиндром')

ELSE WRITELN('ЧИСЛО', N, ' ПАЛИНДРОМ')

END;

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим натуральное N;

- определяем, сколько в нем разрядов, и формируем R;

- в цикле по I отделяем по одному разряду справа и слева и сравниваем их, отделяя рассмотренные разряды;

- выводим результат.

Переменные:

N - исследуемое число;

М, R - вспомогательные переменные;

I - переменная цикла;

К - количество разрядов;

F - вспомогательный флаг.

ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = 121

ЧИСЛО 121 ПАЛИНДРОМ

ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = 3434

ЧИСЛО 3434 НЕ ПАЛИНДРОМ

Рис. 2.5. Результат работы PRG2_10.

Задача 2.11 Найти сумму первых N членов ряда. Y = 1 + Х/2 + Х2+ Х3/4 +..., где х - любое число.

PROGRAM PRG2_11;

Var X, y, z:real; I, n : integer;

BEGIN

{НАЙТИ СУММУ ПЕРВЫХ N ЧЛЕНОВ РЯДА

Y = 1 + Х/2 + Х2/3 + Х3/4 +…}

WRITE('BBEДИTE ЗНАЧЕНИЕ ПЕРЕМЕННОЙ X =');

READLN (X);

WRITE('BBEДИTE КОЛИЧЕСТВО ЧЛЕНОВ РЯДА N =');

READLN (N);

Y := 1;Z := 1;

FOR I := 1 ТО N-1 DO

BEGIN

Z := Z*X;

Y ':= Y+Z/(l + 1)

END;

WRITELN('Y =', Y)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим количество членов ряда N и переменную X;

- в цикле порождаем очередной член ряда и прибавляем его к сумме Y;

- выводим результат.

Переменные:

N - количество членов ряда;

X - переменная ряда;

Z - вспомогательная переменная;

I - переменная цикла;

Y - сумма ряда.

Задача 2.12 Найти сумму первых N членов ряда Y = 1 + Х/2 + Х2+ Х3/4 +..., при Х <1.

PROGRAM PRG2_12;

Var X, y, z : real;

N, I: INTEGER;

BEGIN

REPEAT

WRITE('BBEДИTE ПЕРЕМЕННУЮ РЯДА X, |X|<1 X =');

READLN(X);

WRITE('BBEДИTE ЧИСЛО ЧЛЕНОВ РЯДА N =');

READLN(N);

UNTIL (ABS (X) <1) AND (N > 0);

Y := 1; Z := 1;

FOR I := 2 TO N DO

BEGIN

Z := Z*X;

Y := Y + Z/l

END;

WRITELN('CYMMA ПЕРВЫХ N ЧЛЕНОВ РЯДА Y =', Y);

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- вводим количество членов ряда N и переменную X;

- в цикле порождаем очередной член ряда и прибавляем его к сумме Y;

- выводим результат.

Переменные:

N - количество членов ряда;

X - переменная ряда;

Z - вспомогательная переменная;

I - переменная цикла;

Y - сумма ряда.

41

Задача 2.13 Найти сумму ряда Y=1+Х/2+Х3/3+Х3/4+.., при | Х | <1.

Расчет продолжать до тех пор, пока приращение | y | будет больше заданной точности е, е < = | Х |.

PROGRAM PRG2_13;