Нодо доделать программу, по графику СИНУСА - Turbo Pascal
Формулировка задачи:
Надо написать программу которая будет строить график Синуса.
Я уже поработал над этим, но осталось пару моментов над которыми долго ломаю голову,
Я организовал кнопки CLEAR и END, надо поработать над кнопкой NEW, чтобы при ее нажатии был запрос на новый вод параметра "а". Пока что у меня параметр "а" один - это a:=1.5; надо организовать ввод новых данных с клавиатуры для параметра "а", Красный пустой квадратик слева по середине отведен как раз для этого.
Помогите пожалуйста буду очень признателен!!
ПОмогите очень надо!!
ПОмогите очень надо!!
Решение задачи: «Нодо доделать программу, по графику СИНУСА»
textual
Листинг программы
program MyGraph; uses Graph, Crt; var xMax, yMax:integer; a, x, y: extended; i, x1, y1, k1, k2: integer; S: string; ch: char; label 1,2; procedure GraphInit; var grDriver: integer; grMode: integer; ErrCode: integer; begin grDriver := Detect; InitGraph(grDriver, grMode,'C:\Langs\bp\bgi\'); ErrCode := GraphResult; if ErrCode <> grOk then begin Writeln('Graphics error:', GraphErrorMsg(ErrCode)); repeat until KeyPressed; Halt; end; xMax:=GetMaxX; yMax:=GetMaxY; end; procedure Button(x1,y1,x2,y2:integer;st:string); begin SetfillStyle(1,4); Bar(x1,y1,x2,y2); OuttextXy(x1+5,y1+(y2-y1)div 2,st); end; Begin GraphInit; Button(50,420,200,460,' New'); Button(250,420,400,460,' Clear'); Button(450,420,600,460,' Exit'); SetColor(red); Rectangle(0,0,xMax,yMax); Line(200,0,200,400); Line(0,400,xMax,400); Rectangle(20,50,180,320); Rectangle(20,330,180,390); SetColor(Green); Line(220,200,620,200); Line(620,200,610,190); Line(620,200,610,210); Line(400,20,400,380); Line(400,20,410,30); Line(400,20,390,30); SetColor(white); Button(100,50,180,70,' Y'); Button(20,50,100,70,' X'); Line(100,50,100,320); Setfillstyle(2,2); Button(20,20,180,40,' Graphick'); k1:=25; k2:=50; a:=1.5; x:=-6.75; for i:=1 to 135 do begin y:=a*Sin(x); x:=x+0.1; x1:=Round(k1*x); y1:=Round(k2*y); PutPixel(x1+400,-y1+200,yellow); end; for i:=1 to 30 do begin y:=a*Sin(x); x:=x+2; str(y:8:4,S); OutTextXY(100,70+8*i,S); str(x:8:4,S); OutTextXY(25,70+8*i,S); end; 2: ch:=readkey; case ch of 'C','c': begin SetViewPort(201,1,xMax-1,399,clipon); ClearViewPort; SetViewPort(0,0,xMax,yMax,clipon); SetColor(Green); Line(220,200,620,200); Line(620,200,610,190); Line(620,200,610,210); Line(400,20,400,380); Line(400,20,410,30); Line(400,20,390,30); goto 2; end; 'N','n':begin outtextXY(25,355,'a='); gotoXY(8,23); readln(a); x:=-6.75; {процедура рисования графика цветом фона} {процедура рисования графика в нормальных цветах} {просто для теста} for i:=1 to 135 do begin y:=a*Sin(x); x:=x+0.1; x1:=Round(k1*x); y1:=Round(k2*y); PutPixel(x1+400,-y1+200,yellow); end; for i:=1 to 30 do begin y:=a*Sin(x); x:=x+2; str(y:8:4,S); OutTextXY(100,70+8*i,S); str(x:8:4,S); OutTextXY(25,70+8*i,S); end; end; 'E','e':Halt; else goto 2; end; repeat until KeyPressed; CloseGraph; End.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д