Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Паскаль и простые числа, Распределение расстояний между пр.числам 
:(
    Опции темы
spectr
  Дата 31.1.2005, 04:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 31.1.2005

Репутация: нет
Всего: нет



smile Граждане коллеги! Подскажите пожалуйста как можно в Паскале замутить график распределение расстояний между простыми числами. Алгоритм нахождения самих чисел я сделал. smile smile
PM MAIL   Вверх
Druidik25
Дата 31.1.2005, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 27.1.2005
Где: Киев, Украина

Репутация: нет
Всего: нет



В каком виде тебе нужен график??? Чего с чем??? Можешь поподробнее рассказать???
PM MAIL ICQ   Вверх
Akina
Дата 31.1.2005, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Да собсно... бегишь по массиву простых, вычитаешь предыдущее, подсчитываешь количество, добег до конца - строишь график...

В чем проблема-то?




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
spectr
Дата 1.2.2005, 07:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 31.1.2005

Репутация: нет
Всего: нет



Druidik25 Рассказываю побробно: Есть программа собств. производства, выводит простые числа на экран. Но это фигня. Необходимо, чтобы этаже самая программа, после того как нашла эти числа, построила обыкновенный график в двух осях координат (как в геометрии). По одной оси (например оХ) откладываем расстояния (измеряем в количестве составных чисел между двумя соседними простыми), а по другой оси откладываем эти самые простые числа
PM MAIL   Вверх
Fedor
Дата 1.2.2005, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



Вот примерно так.

Код

uses graph;                                  
function prime(a:longint):boolean;
begin
 {твоя функция определения простоты числа}
end;

var
 i,j,n:longint;
 gd,gm:integer;
 last:integer;
begin
 gd:=detect;
 InitGraph(gd,gm,'');    {инициализируем графический режим}
 for i:=1 to n do             {здесь n - в роли максимального числа}
   if Prime(i) then
    begin
      PutPixel(i,i-last,white);   {ставим точку белого цвета}
      last:=i;
    end;
 closegraph;                 {закрываем графический режим}
end.



--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Akina
Дата 1.2.2005, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Ну по мере вывода наполняй массив разностей текущего и предыдущего

Count(NextSimple-PreviousSimple) = Count(NextSimple-PreviousSimple) +1

в результате у тебя i-й элемент массива содержит количество разностей, равных i, в ряду простых чисел.

Или проблема в том как нарисовать график?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
spectr
Дата 4.2.2005, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 31.1.2005

Репутация: нет
Всего: нет




Akina Мне необходимо построить ГРАФИК а не просто набор точек. В двух осях, как в алгебре и геометрии, просто график функции R( I[1]-I[2] ). Где R-расстояние между 2 соседними простыми числами, I- простое число smile
PM MAIL   Вверх
Akina
Дата 4.2.2005, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Ну и строй... набор R( I[1]-I[2] ) у тебя есть... какие проблемы?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Romtek
  Дата 7.2.2005, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 7.12.2004
Где: Холон

Репутация: нет
Всего: 4



Сначала берёшь максимальное расстояние между числами и сравниваешь его с высотой экрана GetMaxY, чтобы график поместился полностью в высоту + оставить некоторое пространство для других деталей. Аналогично с шириной графика.
Далее, делишь ширину на кол-во найденных простых чисел, чтобы узнать зазор между каждым.

Код
MX - GetMaxX
MY - GetMaxY

MarginX - зазор между графиком и экраном по оси X
MarginY - зазор между графиком и экраном по оси Y
OrigX - начальная координата графика по оси X
OrigY - начальная координата графика по оси Y

Height - высота графика
Width - ширина графика
WBar - ширина столбика (допустим, 10)
Step - зазор между столбиками
MaxDist - макс. растояние между простыми числами (собственно, высота столбика)
ScaleY - масштаб высоты столбика


Код
//определение начала координат графика
OrigX := (MX - 2 * MarginX) div 2;
OrigY := (MY - 2 * MarginY) div 2;

Step := (Width - WBar * PrimeCount) div (PrimeCount - 1);
ScaleY := Height div MaxDist;

For k := 1 to PrimeCount do
begin
 BarHeight := ScaleY * Distance[k];
 DrawBar (BarHeight, k); // рисуешь к-тый столбик высотой BarHeight. Позицию вычисли сам
end;


Надеюсь, разъяснил более (менее?) понятно. smile

--------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр.
PM WWW   Вверх
spectr
Дата 9.2.2005, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 31.1.2005

Репутация: нет
Всего: нет



Ребята, вы меня наверное неправильно поняли, .... а может я вам неправильно объяснял smile Мне короче говоря,чтобы сразу отвергнуть всякие недопонимания, нужно полуичть в итоге примерно такую штуку график
Добавлено @ 09:02
Это конечно я так, на бумаге, только до 71, но выглядеть на машине должно так же. Ребята помогите пожалуйста, очень надо.
PM MAIL   Вверх
Akina
Дата 9.2.2005, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



spectr
1) Давать файлам имена с нацсимволами в Инете не принято.
2) Твоя просьба все больше напоминает "сделайте за меня"... это в раздел "Работа". Или все-таки начинай ДЕЛАТЬ.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Fedor
Дата 9.2.2005, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: нет
Всего: 32



spectr Файл не качается. Сделай его с английским именем.


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
Romtek
Дата 9.2.2005, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 7.12.2004
Где: Холон

Репутация: нет
Всего: 4



Насколько я понимаю, график должен быть из дискретных значений, а не непрерывным.

Fedor, http://www.spectr.nm.ru/%E3%F0%E0%F4%E8%EA2.jpg - так поможет?
--------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр.
PM WWW   Вверх
Akina
Дата 9.2.2005, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Romtek
Цитата(Romtek @ 9.2.2005, 12:09)
Fedor, http://www.spectr.nm.ru/%E3%F0%E0%F4%E8%EA2.jpg - так поможет?

Нет, не поможет однозначно. Переименуй файл в grafik.jpg или нечто аналогичное - но БЕЗ РУССКИХ БУКВ!!!


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
spectr
Дата 10.2.2005, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 31.1.2005

Репутация: нет
Всего: нет



Переименовал.


Akina smile Я не прошу сделать за меня, я прошу подсказать как это сделать. Просто у кого не спрошу,все руками разводят. Я у вас как у опытных спецов спрашиваю.
Добавлено @ 07:16
График
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0845 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.