Вторник, 11.02.2025, 02:04
Блог учителя информатики и математики
О блогеМой профильРегистрацияВыходВход
Вы вошли как Гость · Группа "Гости" Приветствую Вас, Гость · RSS
Меню блога
Погода в нашем районе.

НАГРАДА

Как Вы считаете, должны ли дети ходить в школу в школьной форме?
Всего ответов: 2810
 
 Блог учителя
Главная » Статьи » Информатика » В помощь ученику

Строим графики (16 урок).

С помощью графической процедуры можно создавать на современном компьютере разнообразные рисунки, схемы и т.д. Количество пикселей на экране  зависит от типа графического адаптера. Его определяют по разрешению конкретного компьютера, монитора и настроек.

Сегодня у нас более простой урок - построение графиков функций.

Допустим требуется построить график функции у= х²-7 на отрезке [-5,5]. Кроме кривой, изображающей график этой функции, на экране должны быть высвечены координатные оси Ох и Оу.  Расположем начало системы координат Оху в середине экрана (т.е. в точке, определённой парой чисел 160, 100, для экрана по умолчанию). Определимся с количеством точек экрана, соответствующих единице измерения в системе координат Оху - масштабный множитель. Возьмём, например, 10. В этом случае положение точки графика с координатами (х,у) на экране определяется парой значений 160+10*х, 100-10*у. 

Напишем программу построения графика:


program parabola;


uses graphabc;


     var i:integer;


         x,y:real;


begin


         line(0,240,620,240); 


         line(300,0,300,900); 


    for i:=-500 to 500 do


    begin


         x:=0.03*i; 


         y:=x*x-7;


         setpixel(round(300+20*x),round(240-20*y),clRed );


         textout(10,10,'y=x*x-7');


    end;


end.


 Понравилось?

ДЗ.Украсим, подправим. 


При выполнении этой программы на экране вначале высвечивается горизонтальный и вертикальный отрезки, проходящие через середину экрана. На каждом из них отмечается точка, соответствующая единице в системе координат Оху. Затем в цикле с параметром I выполняется построение графика функции у= х²-7.Порядок можно поменять.  


Таким образом, за счёт выбора в качестве приращения аргумента величины, обратной масштабному множителю, а например числа 0,01  можно увеличить приращение аргумента. График может строиться медленее, но избавляемся от просветов между точками.

ДЗ. Строим графики из курса алгебры

Категория: В помощь ученику | Добавил: Harchev (09.12.2013)
Просмотров: 3432 | Комментарии: 13 | Рейтинг: 4.3/30
Всего комментариев: 131 2 »
1 Анастасия и Катерина  
uses graphabc;
var i:integer;
x,y:real;
begin
line (0,240,620,240);
line(300,0,300,900);
for i:=-5000 to 5000 do
begin
x:=0.01*i;
y:=x*x-50;
setpixel(round(300+15*x),round(240-2*y),clBlue);
textout(10,10,'y=x*x-50');
end;
end.

2 Настя  
uses graphabc;
var i: integer;
x, y: real;
begin
ClearWindow(clYellow);
line (0, 240, 620, 240);
line (300, 0, 300, 900);
for i:=-5000 to 5000 do
begin
x:=0.001*i;
y:=x*x-7;
setpixel(round(300+20*x), round(240-20*y), clTeal);
textout(10, 10,'y=x*x-7');
end;
end.

3 Анна и Ангелина  
program mp;
uses graphabc;
var i:integer;
x,y:real;
begin
line(0,350,760,350);
line(300,0,300,900);
for i:=-5000 to 5000 do
begin
x:=0.01*i;
y:=x*x-3;
setpixel(round(300+20*x),round(240-20*y),clolive );
textout(20,20,'y=x*x-70');
end;
end.

4 Настя  
Гипербола
uses graphabc;
var i: integer;
x, y: real;
begin
ClearWindow(clTeal);
line (0, 240, 620, 240);
line (300, 0, 300, 900);
for i:=-10000 to 10000 do
begin
x:=0.001*i;
y:=x*x*x;
setpixel(round(300+20*x), round(240-20*y), clRed);
textout(10, 10,'y=x*x-7');
end;
end.

13 Harchev  
Парабола.

5 Кристина  
program graphic;
uses graphabc;
var i:integer;
x,y:real;
begin
ClearWindow (clMaroon);
line(0,240,620,240);
line(300,0,300,900);
for i:=-600 to 700 do
begin
x:=0.02*i;
y:=x*x-45;
setpixel(round(300+25*x),round(240-3*y),clLime );
textout(10,10,'y=x*x-45');
end;
end.

6 Настя  
uses graphabc;
var xc,yc,rr,x,y,i:integer;
r,f,m:real;
s:string;
begin
xc:=windowwidth div 2;
yc:=windowheight div 2;
line (0, 240, 620, 240);
line (300, 0, 300, 900);
m:=yc-30;
f:=0;
while f<2*pi do
begin
r:=sin(3*f);
x:=xc+round(r*m*cos(f))-15;
y:=yc-round(r*m*sin(f))+25;
setpixel(x,y,clRed);
f:=f+0.001;
end;
end.

7 Ангелина  
uses graphabc;
var i: integer;
x, y: real;
begin
ClearWindow(clred);
line (0,300, 620, 300);
line (300, 0 ,300, 900);
for i:=-10000 to 10000 do
begin
x:=0.003*i;
y:=x*x*x;
setpixel(round(300+58*x), round(240-58*y), clblack);
textout(20, 20,'y=x*x-6');
end;
end.

8 Анастасия и Катерина  
цветок
uses graphABC;
var
a,n,x,y:integer;
f:real;
begin
SetWindowSize(768,512);
ClearWindow(clSilver);
a:=5;n:=4;
f:=0;
Line(320,0,320,480);
Line(0,240,640,240);
while f<15 do begin
x:=round(320 + a*Sin(n*f)*Cos(f)*40);
y:=round(240-a*Sin(n*f)*Sin(f)*40);
SetPixel(x,y,clPurple);
f:=f+0.001;
end;
end.

9 АННА  
uses graphabc;
var i: integer;
x, y: real;
begin
ClearWindow(clsilver);
line (0,300, 620, 300);
line (300, 0 ,300, 900);
for i:=-7000 to 7000 do
begin
x:=0.002*i;
y:=x*x*x;
setpixel(round(300+49*x), round(240-49*y), claqua);
textout(20, 20,'y=x*x-9');
end;
end.

10 Дима Г  
uses graphabc;
var i:integer;
x,y:real;
begin
line (0,240,620,240);
line(400,0,400,900);
for i:=-10000 to 10000 do
begin
x:=0.01*i;
y:=x*x*x-0;
setpixel(round(400+20*x),round(240-2*y),clblack);
textout(10,10,'y=x*x*x-0');
end;
end.

1-10 11-12
Имя *:
Email *:
Код *:
Copyright MyCorp © 2025
Блог учителя Учительский портал