«Объектга йўналтирилган дастурлаш тиллари» ни ўрганишда интерактив ўқитиш услубиёти


Download 1.85 Mb.
bet9/12
Sana07.03.2023
Hajmi1.85 Mb.
#1243688
1   ...   4   5   6   7   8   9   10   11   12
Bog'liq
delphi CASE1

Кейс . Перо ёрдамида тасвирлар

  • Кейс Муй калам билан графика

  • Стандарт геометрик шакллар




    1. Кейс. Пиксел шаклланиши билан графикада нуқталар ёрдамида тасвирлар ясаш муаммоси қўйилади. Тасвирнинг хар бир нуқтаси X, Y координатани ифодалайди. Координата боши экраннинг чап юқори бурчаги хисобланади. Координаталар пиксел ўлчовидадир. Пиксел графикада энг кичик ўлчов бирлиги бўлиб у ранг хусусият билан характерланади.

    Пикселлар шаклланиши туфайли яратиладиган графиканинг ажрата олиш қобиляти юқори бўлади. Y=sin(x) функция графигини пиксел шаклланиши билан тасвирлаш талаб этилсин.
    Дастлаб форма яратиб олиш зарур. Form1 сарлавхасини ўзгартириш учун object inspector дарчасининг properties хусусиятлар қатлами танланиб унинг caption компонентга функция графиги ибораси киритилади. Form1.color хусусиятида эса clwhite ўрнатилиши билан форма оқ рангда акс этади. Form1 учун object inspector дарчасидаги event ходиса қатлами танланиб, процедура яратиш учун ходисалар рўйхатидаги onpaint танланиб сичқончанинг чап тугмачаси икки марта тез босилади. Программа ойнагида у билан боғлиқ бўлган процедура шаклланган бўлиб, унга drawgraph; график чизувчи процедура номи киритилади.

    procedure TForm1.FormPaint(Sender: TObject);


    begin
    drawgraph;
    end;

    бу ерда drawgraph; процедура бўлиб, функция график дастури қуйида ифодаланган.

    procedure TForm1.FormPaint(Sender: TObject);
    procedure drawgraph;
    var g,y:real;
    i:integer;
    begin
    with form1.Canvas do
    begin
    Moveto(20,20);lineto(20,form1.Clientheight-20);
    Moveto(20,trunc(form1.ClientHeight/2));lineto(form1.ClientWidth,trunc(form1.Clientheight/2));
    textout(10,10,'x');
    textout(form1.ClientWidth-20,trunc(form1.ClientHeight/2)+20,'y');
    end;
    for i:=1 to form1.ClientWidth-20 do
    form1.Canvas.Pixels[i+20,trunc(form1.ClientHeight/2)-trunc(100*sin(i*pi/60))]:=clgreen;
    end;
    begin
    drawgraph;
    end;
    end.
    Дастурга мос графика расмда берилган.

    Дастурдан кўринадики программа иш тартибида синус жадвалини тасвирлаш мумкин.


    Такидлаш мумкинки, дастурда қатор процедуралар фойдаланилган. Drawgraph процедураси фойдаланувчи томонидан тузилган процедурадир.
    Moveto(Х,У) кўрсатилган координатага нуқтани кўчириш учун тайинланган.
    lineto((Х1,У1) процедураси Х,У координатадан Х1,У1 координатагача тўғри чизиқ чиздириш учун тайинланган. Бу ерда нуқта координаталари бутун сондан иборат бўлиши зарур ва ихтиёрий арифметик ифодадан таркиб топиши мумкин.
    textout(10,10,'x'); процедураси график иш тартибида кўрсатилган координатага берилган матнни чиқариш учун тайинланган.
    Тажриба кўрсатадики бу график иш тартибида форма ўлчами ўзгариши билан тасвирда узилиш кузатилади. Бундай ноқулайликни бартараф этиш учун object inspector дарчасининг event ходисалар қатламидаги onresize танланиб сичқончанинг чап тугмачасини икки марта тез босилса, программа ойнагида у билан боғлиқ бўлган процедура шаклланади.
    Ихтиёрий геометрик шаклларни юқоридаги процедура ёрдамида тасвирини дастурлаш мумкин.


    1. Download 1.85 Mb.

      Do'stlaringiz bilan baham:
  • 1   ...   4   5   6   7   8   9   10   11   12




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
    ma'muriyatiga murojaat qiling