• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Turbo Pascal. Процедуры и функции

Spidey-Goblin

Новые
Регистрация
15 Дек 2013
Сообщения
16
Реакции
0
Баллы
0
Turbo Pascal. Процедуры и функции

[FONT=&quot]Выполнить вариант задания из таблицы, используя подпрограммы требуемого типа. На печать выведите исходные массивы и конечный результат с полными комментариями.
Таблица:
[/FONT]
Составить процедуру нахождения простых чисел, используя следующий метод: нечётное число >3 будет простым, если оно не делиться ни на один простой делитель, меньший его по величине. Найдите все простые числа в интервале:​
1) от 1 до 150;​
2)от 130 до 400.​
 
Составить процедуру нахождения простых чисел, используя следующий метод: нечётное число >3 будет простым, если оно не делиться ни на один простой делитель, меньший его по величине. Найдите все простые числа в интервале: 1) от 1 до 150; 2)от 130 до 400.
Пожалуйста. Примененный метод поиска простых чисел в точности соответствует указанному в задании алгоритму:
Код:
Var
 Pr:Array[1..200] of Word;
 Npr,p,q:Word;

Procedure Find_Primes;
var
 i,j:Word;
 b:boolean;
begin
 Npr:=1;
 Pr[1]:=3;
 for i:=2 to 200 do
  begin
   b:=true;
   for j:=1 to Npr do
    if ((2*i+1) mod Pr[j])=0 then b:=false;
   if b then
    begin
     Inc(Npr);
     Pr[Npr]:=2*i+1;
    end;
  end;
end;

Begin
 Find_Primes;
 Writeln('Result 1:');
 for p:=3 to 150 do
  for q:=1 to Npr do
   if p=Pr[q] then write(p:4);
 Writeln;
 Writeln;
 Writeln('Result 2:');
 for p:=130 to 400 do
  for q:=1 to Npr do
   if p=Pr[q] then write(p:4);
 Writeln;
 Readln
End.
 
Назад
Сверху