![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
Всем доброго времени суток! Такая вот школьная задача! Даны 4 точки у каждой точки две координаты(x y) (всего 8 входных параметров т.е x1 x2 x3 x4 y1 y2 y3 y4) по этим парметрам вычислить длины соединений координат(т.е длины сторон этой фигуры, и диагонали, вообще все длины) и найти наибольшую длину в этой фигуре! только что у нас прошел первый урок по ПОДПРОГРАММАМ! сказали нужно через них( procedure) если можно то как можно проще! очень нужно к субботе! ВСЕМ ЗАРАНЕЕ СПАСИБО!
|
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
Блин неужели никто не знает как это сделать?
|
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
xF1x, все достаточно просто.
1. Пишешь подпрограмму, принимающую четыре координаты - x1,y1 и x2,y2 - соответственно, координаты первой и второй точек, длину отрезка между которыми надо вычислить. Подпрограмма должна считать длину по известной формуле. Запишу, как это выглядит:
2. Пишешь основную часть, где запрашиваешь все координаты у юзера и читаешь их в переменные. Вычисляешь с помощью вышесозданной функции все... ммм... 6 длин (четыре стороны и две диагонали). Затем сравниваешь шесть полученных значений, находишь максимальное, выводишь его. Все. |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
Во первых! я же сказал школьная задача, function calcLength вот этогго я в помине не знаю! я же знаю что для вас програмистов это раз плюнутьб, ну помогите школьнику!
|
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
xF1x, так, стоп, ты же сказал, что вы прошли подпрограммы? Function/procedure - это подпрограммы, просто функция возвращает какой-то результат, а процедура нет. Так в чем проблема?
|
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
у нас был первый урок подпрограмм! учитель дал попробовать сможем или нет! только слово procedure изучили! 1 ое домашнее задание
|
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
xF1x, через процедуры эту задачу решать глупо. Можно, конечно, извратиться с глобальными переменными. Знаешь, что это такое? Если знаешь, сейчас напишу.
Добавлено через 5 минут и 6 секунд В общем, если извращаться с глобалками, то так. ЭТО ФРАГМЕНТ, не целая программа. Додумай, чего там не хватает.
Добавлено через 6 минут и 3 секунды Вообще, мой совет: делай через function и блесни на уроке знаниями. Почитай, кстати, про function, чтобы понять, что делают функции и в чем отличие от процедур (хотя я об этом уже тут говорил). Меньше головной боли. |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
вообщем она сказала! вот вам procedure! и решайте! программа большая получается а глобальные переменные не слышал! она сказала что по простому вводишь координаты потом формулул для длины отрезков по координатам и вывести наибольшую длину! все! это же ШКОЛА! я програмирование изучаю год от силы! ))
|
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
xF1x, делай, как я говорю, хуже не будет, если ты знаешь больше, чем дали в школе. Если, конечно, действительно знаешь. Если про глобалки не слышал, тем более. Ссылочные аргументы процедуры знаешь? Если нет, то я не вижу другого метода делать через процедуры. Вообще, это как в Москву из Иванова через Владивосток ехать.
|
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
я плохо знаю програмирование! если бы знал хорошо сюда бы не обращался! поэтому и прошу мне помочь написать программу! она сказала делать через метки label ты об этом?
|
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 26 Всего: 122 |
||||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 34 Всего: 116 |
xF1x, понимаешь, в чем засада-то:
А уж вот это:вообще ни в какие ворота... Ты Паскаль изучаешь? Процедуры вам объяснили? И после этого приплести еще метки??? Может нам попробовать еще через Goto переходить внутрь процедуры? Вообще-то нельзя, но может быть получится, раз очень надо... ![]() Угу... Особенно если на каждый ответ всплывают ограничения: функции не использовать, про глобальные переменные не слышал (можно подумать, ты про какие-то другие слышал. Чем же ты пользовался ДО того, как тебе рассказали про процедуры для хранения значений? Воздухом), вот теперь еще Goto обязательно. Круто... Нужно с функциями (или с процедурами + Var параметры) - сделаем... А нет - так извиняй... |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
да да кстати и goto она тоже делала! )) ну уж помогите! а для вас это наоборот лучше! разнообразие! мне к субботе нужно!
|
|||
|
||||
orthrus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 30.10.2007 Где: г. Усть-Илимск(Ир кутская обл.) Репутация: 5 Всего: 16 |
Вот, вроде работает, пытался написать по школьному
![]()
-------------------- У того, кто ничего не делает, всегда много помощников.© Л.Н. Толстой ![]() |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
CalcLength не изучали и мы про 3 точки делали без массива! без массива нельзя?case n of тоже не изучали! а так все отлично!
Это сообщение отредактировал(а) xF1x - 12.9.2008, 15:24 |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
xF1x, вы вообще ну хоть что-то, кроме меток, изучали?! Что значит "calcLength" не изучали, а ничего, что это название процедуры? Или на первом уроке по процедурам ты не был? Кошмар. Без массива долго, нудно и муторно. Можно без case, если понаписать кучу условных операторов, это, надеюсь, учили. Если не учили, то максимум и минимум ты не найдешь. Вообще, код от orthrus можно раза этак в 2-3 сократить всего лишь с использованием дополнительного массива.
Добавлено через 1 минуту и 9 секунд То есть двух дополнительных, для X и для Y соответственно. Кстати, красивое решение получится. А если еще и записи прикрутить, то вообще супер будет, но я даже не спрашиваю, учили это или нет... |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
ладно давай я напишу как мы делали для 3 ч точек! и на этом основании ты уже подумаешь ок?
Добавлено через 14 минут и 53 секунды программа находит существует ли треуголдьник по его заданным координатам тоесть если одна сторона меньше двух других сторон то он существует еслши нет то несуществует! использовали формулу герона где p полупериметр! вот! и теперь нужно по образцу этой задачи сделать то что я написал!вычислить длины соединенй координат четырех точек и найти наибольшую длину! вот var x1 y1 x2 y2 x3 y3:integer; var s,p, l12,l21,l23:real; LABEL1,2; procedure dlin; var n,n1,m,m1:integer; var d:real; begin d:=sqrt (sqr(n1-n) +sqr(m1-m)) end: begin writeln ('x','x2','x3'); readln(x1,x2,x3); writeln ('y1','y2','y3'); readln (y1,y2,y3); dlin (x1,x2,y1,y2,l12); dlin (x2,x3,,y2,y3,l23); dlin(x3,x1,y3,y1,l31); writeln ('dlin12'l12,'dlin23'l23,'dlin31',l31) if l12>(l23+l31)or l23>(l12+l31)or l31>(l12+l23) then go to 1; else writeln ('существует'); p:=(l12+l23+l31)/2; s:=sqrt(p*(p-l12)*(p- l23)*(p-l31); writeln ('площадь's:5:1);go to 2 1:write('ytceo'); 2:readln; end. |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 30 Всего: 372 |
xF1x, Боже!!! Ужас какой-то. Вообще код у нас принято соответствующей кнопкой выделять, но это даже кодом называть язык не поворачивается
![]() За такое оформление надо расстреливать.
А вот это вообще зачем, а? Что оно хоть делает? просто считает локальную переменную не понятно для чего... Еще и goto эти... послушай ты народ что тебе говорит, сделай с функциями. Знаниями блеснешь... Если не примут сделаем тебе с goto, хотя это извращения жуткие... Зачем такое преподавание языка нужно... Если очень грубо - извиняюсь. |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
xF1x, руки поотрывать тем, кто такой код пишет. THandle тебе правильно сказал насчет стиля и оформления. Да и смысла в коде не особо. Я тебе уже говорил, сделай с функциями и будешь на высоте, репутацию себе поднимешь! Чего через одно место-то все делать, просто потому, что так препод сказал? Не стоит оно этого.
|
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
Ну ребят выкладывайте свой код давайте! как можно проще с procedure! блесну знаниями! давайте кидайте а то завтра сдавать
|
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
А РЕБЯТААА! ГДЕ ВЫ ВСЕ?
![]() ![]() |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
xF1x, наконец-то. Хоть что-то. Лови. Привел максимально короткое решение с процедурами, какое придумал. Перед сдачей советую проверить на работоспособность, у меня компилятора нет.
Кажись, так. Это сообщение отредактировал(а) mr.Anderson - 12.9.2008, 21:11 |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
calcLength
len поясни пожалуйста не знаю такого, так нужно же 4 точки! а у тебя 2 и что то len := sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) вот эту форумулу не понял зачем две координаты сами на себя перемножать? Это сообщение отредактировал(а) xF1x - 12.9.2008, 21:17 |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
ауууу ну где ты?
|
|||
|
||||
THandle |
|
||||||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 30 Всего: 372 |
mr.Anderson, тебя плющит!!! Уж извини
![]() ![]() Так кажись:
![]() И хто есть заюзанная, но не объявленная переменная i? ![]() Еще как можно например юзать переменную целого типа для присвоения результата вычислений sqrt? Вот в общем как-то работающий код, формулы не мои ![]() ![]()
Добавлено через 1 минуту и 54 секунды Процедура считающая длину типа.
4 точки, 4. Ты запусти, посмотри сколько раз надо вводить ![]() |
||||||
|
|||||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
THandle поясни плиз где мы вводим координаты 4 точек? и почему в начале 2 массива а не 4?
Добавлено @ 22:29 len := sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) длина от точки до точки не так находиться из конечной начальную вроде надо вычитать Это сообщение отредактировал(а) xF1x - 12.9.2008, 22:30 |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 30 Всего: 372 |
Потому что массивы у Андерсена длиной по 4 элемента, в одном [ координаты в другом y. Я бы вообще сделал запись и один массив, ну это мои уже дела ![]() Еще вопросы? |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
len := sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) длина от точки до точки не так находиться из конечной начальную вроде надо вычитать
|
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 30 Всего: 372 |
xF1x, предъявы не ко мне, я просто разместил объяву... Смотри, так?
|
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
вот формула для нахождения длины от одной точки до другой len:= sqrt(sqr(x1-x)+sqr(y1-y)) поправь если не так мы в классе так делали
|
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 30 Всего: 372 |
xF1x, тчоно
![]() ![]()
Так? |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
вообщем все я разобрался! сам кое где подредактировал! ВСЕМ ОГРОМНОЕ СПАСИБО!
![]() |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 30 Всего: 372 |
xF1x, если разобрался, то не поленись теме галочку поставить
![]() ![]() ![]() |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
спасибо!
![]() |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 16 Всего: 128 |
THandle, ну, вот что бывает, когда пишешь подобные ответы в спящем состоянии + при изучении второго языка попутно...
![]() xF1x, учил бы, например. ![]() |
|||
|
||||
xF1x |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 18.3.2008 Репутация: 0 Всего: 0 |
5 поставили! СПАСИБО щас еще одна программа будет!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |