![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.06.2010
Сообщений: 3
|
![]()
Очень нужна помощь с заданием на Pascal к четвергу. Заранее спасибо всем, кто откликнется.
Задание: 1. Задать три точки. По двум точкам построить прямую и найти расстояние до третьей. Проиллюстрировать решение графически. 2. Ввести координаты точек из файла, записать результаты в файл. 3. Оформить программу в виде набора процедур. 4. Составить все возможные комбинации прямых и точек из десяти заданных точек, перенумеровать эти комбинации. 5. Ранжировать тройки в порядке возрастания расстояния между прямой и точкой. 6. Представить результаты в виде файла из набора записей, включающих номер комбинации, координаты характерных точек, значения расстояний. 7. Представить результаты в виде таблицы и в виде графика зависимости значения расстояния от номера комбинации. 8. Процедуры ранжирования и построения графика включить в модуль пользователя. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 24.04.2010
Сообщений: 205
|
![]()
Дружище! Это же нужно все писать. Кто же это будет делать задаром.
![]() |
![]() |
![]() |
![]() |
#3 |
Заслуженный флудер
Участник клуба
Регистрация: 31.03.2010
Сообщений: 1,473
|
![]()
Turbo Pascal?? если нет
![]() |
![]() |
![]() |
![]() |
#4 |
Регистрация: 09.06.2010
Сообщений: 3
|
![]()
Увы, Turbo Pascal.
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 09.06.2010
Сообщений: 3
|
![]()
Код программы:
Program ppp; Uses crt; Var T: ARRAY [1..10, 1..2] of INTEGER; i,j,k,N: INTEGER; D: Array[1..360] of real; PROCEDURE Rasst (Var X10,X11,X20,X21,X30, X31: Integer); VAR a,b,d: real; BEGIN if (X20-X10=0) then begin a:=0; b:=X11; end else begin a:=(X21-X11)/(X20-X10); b:=(X11*(X20-X10)-X10*(X21-X11))/(X20-X10); end; Writeln('priamaia: y =', a:2:0, 'x+',b:2:0); d:=Abs(a*X30-X31+b)/Sqrt(Sqr(a)+1); Writeln ('rasstoianie= ', d:2:0); {ReadLn;} end; FUNCTION Rst(Var X10,X11,X20,X21,X30, X31: Integer): REAL; Begin Rst:=Abs(((X21-X11)/(X20-X10))*X30-X31+(X11*(X20-X10)-X10*(X21-X11))/(X20-X10))/Sqrt(Sqr((X21-X11)/(X20-X10))+1); End; PROCEDURE swap(VAR x,y: real); var t:real; begin t:=x; x:=y; y:=t end; BEGIN clrscr; Writeln('tochki T1, .. , T10: '); for i:=1 to 10 do for j:=1 to 2 do Begin T[i,1]:=i; T[i,2]:=Random(I); GotoXY(i,j+1); Write(T[i,j], ' '); End; N:=0; Readln; for i:=1 to 10 do for j:=i+1 to 10 do for k:=1 to 10 do begin IF (k<>i) and (k<>j) Then begin N:=N+1; Writeln('nomer ', N); Writeln('rasstoianie megdu priamoi', '(',T[i,1],T[i,2],')','(',T[j,1],T[j,2],')','i tochkoi(',T[k,1],T[k,2], ')'); Rasst(T[i,1],T[i,1], T[j,1],T[j,2], T[k,1],T[k,2]); D[N]:=Rst(T[i,1],T[i,1], T[j,1],T[j,2], T[k,1],T[k,2]); end; end; Readln; Writeln('sortirovka:'); begin for j:=1 to 359 do for i:=1 to 360-j do if D[i]>D[i+1] then swap(D[i],D[i+1]) end; for j:=1 to 360 do Write(D[j]:2:0); Readln; END. Нужно, чтобы точки считывались из файла, Представить результаты в виде файла из набора записей, включающих номер комбинации, координаты характерных точек, значения расстояний. Представить результаты в виде графика зависимости значения расстояния от номера комбинации. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Комплексное число | Владимир_король | Помощь студентам | 1 | 10.05.2010 12:02 |
Задание по Тurbo Pascal | Артём555 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 27.04.2010 21:10 |