Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2011, 15:05   #1
--Sashok--
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 76
Восклицание Підпрограми функції

Скласти програму обчислення периметра трикутника ABC, якщо відомі координати його вершини А(x1,y1,z1),B(x2,y2,x2),C(x3,y3,z3) .необхідно скористатись формулою P=AB+BC+AC, де AB=√(x1-x2)в квадрате + (y1-y2)в квадрате + (z1-z2)в квадрате. Корінь відноситься до всієї формули.

Підскажіть хочаб алгоритм розв'язання, не можу зрозуміти що саме потрібно прописати щоб знайти цей периметр, буду дуже вдячний за будь-яку допомогу!
--Sashok-- вне форума Ответить с цитированием
Старый 24.10.2011, 15:15   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Да все просто, надо посчитать периметр. Тем более что координаты заданы.

Итак.
Код:
for i:=1 to 3 do
readln(x[i],y[i],z[i])
Результат: Получаем координаты 3х точек.
Далее
Код:
ab := sqrt(sqr(x[1]-x[2])+sqr(y[1]-y[2])+sqr(z[1]-z[2]))
Результат: Получена длина отрезка.
Повторить еще раз для bc и ac отрезков, либо использовать функцию
Код:
p := ab + bc + ca
Результат: Получен периметр треугольника
Код:
writeln('Периметр равен ',p)
Результат: Периметр выведен на экран.

Функцию (возвращает длину отрезка между i-той и j-той точками) можно сделать так:
Код:
function(integer i,j):real;
begin
function := sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])+sqr(z[i]-z[j]));
end;
Если "непонятно" - читать мануалы.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)

Последний раз редактировалось Vanta11a; 24.10.2011 в 15:18.
Vanta11a вне форума Ответить с цитированием
Старый 24.10.2011, 19:14   #3
--Sashok--
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 76
Восклицание

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
Да все просто, надо посчитать периметр. Тем более что координаты заданы.

Итак.
Код:
for i:=1 to 3 do
readln(x[i],y[i],z[i])
Результат: Получаем координаты 3х точек.
Далее
Код:
ab := sqrt(sqr(x[1]-x[2])+sqr(y[1]-y[2])+sqr(z[1]-z[2]))
Результат: Получена длина отрезка.
Повторить еще раз для bc и ac отрезков, либо использовать функцию
Код:
p := ab + bc + ca
Результат: Получен периметр треугольника
Код:
writeln('Периметр равен ',p)
Результат: Периметр выведен на экран.

Функцию (возвращает длину отрезка между i-той и j-той точками) можно сделать так:
Код:
function(integer i,j):real;
begin
function := sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])+sqr(z[i]-z[j]));
end;
Если "непонятно" - читать мануалы.
что то не понял что за чем вставлять я как ток фунцию пытаюсь прописать у меня вылетает ошибка!
--Sashok-- вне форума Ответить с цитированием
Старый 24.10.2011, 22:36   #4
--Sashok--
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 76
По умолчанию

так что? не знаю что зачем вставить.
--Sashok-- вне форума Ответить с цитированием
Старый 25.10.2011, 12:50   #5
--Sashok--
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 76
По умолчанию

ап? !
--Sashok-- вне форума Ответить с цитированием
Старый 25.10.2011, 14:14   #6
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

var
....{сюда вносиш змінні}
{не пишеш бегін}
function(integer i,j):real;
begin
function := sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j])+sqr(z[i]-z[j]));
end;
begin
.....
p := ab + bc + ca
writeln('Периметр равен ',p)
end;
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 25.10.2011, 19:39   #7
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Цитата:
что то не понял что за чем вставлять я как ток фунцию пытаюсь прописать у меня вылетает ошибка!
Нужно объявить переменные, циклы и т.п.
Алгоритм дан. Нужна рабочая программа - в аську/ЛС. Ну и естественно за денежку.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
графік функції Sonne_asja Паскаль, Turbo Pascal, PascalABC.NET 7 15.06.2011 14:00
Паскаль. Підпрограми-процедури Yuryk26 Помощь студентам 1 14.04.2011 19:29
Паскаль. Підпрограми-процедури Yuryk26 Помощь студентам 1 14.04.2011 19:24
Функції. Динамічні масиви й структури Katpenko_tolik Помощь студентам 2 28.11.2010 17:14