IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Строим столбцовые диаграммы!, с помощью процентного соотношения, площади и всякой лишней бурды
P.O.L.L.Y
сообщение 15.10.2007 21:08
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Здравствуйте!
Снова пишу вам в надежде на помощь))

Задача такова(простите, формулировала сама):
есть 5 значений
например
A 200
B 140
C 150
D 210
F 205
Цифры взяты с бошки, но на доске было написано таким образом.
Сумму этих чисел мы принимаем за 100%
Нужно изобразить столбцовые диаграммы относительно этой суммы!


На уроке я начала что-то делать. По мере непонимая информатик помогал, но чем больше он объяснял
и че-то дописывал, тем меньше я понимала, что происходит! Он вводил новые переменные, давал им значения, что отмерял и отсчитывал, отсчитывал и отмерял...в общем...я запуталась! mega_chok.gif
Хотя результат появился...доооа...информатик дал четкую установку "дороботать до конца и красиво!!!"
Я сохранила у себя эту работу. Сейчас пытаюсь с ней разобраться.
Проблема еще в том, что еще на уроке диаграммы "наезжали" друг на друга...это тоже нужно устранить...
ах да...еще косяк: то, что было сделано на уроке, не работает на моем компе! Возникает ошибка 106!!!
Вот мой код

Цитата
uses graph;
var
a:array[1..5] of real;
text: array[1..5] of string;
gd,gm: integer;
n, i:word;
s: real;
x,dx,y:integer;
begin
readln(n);

s:=0;
for i:=1 to n do begin
readln(text[i]);
readln(a[i]);
s:= s+a[i];
end;
gd:=9;
gm:=1;
Initgraph(gd,gm,'..\bgi');
{ploskost'}
Line(50,20,50,320);
Line(50,320,620,320);
{diagramma}
for i:=1 to n do begin
for i:=1 to n do begin
x:=30;
dx:=10;
y:=round(100*a[i]/s);

Rectangle(50+x*i,320-y,50+x*i+dx,320);


end;
readln;
closegraph;
end.


Братцы! Умоляю! ПОМОГИТЕ!!!

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 15.10.2007 21:24
Сообщение #2


Гость






Ну, смотри... На форуме были примеры построения подобных диаграмм (искать по слову "гистогр*")...

Что касается твоей программы: у тебя лишний цикл (зачем 2 вложенных цикла For по одной переменной - я не понимаю) - скорее всего - опечатка, но из-за нее программа не компилируется. А по поводу ошибки #106 - это ты имеешь в виду после запуска? Значит, неправильно ввела значения (например, ввела текст там, где требовалось число) - неверный формат числа это и есть ошибка 106.

Сообщение отредактировано: volvo - 15.10.2007 21:25
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 16.10.2007 19:49
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Если честно, изучив все темы результата, я еще больше запуталась... blink.gif
Моя задача, я думаю, намного легче. Тем более у меня уже есть основа решения.

Пожалуйста! Помогите мне ее доделать до конца!!!
Просто скажите, в какой последовательности нужно вводить текст и числа,
как нужно подписать диаграммы(снизу название, сверху - проценты) и как
нужно их закрасить? Самое важное, можно ли каждую диаграмму закрасить
по-разному, приминяя только один код прямоугольника??
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 16.10.2007 19:56
Сообщение #4


Гость






Если тебе просто сказать, как это все сделать - то получится как раз тот код, который я выкладывал, потому как он именно и реализует простейшую гистограмму...

Если подождешь - набросаю именно то, что тебе нужно, с комментариями, но это будет чуть позже.

Цитата
можно ли каждую диаграмму закрасить по-разному, приминяя только один код прямоугольника
Меняя цвет заливки через setfillstyle...
 К началу страницы 
+ Ответить 
volvo
сообщение 17.10.2007 14:52
Сообщение #5


Гость






P.O.L.L.Y
Вот, посмотри, что получилось:

<deleted>

Сообщение отредактировано: volvo - 18.10.2007 0:10
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 17.10.2007 20:06
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


volvo
Спасибо большое! Стало уже понятнее))
Правда есть несколько вопросов...
программа не запускается, выдает ошибку 3

что-то ей не нравится в
gr_driver := detect;
initgraph(gr_driver, gr_mode, '');


в ковычки я поставила '..\bgi' - как и всегда...
все равно ошибка.

поменяла
gr_driver := detect; на gd:=9; gm:=1; - так тоже всегда делала
в скобках initgraph(gr_driver, gr_mode, ''); соответственно на initgraph(gd, gm, '..\bgi');

и все равно ошибка! Где я могла ошибиться? blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.10.2007 20:37
Сообщение #7


Гость






Ну, может ты просто не поменяла в разделе описания переменных с gr_driver на gd? Хотя зачем - я не понимаю... Я дал более общую программу. И если вдруг ты не увидишь той картинки, которую увидит тот, кто запустит мою программу (без исправлений) - то извини, виновата в этом будешь только ты... У меня устанавливается режим 640*480, ты зачем-то занижаешь до 640*350... Смысл в этом какой? Сделать хуже, чем можно?

Опять же, gd это надо еще догадаться, что такое. С gr_driver проблем никаких быть не может - толкование однозначное. Опять делаем хуже, чем можно?
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 17.10.2007 20:56
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Эхх...дело ведь не в ухудшении программы, а в том, что я ищу любые способы предотвращения ошибки...
Странно получается...вроде я все правильно указала mellow.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.10.2007 20:59
Сообщение #9


Гость






Цитата
я ищу любые способы предотвращения ошибки
Каким образом? Уменьшением разрешения экрана? Или заданием менее "говорящего" имени переменной? Странный способ отлова ошибок...

Цитата
вроде я все правильно указала
Чтоб не заниматься гаданием на кофейной гуще - присоедини файлом то, что ты наисправляла.
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 17.10.2007 21:17
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


Цитата
Каким образом? Уменьшением разрешения экрана? Или заданием менее "говорящего" имени переменной? Странный способ отлова ошибок...

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

Сначала я ничего не исправляла!
Пришлось ч-либо менять, когда вышла ошибка...

Ну да ладно...скажите пожалуйста, как файл присоединить? простите, что надоедаю...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.10.2007 0:10
Сообщение #11


Гость






Цитата
Сначала я ничего не исправляла!
Пришлось ч-либо менять, когда вышла ошибка...
Правда? А ничего, что сначала программа у меня отработала? Без ошибок, кстати? dry.gif

Вот и помогай после этого людям. А они еще и говорят, что в отлаженных программах ошибки какие-то. Доделывай свою тогда... Я снимаю свой вариант с обсуждения.
 К началу страницы 
+ Ответить 
P.O.L.L.Y
сообщение 18.10.2007 21:14
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский

Репутация: -  0  +


ээй! ты чего?? я не хотела тебя обидеть!
вообще-то я искала проблему в своем компе - он часто глючит!
и то, что я делала на уроке приходится подгонять под мою программу(хотя она точно такая же, ну не в этом суть)...вот думала, что и в этом случаи также! и хотела спросить, где вообще ошибка может находится...

Кстати ошибку я нашла)) и конечно же она была МОЕЙ(ни на минуту в этом не сомневалась smile.gif )
исправила - увидела результат! Оооочень красиво, между прочим!

Поэтому извини, если я чем-то тя обидела! Это могло произойти только случайно в порыве отчаянья)))))
И СПАСИБО тебе БОЛЬШОЕ!!! Ты мне чень помог!!! good.gif good.gif good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 18:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"