Помогите люди добрые! короче надо составить программу автоматизирующюю процесс построения фигур на плоскости с помощью циркуля и линейки. программа должна уметь выполнить следующие команды: - отметить произвольную точку и обозначить её - построить прямую, проходящую через две точки - построить произвольную прямую - построить окружность с заданным центром заданного радиуса - построить и обозначить точку пересечения двух линий. Программа должна содерать 2-3 стандартных задачи по построению школьного курса геометрии, предлагать их для решения и контролировать процесс построения и полученное решение.
Lapp
18.12.2007 18:22
Нехилое такое заданьице.. Надеюсь, не к завтрому нужно?
Сам уже хоть что-то сделал? Начал? Если да - покажи, если нет - начинай..
Гость
19.12.2007 5:10
делать начал. тока не смог ниче придумать кроме как построить.
program r;
uses graph;
var driver, mode:integer;
k,x,y,x1,y1:integer;
procedure first ;
begin
writeln ('влберите фигуру для построения');
writeln ('1:произвольная точка');
writeln ('2:произвольная прямая чз две точки');
writeln ('3:произвольная точка');
writeln ('4:построить окружность');
writeln ('5:точка пересечения двух линий');
write ('ваш выбор: ');
end;
procedure second;
var xc,yc,r:integer;
begin
writeln ('введите центр окружности');
readln(xc,yc);
writeln ('введите радиус окружности');
readln(r);
circle(xc,yc,r);
end;
procedure third;
var xl1,xl2,yl1,yl2:integer;
begin
writeln('введите координатл первой точки');
readln(xl1,yl1);
writeln('введите координатл второй точки');
readln(xl2,yl2);
circle (xl1,yl1,5);
circle (xl2,yl2,5);
l ine (xl1-30,yl1-30,xl2+30,yl2+30);
end;
procedure fourth;
var xl,yl:integer;
begin
writeln('введите координатл точки');
readln(xl,yl);
circle (xl,yl,5);
line (xl,yl,x1+50,y1+50);
line (xl-50,yl,x1,y1);
end;
begin
driver:=detect;
initgraph (driver,mode,'d:\tp7\bgi');
first;
readln(k);
randomize;
x:=random(610)+30;
y:=random(350)+30;
x1:=random(610)+30;
y1:=random(350)+30;
case k of1: begin circle (x,y,5);OutTextXY(x+5,y+5,'A');end;
2: third;
3: line (x,y,x1,y1);
4: second;
5: fourth;
end;
readln
end.
а как задачу приделать не представляю.
М
Юзай теги CODE, плз
Lapp
19.12.2007 5:27
1. Переходи полностью в графику. Вместо WriteLn используй OutTextXY. Для ввода используй ReadKey. Процедура для ввода с строки с ReadKey есть в FAQ, переделай ее под графику.
2. Думаю, что нужно делать меню. Сценарии задач отслеживать по пунктам меню. Продумай интерфейс как следует.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.