Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 27.12.2008, 19:32   #1
kJlaCuk
Пользователь
 
Регистрация: 17.09.2008
Сообщений: 14
Репутация: 10
По умолчанию Определение геометрической фигуры

Плиз помогите с написанием кода программы в Паскале
Заданы координаты вершин четырехугольника x1, y1, x2, y2, x3, y3, x4, y4>=0. Определяет, является ли данный четырехугольник трапецией (использовать теорему косинусов и формулу ).
Изображения
Тип файла: png Формула.PNG (676 байт, 84 просмотров)

Последний раз редактировалось kJlaCuk; 27.12.2008 в 21:35.
kJlaCuk вне форума   Ответить с цитированием
Старый 28.12.2008, 00:18   #2
kJlaCuk
Пользователь
 
Регистрация: 17.09.2008
Сообщений: 14
Репутация: 10
По умолчанию

Вообщем к этому коду надо добавить проверку на "является ли введёная фигура трапецией"
Код:
Program za4et_2;
uses crt, Graph;
 var
 x:array[0..4] of integer;
 y:array[0..4] of integer;
 i:byte; d1,d2,d3,d4:real;
 d,e,r: integer;
begin
clrscr;
writeln('Vvedite poocheredno koordinati menishe 100');
for i:=1 to 4 do
begin
write('X',i,'='); readln(x[i]);
 if x[i]>100 then
  repeat
  writeln('Vi v spoem yme? Vvedite norm koordinatu');
  write('X',i,'='); readln(x[i]);
  until(x[i]<=100);
write('Y',i,'='); readln(y[i]);
 if y[i]>100 then
  repeat
  writeln('Vi v spoem yme? Vvedite norm koordinatu');
  write('Y',i,'='); readln(y[i]);
  until((y[i]<=100))and(y[i]<>0);
end;

 clrscr;
  d:=Detect;
  InitGraph(d,r,'');
  e:=GraphResult;
  if e <> grOK then
  begin
    Writeln ('Error');
    readln;
    halt;
  end;

d1:=sqrt(sqr(x[2]-x[1])+sqr(y[2]-y[1]));
d2:=sqrt(sqr(x[3]-x[2])+sqr(y[3]-y[2]));
d3:=sqrt(sqr(x[4]-x[3])+sqr(y[4]-y[3]));
d4:=sqrt(sqr(x[1]-x[4])+sqr(y[1]-y[4]));
d1:=d1+d2+d3+d4;

if (d1*3<(GetMaxX div 4))and(d1*3<(GetMaxY div 4)) then
r:=40 else
if (d1*3<(GetMaxX div 3))and(d1*3<(GetMaxY div 3)) then
r:=30 else
if (d1*3<(GetMaxX div 2))and(d1*3<(GetMaxY div 2)) then
r:=20 else r:=10;
line (x[1]*r,y[1]*r,x[2]*r,y[2]*r);
line (x[2]*r,y[2]*r,x[3]*r,y[3]*r);
line (x[3]*r,y[3]*r,x[4]*r,y[4]*r);
line (x[4]*r,y[4]*r,x[1]*r,y[1]*r);


readln;
end.
Этот код рисует на экране по введёным координатам фигура в графическом режиме.
Не хватает тока проверки на трапецию
kJlaCuk вне форума   Ответить с цитированием
Старый 28.12.2008, 00:19   #3
kJlaCuk
Пользователь
 
Регистрация: 17.09.2008
Сообщений: 14
Репутация: 10
По умолчанию

Тока этот код в режиме доработки, есть некоторые недочёты.
kJlaCuk вне форума   Ответить с цитированием
Старый 28.12.2008, 00:24   #4
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
Репутация: 41

icq: 466410310
По умолчанию

Этот код рисует по координатам трапецию? если так то тут что то замудрено написано))
Викдон вне форума   Ответить с цитированием
Старый 28.12.2008, 20:18   #5
kJlaCuk
Пользователь
 
Регистрация: 17.09.2008
Сообщений: 14
Репутация: 10
По умолчанию

http://programmersforum.ru/showthread.php?t=34587
kJlaCuk вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение фигуры по окружности &RiU Помощь студентам 3 31.10.2009 21:39
Помогите с геометрической задачкой! Rid Паскаль 12 07.12.2008 00:14
3D фигуры, как реализовать? Nikiforov Помощь студентам 2 22.02.2008 01:24
Програма для вывода геометрической фигуры Hworang Паскаль 8 30.10.2007 20:42
Детали, фигуры dma Microsoft Office Excel 1 17.10.2007 09:22


15:01.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.