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

Var I, n, f : integer;

BEGIN

{ДАНО НАТУРАЛЬНОЕ ЧИСЛО N . ОПРЕДЕЛИТЬ, ЯВЛЯЕТСЯ ЛИ ОНО ПРОСТЫМ.}

REPEAT

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

READLN (N);

UNTIL N>0;

F := 0;

FOR I := 2 TO N DIV 2 DO

IF N MOD I = 0 THEN F := 1;

IF F = 0 THEN

WRITELN(ЧИСЛО', N : 6, ' ПРОСТОЕ')

ELSE

WRITELN('ЧИСЛО ', N : 6,' НЕ ПРОСТОЕ')

END.

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

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

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

- в интервале от 2 до N/2 порождаем натуральные числа и проверяем, являются ли они делителями числа N;

- в зависимости от значения флага F выводим результат.

Переменные:

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

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

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

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

ЧИСЛО 25 НЕ ПРОСТОЕ

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

ЧИСЛО 31 ПРОСТОЕ

Рис. 2.1. Результат работы PRG2_1

Задача 2.2 Дан интервал натуральных чисел от N до М. Определить все простые числа в этом интервале.

PROGRAM PRG2_2;

Var I, n, f, j, r, m : integer;

BEGIN

{ДАН ИНТЕРВАЛ НАТУРАЛЬНЫХ ЧИСЕЛ ОТ N ДО М.

ОПРЕДЕЛИТЬ ВСЕ ПРОСТЫЕ ЧИСЛА В ЭТОМ ИНТЕРВАЛЕ.}

REPEAT

WRITE ('ВВЕДИТЕ НИЖНЮЮ ГРАНИЦУ ИНТЕРВАЛА N =');

READ (N);

WRITE('BBEДИTE ВЕРХНЮЮ ГРАНИЦУ ИНТЕРВАЛА М =');

READLN (М);

UNTIL (N>0) AND(M>0) AND(N<M);

WRITELN('B ПРОМЕЖУТКЕ ОТ', N : 6, 'ДО', М : 6);

R:=0;

FOR J := N ТО М DO

BEGIN

F:=0;

FOR I:= 2 TO J DIV 2 DO

IF J MOD I = 0 THEN F := 1;

IF F = 0 THEN

BEGIN R := 1;

WRITELN('ЧИСЛО', J : 6, 'ПРОСТОЕ');

END;

END;

IF R = 0 THEN WRITELN('ПРОСТЫХ ЧИСЕЛ НЕТ')

END.

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

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

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

- в цикле по переменной J начинаем.порождение натуральных чисел;

- во вложенном цикле по I проверяем, простое ли число J;

- в зависимости от значения флагов F и R выводим результат.

Переменные:

N, М - границы интервала;

I, J - переменные циклов;

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

Задача 2.3 Дано натуральное число N. Определить все про­стые числа, не превосходящие N.

PROGRAM PRG2_3;

Var I, n, f, j, r, m : integer;

BEGIN

{ДАНО НАТУРАЛЬНОЕ ЧИСЛО N.

ОПРЕДЕЛИТЬ ВСЕ ПРОСТЫЕ ЧИСЛА, НЕ ПРЕВОСХОДЯЩИЕ N.}

REPEAT

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

READLN (N);

UNTIL N>0;

WRITELN('B ПРОМЕЖУТКЕ ОТ 1 ДО', N : 6);

R := 0;

FOR J := 1 ТО N DO

BEGIN

F:=0;

FOR I := 2 TO J DIV 2 DO

IF J MOD I = 0 THEN F := 1;

IF F = 0 THEN

BEGIN R := 1;

WRITELN('ЧИСЛ0', J: 6, 'ПРОСТОЕ');

END;

END;

IF R = 0 THEN WRITELN('ПРОСТЫХ ЧИСЕЛ НЕТ')

END.

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

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

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

- в цикле по переменной J начинаем порождение натуральных чисел, не превосходящих N;

- во вложенном цикле по I проверяем, простое ли число J;

- в зависимости от значения флагов F и R выводим результат.

Переменные:

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

I, J - переменные циклов;

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

Задача 2.4 Дано натуральное число N. Разложить его на простые множители.

PROGRAM PRG2_4;