Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пара задач, Пара задач 
:(
    Опции темы
F_13
Дата 28.9.2005, 09:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ребята! помогите решить пару задачек. Просто сам физически не успеваю... smile
1) Составить программу с использованием функции:
Три треугольника заданы на плоскости координатами вершин:
(A,B,C),(D,F,S),(K,L,M). Вычислить периметры этих треугольников и найти максимальный периметр.

2) Составить программу с использованием процедуры:
Даны векторы: a={ai}i=1,4; b={bi}i=1,4; c={ci}i=1,5; d={di}i=1,5;
Найти значение у=min(P1,P2), где
P1 - скалярное произведение векторов a и b
P2 - скалярное произведение векторов c и d

Заранее всем благодарен.
  Вверх
nikitao
Дата 28.9.2005, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: нет
Всего: 26



Пиши в центр помощи,так тебе мало кто ответит.


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
F_13
Дата 28.9.2005, 16:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Блин! Ребята! Не успеваю...
Подскажите хотябы из первой задачи по каким формулам находить периметр..
А то со школы уже и не помню, а учебника под рукой нет.. smile
  Вверх
kent
Дата 28.9.2005, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 6.5.2005
Где: Russia

Репутация: нет
Всего: 1



Цитата(F_13 @ 28.9.2005, 16:47)

Вот первая, максимальный периметр вычислишь сам:
Код

uses Crt;
type
    TPoint = record
       x : Real;
       y : Real;
     end;

{------------------------------------------------------------------------}
Function Otr(Ax,Ay,Bx,By : Real) : Real;
var  result : Real;
begin
     if (((Ax > 0) and (Bx > 0)) and ((Ay > 0) and (By > 0))) or
        (((Ax > 0) and (Bx > 0)) and ((Ay < 0) and (By < 0))) or
        (((Ax < 0) and (Bx < 0)) and ((Ay > 0) and (By > 0))) or
        (((Ax < 0) and (Bx < 0)) and ((Ay < 0) and (By < 0))) then
       result := sqrt(sqr(abs(Ax - Bx)) + sqr(abs(Ay - By)));
     if ((Ax > 0) and (Bx < 0)) or ((Ax < 0) and (Bx > 0)) then begin
       if ((Ay > 0) and (By < 0)) or ((Ay < 0) and (By > 0)) then
         result := sqrt(sqr(abs(Ax + Bx)) + sqr(abs(Ay + By)))
       else if ((Ay > 0) and (By > 0)) or ((Ay < 0) and (By < 0)) then
         result := sqrt(sqr(abs(Ax + Bx)) + sqr(abs(Ay - By)));
     end
     else if ((Ax > 0) and (Bx > 0)) or ((Ax < 0) and (Bx < 0)) then begin
       if ((Ay > 0) and (By < 0)) or ((Ay < 0) and (By > 0)) then
         result := sqrt(sqr(abs(Ax - Bx)) + sqr(abs(Ay + By)));
     end;
     Otr := result;
end;
{------------------------------------------------------------------------}

{------------------------------------------------------------------------}
Function Perim(Ax,Ay,Bx,By,Cx,Cy : Real) : Real;
begin
     Perim := Otr(Ax,Ay,Bx,By) + Otr(Bx,By,Cx,Cy) + Otr(Ax,Ay,Cx,Cy);
end;
{------------------------------------------------------------------------}

var A,B,C,D : TPoint;
begin
     Clrscr;
     Write('Input point A (x,y):');
     ReadLn(A.x,A.y);
     Write('Input point B (x,y):');
     ReadLn(B.x,B.y);
     Write('Input point C (x,y):');
     ReadLn(C.x,C.y);
     Write('Input point D (x,y):');
     ReadLn(D.x,D.y);
     WriteLn('Perimeter ABC: ',Perim(A.x,A.y,B.x,B.y,C.x,C.y));
     WriteLn('Perimeter ABD: ',Perim(A.x,A.y,B.x,B.y,D.x,D.y));
     WriteLn('Perimeter ACD: ',Perim(A.x,A.y,C.x,C.y,D.x,D.y));
     ReadKey;
end.

PM MAIL ICQ   Вверх
Remiznik
Дата 28.9.2005, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: нет
Всего: 1



чёта код какойто сложный получился разве нельзя была сначала найти все три периметра а потом просто сравнить их ?
PM MAIL   Вверх
kent
Дата 28.9.2005, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 6.5.2005
Где: Russia

Репутация: нет
Всего: 1



Цитата(Remiznik @ 28.9.2005, 20:00)
чёта код какойто сложный получился разве нельзя была сначала найти все три периметра а потом просто сравнить их ?

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




PM MAIL ICQ   Вверх
Remiznik
Дата 29.9.2005, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: нет
Всего: 1



всё както за умно ))))
PM MAIL   Вверх
kent
Дата 29.9.2005, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 6.5.2005
Где: Russia

Репутация: нет
Всего: 1



Цитата(Remiznik @ 29.9.2005, 15:37)
всё както за умно ))))

smile А ты как думал...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.