|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Новичок
Регистрация: 21.04.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Полезная для вас информация так же содержится тут Тормозит ПК... или я? Если я, то подскажите где? Что делать, если трещит БП? Даны три вещественных числа... Если смысл изучать 1С прог, если... Площадь фигуры |
![]() |
#2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Вот так. В лучших традициях. Ни те "здрасьте", ни те "пжалста". Естественно, никаких намеков на язык программирования. Просто короткое распоряжение. Как говорится, "Слуги! Подайте барину пуги! Свиней загонять...". Ну-ну...
|
![]() |
![]() |
![]() |
#5 (permalink) |
Новичок
Регистрация: 21.04.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
Я вроде оставил в разделе Pascal
Собственно , нужно в паскале. Мне нужно написать программу н-угольника( и к тому же нарисовать его). Благодарен тому, кто мне поможет! |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
#6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() Цитата:
Господи, как же иногда с вами трудно - стараешься помочь, так в ответ на резонное предложение четко сформулировать задание с указанием языка и призыв соблюдать хотя бы начала элементарной вежливости получаешь огрызания, обиды, вставание в позу оскорбленной добродетели и всё такое прочее. Ладно. Вот Вам Ваша программа. А уж графическую часть с рисованием многоугольника - соблаговолите сами. Вели бы себя по-человечески - я бы Вам и это сделал, а так - увольте. Некоторые пояснения: 1. Вводится число вершин (N). 2. Вводятся координаты вершин - массивы X и Y. 3. Ищутся длины сторон - массив L. 4. Если фигура - треугольник, то ищется площадь по формуле Герона и на этом всё заканчивается, если же нет - то выполняются следующие пункты. 5. Находятся координаты произвольной точки, находящейся заведомо внутри многоугольника (Xp, Yp). В программе за таковую взята середина отрезка, соединяющего вершины 1 и 3. 6. Указанная точка соединяется отрезками со всеми вершинами. Находятся длины всех этих отрезков - массив C. 7. Суммируются площади всех треугольников, образованных парой смежных отрезков и стороной многоугольника между вершинами, на которые эти смежные отрезки опираются. 8. Выводится результат. Код:
var N:Byte; X,Y,L,C:Array[1..255] of Real; Xp,Yp,S:Real; i:integer; Function Geron(a,b,c:Real):Real; var p:real; begin p:=(a+b+c)/2; Geron:=SQRT(p*(p-a)*(p-b)*(p-c)); end; BEGIN Write('N= '); ReadLn(N); WriteLn; For i:=1 to N do begin Write('X[',i,']= '); ReadLn(X[i]); Write('Y[',i,']= '); ReadLn(Y[i]); end; For i:=1 to N-1 do L[i]:=SQRT(SQR(X[i]-X[i+1])+SQR(Y[i]-Y[i+1])); L[N]:=SQRT(SQR(X[N]-X[1])+SQR(Y[N]-Y[1])); If N=3 then S:=Geron(L[1],L[2],L[3]) else begin Xp:=(X[1]+X[3])/2; Yp:=(Y[1]+Y[3])/2; S:=0; For i:=1 to N do C[i]:=SQRT(SQR(X[i]-Xp)+SQR(Y[i]-Yp)); For i:=1 to N-1 do S:=S+Geron(C[i],L[i],C[i+1]); S:=S+Geron(C[N],L[N],C[1]); end; WriteLn; WriteLn('S= ',S:12:3); ReadLn; END. |
|
![]() |
![]() |
![]() |
#8 (permalink) |
Новичок
Регистрация: 16.12.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
var A, B: Array of TPoint;
i: Integer; n: Integer; S, P: Real; x0, y0: Integer; begin n :=Strtoint(Edit1.Text); // кол-во углов S := 0; P := 0; x0 := ClientWidth div 2; y0 := ClientHeight div 2; SetLength(A, n); SetLength(B, n); // кординаты ..........возможно ли координаты сделать динамическими??? A[0].X := 0; A[0].Y := 0; A[1].X := 0; A[1].Y := 3; A[2].X := 1; A[2].Y := 4; A[3].X := 3; A[3].Y := 0; A[4].X := 2; A[4].Y := -3; A[5].X := 1; A[5].Y := -5; |
![]() |
![]() |
![]() |
#9 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]() |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|