Паскаль тілінде программалау


Паскаль тілінде программалау



бет6/8
Дата25.01.2017
өлшемі131,77 Kb.
#7898
түріПрограмма
1   2   3   4   5   6   7   8

Паскаль тілінде программалау

  • Тақырып 8. Функциялардың графигі
  • Функция графиктерін құру
  • Есеп: 0 мен 2π интервалы арасындағы y = 3 sin(x) функциясының графигін құру.
  • Анализ:
    • x = π/2 болғанда максималды мән ymax = 3
    • x = 3π/2 болғанда минималды мән ymin = -3
  • Мәселе: функция координалардың математикалық жүйесінде көрсетілген, ал графикті координаталарын пиксельдермен көрсете отырып компьютер экранында шығару керек.
  • Координаталардың түрленуі
  • (x,y)
  • X
  • Y
  • x
  • y
  • Координаталардың математикалық
  • жүйесі
  • Координаталардың экрандық жүйесі (пиксельдер)
  • (xэ,yэ)
  • (0,0)
  • (0,0)
  • a
  • b
  • k – масштаб (экрандағы жекелеген кесінді кескінінің ұзындығы)
  • xэ = a + kx
  • yэ = b - ky
  • Программа
  • hx-тің өзгеру қадамы
  • w – ОХ осінің ұзындығы(пиксельдер саны)
  • экранда
  • координаталар осі
  • графиктің құрылу циклі
  • program qq;
  • const a = 50; b = 200; k = 50;
  • xmin = 0; xmax = 6.2832;
  • var x, y, h: real;
  • xe, ye, w: integer;
  • begin
  • w := round((xmax - xmin)*k);
  • Line(a-10, b, a+w, b);
  • Line(a, 0, a, 2*b);
  • x := xmin; h := 0.05;
  • while x <= xmax do begin
  • y := 3*sin(x);
  • xe := a + round(k*x);
  • ye := b - round(k*y);
  • Point (xe, ye);
  • x := x + h;
  • end;
  • end.
  • Кемшілігі ?
  • ?
  • Нүктелерді қалай біріктіруге болады?
  • Алгоритм:
  • Егер бірінші нүкте болса
  • (xэ,yэ) нүктесіне өту
  • әйтпесе
  • (xэ,yэ) нүктесіне кесінді
  • Программа:
  • бастапқы мән
  • логикалық айнымалы
  • var first: boolean;
  • ...
  • begin
  • ...
  • first := True;
  • while x <= xmax do begin
  • ...
  • if first then begin
  • MoveTo(xe, ye);
  • first := False;
  • end
  • else LineTo(xe, ye);
  • ...
  • end;
  • end.
  • Тапсырмалар
  • "4": [-3,3] интервалы арасында y = x2 функциясының графигін құру.
  • "5": Функция графигін құру (эллипс)

Паскаль тілінде программалау

  • Процедуралар
  • Есеп: Мына фигураны құру:
  • Ерекшелігі: Үш ұқсас фигура.
    • жалпы: өлшемдері, айналу бұрышы
    • айырмашылықтары: координаталары, түстері
  • Белгілі әдістермен шешуге бола ма?
  • ?
  • Неше координата белгілеу керек?
  • ?
  • Процедуралар
  • Процедура – кейбір әрекеттерді орындау үшін қолданылатын көмекші.
  • Қолданылуы:
    • программаның әр жерінде орналасқан бірдей әрекеттерді орындау
    • программаны түсіну оңай болу үшін оны бірнеше қосалқы бөліктерге бөлу
  • Көмекші есеп1
  • Көмекші есеп2
  • Көмекші есеп3
  • 1.1
  • 1.2
  • 1.3
  • 2.1
  • 2.2
  • 2.3
  • 3.1
  • 3.2
  • 3.3
  • Негізгі есеп
  • Процедуралар
  • Есепті орындау тәртібі:
    • бірдей немесе ұқсас әрекеттерді ерекшелеп алу (үш фигура)
    • олардың ұқсас жерлері (өлшемі, пішіні, айналу бұрышы) мен айырмашылықтарын (координаталары, түсі) табу
    • айырмашықтарын белгісіз айнымалылар түрінде өрнектеу, осы айнымалылар процедураның параметрлері болады
  • (x, y)
  • 100
  • 60
  • (x+100, y)
  • (x, y-60)
  • procedure Tr( x, y, r, g, b: integer);
  • begin
  • MoveTo(x, y);
  • LineTo(x, y-60);
  • LineTo(x+100, y);
  • LineTo(x, y);
  • Brush(1, r, g, b);
  • Fill(x+20, y-20);
  • end;
  • тақырыбы
  • MoveTo(x, y);
  • LineTo(x, y-60);
  • LineTo(x+100, y);
  • LineTo(x, y);
  • Brush(1, r, g, b);
  • Fill(x+20, y-20);
  • процедура тұлғасы
  • координаталар
  • түс
  • Программа
  • program qq;
  • begin
  • Pen(1, 255, 0, 255);
  • Tr(100, 100, 0, 0, 255);
  • Tr(200, 100, 0, 255, 0);
  • Tr(200, 160, 255, 0, 0);
  • end.
  • (100,100)
  • 100
  • 60
  • процедура
  • нақтылы параметрлер
  • процедураны шақырулар
  • procedure Tr( x, y, r, g, b: integer);
  • begin
  • ...
  • end;
  • формальды параметрлер
  • Процедуралар
  • Ерекшеліктері:
    • барлық процедуралар негізгі программаның үстінде орналасқан
    • процедураның тақырыбында формальды параметрлер жазылады, олар кейде өзгеріп отыратындықтан атаулармен белгіленеді
    • процедураны шақыру кезінде жақша ішінде нақтылы параметрлер(сандар немесе арифметикалық өрнектер) көрсетіледі
  • procedure Tr( x, y, r, g, b: integer);
  • Tr (200, 100, 0, 255, 0);
  • x
  • y
  • r
  • g
  • b
  • Процедуралар
  • Ерекшеліктері:
    • әрбір формалды параметрдің қос нүктеден кейін типі көрсетілуі қажет
    • егер типтері бірдей параметрлер бірінен кейін бірі орналасса, олардың арасы үтірмен ажыратылады
    • процедураның ішіндегі параметрлер айнымалылар секілді қолданылады
  • procedure A (x: real; y: integer; z: real);
  • procedure A (x, z: real; y, k, l: integer);
  • Процедуралар
  • Ерекшеліктері:
    • процедурада қосымша айнымалы ретінде жергілікті(локальді) айнымалыларды пайдалануға болады, басқа процедуралар оған қатынай алмайды
  • program qq;
  • procedure A(x, y: integer);
  • var a, b: real;
  • begin
  • a := (x + y)/6;
  • ...
  • end;
  • begin
  • ...
  • end.
  • procedure A(x, y: integer);
  • var a, b: real;
  • begin
  • a := (x + y)/6;
  • ...
  • end;
  • локальді айнымалылар
  • var a, b: real;
  • Параметр-айнымалылар
  • Есеп: екі айнымалы мәндерінің орындарын ауыстыратын процедураны құру.
  • Ерекшеліктері:
    • Процедурада жасалған өзгертулер шақырушы программаға белгілі болуы қажет.
  • program qq;
  • var x, y: integer;
  • begin
  • x := 1; y := 2;
  • Exchange ( x, y );
  • writeln ( ’x = ’, x, ’ y = ’, y );
  • end;
  • procedure Exchange ( a, b: integer );
  • var c: integer;
  • begin
  • c := a; a := b; b := c;
  • end;
  • x = 1 y = 2
  • Параметр-айнымалылар
  • Қолданылуы: процедура(және функция) осындай әдіс арқылы бірнеше мән бере алады.
  • Шақыртудың тыйым салынған нұсқалары
    • Exchange ( 2, 3 ); { сандар }
    • Exchange ( x+z, y+2 ); { өрнектер }
  • procedure Exchange ( a, b: integer );
  • var c: integer;
  • begin
  • c := a; a := b; b := c;
  • end;
  • var
  • параметрлер өзгере алады
  • Тапсырмалар
  • "4": Процедураларды пайдалана отырып, мына фигураны құрастыру.
  • "5": Процедураларды пайдалана отырып, мына фигураны құрастыру.
  • a
  • a
  • a
  • 0,866∙a
  • Тең қабырғалы үшбұрыш

Каталог: userdata
userdata -> Абайтанушы Қайым Мұхаметханұлы
userdata -> Әлия Молдағұлова
userdata -> Ән жанрлары мен мектептері
userdata -> Әуенімен әйгілі әбілқайыр әулеті
userdata -> КӨкбай жанатайұлы (1861-1925)
userdata -> Өтен айгүл жақсылықҚызы кенен Әзірбаевтың әдеби шығармашылығы
userdata -> Балалардың сүйікті жыршысы (М.Әлімбаевтың шығармашылығына арналған әдістемелік құрал)
userdata -> Егемен Қазақстанның
userdata -> Сабақтың тақырыбы : «Алаштың дара тұлғасы-Мәшһүр Жүсіп»
userdata -> Ахмет Жұбанов Ахмет Қуанұлы Жұбанов


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет