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


Ответ
 
Опции темы Опции просмотра
Старый 14.12.2010, 18:15   #1 (permalink)
Аннэт
Новичок
 
Регистрация: 14.12.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile Ребята, помогите решить задачку.

Язык: Pascal =) Построение секторных диаграмм

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

Построение секторной диаграммы оформить в виде процедуры. Параметры процедуры: координаты центра диаграммы; радиус; количество секторов; массив процентов; массив наименований.

Даны исходные данные:
Миниатюры
enoiaeiua-aeaiiua.png  
Аннэт вне форума   Ответить с цитированием

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

Посмотрите аналогичные темы на нашем форуме

Ребята помогите пожалуйста
Ребята помогите с 2000 прошу

Старый 15.12.2010, 17:32   #2 (permalink)
Аннэт
Новичок
 
Регистрация: 14.12.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Динозаврик, ну помоги..)*
Аннэт вне форума   Ответить с цитированием
Старый 15.12.2010, 18:41   #3 (permalink)
Павел
StalkerMEN
 
Аватар для Павел
 
Регистрация: 19.04.2009
Сообщений: 3,702
Записей в дневнике: 2
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 2 сообщениях
Репутация: 4466
По умолчанию

стесняюсь спросить,а кто такой динозаврик?
Павел вне форума   Ответить с цитированием
Старый 15.12.2010, 18:45   #4 (permalink)
Ivan
Member
 
Регистрация: 11.04.2010
Сообщений: 604
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1528
По умолчанию

Цитата:
Сообщение от Павел Посмотреть сообщение
стесняюсь спросить,а кто такой динозаврик?
Думаю, что это Vladimir_S
Ivan вне форума   Ответить с цитированием
Старый 15.12.2010, 18:55   #5 (permalink)
Dram
Экономичный вид памяти
 
Аватар для Dram
 
Регистрация: 19.02.2008
Сообщений: 2,632
Записей в дневнике: 1
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2794
По умолчанию

Цитата:
Сообщение от Павел Посмотреть сообщение
стесняюсь спросить,а кто такой динозаврик?
Я так думаю это Владимир (Vladimir_S) ....Видимо успел запомнится только аватаркой...
Что касается задачки..тут писать прилично получается...и вряд ли вам тут кто то за неё возьмется....Могу только посоветовать приобрести книгу " Turbo Pascal в задачах и примерах Н. Культин " Там точно подобная задача рассматривалась и весьма подробно...Да и книжка в целом полезная я себя по ней "натаскивал" , когда уже стало стыдно на форум обращаться по "детским" вопросам
Dram вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 15.12.2010, 20:46   #6 (permalink)
Аннэт
Новичок
 
Регистрация: 14.12.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо за совет с книгой )* попробую завтра найти где можно такую купить..)
Аннэт вне форума   Ответить с цитированием
Старый 15.12.2010, 20:49   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Охо-хо, ну ладно, попробую. Хотя с графикой возиться - кошмар!
Только уж извините, но оформлять всякие там процедуры буду, как мне удобно, невзирая ни на какие идиотские преподские указули.
Vladimir_S вне форума   Ответить с цитированием
Старый 15.12.2010, 20:56   #8 (permalink)
Аннэт
Новичок
 
Регистрация: 14.12.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

ой) Спасибочки)) я вас ждала..))*
Аннэт вне форума   Ответить с цитированием
Старый 15.12.2010, 22:02   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Ну вот:
Код:
Uses Graph, CRT;
TYPE
 AR=ARRAY[1..6] of REAL;
Const
 Year_1995:AR=(10.3, 8.9, 6.2, 5.2, 4.4, 65.0);
 Year_1996:AR=(9.8, 8.1, 7.5, 7.9, 3.4, 63.3);
 Firm:ARRAY[1..6] of String=('Compaq','IBM','Packard Bell (NEC)',
                              'Apple','HP','Others');

Procedure Diagram(Ad:AR; Xc:Word; S:String);
var
 i:Integer;
 Ang_bef,Ang_aft,Ang:Word;
begin
 SetColor(15);
 SetTextStyle(DefaultFont,HorizDir,2);
 SetTextJustify(CenterText,TopText);
 OutTextXY(Xc,10,S);
 SetTextStyle(DefaultFont,HorizDir,1);
 Ang_bef:=0;
 For i:=1 to 6 do
  begin
   SetFillStyle(1,8+i);
   SetColor(8+i);
   Ang_Aft:=Ang_bef+ROUND(3.6*Ad[i]);
   Ang:=(Ang_bef+Ang_Aft) div 2;
   PieSlice(Xc,240,Ang_Bef,Ang_Aft,100);
   If i<4 then
    SetTextJustify(LeftText,CenterText)
   else
    SetTextJustify(RightText,CenterText);
   OutTextXY(Xc+ROUND(110*Cos(Ang/180*Pi)),
             240-ROUND(110*Sin(Ang/180*Pi)),Firm[i]);
   Ang_bef:=Ang_Aft;
  end;
end;

BEGIN
 InitGraph(..);{Параметры этой функции задайте сами}
 Diagram(Year_1995,140,'Market 1995');
 Diagram(Year_1996,460,'Market 1996');
 ReadKey;
 CloseGraph;
END.
В результате должно получиться так:
aa_dd.jpg
А уж всякие там файловые вводы, организацию параметров процедуры и прочую ерунду поправьте, если препод будет настаивать на этих дурацких указулях.
P.S. Почему на правой диаграмме лезут какие-то черные полосы - так и не понял. Надеюсь, они не помешают.
Vladimir_S вне форума   Ответить с цитированием
Старый 15.12.2010, 22:39   #10 (permalink)
Аннэт
Новичок
 
Регистрация: 14.12.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Владимир, вы умничка)) я в вас не сомневалась)) Спасибо вам большое)*
Аннэт вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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