Помогите люди добрые! короче надо составить программу автоматизирующюю процесс построения фигур на плоскости с помощью циркуля и линейки. программа должна уметь выполнить следующие команды: - отметить произвольную точку и обозначить её - построить прямую, проходящую через две точки - построить произвольную прямую - построить окружность с заданным центром заданного радиуса - построить и обозначить точку пересечения двух линий. Программа должна содерать 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®; 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 of 1: 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. Думаю, что нужно делать меню. Сценарии задач отслеживать по пунктам меню. Продумай интерфейс как следует.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.