![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 19.12.2007
Сообщений: 159
|
![]()
Создайте класс РАВНОСТОРОННИЙ МНОГОГРАННИК. Обязательными методами класса являются ввод/вывод параметров фигуры, изображение многогранника, вычисление площади фигуры.
Я полный ламер, поэтому ошибок естесствено налепила тьма тьмущая и прога даже не запускается. Класс создавала по примеру из лекции, попытка нарисовать в граве оказалась неудачной. Но веритьяс мне что если чутку поправить то все заработает ведь я так старалась. Если кто поможет заметить ошибки и поправить спаисбо огромное. program mnogogr; uses crt, graph; type win=object x1,y1,r,cv:byte; k,s,t:integer; procedure init(xn1,yn1,rn,cvn:byte;kn,sn,tn:i nteger); procedure makewin; function getsizet:byte; function getsizes:byte; end; procedure win.init; var Gd, Gm: Integer; begin Gd:= Detect; InitGraph(Gd, Gm,' '); if GraphResult <> grOk then Halt(1);} PieSlice(100, 100, 0, 270, rn); x1:=xn1; y1:=yn1; r:=rn; cv:=cvn; k:=kn; t:=tn; end; function win.getsizet; begin getsizet:=2*R*sin(3.14/n); end; function win.getsizes; begin getsizes:=n/2*r*r*sin(2*3.14/n); end; } var winvar:win; begin with winvar do begin init(50,50,10,1,6,1,1); makewin; writeln('kol stor-',k,'ploshad-',s); end; readkey; end. я исходила их того что любой правильной многогранник можно вписать в окружность r? это у меня радиус, а x1 и y1 координаты центра окружности, они постоянные. Я должна менять только количество стороно (препод сказал пусть всегда четное будет), обозначила буквой n, t это длина стороны,которую пытаюсь высчитать по формуле, s площадь фигуры тоже считаю по формуле. если еще чего разъяснить скажите
Пока ремонтируют кукольный домик, живу на форуме.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Наверное вы все-таки пытаетесь создать не многогранник, а многоугольник.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 19.12.2007
Сообщений: 159
|
![]()
ага, мне вобщем для облегчения задния сказали путсь плоским будет, а на плоскости это одно и тоже получается
Пока ремонтируют кукольный домик, живу на форуме.
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
![]()
А по каким параметрам строится этот многогранник?
Точто всё начинается с окружности и деления её длины дуги на равные части это очевидно. Осталось только понять что задаёт пользователь.... Если по кол-во сторон, то это одна формула, по площади, другая.... а по длине сторон - третья.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 19.12.2007
Сообщений: 159
|
![]()
я пытаюсь задать точку центра и радиус окружности, также ввожу количество сторон и по формуле должно расчитаться длина стороны и построиться по этим длинам,а площадь просто считается и выводится цифрой
function win.getsizet; begin getsizet:=2*R*sin(3.14/n); end; function win.getsizes; begin getsizes:=n/2*r*r*sin(2*3.14/n); вот тут я вроде как считаю размер стороны и площдь. ну если в чем ошиблась попрравьтепожалуйста
Пока ремонтируют кукольный домик, живу на форуме.
Последний раз редактировалось Барби; 03.04.2008 в 00:13. |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
![]()
На мой взгляд программа выглядит так:
1. Пользоватеь вводит кол-во сторон многоугольника. 2. Делаем рассчёты координат всех вершин и заносим в массив. 3. По этим точкам рисуем многоугольник (например пользуя Polyline, правда это в делфи) 4. Считаем нужные величины и выводим на экран. 1 и 2) Создаём массив с координатами. Код:
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 19.12.2007
Сообщений: 159
|
![]()
спасибо,но можно парочку уточняющих вопросиков? зачем вводить массив данных?для расчету координат по оси x и y новых точек для построения? a это и есть координата новой точки?
Пока ремонтируют кукольный домик, живу на форуме.
|
![]() |
![]() |
![]() |
#8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Барбара, если проблема только с рисованием, то позволь подарить примерчик с моей контрольной из колледжа:
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
![]()
Можно обойтись и без массива. Но так как я пишу не в паскале то мне проще вывести все данные для дальнейших действий. Рисовать не я буду
![]() Программа создаёт массив координат всех точек многограника, считает длину стороны и площадь фигуры. Код:
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]()
Вот когда-то делал на Pascal(минимум углов 1):
Код:
+++me |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задачи в Паскале | vitekbest | Помощь студентам | 1 | 06.04.2008 19:35 |
ДОС в паскале | nikleb | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 07.03.2008 22:50 |
На Паскале | Bagsi | Помощь студентам | 13 | 21.11.2007 21:40 |