14.12.2010, 18:15 | #1 (permalink) |
Новичок
Регистрация: 14.12.2010
Сообщений: 9
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Ребята, помогите решить задачку.
Нужно написать программу, которая выводит на экран две секторные диаграммы, расположив их рядом. Диаграмму надо снабдить заголовком и наименованием для каждого сектора. Исходные данные сформировать в текстовом файле. Количество секторов задавать в программе в виде именованной константы. Построение секторной диаграммы оформить в виде процедуры. Параметры процедуры: координаты центра диаграммы; радиус; количество секторов; массив процентов; массив наименований. Даны исходные данные: |
14.12.2010, 18:15 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Посмотрите аналогичные темы на нашем форуме Ребята помогите пожалуйста Ребята помогите с 2000 прошу |
15.12.2010, 18:55 | #5 (permalink) |
Экономичный вид памяти
Регистрация: 19.02.2008
Сообщений: 2,632
Записей в дневнике: 1
Сказал(а) спасибо: 6
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2794
|
Я так думаю это Владимир (Vladimir_S) ....Видимо успел запомнится только аватаркой...
Что касается задачки..тут писать прилично получается...и вряд ли вам тут кто то за неё возьмется....Могу только посоветовать приобрести книгу " Turbo Pascal в задачах и примерах Н. Культин " Там точно подобная задача рассматривалась и весьма подробно...Да и книжка в целом полезная я себя по ней "натаскивал" , когда уже стало стыдно на форум обращаться по "детским" вопросам |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
15.12.2010, 20:49 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Охо-хо, ну ладно, попробую. Хотя с графикой возиться - кошмар!
Только уж извините, но оформлять всякие там процедуры буду, как мне удобно, невзирая ни на какие идиотские преподские указули. |
15.12.2010, 22:02 | #9 (permalink) |
Специалист
Регистрация: 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. А уж всякие там файловые вводы, организацию параметров процедуры и прочую ерунду поправьте, если препод будет настаивать на этих дурацких указулях. P.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
|
|
|