Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Поскажите по задачи, в чем ошибка?
Поскажите по задачи, в чем ошибка?
Сама задача,
{Три точки заданы декартовыми координатами А(1,2) В (-2,1) С(1.2,-1)
вычислить полярные координаты этих точек и упорядочить их по возрастанию
полярного радиуса r0. Полярные координаты вычисляются по формуле r0=(x^2+y^2) ^1/2;
fi=arctg(y/x) где x и y декартовые координаты точек. Вычисление
полярных координат оформить процедурой. # }

Программа
program f1;
uses crt;
type matr=array [1..2] of real;
const A:matr=(1,2); B:matr=(-2,1); C:matr=(1.2,-1);
var r0,fi:real;
procedure radius (N:tochka of real; var z:real);
var i:integer;
begin
for i:=1 to 3 do
ro1:=sqrt(x*x+y*y); end;
procedure ygol (N:tochla of real; var fi:=real);
var i:=integer;
for i:=1 to 3 do
fi:=arctg (y1/x1); end;
begin
clrscr;
radius (A;z); radius (B;z); radius (C;z);
ygol (A;fi); ygol (B;fi); ygol (C;fi);

end.

Заранее благодарен

1 | Автор: Totem | 2011-04-30, 09:02   |  Репутация: [ + 0 ]
Quote (Totem)
procedure radius (N:tochka of real; var z:real);

Что в первой что во второй процедуре у тебя стоит тип данных Tochka. Что это такое? У тебя ж точка перед этим нигде не описана. В процедурах у тебя три раза прокручивается цикл фор, но переменные х и у не меняются во время этого. Зачем тогда прокручивать три раза? Без цикла результат будет тот же. Ты наверное хотел за один раз прокрутить сразу три точки?

---------------------------------------------
Вот измененный код.

Code
program f1;
uses crt;
type matr=array [1..2] of real;
const A:matr=(1,2); B:matr=(-2,1); C:matr=(1.2,-1);
var r0,fi,z:real;
procedure radius (n:matr; var z:real);
begin
z:=sqrt (sqr(n[1])+sqr(n[2])); end;
procedure ygol (N:matr; var fi:real);
begin
fi:= arctan (n[2]/n[1]); end;
begin
clrscr;
radius (A,z); write (z,#32); radius (B,z); write (z,#32); radius (C,z); write (z,#32);
writeln;
ygol (A,fi); write (fi,#32); ygol (B,fi); write (fi,#32); ygol (C,fi); write (fi,#32);
readkey;
end.

Хотя я так и не понял где у тебя в первой процедуре 1/2? В формуле есть, а в процедуре нету.

2 | Автор: HWOARANG | 2011-04-30, 14:57 | Изменено: HWOARANG - Сб, 2011-04-30, 14:59   |  Репутация: [ + 20 ]
чувак ты реально крут, спасибо тебе огромное.
3 | Автор: Totem | 2011-05-01, 08:56   |  Репутация: [ + 0 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Поскажите по задачи, в чем ошибка?
  • Страница 1 из 1
  • 1
Поиск: