Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 09.03.2014, 20:01   #1 (permalink)
Spidey-Goblin
Member
 
Регистрация: 16.12.2013
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Turbo Pascal. Процедуры и функции

Выполнить вариант задания из таблицы, используя подпрограммы требуемого типа. На печать выведите исходные массивы и конечный результат с полными комментариями.
Таблица:
Составить процедуру нахождения простых чисел, используя следующий метод: нечётное число >3 будет простым, если оно не делиться ни на один простой делитель, меньший его по величине. Найдите все простые числа в интервале:
1) от 1 до 150;
2)от 130 до 400.
Spidey-Goblin вне форума   Ответить с цитированием

Старый 09.03.2014, 20:01
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вот полезные ссылки, по которым содержится похожая информация

Turbo Pascal. Процедуры и функции
Написание программы через процедуры и функции
Подпрограммы. Процедуры и функции
Паскаль. Процедуры, функции, параметры

Старый 09.03.2014, 20:46   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Spidey-Goblin Посмотреть сообщение
Составить процедуру нахождения простых чисел, используя следующий метод: нечётное число >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.
Vladimir_S вне форума   Ответить с цитированием
Старый 10.03.2014, 14:22   #3 (permalink)
Spidey-Goblin
Member
 
Регистрация: 16.12.2013
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо огромное!)
Spidey-Goblin вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 13:02.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.