Инфоурок Информатика ПрезентацииPascal programlaşdırma dilinə aid təqdiamt .

Pascal programlaşdırma dilinə aid təqdiamt .

Скачать материал
Скачать материал "Pascal programlaşdırma dilinə aid təqdiamt ."

Получите профессию

Менеджер по туризму

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 3 месяца

Специалист по сертификации продукции

Описание презентации по отдельным слайдам:

  • 1Pascal dilində proqramlaşdırma© Polyakov K.Y. 2006-2007Giriş
Budaqlanma
Mürə...

    1 слайд

    1
    Pascal dilində proqramlaşdırma
    © Polyakov K.Y. 2006-2007
    Giriş
    Budaqlanma
    Mürəkkəb şərt
    Dövrler
    Şərtə görə dövrlər
    Seçım operatoru

    Qrafika
    Funksiyaların qrafikləri
    Proseduralar
    Rekursiya
    Animasiya
    Təsadüfi ədədlər
    Funksiyalar

  • 2 Pascal dilində proqramlaşdırmaMövzu1. 
Giriş© Polyakov K.Y, 2006-2007

    2 слайд

    2
    Pascal dilində proqramlaşdırma
    Mövzu1.
    Giriş
    © Polyakov K.Y, 2006-2007

  • 3AlqoritmAlqoritmin xassələr:
diskretlik: ayri-ayri addımlardan ibarətdir (ko...

    3 слайд

    3
    Alqoritm
    Alqoritmin xassələr:
    diskretlik: ayri-ayri addımlardan ibarətdir (komanda)
    aydınlıq: ancaq istifadəçiyə tanışolan komandalardan ibarət olmalıdır (İSK aid olanlar)
    Müəyyənlık: eynibir ilkin verilenelr üçün her zaman eyni cavabı verir
    Nəticəlilik: müəyyən sayda addımlardan sonra sona çatır
    Kütləvilik: müxtəlif ilkin verilənlərlə dəfələrlə yerinə yetirilə bilər
    konkretlik: hər bir mümkün olan ikin verilənlər üçün dəqiq nəticə verilir
    Alqoritm – istifadəçi üçün dəqiq planlaşdırılımış əməliyyatlar ardıcıllığıdır.

  • 4ProqramProqram – 
hər hansı bir proqramlaşdırma dilində yazılmış alqoritmdir...

    4 слайд

    4
    Proqram
    Proqram –
    hər hansı bir proqramlaşdırma dilində yazılmış alqoritmdir
    Kompyuter üçün komandalar ardıcıllığıdır
    Komanda– kompyuterin yerine yetirəcəyi əməliyyatların təsviridir.
    ilkin verilənleəri haradan alaq?
    onlarla ne etmək olar?

  • 5Proqramlaşdırma dilləriMaşın yönümlü (aşağı səviyyəli) – hər bir komanda pro...

    5 слайд

    5
    Proqramlaşdırma dilləri
    Maşın yönümlü (aşağı səviyyəli) – hər bir komanda prosessorun bir əmrinə uygun gəlir (assembler)
    Yüksek səviyyəli – istifadəçi tərəfindən asan başa düşülə bilən,danışıq dilinə (ingilis dilinə) yaxın olan və konkret olaraq kompyuterin növünden asılı olmayan
    Yeni öyrənənlər üçün : Beyzik,Loqo,Pascal
    Peşəkarlar üçün: Си, Фортран, Паскаль
    Süni intilllekt meselelri üçün: Пролог, ЛИСП
    Internet üçün: JavaScript, Java, Perl, PHP, ASP

  • 6Pascal dili1970 – Niklaus Virt (Швейцария)
 tələbələri öyretmek üçün istifad...

    6 слайд

    6
    Pascal dili
    1970 – Niklaus Virt (Швейцария)
    tələbələri öyretmek üçün istifadə edib
    «yuxarıdan aşağıya» prinsipi ilə proqram tərtibi





    müxtəlif strukturlu verilənlər(massıvlər, strukturlar, çoxluqlar)
    Altməsələ1
    Altməsələ2
    Altməsələ3
    1.1
    1.2
    1.3
    2.1
    2.2
    2.3
    3.1
    3.2
    3.3
    Məsələ

  • 7Proqramın sturkturu necədir?program ;
const …;{sabitlər}
var …; {dəyişənlər}...

    7 слайд

    7
    Proqramın sturkturu necədir?
    program <proqramın adı>;
    const …;{sabitlər}
    var …; {dəyişənlər}

    begin
    … {proqramın əsas hissəsi}
    end.
    {proseduralar və funksiyalar}
    fiqurlu mötırizələrdə olan şərhlər emal olunmur

  • 8Proqramın sturkturu nədən ibarətdir?sabit – adı olan sabit kəmiyyət.
Dəyişən...

    8 слайд

    8
    Proqramın sturkturu nədən ibarətdir?
    sabit – adı olan sabit kəmiyyət.
    Dəyişən – adı olan dəyişən kəmiyyət(yaddaşın oyuğu).
    proseduralar – bəzi əməliyyatları təsvir edən yardımçı alqoritmlər (şevrənin çəkilməsi).
    funksiya – hesablamaları aparmaq üçün yardımçı alqoritmlər (kvadrat kökün hesablanamsı, sin).

  • 9Proqramın,dəyişənlərin,sabitlərin adları (identifikatolar)Adlar aşağıdakılar...

    9 слайд

    9
    Proqramın,dəyişənlərin,sabitlərin adları (identifikatolar)
    Adlar aşağıdakılardan ibarət ola bilər
    Latın herifləri (A-Z)


    Rəqəmlər


    Altdan xətt _
    Böyük və kiçik həriflər fərqlənmir
    Adlarda istifadə oluna bilməz:
    Rus əlifbasının hərifləri
    boşluq
    Mötərizələr(), +, =, !, ? və digər simvollar.
    Adlar rəqəmlə başlaya bilməz
    Hansı adlar düzgün sayıla bilər?
    AXby R&B 4Wheel Вася “PesBarbos” TU154 [QuQu] _ABBA A+Bər

  • 10Sabitlərconst 	
   	i2 = 45; { tam ədəd }
	pi = 3.14; { həqiqi ədəd }

	qq...

    10 слайд

    10
    Sabitlər
    const
    i2 = 45; { tam ədəd }
    pi = 3.14; { həqiqi ədəd }

    qq = 'Вася'; { simvollar sətri }

    L = True; { məntiqi kəmiyyət }
    целая и дробная часть отделяются точкой
    можно использовать русские буквы!
    Iki qiymət ala bilər:
    True (doğru , «hə»)
    False (yalan, «yox»)

  • 11DəyişənlərDəyişən – adı,tipi və qiyməti ola bilən kəmiyyətdir.Dəyişən  qiym...

    11 слайд

    11
    Dəyişənlər
    Dəyişən – adı,tipi və qiyməti ola bilən kəmiyyətdir.Dəyişən qiymətini proqramın yerinə yetirləməsi zamanı dəyişə bilər.
    Dəyişənin tipləri:
    integer{tam }
    real{ həqiqi }
    char{ simvol }
    string{ simvollar sətri }
    boolean { məntiqi }
    Dəyişənlərin elan edilməsi (yaddaşın ayrılması):
    var a, b: integer;
    Q: real;
    s1, s2: string;

  • 12Dəyişənin qiymətini necə dəyişmək olar?Operator– Yüksək səviyyəli proqramla...

    12 слайд

    12
    Dəyişənin qiymətini necə dəyişmək olar?
    Operator– Yüksək səviyyəli proqramlaşdırma dilinin komandasıdır.
    Mənimsətmə operatoru- dəyişənin qiymətini dəyişmək üçündür .
    program qq;
    var a, b: integer;
    begin
    a := 5;
    b := a + 2;
    a := (a + 2)*(b – 3);
    end.
    a
    ?
    5
    5
    b
    ?
    5+2
    7
    a
    5
    7*4
    28
    Hümunə:

  • 13Mənimsətmə operatoruUmumi struktur:Riyazi ifadəyə daxil ola bilər:
Sabitlər...

    13 слайд

    13
    Mənimsətmə operatoru
    Umumi struktur:
    Riyazi ifadəyə daxil ola bilər:
    Sabitlər
    Dəyişən adları
    Riyazi işarələr:
    + - * / div mod

    Fuksiyaya müraciət
    Mötərizələr( )
    vurma
    Bölmə
    Tam bölmə
    Qalığın alınması
    <dəyişənin adı> := <riyazı ifadə>;

  • 14	program qq;
	var a, b: integer;
		 x, y: real; 
	begin
	  a := 5;   
   10...

    14 слайд

    14
    program qq;
    var a, b: integer;
    x, y: real;
    begin
    a := 5;
    10 := x;
    y := 7,8;
    b := 2.5;
    x := 2*(a + y);
    a := b + x;
    end.
    Hansı operatorlar doğru deyil?
    Dəyişənin adı :=-işarəsindən solda yerləşməlidir
    Ədədin tam və kəsir hissəsi nöqtə ilə ayrılmalıdır
    Tam tipli dəyişənə həqiqi tipli ədəd mənimsətmək olmaz

  • 15Proqramın “əllə” yerinə yetirilməsiprogram qq;
var 	a, b: integer;
begin...

    15 слайд

    15
    Proqramın “əllə” yerinə yetirilməsi
    program qq;
    var a, b: integer;
    begin
    a := 5;
    b := a + 2;
    a := (a + 2)*(b – 3);
    b := a div 5;
    a := a mod b;
    a := a + 1;
    b := (a + 14) mod 7;
    end.

  • 16Əməliyyatların yerinə yetirilmə ardıcıllığıMötərizənin içi hesablanır
vurma...

    16 слайд

    16
    Əməliyyatların yerinə yetirilmə ardıcıllığı
    Mötərizənin içi hesablanır
    vurma, bölmə, div, mod soldan sağa
    Toplama və çıxma soldan sağa
    z := (5*a*c+3*(c-d))/a*(b-c)/ b;
    x:=(a*a+5*c*c-d*(a+b))/((c+d)*(d-2*a));
    2 3 5 4 1 7 8 6 9
    2 6 3 4 7 5 1 12 8 11 10 9

  • 17İki ədədin cəmiTapşırıq. İki ədədi daxil et və cəmi ekrana çapa verSadə həl...

    17 слайд

    17
    İki ədədin cəmi
    Tapşırıq. İki ədədi daxil et və cəmi ekrana çapa ver
    Sadə həll:
    program qq;
    var a, b, c: integer;
    begin
    read(a,b);
    c:=a + b;
    writeln(c);
    end.

  • 18Giriş operatoruread ( a );    { a dəyişənin qiymətini daxil etmək}read ( a,...

    18 слайд

    18
    Giriş operatoru
    read ( a ); { a dəyişənin qiymətini daxil etmək}
    read ( a, b );{a və b dəyişənlərinin qiymətlərinin daxil etmək}
    İki ədədi necə daxil etmək lazımdır?
    boşluklarla:
    25 30
    Enter-lə:
    25
    30
    a
    25
    b
    30
    a
    25
    b
    30

  • 19Çıxış operatoruwrite ( a );   {a dəyişəninin qiymətini çapa verilməsi}write...

    19 слайд

    19
    Çıxış operatoru
    write ( a ); {a dəyişəninin qiymətini çapa verilməsi}
    writeln ( a );{a dəyişəninin qiymətini çapa verilməsi və yeni sətrə keçid}
    writeln ( 'Привет!' ); { metnin çapı}
    writeln ( 'Ответ: ', c ); { mətnin və c dəyişənin çapı}
    writeln ( a, '+', b, '=', c );

  • 20Çapın formatlarıprogram qq;
var i: integer;
    x: real;
begin
  i := 15;...

    20 слайд

    20
    Çapın formatları
    program qq;
    var i: integer;
    x: real;
    begin
    i := 15;
    writeln ( '>', i, '<' );
    writeln ( '>', i:5, '<' );
    x := 12.345678;
    writeln ( '>', x, '<' );
    writeln ( '>', x:10, '<' );
    writeln ( '>', x:7:2, '<' );
    end.
    >15<
    > 15<

    >1.234568E+001<
    > 1.23E+001<
    > 12.35<
    Cəmi simvolların sayı
    Cəmi simvolların (ayrılan yer) sayı
    Nöqtədən sonra rəqəmlərin sayı (kəsr hissə)

  • 21Məsələnin tam həlli	program qq;
	var a, b, c: integer;
	begin
   writeln(‘İ...

    21 слайд

    21
    Məsələnin tam həlli
    program qq;
    var a, b, c: integer;
    begin
    writeln(‘İki tam ədəd daxil edin');
    read ( a, b );
    c := a + b;
    writeln ( a, '+', b, '=', c );
    end.
    Протокол:
    Введите два целых числа
    25 30
    25+30=55
    Programın çap etdiyi sətir
    Istifadəçinin daxil etdiyi verilənlər

  • 22Xətti alqoritmin blok-sxemibaşlanğıcsonc := a + b;Daxil et a, b“başlanğıc”...

    22 слайд

    22
    Xətti alqoritmin blok-sxemi
    başlanğıc
    son
    c := a + b;
    Daxil et a, b
    “başlanğıc” bloku
    Giriş bloku
    “əməliyyat” bloku
    Çıxış bloku
    “son” bloku
    Çapa ver c

  • 23Məsələ&quot;4&quot;: Üç ədəd daxil edilir.Bu ədədlərin cəmini və hasilini hasablayan...

    23 слайд

    23
    Məsələ
    "4": Üç ədəd daxil edilir.Bu ədədlərin cəmini və hasilini hasablayan proqram yazın.
    Nümunə:
    üç ədəd daxil edin:
    4 5 7
    4+5+7=16
    4*5*7=140
    "5": üç ədəd daxil edilir.Bu ədədlərin cəmini ,hasilini və ədədi ortasını hesablayan proqram yazin.
    nümunə:
    Üç ədəd daxil edin:
    4 5 7
    4+5+7=16
    4*5*7=140
    (4+5+7)/3=5.33

  • 24Pascal dilində proqramlaşdırmaMövzu  2. Budaqlanma© Polyakov K.Y, 2006-2007

    24 слайд

    24
    Pascal dilində
    proqramlaşdırma
    Mövzu 2. Budaqlanma
    © Polyakov K.Y, 2006-2007

  • 25Budaqlanan alqoritmlərTapşırıq. .Verilmiş iki tam ədəddən ən böyüyünü çapa...

    25 слайд

    25
    Budaqlanan alqoritmlər
    Tapşırıq. .Verilmiş iki tam ədəddən ən böyüyünü çapa verən proqram yazın
    Məsələnin məqsədi: iki ədəddən birincisi böyük olarsa ,onu əks halda ikinci ədədi çapa vermək lazımdır.
    osobennost: məslənin həlli müəyyən şərtdən asılsıdr (əgər … onda …).
    Budaqlanan alqoritm-alqoritmin addımlarının yerinə yetirliməsi ardıcılığının müəyyən şərtdən asılı olmasıdır.

  • 26I variant . Blok-sxembaşlanğıcmax:= a;Daxil et a,bÇap  maxa &gt; b?max:= b;son...

    26 слайд

    26
    I variant . Blok-sxem
    başlanğıc
    max:= a;
    Daxil et a,b
    Çap max
    a > b?
    max:= b;
    son

    yox
    Budaqlanmanın tam forması
    “həll“ bloku
    əgər a = b?
    ?

  • 27I variant. Proqram	max := a;max := b;Şərt operatorunun tam forması	program...

    27 слайд

    27
    I variant. Proqram

    max := a;
    max := b;
    Şərt operatorunun tam forması
    program qq;
    var a, b, max: integer;
    begin
    writeln(‘iki tam ədəd daxil et');
    read( a,b );
    if a > b then begin

    end
    else begin

    end;
    writeln(‘ən böyük ədəd', max);
    end.

  • 28Şərt operatoru	if  then begin
   {şərt ödənərsə yerinə yetirilən        ope...

    28 слайд

    28
    Şərt operatoru
    if <şərt> then begin
    {şərt ödənərsə yerinə yetirilən operatorlar}
    end
    else begin
    {şərt ödənilmədikdə, yerinə yetirilən operatorlar}
    end;
    Əsas :
    else açar sözündən sonra ; işarəsi qoyulmur
    else …açar sözü istfadə olunmaya da bilər (şərt operatorunun tam olmayan forması)
    Əgər blokda bir operator istifadə olunursa,begin-end açar sözlərini istifadə etməmək olar

  • 29Hansı səhvdir?	if a &gt; b then begin
   a := b;   
 end
 else
   b := a; 
 en...

    29 слайд

    29
    Hansı səhvdir?
    if a > b then begin
    a := b;
    end
    else
    b := a;
    end;
    if a > b then begin
    a := b;
    else begin
    b := a;
    end;
    if a > b then begin
    a := b;
    end;
    else begin
    b := a;
    end;
    if a > b then begin
    a := b;
    end
    else b > a begin
    b := a;
    end;
    begin
    end
    begin
    end

  • 30II variant. Blok-sxemTam olmayan forma başlanğıcmax:= a;Daxil et a,bÇap max...

    30 слайд

    30
    II variant. Blok-sxem
    Tam olmayan forma
    başlanğıc
    max:= a;
    Daxil et a,b
    Çap max
    max:= b;
    son
    да
    нет
    b > a?

  • 31II varinat .Proqram		program qq;
	var a, b, max: integer;
	begin
   writeln...

    31 слайд

    31
    II varinat .Proqram

    program qq;
    var a, b, max: integer;
    begin
    writeln(‘iki tam ədədi daxil et');
    read ( a, b );
    max := a;
    if b > a then
    max := b;
    writeln (‘ən böyük ədəd ', max);
    end.
    Tam olmayan forma

  • 32Variant 2b. Program	program qq;
	var a, b, max: integer;
	begin
   writeln(...

    32 слайд

    32
    Variant 2b. Program
    program qq;
    var a, b, max: integer;
    begin
    writeln(‘iki tam ədəd daxil et');
    read ( a, b );
    max := b;
    if ??? then
    ???
    writeln (‘ən böyük ədəd', max);
    end.
    max := a;
    a > b

  • 33Səhvi tapın.	if a &gt; b then begin
      a := b;   
 else b := a; 	if a &gt; b t...

    33 слайд

    33
    Səhvi tapın.
    if a > b then begin
    a := b;
    else b := a;
    if a > b then begin
    a := b;
    end;
    else b := a;
    if a > b then
    else begin
    b := a;
    end;
    if a > b then
    a := b;
    else b := a; end;
    a := b
    end
    a := b

    if b >= a then
    b := a;

  • 34Tapşırıq&quot;4&quot;: Verilmiş üç ədədin ən böyüyünü tapın.
    nümunə:
		3 ədəd: da...

    34 слайд

    34
    Tapşırıq
    "4": Verilmiş üç ədədin ən böyüyünü tapın.
    nümunə:
    3 ədəd: daxil edin:
    4 15 9
    Ən böyüyü 15
    "5": Verilmiş beş ədəddən ən böyüyünü tapın.
    Пример:
    Введите пять чисел:
    4 15 9 56 4
    Наибольшее число 56

  • 35Pascal dilində proqramlaşdırmaMövzu  3. Mürəkkəb şərtlər© Polyakov K.Y, 20...

    35 слайд

    35
    Pascal dilində
    proqramlaşdırma
    Mövzu 3. Mürəkkəb şərtlər
    © Polyakov K.Y, 2006-2007

  • 36Mürəkkəb şərtlərTapşırıq. Şirket işə 25-40  до 40 лет включительно. Ввести...

    36 слайд

    36
    Mürəkkəb şərtlər
    Tapşırıq. Şirket işə 25-40 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ "подходит" или "не подходит").
    Особенность: надо проверить, выполняются ли два условия одновременно.
    Можно ли решить известными методами?
    ?

  • 37I variant.AlqoritmbaşlanğıcDaxil et x‘uyğundur&#039;sonданетx &gt;= 25?данетx

    37 слайд

    37
    I variant.Alqoritm
    başlanğıc
    Daxil et x
    ‘uyğundur'
    son
    да
    нет
    x >= 25?
    да
    нет
    x <= 40?
    ‘uyğun deyil
    ‘uyğun deyil

  • 38I variant. Proqram		program qq;
	var x: integer;
	begin
   writeln(‘Yaş həd...

    38 слайд

    38
    I variant. Proqram

    program qq;
    var x: integer;
    begin
    writeln(‘Yaş həddini daxil et');
    read ( x );
    if x >= 25 then
    if x <= 40 then
    writeln (‘uyğundur')
    else writeln (‘uyğun deyil')
    else
    writeln (‘uyğun deyil');
    end.

  • 39II variant.AlqoritmbaşlanğıcDaxil et  x‘uyğundur&#039;данетx &gt;= 25 и
x

    39 слайд

    39
    II variant.Alqoritm
    başlanğıc
    Daxil et x
    ‘uyğundur'
    да
    нет
    x >= 25
    и
    x <= 40?
    ‘uyğun deyil
    son

  • 40Вариант 2. ПрограммаMürəkkəb şərt	program qq;
	var x: integer;
	begin
   wr...

    40 слайд

    40
    Вариант 2. Программа
    Mürəkkəb şərt
    program qq;
    var x: integer;
    begin
    writeln(‘Yaş həddini d/et');
    read ( x );
    if (x >= 25) and (x <= 40) then
    writeln (‘uyğundur')
    else writeln (‘uyğun deyil')
    end.

  • 41Mürəkkəb şərtMürəkkəb şərt – bir necə sadə şərtlərin məntiqi əməllərlə birl...

    41 слайд

    41
    Mürəkkəb şərt
    Mürəkkəb şərt – bir necə sadə şərtlərin məntiqi əməllərlə birləşməsidir:
    not – deyil (inkar, inversiya)
    and – VƏ (məntiqi vurma, konyuksiya, hər iki şərtin ödənməsi)
    or – VƏ YA (məntiqi toplama, dizyunksiya,
    heç olazsa bir şərtin ödənməsi)
    xor – isklyu ИЛИ (her iki şərtin deyil,ancak bir şərtin ödənnilməsi)
    Sadə şərtlər (münasibət)
    < <= > >= = <>
    Bərabər
    Bərabər deyil

  • 42Mürəkkəb şərtlərYerinə yetirilmə ardıcılığı
Mötərizədə olan ifadələr
not
an...

    42 слайд

    42
    Mürəkkəb şərtlər
    Yerinə yetirilmə ardıcılığı
    Mötərizədə olan ifadələr
    not
    and
    or, xor
    <, <=, >, >=, =, <>
    Əsas qaydalar – hər bir sadə şərt mötərızəyə alınmalıdır
    Nümunə:
    4 1 6 2 5 3
    if not (a > b) or (c <> d) and (b <> a)
    then begin
    ...
    end

  • 43Doğru və yalan a := 2; b := 3; c := 4;
not (a &gt; b)
(a &lt; b) and (b &lt; c)
not...

    43 слайд

    43
    Doğru və yalan a := 2; b := 3; c := 4;
    not (a > b)
    (a < b) and (b < c)
    not (a >= b) or (c = d)
    (a < c) or (b < c) and (b < a)
    (a < b) xor not (b > c)
    x –ın hansı qiymətləri üçün doğrudur:
    (x < 6) and (x < 10)
    (x < 6) and (x > 10)
    (x > 6) and (x < 10)
    (x > 6) and (x > 10)
    (x < 6) or (x < 10)
    (x < 6) or (x > 10)
    (x > 6) or (x < 10)
    (x > 6) or (x > 10)
    Mürəkkəb şərtlər
    True
    True
    FALSE
    (-, 6)

    (6, 10)
    (10, )
    (-, 10)
    (-, 6)  (10,)
    (-, )
    (6, )
    x < 6
    x > 10
    x < 10
    x > 6
    True
    True

  • 44Tapşırıq&quot;4&quot;:  Ayın nömrəsinə əsasən bu ayın hansı fəslə aid olduğunu çapa v...

    44 слайд

    44
    Tapşırıq
    "4": Ayın nömrəsinə əsasən bu ayın hansı fəslə aid olduğunu çapa verin.
    Nümune:
    ayın nömrəsini daxil et:
    4
    yaz
    "5": Ввести возраст человека (от 1 до 150 лет) и вывести его вместе с последующим словом "год", "года" или "лет".
    Пример:
    Введите возраст: Введите возраст:
    24 57
    Вам 24 года Вам 57 лет

  • 45Pascal dilində proqramlaşdırmaMövzu  4. Dövrler© Polyakov K.Y, 2006-2007

    45 слайд

    45
    Pascal dilində
    proqramlaşdırma
    Mövzu 4. Dövrler
    © Polyakov K.Y, 2006-2007

  • 46DövrlərDövr – eyni ardıcıllıglı əməliyyatların təkrarlanmasıdır.
Addımların...

    46 слайд

    46
    Dövrlər
    Dövr – eyni ardıcıllıglı əməliyyatların təkrarlanmasıdır.
    Addımlarının sayı məlum olan dövrlər
    Addımlarının sayı məlum olmayan dövrlər (şərtə görə dövr)
    Tapşırıq. 1-dən 8 -ə qədər tam ədədlərin kvadratlarını və kublarını çapa verin (a –dan b-yə qədər).
    Əsas xüsusiyyəti : eyni əməliyyatlar 8 dəfə təkrarlanır
    Məlum metodlarla həll etmək olarmı?
    ?

  • 47AlqoritmBaşlanğıci, i2, i3sonxeyirBəlii

    47 слайд

    47
    Alqoritm
    Başlanğıc
    i, i2, i3
    son
    xeyir
    Bəli
    i <= 8?
    i := 1;
    i := i + 1;
    i2 := i * i;
    i3 := i2 * i;
    Dövr dəyişəninə ilkin qiymət verək
    Təkrarlanma sayını yoxlayaq
    Kvadrat və kubu hesablayırıq
    Nəticəni çapa veririk
    Növbəti I dəyişəninə keçırık

  • 48Alqoritm (dövr  bloku  ile)başlanğıci, i2, i3soni2 := i * i;
i3 := i2 * i;i...

    48 слайд

    48
    Alqoritm (dövr bloku ile)
    başlanğıc
    i, i2, i3
    son
    i2 := i * i;
    i3 := i2 * i;
    i := 1,8
    Dövr bloku
    Dövrün gövdəsi

  • 49Programprogram qq;
var i, i2, i3: integer;
begin
  

  for i:=1 to 8 do beg...

    49 слайд

    49
    Program
    program qq;
    var i, i2, i3: integer;
    begin


    for i:=1 to 8 do begin
    i2 := i*i;
    i3 := i2*i;
    writeln(i:4, i2:4, i3:4);
    end;
    end.
    Dövr dəyişəni
    Ilkin qiymət
    Son qiymət

  • 50Dəyişənin qiymətinin azalması ilə dövrTapşırıq. 8-dən 1- ə qədər olan tam ə...

    50 слайд

    50
    Dəyişənin qiymətinin azalması ilə dövr
    Tapşırıq. 8-dən 1- ə qədər olan tam ədədlərin kvadratlarını və kubunu çapa verən program yazın (yəni tərisnə).
    Əsas xüsusiyyət :dövr parametrinin qiyməti azalmalıdırр.
    Həlli:
    for i:=8 1 do begin
    i2 := i*i;
    i3 := i2*i;
    writeln(i:4, i2:4, i3:4);
    end;
    downto

  • 51Dəyışənə görə  dövr	for  :=  to
      do begin
   {dövrün gövdəsi}      
 e...

    51 слайд

    51
    Dəyışənə görə dövr
    for <dəyişən> := <ilkin qiymət> to
    <son qiyməti> do begin
    {dövrün gövdəsi}
    end;
    Dəyişənin qiymətinin 1 artırılır :
    for <dəyişən> := <ilkin qiymət>
    downto
    <son qoymət> do begin
    {dövrün gövdəsi}
    end;
    Dəyişənin qiymətinin 1 azaldılır:

  • 52Dəyişənə görə dövrƏsas xüsusiyyətlər:
Dövr dəyişəni ancaq tam ədəd olmalıdı...

    52 слайд

    52
    Dəyişənə görə dövr
    Əsas xüsusiyyətlər:
    Dövr dəyişəni ancaq tam ədəd olmalıdır (integer)
    Addım ancaq 1 ola bilər (to) və ya -1 (downto)
    Dövrün gövdəsində bir operator istifadə olunursa , begin- end operatorlarını yazmamak da olar:
    Dövrü dəyişənin son qiyməti ilkin qiymətdən kiçik olarsa,onda dövr bir dəfə də olsun yerinə yetirilmir (to) (bu şərt dövr yerine yetirilmədən yoxlanılır)
    for i:=1 to 8 do
    writeln(‘salam');

  • 53Parametra görə dövrlərƏsas xüsusiyyətlər:
İ dövr dəyişənini qiymətini dəyiş...

    53 слайд

    53
    Parametra görə dövrlər
    Əsas xüsusiyyətlər:
    İ dövr dəyişənini qiymətini dəyişmək olmaz (niyə?)
    Dəyişənin ilkin və son qoyməti dövrün gövdəsində dəyişdirildikdə addımların sayı dəyişməz:
    n := 8;
    for i:=1 to n do begin
    writeln(‘salam');
    n := n + 1;
    end;
    Dövr yoxdur

  • 54Dövr dəyişənə görəƏsas xüsusiyyətlər:
Bəzi sisitemlərdə dəyişənin ilkin пос...

    54 слайд

    54
    Dövr dəyişənə görə
    Əsas xüsusiyyətlər:
    Bəzi sisitemlərdə dəyişənin ilkin после выполнения цикла во многих системах устанавливается первое значение переменной цикла, при котором нарушено условие:
    for i:=1 to 8 do
    writeln('Привет');
    writeln('i=', i);
    for i:=8 downto 1 do
    writeln('Привет');
    writeln('i=', i);
    i=9
    i=0
    НЕ ДОКУМЕНТИРОВАНО
    ?

  • 55Dövr neçə dəfə təkrarlanacaqa := 1;
for i:=1 to 3 do a := a+1;a = 4a := 1;...

    55 слайд

    55
    Dövr neçə dəfə təkrarlanacaq
    a := 1;
    for i:=1 to 3 do a := a+1;
    a = 4
    a := 1;
    for i:=3 to 1 do a := a+1;
    a = 1
    a := 1;
    for i:=1 downto 3 do a := a+1;
    a = 1
    a := 1;
    for i:=3 downto 1 do a := a+1;
    a = 4

  • 56for i:=1 to 9 do begin
    if     ???      then begin 
      i2 := i*i;...

    56 слайд

    56
    for i:=1 to 9 do begin
    if ??? then begin
    i2 := i*i;
    i3 := i2*i;
    writeln(i:4, i2:4, i3:4);
    end;
    end;
    Addımı necə dəyişək?
    Tapşırıq. 1-9 qədər tək ədədlərin kvadrat və kublarını çapa verən program yazın.
    Əsas xüsusiyyət: dövr dəyişəninin qiyməti 2 addımı ilə dəyişməlidir
    Problem : Pascal dilində addım ancaq 1 və ya -1 ola bilər.
    Həlli:
    i mod 2 = 1
    i2 := i*i;
    i3 := i2*i;
    writeln(i:4, i2:4, i3:4);
    Ancaq tək ədədlər üçün yernə yetirilir
    problem ?
    ?

  • 57Addımı necə dəyişək? – IIideya: cəmi  5  ədəd şap olunmalıdır, k dəyişəni 1...

    57 слайд

    57
    Addımı necə dəyişək? – II
    ideya: cəmi 5 ədəd şap olunmalıdır, k dəyişəni 1-dən 5 -ə kimi dəyişəcək , i dəyişəninin ilkin qiyməti 1 olacaq,və hər dəfə dövrdə i dəyişənin qiyməti 2 vahid artacaq
    Həlli:
    ???
    for k:=1 to 5 do begin
    i2 := i*i;
    i3 := i2*i;
    writeln(i:4, i2:4, i3:4);
    ???
    end;
    i := i + 2;
    i := 1;

  • 58Addımı necə dəyişək? – IIIİdeya: Cəmi  5 ədəd çapa vermək lazımdır.адо выве...

    58 слайд

    58
    Addımı necə dəyişək? – III
    İdeya: Cəmi 5 ədəd çapa vermək lazımdır.адо вывести всего 5 чисел, переменная k изменяется от 1 до 5. Зная k, надо рассчитать i.


    Решение:
    i = 2k-1
    for k:=1 to 5 do begin
    ???
    i2 := i*i;
    i3 := i2*i;
    writeln(i:4, i2:4, i3:4);
    end;
    i := 2*k – 1;

  • 59Задания&quot;4&quot;: Ввести a и b и вывести квадраты и кубы чисел от a до b.
    При...

    59 слайд

    59
    Задания
    "4": Ввести a и b и вывести квадраты и кубы чисел от a до b.
    Пример:
    Введите границы интервала:
    4 6
    4 16 64
    5 25 125
    6 36 216
    "5": Вывести квадраты и кубы 10 чисел следующей последовательности: 1, 2, 4, 7, 11, 16, …
    Пример:
    1 1 1
    2 4 8
    4 16 64
    ...
    46 2116 97336

  • 60Pascal dilində proqramlaşdırmaMövzu  5. Şərtə görə dövrlər© Polyakov K.Y,...

    60 слайд

    60
    Pascal dilində
    proqramlaşdırma
    Mövzu 5. Şərtə görə dövrlər
    © Polyakov K.Y, 2006-2007

  • 61Цикл с неизвестным числом шаговПример: Отпилить полено от бревна. Сколько р...

    61 слайд

    61
    Цикл с неизвестным числом шагов
    Пример: Отпилить полено от бревна. Сколько раз надо сделать движения пилой?
    Задача: Ввести целое число (<2000000) и определить число цифр в нем.
    Идея решения: Отсекаем последовательно последнюю цифру, увеличиваем счетчик.




    Проблема: Неизвестно, сколько шагов надо сделать.
    Решение: Надо остановиться, когда n = 0, т.е. надо делать "пока n <> 0".

  • 62Алгоритмначалоcountконецнетдаn  0?count := 0;count := count + 1;
   n := n...

    62 слайд

    62
    Алгоритм
    начало
    count
    конец
    нет
    да
    n <> 0?
    count := 0;
    count := count + 1;
    n := n div 10;
    обнулить счетчик цифр
    ввод n
    выполнять "пока n <> 0"

  • 63Программаprogram qq;
var n, count: integer;
begin
  writeln(&#039;Введите целое...

    63 слайд

    63
    Программа
    program qq;
    var n, count: integer;
    begin
    writeln('Введите целое число');
    read(n);
    count := 0;
    while n <> 0 do begin
    count := count + 1;
    n := n div 10;
    end;
    writeln('В числе ', n, ' нашли ',
    count, ' цифр');
    end.
    while n <> 0 do begin
    count := count + 1;
    n := n div 10;
    end;
    , n1: integer;
    n1 := n;
    n1,
    выполнять "пока n <> 0"
    Что плохо?
    ?

  • 64Цикл с условием	while  do begin
   {тело цикла}      
 end;Особенности:
мож...

    64 слайд

    64
    Цикл с условием
    while <условие> do begin
    {тело цикла}
    end;
    Особенности:
    можно использовать сложные условия:
    если в теле цикла только один оператор, слова begin и end можно не писать:
    while (a<b) and (b<c) do begin
    {тело цикла}
    end;
    while a < b do
    a := a + 1;

  • 65Цикл с условиемОсобенности:
условие пересчитывается каждый раз при входе в...

    65 слайд

    65
    Цикл с условием
    Особенности:
    условие пересчитывается каждый раз при входе в цикл
    если условие на входе в цикл ложно, цикл не выполняется ни разу
    если условие никогда не станет ложным, программа зацикливается
    a := 4; b := 6;
    while a > b do
    a := a – b;
    a := 4; b := 6;
    while a < b do
    d := a + b;

  • 66Сколько раз выполняется цикл?a := 4; b := 6;
while a &lt; b do a := a + 1;2 ра...

    66 слайд

    66
    Сколько раз выполняется цикл?
    a := 4; b := 6;
    while a < b do a := a + 1;
    2 раза
    a = 6
    a := 4; b := 6;
    while a < b do a := a + b;
    1 раз
    a = 10
    a := 4; b := 6;
    while a > b do a := a + 1;
    0 раз
    a = 4
    a := 4; b := 6;
    while a < b do b := a - b;
    1 раз
    b = -2
    a := 4; b := 6;
    while a < b do a := a - 1;
    зацикливание

  • 67Замена for на while и наоборотfor i:=1 to 10 do begin
  {тело цикла}
end;i...

    67 слайд

    67
    Замена for на while и наоборот
    for i:=1 to 10 do begin
    {тело цикла}
    end;
    i := 1;
    while i <= 10 do begin
    {тело цикла}
    i := i + 1;
    end;
    for i:=a downto b do
    begin
    {тело цикла}
    end;
    i := a;
    while i >= b do begin
    {тело цикла}
    i := i - 1;
    end;
    Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла.
    Замена цикла for на while возможна всегда.

  • 68Задания&quot;4&quot;: Ввести целое число и найти сумму его цифр.
    Пример:
		Введит...

    68 слайд

    68
    Задания
    "4": Ввести целое число и найти сумму его цифр.
    Пример:
    Введите целое число:
    1234
    Сумма цифр числа 1234 равна 10.
    "5": Ввести целое число и определить, верно ли, что в его записи есть две одинаковые цифры.
    Пример:
    Введите целое число: Введите целое число:
    1234 1224
    Нет. Да.

  • 69ПоследовательностиПримеры:
1, 2, 3, 4, 5, …
1, 2, 4, 7, 11, 16, …
1, 2, 4,...

    69 слайд

    69
    Последовательности
    Примеры:
    1, 2, 3, 4, 5, …
    1, 2, 4, 7, 11, 16, …
    1, 2, 4, 8, 16, 32, …

    an = n
    a1 = 1, an+1 = an+1
    a1 = 1, an+1 = an + n
    an = 2n-1
    a1 = 1, an+1 = 2an
    b1 = 1, bn+1 = bn+1
    c1 = 2, cn+1 = 2cn

  • 70ПоследовательностиЗадача: найти сумму всех элементов последовательности,...

    70 слайд

    70
    Последовательности
    Задача: найти сумму всех элементов последовательности,
    которые по модулю больше 0,001:
    Элемент последовательности (начиная с №2):
    b := b+1;
    c := 2*c;
    z := -z;

  • 71АлгоритмначалоSконецнетда|a| &gt; 0.001?S := S + a;S := 0; b := 1; c := 2; z...

    71 слайд

    71
    Алгоритм
    начало
    S
    конец
    нет
    да
    |a| > 0.001?
    S := S + a;
    S := 0; b := 1;
    c := 2; z := -1;
    a := 1;
    начальные значения
    a := z*b/c;
    b := b + 1;
    c := 2*c; z := -z;
    первый элемент
    a := 1;
    S := 0;
    новый элемент
    изменение
    Перестановка?
    ?

  • 72Программаprogram qq;
var b, c, z: integer;
    S, a: real;
begin
   S := 0;...

    72 слайд

    72
    Программа
    program qq;
    var b, c, z: integer;
    S, a: real;
    begin
    S := 0; z := -1;
    b := 1; c := 2; a := 1;
    while abs(a) > 0.001 do begin
    S := S + a;
    a := z * b / c;
    z := - z;
    b := b + 1;
    c := c * 2;
    end;
    writeln('S =', S:10:3);
    end.
    z := - z;
    b := b + 1;
    c := c * 2;
    переход к следующему слагаемому
    S := 0; z := -1;
    b := 1; c := 2; a := 1;
    начальные значения
    увеличение суммы
    расчет элемента последовательности

  • 73Задания&quot;4&quot;: Найти сумму элементов последовательности с точностью 0,001:...

    73 слайд

    73
    Задания
    "4": Найти сумму элементов последовательности с точностью 0,001:


    Ответ:
    S = 1.157
    "5": Найти сумму элементов последовательности с точностью 0,001:

    Ответ:
    S = 1.220

  • 74Цикл с постусловиемЗадача: Ввести целое положительное число ( проверку усло...

    74 слайд

    74
    Цикл с постусловием
    Задача: Ввести целое положительное число (<2000000) и определить число цифр в нем.
    Проблема: Как не дать ввести отрицательное число или ноль?
    Решение: Если вводится неверное число, вернуться назад к вводу данных (цикл!).
    Особенность: Один раз тело цикла надо сделать в любом случае => проверку условия цикла надо делать в конце цикла (цикл с постусловием).
    Цикл с постусловием – это цикл, в котором проверка условия выполняется в конце цикла.

  • 75Цикл с постусловием: алгоритм началоконецданетn &gt; 0?тело циклаусловие ВЫХОД...

    75 слайд

    75
    Цикл с постусловием: алгоритм
    начало
    конец
    да
    нет
    n > 0?
    тело цикла
    условие ВЫХОДА
    блок "типовой процесс"
    ввод n
    основной
    алгоритм

  • 76Программаprogram qq;
var n: integer;
begin
   repeat
     writeln(&#039;Введите...

    76 слайд

    76
    Программа
    program qq;
    var n: integer;
    begin
    repeat
    writeln('Введите положительное число');
    read(n);
    until n > 0;
    ... { основной алгоритм }
    end.
    repeat
    writeln('Введите положительное число');
    read(n);
    until n > 0;
    until n > 0;
    условие ВЫХОДА
    Особенности:
    тело цикла всегда выполняется хотя бы один раз
    после слова until ("до тех пор, пока не…") ставится условие ВЫХОДА из цикла

  • 77Сколько раз выполняется цикл?a := 4; b := 6;
repeat a := a + 1; until a &gt; b...

    77 слайд

    77
    Сколько раз выполняется цикл?
    a := 4; b := 6;
    repeat a := a + 1; until a > b;
    3 раза
    a = 7
    a := 4; b := 6;
    repeat a := a + b; until a > b;
    1 раз
    a = 10
    a := 4; b := 6;
    repeat a := a + b; until a < b;
    зацикливание
    a := 4; b := 6;
    repeat b := a - b; until a < b;
    2 раза
    b = 6
    a := 4; b := 6;
    repeat a := a + 2; until a < b;
    зацикливание

  • 78Задания (с защитой от неверного ввода)&quot;4&quot;: Ввести натуральное число и опред...

    78 слайд

    78
    Задания (с защитой от неверного ввода)
    "4": Ввести натуральное число и определить, верно ли, что сумма его цифр равна 10.
    Пример:
    Введите число >= 0: Введите число >= 0:
    -234 1233
    Нужно положительное число. Нет
    Введите число >= 0:
    1234
    Да
    "5": Ввести натуральное число и определить, какие цифры встречаются несколько раз.
    Пример:
    Введите число >= 0: Введите число >= 0:
    2323 1234
    Повторяются: 2, 3 Нет повторов.

  • 79Pascal dilində proqramlaşdırmaMövzu  6. Seçim operatoru© Polyakov K.Y, 200...

    79 слайд

    79
    Pascal dilində
    proqramlaşdırma
    Mövzu 6. Seçim operatoru
    © Polyakov K.Y, 2006-2007

  • 80Оператор выбораЗадача: Ввести номер месяца и вывести количество...

    80 слайд

    80
    Оператор выбора
    Задача: Ввести номер месяца и вывести количество
    дней в этом месяце.
    Решение: Число дней по месяцам:
    28 дней – 2 (февраль)
    30 дней – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь)
    31 день – 1 (январь), 3 (март), 5 (май), 7 (июль),
    8 (август), 10 (октябрь), 12 (декабрь)
    Особенность: Выбор не из двух, а из нескольких
    вариантов в зависимости от номера месяца.
    Можно ли решить известными методами?
    ?

  • 81Алгоритмначалоконецоператор выборани один вариант не подошелввод MданетM =...

    81 слайд

    81
    Алгоритм
    начало
    конец
    оператор выбора
    ни один вариант не подошел
    ввод M
    да
    нет
    M = 1?
    D := 31;
    нет
    M = 2?
    D := 28;
    да
    нет
    M = 12?
    D := 31;
    да
    вывод D
    ошибка

  • 82Программаprogram qq;
var M, D: integer;
begin
   writeln(&#039;Введите номер мес...

    82 слайд

    82
    Программа
    program qq;
    var M, D: integer;
    begin
    writeln('Введите номер месяца:');
    read ( M );
    case M of
    2: begin D := 28; end;
    4,6,9,11: begin D := 30; end;
    1,3,5,7,8,10,12: D := 31;
    else D := -1;
    end;
    if D > 0 then
    writeln('В этом месяце ', D, ' дней.')
    else
    writeln('Неверный номер месяца');
    end.
    case M of
    2: begin D := 28; end;
    4,6,9,11: begin D := 30; end;
    1,3,5,7,8,10,12: D := 31;
    else D := -1;
    end;
    ни один вариант не подошел

  • 83Оператор выбораОсобенности:
после case может быть имя переменной или арифме...

    83 слайд

    83
    Оператор выбора
    Особенности:
    после case может быть имя переменной или арифметическое выражение целого типа (integer)
    или символьного типа (char)
    case i+3 of
    1: begin a := b; end;
    2: begin a := c; end;
    end;
    var c: char;
    ...
    case c of
    'а': writeln('Антилопа');
    'б': writeln('Барсук');
    else writeln('Не знаю');
    end;

  • 84Оператор выбораОсобенности:
если нужно выполнить только один оператор, слов...

    84 слайд

    84
    Оператор выбора
    Особенности:
    если нужно выполнить только один оператор, слова begin и end можно не писать
    нельзя ставить два одинаковых значения
    case i+3 of
    1: a := b;
    1: a := c;
    end;
    case i+3 of
    1: a := b;
    2: a := c;
    end;

  • 85Оператор выбораОсобенности:
значения, при которых выполняются одинаковые де...

    85 слайд

    85
    Оператор выбора
    Особенности:
    значения, при которых выполняются одинаковые действия, можно группировать
    case i of
    1: a := b;
    2,4,6: a := c;
    10..15: a := d;
    20,21,25..30: a := e;
    else writeln('Ошибка');
    end;
    перечисление
    диапазон
    смесь

  • 86Что неправильно?case a of 
 2: begin a := b;
 4: a := c;
end;case a of 
 2:...

    86 слайд

    86
    Что неправильно?
    case a of
    2: begin a := b;
    4: a := c;
    end;
    case a of
    2: a := b
    4: a := c
    end;
    ;
    case a of
    2..5: a := b;
    4: a := c;
    end;
    case a of
    0..2: a := b;
    6..3: a := c;
    end;
    3..6:
    case a+c/2 of
    2: a := b;
    4: a := c;
    end;
    case a of
    2: a := b; d := 0;
    4: a := c;
    end;
    begin
    end;

  • 87Задания (с защитой от неверного ввода)&quot;4&quot;: Ввести номер месяца и вывести ко...

    87 слайд

    87
    Задания (с защитой от неверного ввода)
    "4": Ввести номер месяца и вывести количество дней в нем, а также число ошибок при вводе.
    Пример:
    Введите номер месяца: Введите номер месяца:
    -2 2
    Введите номер месяца: В этом месяце 28 дней.
    11 Вы вводили неверно 0 раз.
    В этом месяце 30 дней.
    Вы вводили неверно 1 раз.
    "5": Ввести номер месяца и номер дня, вывести число дней, оставшихся до Нового года.
    Пример:
    Введите номер месяца:
    12
    Введите день:
    25
    До Нового года осталось 6 дней.

  • 88Pascal dilində proqramlaşdırmaMövzu 7. Qrafika© К.Ю. Поляков, 2006-2007

    88 слайд

    88
    Pascal dilində proqramlaşdırma
    Mövzu 7. Qrafika
    © К.Ю. Поляков, 2006-2007

  • 89Система координат(0,0)(x,y)XYxy

    89 слайд

    89
    Система координат
    (0,0)
    (x,y)
    X
    Y
    x
    y

  • 90Управление цветомЦвет и толщина линий, цвет точек:
      Pen ( 1, 255, 0, 0...

    90 слайд

    90
    Управление цветом
    Цвет и толщина линий, цвет точек:
    Pen ( 1, 255, 0, 0 );
    Цвет и стиль заливки:
    Brush ( 1, 0, 255, 0 );
    Цвет текста:
    TextColor ( 0, 0, 255 );
    толщина линии
    R(red)
    0..255
    G(green)
    0..255
    B(blue)
    0..255
    0 – выключить
    1 - включить
    R
    G
    B
    R
    G
    B

  • 91Точки, отрезки и ломаные(x1, y1)(x2, y2)Pen (1, 0, 255, 0); Line (x1, y1, x...

    91 слайд

    91
    Точки, отрезки и ломаные
    (x1, y1)
    (x2, y2)
    Pen (1, 0, 255, 0); Line (x1, y1, x2, y2);
    (x, y)
    Pen (1, 0, 0, 255);
    Point (x, y);
    (x1, y1)
    (x2, y2)
    (x3, y3)
    (x4, y4)
    (x5, y5)
    Pen (1, 255, 0, 0); MoveTo (x1, y1);
    LineTo (x2, y2);
    LineTo (x3, y3);
    LineTo (x4, y4);
    LineTo (x5, y5);

  • 92Фигуры с заливкой(x1, y1)(x2, y2)Pen (1, 0, 0, 255);
Brush (1, 255, 255, 0)...

    92 слайд

    92
    Фигуры с заливкой
    (x1, y1)
    (x2, y2)
    Pen (1, 0, 0, 255);
    Brush (1, 255, 255, 0);
    Rectangle (x1, y1, x2, y2);
    (x1, y1)
    (x2, y2)
    Pen (1, 255, 0, 0);
    Brush (1, 0, 255, 0);
    Ellipse (x1, y1, x2, y2);
    Brush (1, 100, 200, 255);
    Fill (x, y);
    (x, y)
    Как отменить заливку?
    ?

  • 93ТекстTextColor (0, 0, 255);
Brush (1, 255, 255, 0);
Font (20, 30, 600);
Mov...

    93 слайд

    93
    Текст
    TextColor (0, 0, 255);
    Brush (1, 255, 255, 0);
    Font (20, 30, 600);
    MoveTo (x, y);
    writeln ('Привет!');
    Привет!
    (x, y)
    размер
    10 пикселей
    угол
    поворота
    насыщенность:
    400 – нормальный
    600 – жирный
    30о

  • 94Пример(200, 50)(100, 100)(300, 200)program qq;
begin
   Pen(2, 255, 0, 255)...

    94 слайд

    94
    Пример
    (200, 50)
    (100, 100)
    (300, 200)
    program qq;
    begin
    Pen(2, 255, 0, 255);
    Brush(1, 0, 0, 255);
    Rectangle(100, 100, 300, 200);
    MoveTo(100, 100);
    LineTo(200, 50);
    LineTo(300, 100);
    Brush(1, 255, 255, 0);
    Fill(200, 75);
    Pen(2, 255, 255, 255);
    Brush(1, 0, 255, 0);
    Ellipse(150, 100, 250, 200);
    end.

  • 95Задания&quot;4&quot;: &quot;Лягушка&quot; 


 




&quot;5&quot;: &quot;Корона&quot;

    95 слайд

    95
    Задания
    "4": "Лягушка"







    "5": "Корона"

  • 96Штриховка(x1, y1)(x2, y2)N линий (N=5)hRectangle (x1, y1, x2, y2);
Line( x1...

    96 слайд

    96
    Штриховка
    (x1, y1)
    (x2, y2)
    N линий (N=5)
    h
    Rectangle (x1, y1, x2, y2);
    Line( x1+h, y1, x1+h, y2);
    Line( x1+2*h, y1, x1+2*h, y2);
    Line( x1+3*h, y1, x1+3*h, y2);
    ...
    h := (x2 – x1) / (N + 1);
    Rectangle (x1, y1, x2, y2);
    x := x1 + h;
    for i:=1 to N do begin
    Line( round(x), y1, round(x), y2);
    x := x + h;
    end;
    var x, h: real;
    x
    округление до ближайшего целого
    x

  • 97Как менять цвет?(x1, y1)(x2, y2)Brush ( 1, c, c, c );
Fill ( ???, ??? );сер...

    97 слайд

    97
    Как менять цвет?
    (x1, y1)
    (x2, y2)
    Brush ( 1, c, c, c );
    Fill ( ???, ??? );
    серый: R = G = B
    Шаг изменения c:
    x
    (x-1, y1+1)
    var c, hc: integer;
    hc := 255 div (N + 1);
    c := 0;
    for i:=1 to N+1 do begin
    Line (round(x), y1, round(x), y2);
    Brush (1, c, c, c);
    Fill (round(x)-1, y1+1);
    x := x + h; c := c + hc;
    end;

  • 98Штриховка(x1, y1)(x2, y2)(x3, y2)ah(x3+a, y1)Line( x1+h,   y1, x1+h-a,   y2...

    98 слайд

    98
    Штриховка
    (x1, y1)
    (x2, y2)
    (x3, y2)
    a
    h
    (x3+a, y1)
    Line( x1+h, y1, x1+h-a, y2);
    Line( x1+2*h, y1, x1+2*h-a, y2);
    Line( x1+3*h, y1, x1+3*h-a, y2);
    ...
    h := (x3 – x2) / (N + 1);
    a := x1 – x2;
    x := x1 + h;
    for i:=1 to N do begin
    Line( round(x), y1, round(x-a), y2);
    x := x + h;
    end;
    x
    x-a

  • 99Штриховка(x1, y1)(x2, y2)hxhyyxyLine( x1, y1+hy,   x1+hx,   y1+hy)  ;
Line(...

    99 слайд

    99
    Штриховка
    (x1, y1)
    (x2, y2)
    hx
    hy
    y
    x
    y
    Line( x1, y1+hy, x1+hx, y1+hy) ;
    Line( x1, y1+2*hy, x1+2*hx, y1+2*hy);
    Line( x1, y1+3*hy, x1+3*hx, y1+3*hy);
    ...
    hx := (x2 – x1) / (N + 1);
    hy := (y2 – y1) / (N + 1);
    x := x1 + hx; y := y1 + hy;
    for i:=1 to N do begin
    Line( x1, round(y), round(x), round(y));
    x := x + hx; y := y + hy;
    end;

  • 100Задания&quot;4&quot;: Ввести с клавиатуры число линий штриховки и построить фигуру,...

    100 слайд

    100
    Задания
    "4": Ввести с клавиатуры число линий штриховки и построить фигуру, залив все области разным цветом.







    "5": Ввести с клавиатуры число окружностей и построить фигуру, залив все области разным цветом.

  • 101Pascal dilində proqramlaşdırmaMövzu 8. Funksiyaların qrafikləri© Polyakov...

    101 слайд

    101
    Pascal dilində
    proqramlaşdırma
    Mövzu 8. Funksiyaların qrafikləri
    © Polyakov K.Y, 2006-2007

  • 102Построение графиков функцийЗадача: построить график функции y = 3 sin(x) н...

    102 слайд

    102
    Построение графиков функций
    Задача: построить график функции y = 3 sin(x) на интервале от 0 до 2π.
    Анализ:
    максимальное значение ymax = 3 при x = π/2
    минимальное значение ymin = -3 при x = 3π/2
    Проблема: функция задана в математической системе координат, строить надо на экране, указывая координаты в пикселях.

  • 103Преобразование координат(x,y)XYxyМатематическая 
система координатЭкранная...

    103 слайд

    103
    Преобразование координат
    (x,y)
    X
    Y
    x
    y
    Математическая
    система координат
    Экранная система координат (пиксели)
    (xэ,yэ)


    (0,0)
    (0,0)
    a
    b
    k – масштаб (длина изображения единичного отрезка на экране)
    xэ = a + kx
    yэ = b - ky

  • 104Программа2πh – шаг изменения xw – длина оси ОХ в пикселяхна экранеоси коор...

    104 слайд

    104
    Программа

    h – шаг изменения x
    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.
    Что плохо?
    ?

  • 105Как соединить точки?Алгоритм:Если первая точка
  перейти в точку (xэ,yэ)
и...

    105 слайд

    105
    Как соединить точки?
    Алгоритм:
    Если первая точка
    перейти в точку (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.

  • 106Задания&quot;4&quot;: Построить график функции y = x2 на интервале [-3,3]....

    106 слайд

    106
    Задания
    "4": Построить график функции y = x2 на интервале [-3,3].







    "5": Построить график
    функции (эллипс)


  • 107Pascal dilində proqramlaşdırmaMövzu  9. Proseduralar© Polyakov K.Y, 2006-...

    107 слайд

    107
    Pascal dilində
    proqramlaşdırma
    Mövzu 9. Proseduralar
    © Polyakov K.Y, 2006-2007

  • 108ПроцедурыЗадача: Построить фигуру:
Особенность: Три похожие фигуры.
общее:...

    108 слайд

    108
    Процедуры
    Задача: Построить фигуру:
    Особенность: Три похожие фигуры.
    общее: размеры, угол поворота
    отличия: координаты, цвет
    Можно ли решить известными методами?
    ?
    Сколько координат надо задать?
    ?

  • 109ПроцедурыПроцедура – это вспомогательный алгоритм, который предназначен дл...

    109 слайд

    109
    Процедуры
    Процедура – это вспомогательный алгоритм, который предназначен для выполнения некоторых действий.
    Применение:
    выполнение одинаковых действий в разных местах программы
    разбивка программы (или другой процедуры) на подзадачи для лучшего восприятия
    Подзадача1
    Подзадача2
    Подзадача3
    1.1
    1.2
    1.3
    2.1
    2.2
    2.3
    3.1
    3.2
    3.3
    Задача

  • 110ПроцедурыПорядок разработки:
выделить одинаковые или похожие действия (три...

    110 слайд

    110
    Процедуры
    Порядок разработки:
    выделить одинаковые или похожие действия (три фигуры)
    найти в них общее (размеры, форма, угол поворота) и отличия (координаты, цвет)
    отличия записать в виде неизвестных переменных, они будут параметрами процедуры
    (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);
    тело процедуры
    координаты
    цвет
    параметры

  • 111Программаprogram qq;




begin
   Pen(1, 255, 0, 255);
   Tr(100, 100, 0,...

    111 слайд

    111
    Программа
    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;
    формальные параметры

  • 112ПроцедурыОсобенности:
все процедуры расположены выше основной программы
в...

    112 слайд

    112
    Процедуры
    Особенности:
    все процедуры расположены выше основной программы
    в заголовке процедуры перечисляются формальные параметры, они обозначаются именами, поскольку могут меняться
    при вызове процедуры в скобках указывают фактические параметры (числа или арифметические выражения) в том же порядке
    procedure Tr( x, y, r, g, b: integer);
    Tr (200, 100, 0, 255, 0);
    x
    y
    r
    g
    b

  • 113ПроцедурыОсобенности:
для каждого формального параметра после двоеточия ук...

    113 слайд

    113
    Процедуры
    Особенности:
    для каждого формального параметра после двоеточия указывают его тип
    если однотипные параметры стоят рядом, их перечисляют через запятую
    внутри процедуры параметры используются так же, как и переменные
    procedure A (x: real; y: integer; z: real);
    procedure A (x, z: real; y, k, l: integer);

  • 114ПроцедурыОсобенности:
в процедуре можно объявлять дополнительные локальные...

    114 слайд

    114
    Процедуры
    Особенности:
    в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не имеют к ним доступа
    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;

  • 115Параметры-переменныеЗадача: составить процедуру, которая меняет местами зн...

    115 слайд

    115
    Параметры-переменные
    Задача: составить процедуру, которая меняет местами значения двух переменных.
    Особенности:
    надо, чтобы изменения, сделанные в процедуре, стали известны вызывающей программе
    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

  • 116Параметры-переменныеПрименение: таким образом процедура (и функция) может...

    116 слайд

    116
    Параметры-переменные
    Применение:
    таким образом процедура (и функция) может возвращать несколько значений,
    Запрещенные варианты вызова
    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
    параметры могут изменяться

  • 117Задания&quot;4&quot;: Используя процедуры, построить фигуру. 


 




&quot;5&quot;: Используя...

    117 слайд

    117
    Задания
    "4": Используя процедуры, построить фигуру.







    "5": Используя процедуры, построить фигуру.
    a
    a
    a
    0,866∙a
    равносторонний треугольник

  • 118Pascal dilində proqramlaşdırmaMövzu  10. Rekursiya© К.Ю. Поляков, 2006-2007

    118 слайд

    118
    Pascal dilində
    proqramlaşdırma
    Mövzu 10. Rekursiya
    © К.Ю. Поляков, 2006-2007

  • 119Рекурсивные объектыРекурсивный объект – это объект, определяемый через оди...

    119 слайд

    119
    Рекурсивные объекты
    Рекурсивный объект – это объект, определяемый через один или несколько таких же объектов.
    У попа была собака, он ее любил.
    Она съела кусок мяса, он ее убил.
    В ямку закопал, надпись написал:
    Сказка о попе и собаке
    Примеры:
    Сказка о попе и собаке:
    Факториал:
    если
    если
    Рисунок с рекурсией:

  • 120Дерево ПифагораДерево Пифагора из N уровней – это ствол и отходящие от нег...

    120 слайд

    120
    Дерево Пифагора
    Дерево Пифагора из N уровней – это ствол и отходящие от него симметрично два дерева Пифагора из N-1 уровней, такие что длина их стволов в 2 раза меньше и угол между ними равен 90o.
    6 уровней:
    Как доказать, что это рекурсивная фигура?
    ?

  • 121Дерево ПифагораОсобенности:
когда остановиться?
деревья имеют различный на...

    121 слайд

    121
    Дерево Пифагора
    Особенности:
    когда остановиться?
    деревья имеют различный наклон
    когда число оставшихся уровней станет равно нулю!
    (x1, y1)
    (x0, y0)
    α
    α+45o
    α-45o
    L
    x1 = x0 + L·cos(α)
    y1 = y0 – L·sin(α)
    наклон "дочерних" деревьев
    α + π/4
    α – π/4

  • 122Процедураугол αдлина стволаprocedure Pifagor(x0, y0, a, L: real;...

    122 слайд

    122
    Процедура
    угол α
    длина ствола
    procedure Pifagor(x0, y0, a, L: real;
    N: integer);
    const k = 0.6; { изменение длины }
    var x1, y1: real; { локальные переменные }
    begin
    if N > 0 then begin
    x1 := x0 + L*cos(a);
    y1 := y0 - L*sin(a);
    Line (round(x0), round(y0),
    round(x1), round(y1));
    Pifagor (x1, y1, a+pi/4, L*k, N-1);
    Pifagor (x1, y1, a-pi/4, L*k, N-1);
    end;
    end;
    рекурсивные вызовы
    закончить, если N=0
    Рекурсивной называется процедура, вызывающая сама себя.

  • 123Программаprogram qq;
  procedure Pifagor(x0, y0, a, L: real;...

    123 слайд

    123
    Программа
    program qq;
    procedure Pifagor(x0, y0, a, L: real;
    N: integer);
    ...
    end;
    begin
    Pifagor (250, 400, pi/2, 150, 8);
    end;
    угол α
    длина ствола
    число уровней
    x0
    y0
    Как наклонить дерево вправо на 30o?
    ?
    Pifagor (250, 400, 2*pi/3, 150, 8);

  • 124&quot;4&quot;: Используя рекурсивную процедуру, построить фигуру: 


 




&quot;5&quot;: Испо...

    124 слайд

    124
    "4": Используя рекурсивную процедуру, построить фигуру:







    "5": Используя рекурсивную процедуру, построить фигуру:
    Задания

  • 125Pascal dilində proqramlaşdırmaMövzu  11. Animasiya© К.Ю. Поляков, 2006-2007

    125 слайд

    125
    Pascal dilində
    proqramlaşdırma
    Mövzu 11. Animasiya
    © К.Ю. Поляков, 2006-2007

  • 126АнимацияАнимация (англ. animation) – оживление изображения на экране.
Зада...

    126 слайд

    126
    Анимация
    Анимация (англ. animation) – оживление изображения на экране.
    Задача: внутри синего квадрата 400 на 400 пикселей слева направо двигается желтый квадрат 20 на 20 пикселей. Программа останавливается, если нажата клавиша Esc или квадрат дошел до границы синей области.
    Проблема: как изобразить перемещение объекта на экране?
    Привязка: состояние объекта задается координатами (x,y)
    Принцип анимации:
    рисуем объект в точке (x,y)
    задержка на несколько миллисекунд
    стираем объект
    изменяем координаты (x,y)
    переходим к шагу 1

  • 127Как &quot;поймать&quot; нажатие клавиши?Событие – это изменение в состоянии какого-л...

    127 слайд

    127
    Как "поймать" нажатие клавиши?
    Событие – это изменение в состоянии какого-либо объекта или действие пользователя (нажатие на клавишу, щелчок мышкой).
    IsEvent – логическая функция, которая определяет, было ли какое-то действие пользователя.
    Event – процедура, которая определяет, какое именно событие случилось.
    if IsEvent then begin
    Event(k, x, y);
    if k = 1 then
    writeln('Клавиша с кодом ', x)
    else { k = 2 }
    writeln('Мышь: x=', x, ' y=', y);
    end;
    var k, x, y: integer;

  • 128Как выйти из цикла при нажатии Esc?program qq;
var stop: boolean; 
    k,c...

    128 слайд

    128
    Как выйти из цикла при нажатии Esc?
    program qq;
    var stop: boolean;
    k,code,i: integer;
    begin
    stop := False;
    repeat
    if IsEvent then begin
    Event(k, code, i);
    if (k = 1) and (code = 27) then
    stop := True;
    end;
    ...
    until stop;
    end;
    если что-то произошло...
    что произошло?
    если нажата клавиша с кодом 27 (Esc), то стоп
    True, если надо остановиться
    запуск цикла

  • 129Процедура (рисование и стирание)procedure Draw(x, y: integer; flag: boolea...

    129 слайд

    129
    Процедура (рисование и стирание)
    procedure Draw(x, y: integer; flag: boolean);
    begin
    if flag then
    Brush(1, 255, 255, 0)
    else
    Brush(1, 0, 0, 255);
    Rectangle(x, y, x+20, y+20);
    end;
    (x, y)
    (x+20, y+20)
    Идеи
    одна процедура рисует и стирает
    стереть = нарисовать цветом фона
    границу квадрата отключить (в основной программе)
    рисовать (True) или нет (False)?
    рисуем: цвет кисти – желтый
    стираем: цвет кисти – синий
    только заливка!

  • 130Полная программаprogram qq;
var x, y, k, code, i: integer;
    stop: boole...

    130 слайд

    130
    Полная программа
    program qq;
    var x, y, k, code, i: integer;
    stop: boolean;
    procedure Draw(x,y: integer; flag: Boolean);
    begin
    ...
    end;
    begin
    Brush(1, 0, 0, 255);
    Rectangle(10, 10, 400, 400);
    Pen(0, 0, 0, 255);
    x := 10; y := 200; stop := false;
    repeat
    if IsEvent then begin
    ...
    end;
    Draw(x, y, True);
    Delay(10);
    Draw(x, y, False);
    x := x + 1;
    if x >= 400-20 then stop := true;
    until stop;
    end.
    процедура
    начальные условия
    выход по клавише Esc
    выход при касании границы
    синий фон
    ждем 10 мс
    отключить границу

  • 131&quot;4&quot;: Два квадрата двигаются в противоположном направлении: 


 



&quot;5&quot;: Дв...

    131 слайд

    131
    "4": Два квадрата двигаются в противоположном направлении:






    "5": Два квадрата двигаются в противоположном направлении и отталкиваются от стенок синего квадрата:
    Задания

  • 132Управление клавишамиЗадача: жёлтый квадрат внутри синего квадрата управляе...

    132 слайд

    132
    Управление клавишами
    Задача: жёлтый квадрат внутри синего квадрата управляется клавишами-стрелками. Коды клавиш:
    влево – 37вверх – 38Esc – 27
    вправо – 39вниз – 40
    Проблема: как изменять направление движения?
    Решение:
    if {было событие} then begin
    if {нажата клавиша} then begin
    {получить код клавиши - code}
    if code = 37 then x := x – 1;
    if code = 38 then y := y – 1;
    if code = 39 then x := x + 1;
    if code = 40 then y := y + 1;
    if code = 27 then stop := True;
    end;
    end;
    IsEvent
    Event ( k, code, i);
    if k = 1 then begin
    case code of
    37: x := x – 1; 38: y := y – 1;
    39: x := x + 1; 40: y := y + 1;
    27: stop := True;
    end;
    если было нажатие на клавишу, …

  • 133Программаprogram qq;
var x, y, k, code, i: integer;
    stop: boolean;...

    133 слайд

    133
    Программа
    program qq;
    var x, y, k, code, i: integer;
    stop: boolean;



    begin
    ...
    repeat
    Draw(x, y, True);
    Delay(20);
    Draw(x, y, False);



    until stop;
    end.
    procedure Draw(x,y: integer; flag: Boolean);
    begin
    ...
    end;
    if IsEvent then begin
    ...
    end;
    Что плохо?
    ?
    процедура
    основной цикл
    обработка событий

  • 134Как убрать мигание?Проблема: даже если не нажата никакая клавиша, квадрат...

    134 слайд

    134
    Как убрать мигание?
    Проблема: даже если не нажата никакая клавиша, квадрат перерисовывается через каждые 20 мс (мигание!)
    Что хочется: не перерисовать квадрат, если не было никакого события
    Решение: нарисовать квадрат и ждать события
    Новая проблема: как ждать события?
    Решение новой проблемы: пустой цикл "пока не случилось событие, ничего не делай":
    while not IsEvent do;

  • 135Программаprogram qq;
var x, y, k, code, i: integer;
    stop: boolean;...

    135 слайд

    135
    Программа
    program qq;
    var x, y, k, code, i: integer;
    stop: boolean;




    begin
    ...
    repeat
    Draw(x, y, True);
    while not IsEvent do;



    until stop;
    end.
    procedure Draw(x,y: integer; flag: Boolean);
    begin
    ...
    end;
    Draw(x, y, False);
    Event(k, code, i);
    ...
    while not IsEvent do;
    процедура
    рисуем квадрат
    ждем события
    только теперь стираем
    Что можно улучшить?
    ?

  • 136&quot;4&quot;: Квадрат двигается при нажатии стрелок, однако не может выйти за грани...

    136 слайд

    136
    "4": Квадрат двигается при нажатии стрелок, однако не может выйти за границы синего квадрата:




    "5": Квадрат непрерывно двигается, при нажатии стрелок меняет направление и отталкивается от стенок синего квадрата:
    Задания

  • 137ВращениеЗадача: изобразить модель вращения Земли вокруг Солнца.
Проблема:...

    137 слайд

    137
    Вращение
    Задача: изобразить модель вращения Земли вокруг Солнца.
    Проблема: движение по окружности, как изменять координаты?
    Решение: использовать в качестве независимой переменной (менять в цикле) угол поворота α
    (x0, y0)
    α
    L
    (x, y)
    x = x0 + L·cos(α)
    y = y0 – L·sin(α)

  • 138Процедураprocedure Draw(x, y: integer; flag: boolean);
const r = 10;
begin...

    138 слайд

    138
    Процедура
    procedure Draw(x, y: integer; flag: boolean);
    const r = 10;
    begin
    if flag then
    Brush(1, 100, 100, 255)
    else
    Brush(1, 0, 0, 0);
    Ellipse(x-r, y-r, x+r, y+r);
    end;
    рисовать (True) или нет (False)?
    рисуем: цвет кисти – голубой
    стираем: цвет кисти – черный
    только заливка!
    радиус Земли
    (x-r, y-r)
    (x,y)
    (x+r, y+r)

  • 139Константы и переменныеprogram qq;
const rSun = 60;   { радиус Солнца}...

    139 слайд

    139
    Константы и переменные
    program qq;
    const rSun = 60; { радиус Солнца}
    L = 150; { радиус орбиты Земли }
    x0 = 200; { координаты центра Солнца}
    y0 = 200;
    var x, y, { координаты Земли }
    k, code, i: integer; { для Event }
    a, ha: real; { угол поворота, шаг }
    stop: boolean; { признак остановки программы }




    begin
    ...
    end.
    procedure Draw(x, y: integer; flag: Boolean);
    begin
    ...
    end;

  • 140Основная программаprogram qq;
...
begin
  Brush(1, 0, 0, 0);  Fill(1,1);...

    140 слайд

    140
    Основная программа
    program qq;
    ...
    begin
    Brush(1, 0, 0, 0); Fill(1,1);
    Brush(1, 255, 255, 0);
    Ellipse(x0-rSun, y0-rSun, x0+rSun, y0+rSun);
    a := 0; ha := 1*pi/180; { начальный угол, шаг 1o за 100 мс}
    stop := false;
    Pen(0,0,0,0); { отключаем контуры }
    repeat
    x := round(x0 + L*cos(a));
    y := round(y0 - L*sin(a));
    Draw(x, y, True);
    Delay(100);
    Draw(x, y, False);




    a := a + ha;
    until stop;
    end.
    залить фон черным
    рисуем Солнце
    новые координаты
    поворот на ha
    ждем 100 мс
    if IsEvent then begin
    Event(k, code, i);
    if (k = 1) and (code = 27) then stop := true;
    end;

  • 141&quot;4&quot;: Изобразить модель Солнца с двумя планетами, которые вращаются в проти...

    141 слайд

    141
    "4": Изобразить модель Солнца с двумя планетами, которые вращаются в противоположные стороны:


    "5": Изобразить модель системы Солнце-Земля-Луна:
    Задания

  • 142Программирование на языке ПаскальТема 12. Случайные числа© К.Ю. Поляков,...

    142 слайд

    142
    Программирование
    на языке Паскаль
    Тема 12. Случайные числа
    © К.Ю. Поляков, 2006-2007

  • 143Случайные числаСлучайные явления: везде…
бросание монеты (&quot;орел&quot; или &quot;решк...

    143 слайд

    143
    Случайные числа
    Случайные явления: везде…
    бросание монеты ("орел" или "решка")
    падение снега
    броуновское движение
    помехи при телефонной связи
    шум радиоэфира
    Случайные числа – это такая последовательность чисел, для которой невозможно предсказать следующее даже зная все предыдущие.
    Проблема: как получить на компьютере?
    Возможные решения:
    использовать внешний источник шумовых помех
    с помощью математических преобразований

  • 144Псевдослучайные числаПсевдослучайные числа – это такая последовательность...

    144 слайд

    144
    Псевдослучайные числа
    Псевдослучайные числа – это такая последовательность чисел, которая обладает свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле.
    Примеры:
    Случайные целые числа [0,m) (линейный конгруэнтный метод)

    Случайные вещественные числа [0,1]

    Литература:
    Д. Кнут, Искусство программирования для ЭВМ, т.2.
    дробная часть числа
    a, c, m - целые числа
    простое число
    230-1
    например, k = 5

  • 145Распределение случайных чиселМодель: снежинки падают на отрезок [a,b]ababр...

    145 слайд

    145
    Распределение случайных чисел
    Модель: снежинки падают на отрезок [a,b]
    a
    b
    a
    b
    распределение
    равномерное
    неравномерное
    Сколько может быть разных распределений?
    ?

  • 146Распределение случайных чиселОсобенности: 
распределение – это характерист...

    146 слайд

    146
    Распределение случайных чисел
    Особенности:
    распределение – это характеристика всей последовательности, а не одного числа
    равномерное распределение одно, компьютерные датчики (псевдо)случайных чисел дают равномерное распределение
    неравномерных – много
    любое неравномерное можно получить с помощью равномерного
    a
    b
    a
    b
    равномерное распределение
    равномерное распределение

  • 147Təsadüfü ədədlər generatoru [0,N]  intervalında tam ədədlər: 
  var x: int...

    147 слайд

    147
    Təsadüfü ədədlər generatoru
    [0,N] intervalında tam ədədlər:
    var x: integer;
    ...
    x := random ( 100 ); { interval [0,99] }
    [0,1] intervalında həqiqi ədədlər
    var x: real;
    ...
    x := random; {interval [0,1] }

  • 148Случайные числаЗадача: заполнить прямоугольник 400 на 300 пикселей равном...

    148 слайд

    148
    Случайные числа
    Задача: заполнить прямоугольник
    400 на 300 пикселей равномерно
    точками случайного цвета
    Как получить случайные координаты точки?
    x := random ( 400 );
    y := random ( 300 );
    Как добиться равномерности?
    обеспечивается автоматически при использовании
    функции random
    Как получить случайный цвет?
    Pen (1, random(256), random(256), random(256));
    Point ( x, y );

  • 149Программаprogram qq;
var x, y, k, code, i: integer;
    stop: boolean;
beg...

    149 слайд

    149
    Программа
    program qq;
    var x, y, k, code, i: integer;
    stop: boolean;
    begin
    stop := False;
    repeat
    x := random(400);
    y := random(300);
    Pen(1, random(256), random(256), random(256));
    Point(x, y );
    if IsEvent then begin
    Event(k, code, i);
    if (k = 1) and (code = 27) then stop := True;
    end;
    until stop;
    end.
    случайные координаты
    случайный цвет
    выход по клавише Esc

  • 150&quot;4&quot;: Ввести с клавиатуры координаты углов прямоугольника и заполнить его т...

    150 слайд

    150
    "4": Ввести с клавиатуры координаты углов прямоугольника и заполнить его точками случайного цвета.




    "5": Заполнить треугольник точками случайного цвета (равномерно или неравномерно).
    Подсказка: возьмите равнобедренный треугольник с углом 45о.
    Задания
    (100,100)
    (300,200)

  • 151Pascal dilində proqramlaşdırmaMövzu  13. Функции© К.Ю. Поляков, 2006-2007

    151 слайд

    151
    Pascal dilində
    proqramlaşdırma
    Mövzu 13. Функции
    © К.Ю. Поляков, 2006-2007

  • 152ФункцииФункция – это вспомогательный алгоритм (подпрограмма), результатом...

    152 слайд

    152
    Функции
    Функция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является некоторое значение.
    Примеры:
    вычисление , ,
    расчет значений по сложным формулам
    ответ на вопрос (простое число или нет?)
    Зачем?
    для выполнения одинаковых расчетов в различных местах программы
    для создания общедоступных библиотек функций
    В чем отличие от процедур?
    ?

  • 153ФункцииЗадача: составить функцию, которая вычисляет наибольшее из двух зна...

    153 слайд

    153
    Функции
    Задача: составить функцию, которая вычисляет наибольшее из двух значений, и привести пример ее использования
    Функция:
    формальные параметры
    function Max (a, b: integer): integer;
    begin
    if a > b then Max := a
    else Max := b;
    end.
    это результат функции

  • 154ФункцииОсобенности:
заголовок начинается словом function
формальные параме...

    154 слайд

    154
    Функции
    Особенности:
    заголовок начинается словом function
    формальные параметры описываются так же, как и для процедур
    можно использовать параметры-переменные
    в конце заголовка через двоеточие указывается тип результата
    функции располагаются ВЫШЕ основной программы
    Max (a, b: integer): integer;
    function
    function Max (a, b: integer): ;
    integer
    function qq( a, b: integer; x: real ): real;
    a, b: integer; x: real
    function Max ( a, b: integer): integer;
    var

  • 155ФункцииОсобенности:
можно объявлять и использовать локальные переменные
зн...

    155 слайд

    155
    Функции
    Особенности:
    можно объявлять и использовать локальные переменные
    значение, которое является результатом, записывается в переменную, имя которой совпадает с названием функции; объявлять ее НЕ НАДО:
    function Max (a, b: integer): integer;
    begin
    ...

    end;
    Max := a;
    function qq (a, b: integer): float;

    begin
    ...
    end;
    var x, y: float;
    В Delphi:
    !
    Result := a;

  • 156Программаprogram qq;
var a, b, max: integer;




begin
  writeln(&#039;Введите...

    156 слайд

    156
    Программа
    program qq;
    var a, b, max: integer;




    begin
    writeln('Введите два числа');
    read(a, b);
    max := Max ( a, b );
    writeln('Наибольшее число ', max );
    end.
    function Max (a, b: integer): integer;
    begin
    ...
    end;
    c
    c
    c
    Имена переменных, функций и
    процедур не должны совпадать!
    !
    фактические параметры
    вызов функции

  • 157Логические функцииЗадача: составить функцию, которая определяет, верно ли,...

    157 слайд

    157
    Логические функции
    Задача: составить функцию, которая определяет, верно ли, что заданное число – простое.
    Особенности:
    ответ – логическое значение (True или False)
    результат функции можно использовать как логическую величину в условиях (if, while)
    Алгоритм: считаем число делителей в интервале от 2 до N-1, если оно не равно нулю – число составное.
    count := 0;
    for i := 2 to N-1 do
    if N mod i = 0 then
    count := count + 1;
    if count = 0 then
    { число N простое}
    else { число N составное }
    for i := 2 to N-1 do
    if N mod i = 0 then
    count := count + 1;
    Как улучшить?
    ?

  • 158Логические функцииprogram qq;
var N: integer;










begin
  writeln(&#039;В...

    158 слайд

    158
    Логические функции
    program qq;
    var N: integer;










    begin
    writeln('Введите целое число');
    read(N);
    if Prime(N) then
    writeln(N, ' – простое число')
    else writeln(N, ' – составное число');
    end.
    function Prime (N: integer): boolean;
    var count, i: integer;
    begin
    i := 2; count := 0;
    while i*i <= N do
    if N mod i = 0 then count := count + 1;
    i := i + 1;
    end;
    Prime := (count = 0);
    end;
    вызов функции
    результат – логическое значение
    перебор только до
    условие – это логическое значение

  • 159Задания&quot;4&quot;: Составить функцию, которая определяет сумму всех чисел от 1 до...

    159 слайд

    159
    Задания
    "4": Составить функцию, которая определяет сумму всех чисел от 1 до N и привести пример ее использования.
    Пример:
    Введите число:
    100
    сумма = 5050
    "5": Составить функцию, которая определяет, сколько зерен попросил положить на N-ую клетку изобретатель шахмат (на 1-ую – 1 зерно, на 2-ую – 2 зерна, на 3-ю – 4 зерна, …)
    Пример:
    Введите номер клетки:
    28
    На 28-ой клетке 134217728 зерен.

  • 160Tapşırıq (II variant)&quot;4&quot;: Составить функцию, которая определяет наибольший...

    160 слайд

    160
    Tapşırıq (II variant)
    "4": Составить функцию, которая определяет наибольший общий делитель двух натуральных и привести пример ее использования.
    Пример:
    Введите два числа:
    14 21
    НОД(14,21)=7
    "5": Составить функцию, которая вычисляет функцию синус как сумму ряда (с точностью 0.001)

    Пример:
    Введите угол в градусах:
    45
    sin(45) = 0.707
    x в радианах!

  • 161Конец фильма

    161 слайд

    161
    Конец фильма

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Pascal programlaşdırma  dilinə  aid  çox faydalı təqdimat .(rus dilindən müəllfin   icazəsi ilə  tərcümə  olunub).Təqdimatdan istifadə  edərək  9-cu sinif  pascal  dərsslərində istifadı  etmək olar.Burada  həmçinin bəzi məslələrin həlli  də  izah  olunur.pascalprogramlaşdırmadilinə  aid təqdiamt .Təqdimatda pascal  dilinin bütün imkanları  aydın izah olunur.

Mürəkkəb dövrlərə  aid  çox maraqlı izahlar  var.Tapşırıqlar  da  çox  aydın  izah olunur.

Funksiyalar aid  vəaltprogramlara  aid  də  çox  faydalı  materiallar  var.

Ümid  eidrəm müəllimlərə  faydalı  bir  təqdiamt olacaq.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 662 127 материалов в базе

Скачать материал

Другие материалы

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 10.01.2015 2635
    • PPTX 2.3 мбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Ахмедова Матанат Эльдар. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Ахмедова Матанат Эльдар
    Ахмедова Матанат Эльдар
    • На сайте: 9 лет и 3 месяца
    • Подписчики: 0
    • Всего просмотров: 8675
    • Всего материалов: 5

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Бухгалтер

Бухгалтер

500/1000 ч.

Подать заявку О курсе
  • Сейчас обучается 22 человека из 16 регионов

Курс повышения квалификации

Методы и инструменты современного моделирования

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 36 человек из 19 регионов
  • Этот курс уже прошли 69 человек

Курс профессиональной переподготовки

Управление сервисами информационных технологий

Менеджер по управлению сервисами ИТ

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 26 человек из 19 регионов
  • Этот курс уже прошли 34 человека

Курс профессиональной переподготовки

Математика и информатика: теория и методика преподавания в профессиональном образовании

Преподаватель математики и информатики

500/1000 ч.

от 8900 руб. от 4150 руб.
Подать заявку О курсе
  • Сейчас обучается 41 человек из 23 регионов
  • Этот курс уже прошли 53 человека

Мини-курс

Управление рисками и финансовое моделирование

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Продвижение: от бесплатной рекламы до постоянных клиентов

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 48 человек из 25 регионов
  • Этот курс уже прошли 17 человек

Мини-курс

Здоровые взаимоотношения: адаптация и развитие ребенка через привязанность и игрушки

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 89 человек из 38 регионов
  • Этот курс уже прошли 60 человек