Esitys "Pascal-ohjelmointikieli. Kielen tekstieditori.". Pascal-ohjelmoinnin perusteet Esitys Pascalilla

Nikolaus Wirth Mutta olisi väärin ajatella, että Pascal on vain opetuskieli. Tässä on mitä N. Wirth (1984) sanoi tästä: "Väitittiin, että Pascal kehitettiin opetuskieleksi. Vaikka tämä väite on totta, sen käyttö opetuksessa ei ollut ainoa tarkoitus. Itse asiassa en usko onnistumiseen käyttää koulutuksessa sellaisia ​​työkaluja ja tekniikoita, joita ei voida käyttää joidenkin käytännön ongelmien ratkaisemiseen. * *


Pascal-ohjelmointikieli Sittemmin Pascalista on tullut yhä suositumpi, ei vain ohjelmoinnin periaatteiden opettamisen kielenä, vaan myös keinona luoda melko monimutkaisia ohjelmisto. Alkuperäisessä muodossaan Pascalilla oli melko rajalliset ominaisuudet, mutta tämän kielen laajennettu versio, Turbo Pascal, on tehokas ohjelmointikieli.


Miksi PASCAL? Pascal-ohjelmointikieli on nimetty ranskalaisen tiedemiehen Blaise Pascalin mukaan, joka keksi ensimmäisen mekaanisen laskukoneen vuonna 1642. Se oli vuorovaikutteisten hammaspyörien järjestelmä, joista jokainen vastasi yhtä desimaaliluvun numeroa ja sisälsi numerot 0-9. Kun pyörä teki täyden kierroksen, seuraava siirtyi yhdellä numerolla. Pascalin kone oli summauskone.


Perustietoa ohjelmointikielistä Kieli on merkkijärjestelmä. Tietokonekieli (konekieli) on binäärimerkkijärjestelmä. Siksi, jotta tietokone voisi ymmärtää kirjoitetun ohjelman, se on käännettävä kielelle, jota tietokone ymmärtää. Tätä käännösprosessia kutsutaan kääntämiseksi.




Integroitu ympäristö Turbo Pascal-7.0 Borland Internationalilla oli valtava rooli Pascalin massajakelussa. Hän onnistui luomaan kuuluisan Turbo-kehitysympäristön. Tämä oli valtava edistysaskel ohjelmoinnin helpottamiseksi. Miksi Turbo? Turbo tarkoittaa englannin slangissa kiihtyvyyttä. Turbo Pascalin mukana tuleva kääntäjä kääntää ohjelman erittäin nopeasti ohjelmointikielestä konekoodiksi.




Kielen peruskeinot Kielen symbolit ovat tekstin laadinnassa käytettyjä alkeismerkkejä. Kielen aakkoset ovat joukko tällaisia ​​symboleja. Turbo Pascal 7.0 -kielen aakkoset sisältävät: kaikki latinalaiset isot ja pienet kirjaimet, arabialaiset numerot (0 - 9), symbolit + - * / =,. ; : _ () ( ) ja muut palvelusanat (varatut).


Komentojen, toimintojen nimien ja selittävien termien tallentamiseksi Turbo Pascal 7.0:ssa on joukko tiukasti määriteltyjä sanoja, joita kutsutaan palveluiksi tai varatuiksi (nämä ovat englanninkielisiä muistolyhenteitä). Palvelusanat on jaettu kolmeen ryhmään: operaattorit (READ, WRITELN jne.) toimintojen nimet (SIN, COS jne.) avainsanat (VAR, BEGIN, END jne.) Peruskielityökalut


Suuren nimi on sen nimitys; se on sana, joka koostuu kirjaimista, numeroista ja alaviivoista, jotka alkavat kirjaimella. Numerot: kokonaisluvut, reaali: kiinteä piste (-1,23; 654,2), liukuluku (2, 437,). Kuusi operaatiota: + yhteenlasku, - vähennyslasku, / jako, * kertolasku, mod-hakujäännös, div-jako.


Aritmeettinen lauseke muodostetaan nimistä, numeroista, aritmeettisten operaatioiden symboleista, matemaattiset funktiot. Vain sulkeita käytetään osoittamaan toimintojen järjestystä. Neliöintiin käytetään merkintää sqr(x). Poimi neliöjuuri käyttämällä merkintää sqrt(x). Moduuli on merkitty abs(x).


Tehtäväoperaattori Muuttujan nimi:= aritmeettinen lauseke. x:= 3,24 tai x:= x+4. Muuttujan tyyppi 1. Jos vasemmalla oleva muuttuja on reaalityyppistä, niin aritmeettinen lauseke voi olla joko kokonaisluku tai reaalityyppinen. 2.Jos vasemmalla oleva muuttuja on kokonaislukutyyppiä, niin aritmeettinen lauseke on vain kokonaisluku.


Ohjelman rakenne Pascal-osassa 1 – tietojen ja operaattoreiden kuvaus. Osa 2 – ohjelmalohko. Ohjelman yleisnäkymä: Ohjelma (ohjelman nimi) nimike (nimiluettelo) const (vakioarvojen luettelo) tyyppi (monimutkaisten tietotyyppien kuvaukset) var (ohjelmatietojen kuvaukset) begin (ohjelmalohkon alku) (algoritmi) loppu. (ohjelman loppu)


Ohjelman nimi: enintään 8 merkkiä, alkaen kirjaimella. päättyy pisteeseen. Kuvaava osa koostuu 4 osasta: otsikot, vakiot, nimet ja muuttujatyypit. var nimi ja muuttujan tyyppi: kokonaisluku (kokonaisluku), real (real). Esimerkiksi: var i, j: kokonaisluku; x: todellinen; Kunkin tyypin kuvaus päättyy puolipisteeseen. Ohjelmalohko sisältää lauseita, jotka kuvaavat ongelman ratkaisun algoritmia.


Syöttö- ja lähtöoperaattorit: lue (nimiluettelo) – pysäyttää ohjelman ja odottaa, että käyttäjä kirjoittaa numerot näppäimistöllä (välilyönnillä erotettuna) ja painaa ENTER. Esimerkiksi: lue(i, j); Kun tämä operaattori toimii, kohdistin sijaitsee viimeisen numeron takana, mutta sitä ei siirretä uudelle riville. Jos haluat siirtää kohdistimen uudelle riville tietojen syöttämisen jälkeen, sinun on käytettävä readln(nimiluettelo) -operaattoria. kirjoittaa (tulostuslista) – kirjoittaa tiedot näytölle. Tulosluettelo - laskentatulosten pilkuilla erotetut nimet ja selittävät tekstit heittomerkkeinä. Esimerkiksi: write(x=, x); Kiinteän pisteen numero tulostetaan näytölle. Esimerkiksi: write(x=, x:6:2); näytössä näkyy 6 numeroa, joista kaksi on desimaalipilkun jälkeen (x =). Kohdistin siirretään uudelle riville käyttämällä tyhjää kirjoitusoperaattoria. Tyhjä syöttöoperaattori readln






Työskentely Turbo Pascal -järjestelmässä Alt + F10 – Tiedostovalikko – Uusi – luo uusi tiedosto Enter - tulee sijoittaa jokaisen rivin loppuun Ctrl + Y - rivin poistaminen Enter - rivin lisääminen Suorita ohjelma valitsemalla Suorita valikosta Kääntäjä - kääntää ohjelman Pascalista konekielelle ja etsii syntaksivirheitä. 1.Jos virheitä löytyy, palaat editoriin, kursori osoittaa virheen. 2.Jos virheitä ei löydy, ohjelma suoritetaan










Joskus sanojen THEN ja ELSE jälkeen sinun ei tarvitse suorittaa yhtä, vaan useita lauseita. Sitten nämä operaattorit suljetaan käyttösuluissa. Aloitussulke on sana BEGIN, loppusulke on sana END. Sanan ELSE edessä ei ole puolipistettä. On suositeltavaa, että jokainen BEGIN – END -pari kirjoitetaan yhteen sarakkeeseen. IF-ehto THEN aloita lause 1; operaattori 2; lause N end MUUSI alkaa lause 1; operaattori 2; operaattori M loppu ;




Ohjelma E3; var a,b: kokonaisluku; aloita kirjoitus (kirjoita kaksi kokonaislukua välilyönnillä erotettuina ja paina sitten); readln(a,b); jos a mod 2 = 0 niin writeln (a – parillinen) else writeln (a – pariton); jos b mod 2 = 0 niin writeln (b – parillinen) else writeln (b – pariton); readlnend.


3, jos a>0 6, jos a 0 6, jos a 0 6, jos a 0 6, jos a0 6, if a title="3, jos a>0 6, jos a


Ohjelma E31; var a,y: todellinen; aloita kirjoittaminen (kirjoita numero ja paina sitten); readln(a); jos a > 0 niin y:=3 muuten y:=6; kirjoittaa(y=,y); readlnend. 0 sitten y:=3 muu y:=6; kirjoittaa(y=,y); readlnend."> 0 then y:=3 else y:=6; write (y=,y); readln end."> 0 then y:=3 else y:=6; write (y=,y); readln end." title="Ohjelma E31; var a,y: todellinen; aloita kirjoittaminen (kirjoita numero ja paina sitten); readln(a); jos a > 0 niin y:=3 muuten y:=6; kirjoittaa(y=,y); readlnend."> title="Ohjelma E31; var a,y: todellinen; aloita kirjoittaminen (kirjoita numero ja paina sitten); readln(a); jos a > 0 niin y:=3 muuten y:=6; kirjoittaa(y=,y); readlnend."> !}


A+b, jos a>b a*b, jos a b a*b, jos a b a*b, jos a b a*b, jos ab a*b, jos a title="a+b, jos a>b a* b jos a


Ohjelma E32; var a,b,x: todellinen; aloita kirjoittaminen (kirjoita kaksi numeroa välilyönnillä erotettuna ja paina sitten); readln(a); jos a >b niin x:=a+b muuten x:=a*b; kirjoittaa(x=,x); readlnend. b sitten x:=a+b muuten x:=a*b; kirjoittaa(x=,x); readlnend."> b then x:=a+b else x:=a*b; write (x=,x); readln end."> b then x:=a+b else x:=a*b; write (x=,x); readln end." title="Ohjelma E32; var a,b,x: todellinen; aloita kirjoittaminen (kirjoita kaksi numeroa välilyönnillä erotettuna ja paina sitten); readln(a); jos a >b niin x:=a+b muuten x:=a*b; kirjoittaa(x=,x); readlnend."> title="Ohjelma E32; var a,b,x: todellinen; aloita kirjoittaminen (kirjoita kaksi numeroa välilyönnillä erotettuna ja paina sitten); readln(a); jos a >b niin x:=a+b muuten x:=a*b; kirjoittaa(x=,x); readlnend."> !}




Silmukoiden organisointi Ohjelmoinnissa toistuvia toimintoja kutsutaan silmukaksi.Ehdoton hyppyoperaattori goto n, n - kokonaisluku (enintään 4 merkkiä), otsikko. Tarra toistetaan 3 kertaa: 1.Etiketti-osiossa; 2. Goto-lauseessa; 3.Ennen käyttäjää, jolle ehdoton siirtyminen suoritetaan.


Silmukoiden järjestäminen ehdollisten ja ehdottomien hyppyoperaattoreiden avulla. Tehtävä. Etsi kahdenkymmenen ensimmäisen luvun summa. (1+2+3….+20). a ……………20 S ………….


Eukleideen algoritmi: joka kerta pienennämme suurempaa lukua pienemmän arvolla, kunnes molemmat luvut ovat yhtä suuret. Esimerkki: Ensimmäinen 1 vaihe 2 vaihe 3 vaihe a= 25 b= GCD(a,b)=5


Ohjelma E5; var a, b: kokonaisluku; aloita kirjoittaminen (gcd=,a); readln; loppu. kirjoittaa (Syötä kaksi luonnollista lukua välilyönnillä erotettuina); readln(a,b); kun taas ab do jos a>b sitten a:=a-b else b:=b-a; b sitten a:=a-b else b:=b-a;"> b sitten a:=a-b else b:=b-a;"> b sitten a:=a-b else b:=b-a;" title="Program E5 ; var a, b: kokonaisluku; aloita kirjoitus (GCD=,a); lueln; lopeta. kirjoita (kirjoita kaksi luonnollista lukua välilyönnillä erotettuna); readln (a,b); kun taas ab do jos a>b niin a: =a-b else b:=b-a;"> title="Ohjelma E5; var a, b: kokonaisluku; aloita kirjoittaminen (gcd=,a); readln; loppu. kirjoittaa (Syötä kaksi luonnollista lukua välilyönnillä erotettuina); readln(a,b); kun taas ab do jos a>b sitten a:=a-b else b:=b-a;"> !}




B sitten a:=a-b; jos b>a niin b:=b-a kirjoita (Syötä kaksi välilyönnillä erotettua luonnollista lukua); readln (a,b);" title="Program E6; var a, b: kokonaisluku; aloita kirjoitus (HOD=,a); readln; end. toista kunnes a=b; jos a>b, niin a :=a-b, jos b>a niin b:=b-a kirjoittaa (Anna kaksi luonnollista lukua välilyönnillä erotettuna); readln (a,b);" class="link_thumb"> 40 !} Ohjelma E6; var a, b: kokonaisluku; aloita kirjoitus (HOD=,a); readln; loppu. toista kunnes a=b; jos a>b niin a:=a-b; jos b>a niin b:=b-a kirjoita (Syötä kaksi välilyönnillä erotettua luonnollista lukua); readln(a,b); b sitten a:=a-b; jos b>a niin b:=b-a kirjoita (Syötä kaksi välilyönnillä erotettua luonnollista lukua); readln (a,b);"> b sitten a:=a-b; jos b>a niin b:=b-a kirjoittaa (Anna kaksi luonnollista lukua välilyönnillä erotettuna); readln (a,b);"> b sitten a: =a-b; jos b>a niin b:=b-a kirjoita (Syötä kaksi välilyönnillä erotettua luonnollista lukua); readln (a,b);" title="Program E6; var a, b: kokonaisluku; aloita kirjoitus (HOD=,a); readln; end. toista kunnes a=b; jos a>b, niin a :=a-b, jos b>a niin b:=b-a kirjoittaa (Anna kaksi luonnollista lukua välilyönnillä erotettuna); readln (a,b);"> title="Ohjelma E6; var a, b: kokonaisluku; aloita kirjoitus (HOD=,a); readln; loppu. toista kunnes a=b; jos a>b niin a:=a-b; jos b>a niin b:=b-a kirjoita (Syötä kaksi välilyönnillä erotettua luonnollista lukua); readln(a,b);"> !}




Oppitunnin aihe: "Pyörit (toistot) ohjelmissa"

1) Toistaa ja lujittaa tietoa lineaaristen, haarautuvien ohjelmien laatimisesta; 2) Opi muodostamaan ohjelmia syklisellä operaattorilla - FOR i:=1 TO n DO Aloita operaattorit (silmukan runko) end ; 3) Käytä operaattoreita standarditehtävien ratkaisussa. Oppitunnin tarkoitus:

Täytä puuttuva: Program Sql; Muutt A,B,C,D,XI,X2: ??? ; Aloita Writeln ("Syötä toisen asteen yhtälön kertoimet '); Readln (???); D:=B*B-4*A*C; jos D

Kysymyksiä ryhmälle: 1) Mitä eroa on haarautuvilla ja lineaarisilla ohjelmilla? 2) Mitä operaattoreita käytetään valintojen tekemiseen ohjelmissa? 3) alkaa….loppu – Mitä tämä on? Mitkä ovat ohjelman käytön säännöt?

1) Input/output operaattorit; 2) Valintaoperaattorit; 3) a:=a+3 – mitä tapahtuu? 4) Listaa tietotyypit; 5) Poista tarpeettomat AND,OR,END, NOT,IF ; 6) ; - mitä se tarkoittaa? 7) Miten ohjelman päättyminen ilmoitetaan? 8) Listaa aritmeettiset operaatiot. 9) Mikä on 120 mod 65 = ? 10) Silmukkaoperaattorit.

Järjestä vastaavasti: 1. Lue 2. Loppu 3. Aloita 4. Kokonaisluku 5. ; 6. Jos .. Sitten 7. := 8. Syöte 9. Loppu 10. Kokonaisluvut 11. Määritä 12. Seuraava toiminto 13. Aloita 14. Jos..niin

Onko tulos todella alle 3? a:= 7 b:= - 10 a:=a*(- 7) b:=159 a:=b+a

Etsi 5 virhettä ohjelmasta: Program krug ; VAR Pi, r, S: todellinen; Pi:=3.14, WRITELN(’vvedite radiuc r=’), READ(r); S = Pi *r*r; WRITELN('Ploshad kruga S=', S) loppu

Ohjelmapiiri ; VAR Pi, r, S: todellinen; alkaa Pi:=3.14 , WRITELN(’vvedite radiuc r=’) , READ(r); S: =Pi*r*r; WRITELN('Ploshad kruga S= ', S) loppu .

Tehtävä nro 1 Kun on annettu kokonaisluku N, määritä, onko se parillinen vai pariton. 2, 4, 6, … ovat parillisia, koska jaetaan ilman jäännöstä 2(N mod 2 =0) 1, 3, 7, ... - pariton, koska jaetaan kahdella jäännöksellä 1 (N mod 2 =1)

Algorithm Algorithm Chislo ; muuttuja N: kokonaislukuja; start Output('vvedite chislo'); Syötä (N) ; JOS N mod 2 =0 T O Lähtö(N,'- Chetnoe'); JOS N mod 2 =1 T O Output(N,'- nechetnoe'); loppu.

Tehtävä nro 2 Annettu kaksinumeroinen kokonaisluku N (DE), jossa D on kymmenien lukumäärä, E on yksiköiden lukumäärä. Selvitä, onko tämän luvun numeroiden summa 10. Esimerkki: 28:n summa on S = 2 + 8 = 10, mutta 27:llä ei ole S = 2 + 7 = 9. Laskemme kymmeniä: D = N div 10 ja yksiköt: E = N mod 10

Algorithm Algorithm Chislo ; muuttujat N,E,D,S: kokonaislukuja; start Output('vvedite chislo'); Syötä (N) ; E:=N mod 10; D:=N div 10; S:=E+D; JOS S = 10 T O Output('summa= 10') Muussa tapauksessa ('summa10'); loppu.

Määritelmä: Ohjelmat, joissa samantyyppiset toiminnot toistetaan monta kertaa - sykliset ohjelmat (toistolla).

Tehtävä: Annetut 100 luonnollista lukua väliltä 1-100 (1,2,3, ... 99,100) Laske niiden summa ja tulosta se muuttujaan S.

Algoritmin summa; Muuttuja i,S: kokonaislukuja; Aloita S:=0; Kohdalle i:=1 - 100 toista Aloitus S:= S + i body End; sykli Lähtö (S) Loppu.

ohjelman summa; VAR i, S: kokonaisluku; Aloita S:=0; FOR i:=1 - 100 DO alkaa S:=S+i rungon loppu; silmukan WRITE(S) loppu.

ohjelman summa; VAR i, S: kokonaisluku; Aloita S:=0; JOS i:=1 - 100 DO aloita S:=S+i ; body WRITE('S', i, '=', s) silmukan loppu; loppu.

Syklin runko on juuri niitä toimia, jotka on toistettava monta kertaa. Silmukan runko on suljettu operaattorisuluissa begin..... end;

ALT + F9 - korjaa virheet CTRL + F9 - suorita ohjelma ALT + F5 - näytä tulos

Tehtävä: 1) Tulosta minkä tahansa kokonaisluvun N kertolaskutaulukon sarake luvuilla 1-10. Esimerkki: N = 5, niin sarake on tällainen - 1*5=5 2*5=10 3*5 =15 i * N = P , missä i vaihtelee …… .. 1…10 10*5=50

Kotitehtävä: kommentoi ohjelmaa tehtävään "Tietoja kertotaulukon sarakkeesta"

KIITOS HUOMIOSTASI!

  1. 1. Pascal
  2. 2. Pascal Pascalin on kehittänyt sveitsiläinen tiedemies Niklaus Wirth. Pascalia pidetään tärkeimpänä työkaluna strukturoitujen ohjelmointimenetelmien opettamisessa, ja se on otettu käyttöön tietojenkäsittelytieteeseen erikoistuneiden koulujen kursseilla vuodesta 1983 lähtien. Myöhemmin Pascal-kieltä parannettiin ja se sai uusia ominaisuuksia, jotka poikkesivat kirjoittajan versiosta.
  3. 3. Pascal-kieli on suhteellisen helppo oppia, melko selkeä ja looginen ja ensimmäisenä opitun ohjelmointikielenä opettaa hyvää tyyliä.
  4. 4. Kuten luonnollisilla kielillä, jokaisella ohjelmointikielellä on oma tyylinsä ja säännöt. Ohjelmointikielen syntaksi on joukko sääntöjä, jotka määräävät kuinka oikeita ohjelmia rakennetaan aakkosmerkeistä.
  5. 5. Pascal-aakkoset 26 latinalaista pientä ja 26 latinalaista isoa kirjainta: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z alaviiva 8 _ 20 7 merkkiä 1 _ 20 7 : + - * / =<> < > <= >= := @ erottimet (erottimet): . , " () (. .) ( ) (* *).. : ; määrittelyt: ^ # $
  6. 6. Ohjelman rakenne (1. ohjelman otsikko) ohjelma Ohjelman_nimi; (2. osio käytettyjen moduulien määrittämiseksi) käyttää List_of_Used_Modules; (3. Kuvaukset-osio) label Label_descriptions; const Constant_Descriptions; tyyppi TypeDescriptions; vari Variable_Descriptions; menettely Proseduurien_ja_toimintojen_kuvaukset; funktio vie Exported_Names-kuvaukset; (4. Lausunto-osio) alkaa Lausunnot loppuvat.
  7. 7. Yksinkertaistettu ohjelman rakenne (1. ohjelman otsikko) ohjelma Ohjelman_nimi; (2. osio käytettyjen moduulien määrittelyyn) käyttää List_of_Used_Modules; (3. Kuvaukset-osio) const Constant_Descriptions; vari Variable_Descriptions; (4. Lausunto-osio) begin Ohjelmalausunnot loppuvat.
  8. 8. Ohjelmointikielen komentoja kutsutaan operaattoreiksi.Pascalin operaattorierotin on; (puolipiste)
  9. 9. Kommentti on ohjelman tekstin osa, joka on erotettu merkeillä ( ). Ohjelman kommentilla on tiedotustoiminto. (Ensimmäinen ohjelmani) ohjelma ensin; begin writeln('Hei, maailma!') end.
  10. 10. Esimerkki: suorakaiteen ohjelman kehä; (ohjelman nimi) käyttää crt; (crt – tarvitaan näytön tyhjentämiseen) var a,b:integer; (muuttujien ilmoitus) P:integer; Begin (ohjelman alku) clrscr; (näytön kirkas) a:=12; (määritämme muuttujalle a arvon 12) b:=7; (määritä muuttujalle b arvo 7) P:=2*(a+b); (määritämme lausekkeen arvon P:lle) write("P = ",P); (näytä P-arvo) loppuun. (ohjelman loppu)
  11. 11. Ohjelma käsittelee työssään dataa. Osa tiedoista asetetaan ennen ohjelman suorittamista, ja sen käynnistymisen jälkeen sen arvot pysyvät muuttumattomina koko ohjelman toiminnan ajan. Nämä ovat vakioita. Muut tiedot voivat muuttua ohjelman suorittamisen aikana. Niitä kutsutaan muuttujiksi.
  12. 12. Ero muuttujan ja vakion välillä on ilmeinen: ohjelmaa suoritettaessa muuttujan arvoa voidaan muuttaa, mutta vakion arvoa ei. a
  13. 13. Muuttujalla tarkoitamme solua ("laatikko"), johon tietokone voi kirjoittaa ("lisää") dataa. Solulla tarkoitamme itse asiassa "muistipalaa", johon tiedot on tallennettu. Soluun tallennettujen tietojen käyttämiseksi jokaisella solulla on oltava oma nimi tai, kuten usein sanotaan, tunniste. a b summa 5 3 8
  14. 14. Tunnisteet. Nimet (tunnisteet) ovat kielen elementtejä - vakioita, tunnisteita, tyyppejä, muuttujia, menettelyjä, funktioita, moduuleja, objekteja. Tunniste on kirjaimien, numeroiden ja alaviivojen sarja, joka alkaa kirjaimella tai alaviivalla ja joka ei sisällä välilyöntejä.
  15. 15. Nimessä voi olla kuinka monta merkkiä tahansa, mutta 63 merkkiä on merkittäviä. PASCAL-kielessä ei saa käyttää funktiosanoja ja vakionimiä, jotka nimeävät vakiovakiot, tyypit, menettelyt, funktiot ja tiedostot nimiksi. Esimerkkejä PASCAL-kielien nimistä: A b12 r1m SIGMA gamma I80_86
  16. 16. Pascalissa pienten ja isojen kirjainten välinen ero jätetään huomiotta, joten NaMe ja nimi ovat samat.
  17. 17. Toiminnallinen sana on sana, jolla on PASCAL-kielessä tietty semanttinen merkitys, jota ei voi muuttaa. Sitä kutsutaan joskus avainsanaksi.
  18. 18. Palvelu (varatut) sanat: ABSOLUTE EXPORTS LIBRARY SET ASSEMBLER ULKOINEN MOD SHL JA FAR NAME SHR ARRAY TIEDOSTO NIL STRING ASM NEAR THEN ASSEMBLER EDELLEEN EI ALOITA TOIMINTOA UUDELLEEN OBJEKTITYYPPI CASE TAIMP. ES DESTRUCTOR SISÄÄN YKSITYISKOHTAINEN VAR DIV INDEKSIMENETTELY VIRTUAALINEN DO PERINTYNYT OHJELMA ALALLA SISÄLLÄ JULKINEN MUUN KANSSA LIITTYMÄ TALLENNA TAI LOPETA KESKEYTTÄ TOISTA VIENTILAITTEEN ASUMINEN
  19. 19. Välilyöntejä ei saa käyttää kaksoismerkeissä tai varatuissa sanoissa. On nimiä, joita kutsutaan vakioiksi. sin cos real true Toisin kuin funktiosanoissa, ohjelmoija voi määrittää standardinimien merkityksen uudelleen.
  20. 20. Tämä on osoitus kääntäjälle kuinka paljon muistia tulisi varata ohjelmamme muuttujille. Käännetyssä ohjelmassa kaikille muuttujille on varattu muistitilaa ja kaikille muuttujille annetaan nolla-arvot. Kaikki ohjelmassa käytetyt muuttujat tulee ilmoittaa muuttujan kuvaus -osiossa varatun sanan var jälkeen. Muuttujien ilmoittaminen
  21. 21. Dataa on erityyppisiä...
  22. 22. Tietotyypit Vakiotyyppien nimet ovat ennalta määritettyjä tunnisteita ja ne ovat voimassa kaikkialla ohjelmassa. Ne on kuvattu vakiojärjestelmämoduulissa, joka oletuksena sisältyy käytettyjen moduulien luetteloon. Käyttäjän määrittämät tyypit ovat käyttäjän määrittelemiä lisätyyppejä (yksinkertaisia ​​ja rakenteellisia).
  23. 23. Vakiotietotyypit 1. kokonaislukutyyppien ryhmä (Shortint, Integer, Longint, Byte, Word); 2. ryhmä reaalityyppejä (Single, Real, Double, Extended, Comp); 3. looginen (Boolean-tyypit) (Boolean, ByteBool, WordBool, LongBool); 4. merkki (Char); 5. merkkijono (String); 6. indeksi (Osoitin); 7. tekstin tyyppi (Teksti).
  24. 24. Kokonaislukutyyppien ryhmä Tyypin nimi Tyypin arvoalue vaadittu muisti Etumerkillinen lyhyt kokonaisluku Shortint -128 .. 127 1 tavu Signed integer Kokonaisluku -32768 .. 32767 2 tavua Signed pitkä kokonaisluku Longint -2147483648 .. 2147483648 .. 2147483648 .. 2147483648 .. 2144748 integer 0 .. 255 1 tavu Merkitön kokonaisluku Sana 0 .. 65535 2 tavua
  25. 25. Muutt b: tavu; summa, count: kokonaisluku; Kokonaislukutyyppisten muuttujien summa:= -365 ilmoitus; Käyttää
  26. 26. PASCAL-kielen numerot kirjoitetaan yleensä desimaalilukujärjestelmässä. Numeron positiivinen merkki voidaan jättää pois. Kokonaisluvut kirjoitetaan muodossa ilman desimaalipistettä, esimerkiksi: 217 -45 8954 +483
  27. 27. Reaalityyppien ryhmä määrittelee ne tiedot, jotka realisoituvat reaalilukujen osajoukolla. Var A: todellinen; alkaa... A:=0,65; ...Loppu.
  28. 28. Tyypin nimi Tyyppi Arvoalue Mantissanumeroiden lukumäärä Koko (tavu) Yksittäinen tarkkuusreaaliluku Todellinen 2,9e-39 .. 1,7e+38 11 6 Yksittäinen tarkkuusreaaliluku 1,5e-45 .. 3,4e+38 7 4 Kaksinkertainen tarkkuus reaaliluku Tupla 5.0e-324 .. 1.7e+308 15 8 Erittäin tarkka reaaliluku Laajennettu 3.4e-4932 .. 1.1e+4932 19 10 Reaaliluku kokonaisluku Comp -9.2e+18 .. 9.2e+18 198
  29. 29. Reaaliluvut kirjoitetaan muodossa desimaalipilkulla tai muodossa käyttäen desimaalijärjestystä, jota edustaa kirjain E: 28,6 0,65 -0,018 4,0 5E12 -1,72E9 73,1E-16
  30. 30. Boolen tunniste vastaa Boolen tietotyyppiä. Boolen muuttujat ovat kooltaan 1 tavu ja voivat sisältää arvoja TRUE tai FALSE. Arvo FALSE vastaa nollaa, mikä tahansa muu luku kuin nolla katsotaan TOSI. Var-painike, lippu: looginen; Aloituspainike:=true;
  31. 31. Vakiotunniste Char vastaa merkkityyppiä. Merkkityyppiset muuttujat ja vakiot voivat saada arvoja useista ASCII-merkeistä. Var simvol, bukva, z: char; Symbolisten muuttujien ilmoittaminen
  32. 32. Merkkijonotyyppi vastaa standarditunnusta String. Var S: jousi; (merkkijono 0 - 255 merkkiä) S2: Merkkijono; (varastossa 5 merkkiä)
  33. 33. Merkkijono on ASCII-merkkijoukon merkkijono, joka on suljettu lainausmerkkeihin. Pascal-kielessä rivit ovat merkkijonoja, jotka on kirjoitettu heittomerkkien väliin. Jos sinun on käytettävä itse heittomerkkiä merkityksellisenä merkkinä rivillä, sinun tulee kirjoittaa kaksi heittomerkkiä. Esimerkkejä merkkijonoista: "STRING" "STRING" "MAINOS" "YUTANT"
  34. Merkkityyppi sekä kokonaisluku- ja Boolen tyypit luokitellaan ns. järjestystyypeiksi.  Minkä tahansa järjestystyypin kelvollisten arvojen joukko on järjestetty sarja, jonka jokaisella elementillä on oma järjestysnumeronsa (alkaen 0:sta).
  35. 35. Järjestys-funktio palauttaa tämän arvon järjestysluvun tyyppimäärityksessä. Ord(2)=2, Ord('0')=48 Writeln(ord('e')); Writeln(ord('9'));
  36. 36. ASCII-koodaustaulukko ASCII (American Standard Code for Information Interchange; lausutaan "kysy") on tietokonekoodaus latinalaisten aakkosten, arabialaisten numeroiden, joidenkin välimerkkien ja ohjausmerkkien esittämiseen. Sen esitteli American Standards Institute ANSI.

1 dia

"JOHDANTO PASCALIN KIEELEEN" Oppitunti AIHEESSA: Matematiikan ja tietojenkäsittelytieteen opettaja, Kunnan oppilaitoksen koulu nro 2, Kalach-on-Don, Volgogradin alue Anisimova N.A.

2 liukumäki

TUNNIN TAVOITE: Selvittää Turbo Pascal -kielen ohjelman rakenne, operaattorit, suunnittelusäännöt ja välimerkit.

3 liukumäki

TURBO PASCAL ohjelmointijärjestelmä. Pascal on universaali ohjelmointikieli, jonka avulla voit ratkaista monenlaisia ​​tietojenkäsittelyongelmia.

4 liukumäki

1) Turbo Pascal -ohjelmointikieli; 2) integroitu ohjelmointiympäristö (kääntäjä: kääntää ohjelman konekoodiksi ja tulkki: suorittaa komentoja) TR-OHJELMOINTIJÄRJESTELMÄN KOOSTUMUS:

5 liukumäki

1) latinalaiset kirjaimet - suuret ja pienet; 2) venäjän aakkosten kirjaimet - suuret ja pienet; 3) numerot - 0 - 9; 4)operaatiomerkit - +, -, /, *,=, =; 5) erotusmerkit – () ( ) ; . , ‘ _% & # jne. TURBO PASCAL -ohjelmointikielen aakkoset

6 liukumäki

7 liukumäki

Ohjelman nimi Muuttujan kuvaus -osio Käyttäjäosa (pääosa)

8 liukumäki

Muuttujien kuvaus -osio alkaa sanalla Var, jota seuraa pilkuilla eroteltu luettelo samantyyppisten muuttujien nimistä. Pascalissa on kahdenlaisia ​​numeerisia määriä: Real ja Integer. Muuttujien nimet koostuvat latinalaisista kirjaimista ja numeroista, joista ensimmäinen merkki on kirjain. VAR-luettelo samantyyppisistä muuttujista: INTEGER; luettelo samantyyppisistä muuttujista:REAL;

Dia 9

Käyttäjäosio on ohjelman pääosa. Osion alku ja loppu on merkitty palvelusanoilla BEGIN ja END, jotka ovat operaattorisulkeja. Näiden sanojen väliin sijoitetaan kaikki Pascalilla kirjoitetut algoritmikomennot (operaattorit). Lausekkeen erotin on puolipiste. Ohjelman lopussa on jakso. BEGIN READ(syöttöluettelo); READLN(syöttölista); muuttuja:=aritmeettinen lauseke; WRITE(tuloslista); WRITELN(tulosluettelo); LOPPU.

10 diaa

Alkutietojen syöttäminen näppäimistöltä tapahtuu READ- tai READLN (lue) -operaattorilla. READLN-käsky eroaa READ-lauseesta vain siinä, että tietojen syöttämisen jälkeen kohdistin siirtyy alkuun uusi rivi. muuttuja:=aritmeettinen lauseke; WRITE(tuloslista); WRITELN(tulosluettelo); LOPPU. READ(syöttölista); READLN(syöttölista);

11 diaa

muuttuja:=aritmeettinen lauseke; Aritmeettinen osoitusoperaattori: vasemmalla on muuttuja, oikealla on aritmeettinen lauseke, joka on arvioitava. Yhdistelmäsymboli := luetaan "määritä". Ensin lasketaan aritmeettinen lauseke, jonka jälkeen tuloksena oleva arvo annetaan muuttujalle Esimerkki: a:= sqr (x) + sin (y) / (12*z + 5)

12 diaa

mod div / * - + SIN (x) COS (x) SQR (x) SQRT (x) ABS (x) Sin x Cos x x 2 |x| x yhteenlasku vähennyslasku kertolasku jako jako kokonaisluku jakojäännös

Dia 13

Säännöt aritmeettisten lausekkeiden kirjoittamiseen Aritmeettinen lauseke kirjoitetaan riville Et voi laittaa kahta merkkiä peräkkäin aritmeettiset operaatiot Kerroinmerkkiä ei voi jättää pois tekijöiden välillä. Vain sulkuja käytetään. Toimintojen järjestys määräytyy niiden prioriteettien mukaan () F(x) * / + - div mod

Dia 14

Tulokset tulostetaan käyttämällä WRITE tai WRITELN (write). Tulokset näytetään siinä järjestyksessä, jossa ne näkyvät luettelossa. Ero WRITE- ja WRITELN-käskyjen välillä on se, että kun WRITELN-käsky on suorittanut tulosoperaation, kohdistin siirtyy uuden rivin alkuun. WRITE(tuloslista); WRITELN(tuloslista);

15 diaa

Tehtävä 1: AXby 6) TU154 2) R&B 3) 4 Wheel 4) Vasya 5) "PesBarbos" 7) 8) _ABBA 9) A+B

16 diaa

ohjelma zadacha1; var a, b: kokonaisluku; x, y: todellinen; aloita a:= 5; 10:= x; y: = 7,8; b: = 2,5; x:= 2*(a + y); a:= b + x; loppu. muuttujan nimen on oltava merkin:= vasemmalla puolella kokonaisluku- ja murto-osat erotetaan pilkulla ja tyyppi ei täsmää Tyyppiepäsuhta TEHTÄVÄ 2: Etsi virheet ohjelmamerkinnästä.

PASCAL JOHDANTO OHJELMOINTIKIELEEN 2006 KURSSIN RAKENNE käyttöliittymä ja perusmääritykset; ohjelman rakenne; tekstitietojen näyttäminen näytöllä; tietojen syöttäminen näppäimistöltä; järjestelmämoduulien liittäminen ja käyttö; perustietotyyppien (kokonaisluku, real, merkkijono, taulukko, tiedosto) parissa työskenteleminen, grafiikan parissa työskenteleminen; aliohjelmien käyttö (menettelyt ja toiminnot); moduulien avulla. 2 PASCAL-YMPÄRISTÖLIITTYMÄ Turbo Pascal 7.0 -ohjelmointikieli on koteloitu instrumentaaliseen kuoreen. Se sisältää: moniikkunainen tekstieditori; ohjelman linkki; ohjelman debuggeri; apujärjestelmä; kääntäjä. 3 PASCAL 4 -YMPÄRISTÖLIITTYMÄ Luettelo avoimista tiedostoista: Alt + 0 Nopea pääsy avoimiin tiedostoihin: Alt +<№ окна> PERUSMÄÄRITELMÄT Varattu sana on erityinen sana, jota ohjelmointikieli käyttää erottamaan ohjelman loogiset alueet. Operaattori on kielikomento, joka suorittaa jonkin toiminnon (ehdon tarkistaminen, silmukan järjestäminen jne.). Tunniste on ohjelmoijan vapaasti valitsema nimi ohjelman elementeille. Tietotyyppi on tunnisteen ominaisuus, joka määrittää arvojoukon, jonka se voi ottaa (kokonais- tai murtolukuja, merkkijonoja, loogisia lausekkeita jne.). 5 OHJELMAN YLEINEN RAKENNE Ohjelma Ohjelman_nimi; Käyttää laajennuksia; Tarraosio tarrojen kuvauksia varten; Const-osio vakioiden kuvausta varten; Tyyppiosio omien tietotyyppiesi kuvaamiseen; Muuttujan kuvausosio; Aloita Ohjelman pääosa; Loppu. Vähimmäiskoodi: 6 SCREEN OUTPUT Tietojen näyttämiseksi näytöllä käytetään seuraavia operaattoreita: Write tai Writeln. F9 – Kääntäminen + tarkistus Ctrl+F9 – Suorita F9 → Ctrl+F9 – virheiden välttäminen Ohjelman suoritustulosten näyttäminen 7 NÄYTTÖ Operaattoreiden käytön tulos: WRITE “Tyhjä”-operaattori WRITELN lisää tyhjän rivin WRITELN 8 HARJOITUS Näytä tiedot alla olevan kuvan mukainen Hei! Mukava tavata! Soita minulle tietokone. Käytetty materiaali: Tulostuslausekkeet: Write, WriteLn “Tyhjä” WriteLn-lause; lisää tyhjän rivin. 9 LISÄMODUULIEN LIITTÄMINEN Lisämoduulit laajentavat ohjelmiesi ominaisuuksia ottamalla käyttöön lisäoperaattoreita. Moduulit yhdistetään Käyttökohteet-osiossa. Ohjelma My; Käyttää Module1, Module2 ; ____________________________ ___________________________________ ____________________________ ______________________________ MODUULI 1 Resurssijoukko 1 ... MODUULI N Moduulit: Järjestelmän oma resurssijoukko N ​​Tekstinäytön tyhjennys Odotetaan näppäimen painamista Yhdistetty moduuli nimeltä CRT 10 LÄHTÖ CREEN OUTPUTTO , Y: Kokonaisluku) Missä X, Y – tutun paikan koordinaatti näytöllä. X voi ottaa arvot välillä 1 - 80 ja Y välillä 1 - 25. Esimerkiksi: Ohjelma My_program; (Moduuliliitäntä) Käyttää Crt; Aloita (näytön tyhjennys) ClrScr; (Tietojen lähtö) GotoXY(1, 1); kirjoittaa("▒"); GotoXY(80; 1); kirjoittaa("▒"); GotoXY(1, 25); kirjoittaa("▒"); GotoXY(80; 25); kirjoittaa("▒"); (Näytön viive) ReadKey; Loppu. Ohjelma näyttää “▒”-symbolin (koodi 177) näytön kulmissa. 11 TULOS VÄRILLÄ TextColor (Väri); Määrittää hahmojen värin. Tekstitausta (väri); Määrittää tutun paikan värin. Ohjelma MyProgram; UsesCrt; Aloita TextColor(punainen); TextBackGround (sininen); Write("Pihalla"); Tekstin väri (valkoinen); Write("ruoho, "); Tekstin väri (vihreä); TextBackGround(keltainen); Write("nurmella"); TextBackGround (magenta); Write("polttopuut. "); Loppu. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Värit Musta Sininen Vihreä Syaani Punainen Magenta Ruskea Vaaleanharmaa Tummanharmaa Vaaleansininen Vaaleanvihreä Vaaleansyaani Vaaleanpunainen Vaaleanmagenta Keltainen Valkoinen 12 – musta – sininen – punainen – – syaani lila – ruskea – vaaleanharmaa – tummanharmaa – sininen – vaaleanvihreä – vaalea syaani – vaaleanpunainen – vaalea lila – keltainen – valkoinen TIETOJEN KANSSA TYÖSTÄ TYÖSTÖ TIETOJEN ILMOITUSTUNNISTEIDEN KANSSA 14 TIETOTYYPIN ASETTAMINEN Tietojen tunnistaminen Tietojen toimintojen yksiselitteisyys TEHTÄVÄN ARVOT Toiminnot tiedoilla TUNNISTEET Termi tunniste koskee vakioita, muuttujia, funktioita, proseduureja, komponentteja ja muita käyttäjän määrittämiä objekteja Sallitut merkit: latinalaiset kirjaimet; numerot; alaviiva Rajoitukset: ei saa alkaa numerolla, mutta voi alkaa alaviivalla. . ei voi olla useita sanoja. ei voi olla sama kuin mikään avainsana. Tunnisteet eivät erota kirjainkoolla. Virheelliset tunnisteet: Data Nimeni 2Array Var ( ( ( ( ( venäläisiä merkkejä käytetään ) Välilyönti ) Alkaa numerolla ) Vastaa avainsanaa ) 15 TIETOTYYPPIÄ Tietotyyppi on tunnisteen ominaisuus, joka määrittää arvojoukon ​Se voi kestää (kokonais- tai murtolukuja, merkkijonoja, loogisia lausekkeita jne.). 16 INTEGER DATA TYPE 17 rajallinen joukko mahdollisia arvoja tyyppi tavu shortint sana kokonaisluku longint alue 0..255 -128..127 0..65535 -32768..32767 -2147483648..2147483647 ! Alueen ylittäminen aiheuttaa virheen! koko MUUTTUJIEN ILMOITUS Muuttuja on tunniste, joka voi tallentaa minkä tahansa arvon (numeron, merkkijonon jne.) ja muuttaa sitä ohjelman toiminnan aikana. Syntaksi: Var<имя переменной> : <тип переменной>; Ohjelma Ohjelman_nimi; Käyttää laajennuksia; Muuttujan kuvausosio; Aloita Ohjelman pääosa; Loppu. Tietokoneen muistissa on tilaa kolmelle muuttujalle 18 MUUTTUJAN ARVOJEN ASETTAMINEN Muuttujan arvon asettamiseksi on käytettävä määritysoperaattoria:= Tallennussyntaksi:<Переменная> := <Значение>; Arvo 3 syötetään muuttujaan (kokonaisluku), jonka nimi on A 19 OPERATIONS WITH INTEGER MUUTTUJA 20 Aritmeettiset operaatiot: + - * / Vakiooperaatiot: div | mod | sqr Ei voida käyttää kokonaislukutyyppien kanssa Muuttuja nimeltä S tallentaa muuttujiin X ja Y tallennettujen arvojen summan. Muuttujaan S tallennettu arvo näkyy näytöllä HARJOITUS 21 1. Kirjoita ohjelma, joka näyttää tuloksen lukujen 15 ja 20 kertomisesta 2. Kirjoita ohjelma, joka näyttää funktion f 2 x 3 y arvon, kun x=11, y=3 Käytetyt materiaalit: Muuttujat ilmoitetaan Muutt-osiossa Kokonaislukutyyppiä kutsutaan Integer syntaksi arvon määrittämiseksi muuttujalle on:<Переменная> := <Значение> ; Jokaisen käyttäjän jälkeen on kyltti; (paitsi alkua ja viimeistä loppua) REAL DATA TYPE Arvojoukko √ √ Ordinaal type Real type Yksisuuntainen yhteensopivuus: Real Integer Integer Real! Alueen ylittäminen ja yhteensopivuussääntöjen noudattamatta jättäminen johtaa virheeseen! 22 TOIMINTA REAALIMUUTTAJILLA 23 Vakiooperaatiot: pi | Sqrt | Synti | Cos | Vatsalihakset | Exp | Ln kierros | Trunc (reaali → kokonaisluku) Esimerkiksi (X, S – Reaalityyppi): X:= pi/3; S: = Sin(X) * 100; Kirjoita(Pyöreä(S)); S-niminen muuttuja sisältää muuttujiin X ja Y tallennettujen arvojen suhteen. Numeron sijainti ja merkkien lukumäärä luvun murto-osassa E - ilmaisee luvun potenssia. 5.6E-5 = 5.6·10-5 STRING DATA TYYPPI 24 Merkkijonot – järjestetty merkkijoukko. Viivat on suljettu heittomerkkeihin. Merkkijonot eivät ole yhteensopivia kokonaisluku- ja reaalilukutyyppien kanssa. Tyyppi Range String 255 merkkiä (merkkijonojen perusoperaattorit) + (ketjutus) pituus(S); (merkkijonon pituus) Esimerkiksi: X:= 'Vasya'; Write('Nimessäsi', pituus(X), 'lit.'); S:=X; X: = S; HARJOITUS Kirjoita ohjelma, joka näyttää lukujen 12,89 ja 0,22 jakamisen tuloksen näyttäen vain kolme merkitsevää numeroa desimaalipilkun jälkeen seuraavassa muodossa: ensimmäinen luku jaettuna toisella luvulla = tulos Kirjoita (X:1:3, ' razdelit na ', y:1 :3, ' = ' z:1:3) Käytetty materiaali: Merkkijonotyyppiä kutsutaan merkkijonoksi. Merkkijonot on suljettu opostrofeihin Merkkijonojen ketjuttaminen tapahtuu +-merkin kautta Näyttöoperaattorissa eri tyypit erotetaan pilkulla 25 TIETOJEN SYÖTTÄMINEN NÄPPÄIMISTÖLTÄ 26 Tietojen syöttämiseksi näppäimistöltä on käytettävä syöttöoperaattoria: Read tai ReadLn. Syntaksi: Lue (N1, N2, ... Nn); Missä N1, N2, ... Nn ovat muuttujia (kokonaisluku, real, merkkijono) Näppäimistöltä syötetty arvo syötetään muuttujaan X. Arvon syöttämisen jälkeen on painettava Enter-näppäintä. Jos muuttujia on määritetty useita -operaattorilla, ne syötetään välilyönnillä erotettuina tai näppäimellä. Syötä HARJOITUS 27 1. Kirjoita pienoislaskinohjelma, joka laskee kahden näppäimistöltä syötetyn luvun summan. 2. Kirjoita ohjelma, joka kysyy nimesi, ja kun olet kirjoittanut nimesi, näyttää tervehdyksen. Jos esimerkiksi syötit nimen Vanya, ohjelma näyttää lauseen: Hei, Vanya!!! Käytetty materiaali: Syöttöoperaattorit: Read, ReadLn OPERATORS EHDOLLINEN OPERATORI 29 Ehdollinen operaattori toteuttaa "haaroituksen" eli se muuttaa operaattoreiden suoritusjärjestystä jonkin ehdon totuuden tai virheellisyyden mukaan. Kuntotarkistus EI Toimenpide 1 Menen rannalle Sataa KYLLÄ Toimenpide 2 Otan sateenvarjon Toimi 3 Menen elokuvateatteriin ELOSUHTOJEN TARKISTAMINEN Vertailutoiminnot: > - lisää< - меньше = - равно >= - suurempi tai yhtä suuri kuin<= - меньше или равно <>- ei ole yhtä suuri kuin 30 Loogiset operaatiot: Ei Ja Tai - Ei -Ja - Tai Esimerkiksi: Jos pituuteni on > Petyan pituus, niin olen pidempi kuin Petya Jos (sataa) tai (lunta), niin minä jää kotiin jos ei ((sataa ) ja (tuuli)), niin lähden kävelylle kun käytät loogisia operaatioita, ehdot on suljettu suluissa EHDOLLINEN KÄYTTÄJÄN KIRJOITUSSYNTAKSI Lyhyt muoto: Jos<условие>sitten<оператор>; Jos esimerkiksi muuttujan X arvo on pienempi kuin 0, niin arvo 1 kirjoitetaan samaan muuttujaan: Jos X<0 Then X:= 1; Полная форма: If <условие>sitten<оператор_1>muu<оператор_2>; Esimerkki: Jos X>5 Sitten X:= X - 1 Muussa tapauksessa X:= X + 1; Sanojen Sitten ja Else jälkeen voit käyttää vain yhtä operaattoria. Ennen sanaa Else merkki; puuttuu 31 HARJOITUS 32 1. Kirjoita ohjelma, joka saa syötteenä summan dollareina ja summan euroina ja näyttää sitten millä valuutalla summa on suurempi (1 dollari = 28 ruplaa, 1 euro = 35 ruplaa) 2. Kirjoita ohjelma , joka syöttää kolme numeroa ja näyttää sitten niistä suurimman. Käytetty materiaali: Ehdollisen operaattorin tallennusmuodot: Jos<условие>Sitten<оператор>; Jos<условие>Sitten<оператор_1>Muu<оператор_2>; Ennen Else -merkki; ei sisälly Vertailutoiminnot: >< = <> >= <= Логические операции: Not Or And ОПЕРАТОРНЫЕ СКОБКИ Если после слов Then или Else необходимо записать несколько операторов, то их заключают в операторные скобки (составной оператор). Операторные скобки начинаются словом Begin, а заканчиваются словом End; Например: If Z >0 Aloita sitten X:= 1; Y: = -1; WriteLn('Tieto vastaanotettu'); End Else WriteLn('Virhe'); 33 SELECTION OPERATOR CASE Valintaoperaattoria käytetään korvaamaan sisäkkäisten ehdollisten lausekkeiden konstrukteja. Tapauksen syntaksi<порядковая_переменная>/<значение_1> : <оператор_1> ; <значение_2> : <оператор_2> ; ……… <значение_N> : <оператор_N>Muu<оператор_N+1>; loppu; Voit käyttää valintalauseessa operaattorisulkeja Valinnainen rivi 34 SELECTION OPERATOR CASE Case Oppilaan pituus 16..30: Olet alakoulun oppilas; 31,32,33: Olet luokalla 5-6; 34..50: Olet lukiolainen Pilkkua käytetään arvojen listaamiseen, kaksoispistettä käytetään alueen valitsemiseen Muuten Et selvästikään ole opiskelija; loppu; Tapaus x -128..-1: writeln('Negatiivinen'); 0: writeln('Zero'); 1..127: writeln('Positiivinen') Else WriteLn('Aluilla'); loppu; 35 HARJOITUS Kirjoita ohjelma, joka näyttää numerolla vastaavan viikonpäivän. Jos esimerkiksi syötit numeron 2, ohjelman pitäisi tulostaa "tiistai". Jos luku ylittää 1...7, tulee näyttöön viesti, että sellaista päivää ei ole. Käytetty materiaali: Operaattorin valinta: Kotelo<порядковая_переменная>/<значение_1> : <оператор_1> ; ……… <значение_N> : <оператор_N>; Muu<оператор_N+1>; loppu; 36 SYKLIOT 37 Sykliset algoritmit ovat niitä, joissa tietyt operaattorit suoritetaan toistuvasti samoilla muokatuilla tiedoilla (esimerkiksi menettely lukujen kertomiseksi niiden toistuvan yhteenlaskemisen avulla). Pascal-kielessä on kolme silmukkaoperaattoria: For (silmukka parametrilla tai tietylle määrälle toistoja) While (silmukka BYE) Repeat (silmukka TO) Jos toistojen määrä on tiedossa, on parempi käyttää silmukkaa operaattori parametrin kanssa. SILMUKAUS PARAMETRILLA 38 Silmukka tietylle toistomäärälle parametrin kasvavalla tai pienentyvällä arvolla For (parametrit) := (aloitusarvo) To (lopun_arvo) Do (operaattori) ; Silmukan runko Huomautuksia Parametri – kokonaislukutyyppi; Voit käyttää sulkeita silmukassa; Et voi muuttaa silmukkaparametria silmukan rungossa; Silmukkaparametria kasvatetaan yhdellä; Alkuarvo > lopullinen arvo, muuten silmukan runko jätetään huomiotta; Pienennä parametria To sijasta käyttämällä DownTo. SILMUKKO PARAMETRILLA 39 Kirjoita ohjelma, joka pyytää kokonaislukuja (a, b) ja a := <нач_зн>Vastaanottaja<кон_зн>Tehdä<оператор>; Parametri – kokonaislukutyyppi (yleensä Integer); Voit käyttää sulkeita silmukassa; Silmukkaparametria kasvatetaan yhdellä 40 WHILE LOOP While-silmukka tarkistaa ensin ehdon, ja vain jos se on tosi, se suorittaa silmukan rungon. Vaikka (ehto) do (operaattori); Alla kirjoitetussa koodin rungossa silmukkaa ei suoriteta edes kerran: x:=1; Vaikka x>1 tekee x:=x-1; Voit saada äärettömän silmukan. Esimerkki: x:=1 Kun x>0 tekee x:=x+1; 41 WHILE LOOP ("WHILE") Ohjelma, joka näyttää numeroiden summan välillä a - b. Aloita Delay(2000); loppu; Kierto toimii, kunnes muuttuva muuttuja f on suurempi kuin arvo b 42 HARJOITUS 43 1. Astronautit päättivät istuttaa kuuhun koivuja ja joka vuosi tuplasivat koivujen määrän, ensimmäisenä vuonna istutettiin 3 koivua. Näytä näytöllä, kuinka monen vuoden kuluttua koivujen määrä ylittää 10 000. 2. Kirjoita ohjelma, joka määrittää näppäimistöltä syötettävien lukujen enimmäismäärän (syötetty numero päättyy numeroon 0). Alla on suositeltu näyttö: Syötä numerot. Viimeistele syöttäminen kirjoittamalla 0. 89 15 0 Enimmäisluku on 89. Käytetty materiaali: While-silmukkalauseke: While<условие>tehdä<оператор>; While-silmukka tarkistaa ensin ehdon, ja vain jos se on tosi, silmukan pääosa tarkistaa. REPEAT LOOP 44 Repeat-silmukka suorittaa ensin silmukan rungon ja vasta sitten tarkistaa ehdon Toista (silmukka_body) Until (ehto); Toisto-silmukassa ei tarvitse käyttää yhdistelmäoperaattoria, koska Tämä konstruktio ei sisällä yhden, vaan useiden operaattorien suorittamista sanojen Repeat ja Until välissä. REPEAT LOOP Ohjelma, joka näyttää lukujen summan a:sta b:hen. Silmukka jatkuu, kunnes muuttuva muuttuja f on suurempi kuin arvo b. 45 SYKKEIEN VERTAILU For While Repeat 46 Silmukkamallin valinta riippuu vain sen käyttömukavuudesta tietyssä tilanteessa. Voimme melkein aina käyttää toista syklin sijaan HARJOITUS Laske funktion y x 3 x 2 16 x 43 arvo x:lle, joka vaihtelee välillä -4 - 4 mukaan lukien 0,5 askelin. Käytetty materiaali: Toistosilmukan operaattori: Toista<тело_цикла>Siihen asti kun<условие>Toistosilmukka suorittaa ensin silmukan rungon ja vasta sitten tarkistaa ehdon. 47 SYKLIJEN KESKEYTTÄMINEN 48 Syklioperaattoreiden joustavaan ohjaukseen käytetään seuraavia toimenpiteitä: Break - poistu silmukasta; Jatka - syklin seuraavan kierroksen päättyminen; Esimerkkejä: Etsi minimiluku i, jolle lukujen summa 1:stä i:ään on suurempi kuin 100. Heti kun s (lukujen summa 1:stä i:ään) on suurempi kuin 100, break-lause laukeaa ja silmukka on poistui. s:=0; I:= 1 - 100 aloita, jos s>100, ja katkaise sitten; s:= s + i; loppu; Writeln(’minimiluku i, jolloin (1+2+..+i)>100 on yhtä suuri kuin ’,i); Näppäimistöltä syötetään 10 numeroa ja silmukassa lasketaan vain positiivisten summa. Jos luku on negatiivinen, suoritetaan jatka-käsky, joka aloittaa silmukan seuraavan kierron. s:=0; I:= 1 - 10 aloita Readln (k); jos k<0 then Сontinue; s:= s + k; end; Writeln (‘Сумма положительных чисел равна ’,s); МАССИВЫ МАССИВЫ 50 Простые типы: одна переменная – одно значение Структурированные типы: одна переменная – несколько значений Массив – это фиксированное количество значений одного типа. Доступ к конкретному значению осуществляется через индекс. Переменная массива Структура массива: A= Доступ к массиву: 0 1 2 3 Индекс 9 7 0 0 Значения <Имя массива> [ <Индекс>] A := 7; JÄRJESTELMÄT Joukko on ilmoitettu Muutt-osiossa: (Nimi) : Joukko [ (aloitusarvo) .. (loppuarvo) ] of (tyyppi) ; Esimerkkejä taulukkomäärityksistä: Muutt A: Array of String; B: Array of Real; C: Kokonaislukutaulukko; Esimerkkejä taulukoiden täyttämisestä arvoilla: A:='Vasya'; A:='Petya'; A:='Masha'; A:='Olesya'; Kirjoittaa); Jos f:=1 - 10, tee C[f]:= f*2; Jos f:=1 - 10, tee WriteLn (C[f]); 51 HARJOITUS 52 Kirjoita ohjelma, joka kysyy käyttäjältä 7 kokonaislukua ja tallentaa ne taulukkoon. Suurin elementti löytyy taulukosta ja näytetään näytöllä. Esimerkki: Syötä 1. numero: 4 Syötä 2. numero: 8 Syötä 3. numero: 9 Syötä neljäs numero: 2 Syötä 5. numero: 4 Syötä 6. numero: 5 Syötä 7. numero: 0 Maksimimäärä: 9 Käytetty materiaali: Taulukon ilmoitukset:<Имя>:Array[<нач_зн> … <кон_зн>] /<тип>; Array pääsy:<Имя массива> [ <Индекс>] RANDOM NUMBER GENERATOR (RNG) Luodaksesi satunnaislukuja ohjelmassa, käytä seuraavia operaattoreita: Randomize – RNG-alustus. Ilmoitettu vasta ohjelman alussa; Satunnainen – luo satunnaisluvun väliltä 0–1 (todellinen tyyppi); Satunnainen (N) – luo satunnaisluvun 0:sta N-1:een (kokonaislukutyyppi); 53 MONIMUOTTEET JOHDON 54 Luettelo intervalleista kullekin taulukon dimensiolle (Nimi): Joukko [ (aloitusarvo) .. (lopun_arvo) , (aloitusarvo) .. (lopun_arvo) , (etc.) ] of (type) ; Esimerkki kaksiulotteisen taulukon (matriisi, taulukko) ilmoittamisesta, jossa on 4 riviä ja 6 saraketta: Muutt A: Kokonaislukutaulukko; Esimerkki taulukon täyttämisestä: i:=1 - 4 do Kohdille j:=1 - 6 tee A := i+j; Ai , j 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 HARJOITUS Kirjoita ohjelma, joka täyttää kaksiulotteisen taulukon satunnaisluvuilla -10 - 20 ja näyttää summat pöydällä vinosti sijaitsevista elementeistä . Käytetty materiaali: RNG-alustus: Satunnainen Satunnaisluku 0:sta N-1:een: Satunnainen (N) 55 TIEDOSTOJEN KÄYTTÖ TIEDOSTOJEN KANSSA TYÖSTÄ 57 Tiedosto: Tiedoston alku Hakemisto)a@$ku⌂|"Hd9v*9(L*M= БYGRMxduВ █ 8e*ВOtCDrTVzHGJ1aBD>@Б\(r8sE) █ :wcJvAmRa"v/.Wai;$`SWI=y2]suB █ ?Hq>vF(LmBcV^Bcu]4P<6`8Z":M^1;:8ANwak;,b2-4…u5 █ 2]suB?Hq>vF(LmBcAdz4wcP]o(QkВ █ 8c8df]e"v,su>+),VAEFБjFV,W$Q- █ y0G1GjN$-eБ|sqZ0`QnВ%\БD%y █ █ █ riviterminaattori █ █ rivipääte █ Luominen, lukeminen, kirjoittaminen, sulkeminen TIEDOSTOJEN KANSSA TYÖSTÄ Toimintojärjestys tiedostojen kanssa työskennellessä: 1. Tiedostomuuttujan (FP) ilmoitus 2. FP:n yhdistäminen tiedostoon 3. Tiedoston avaaminen lukemista/kirjoittamista varten 4 Toiminnot tiedostolla 5. Tiedoston sulkeminen (myös yhteys tiedoston ja FP:n välillä katkeaa) 1. FP:n ilmoitus<Имя>:Tiedosto<тип> ; <Имя>:Teksti; Muut f:Teksti; h: Kokonaisluvun tiedosto; 2. FP:n yhdistäminen Assign-tiedostoon (<ФП>, <имя файла>); Assign (f, ‘c:\my\Data.ghm’) 58 TIEDOSTOJEN KÄSITTELY 3. Tiedoston avaaminen lukemista/kirjoittamista varten Palauta (<ФП>); - avaa tiedoston lukemista varten Uudelleenkirjoitus (<ФП>); - avaa tiedoston kirjoittamista varten 4. Tiedostotoiminnot Lue (<ФП>, <П1> , <П2>,…); - lukee muuttujiksi<П1>, <П2>jne. yksi elementti kerrallaan osoittimen paikasta. Kirjoittaa(<ФП> , <П1> , <П2>,…); - kirjoittaa muuttujaarvoja tiedostoon<П1>, <П2>jne. yksi elementti kerrallaan osoittimen paikasta. EoLn (<ФП>); - palauttaa True, jos rivin loppu saavutetaan. EoF (<ФП>); - palauttaa True, jos tiedoston loppu saavutetaan. 5. Tiedoston sulkeminen Sulje (<ФП>); 59 TYÖSTÖ TIEDOSTOJEN KANSSA Yksinkertaista ohjelmaa, jos tiedät, että matriisin koko on 5x5 (käytä For-silmukkaa) 60 HARJOITUS 61 Kirjoita ohjelma "HOUSE-3". Ensimmäinen tiedosto sisältää nimeävän tapauksen osallistujien nimet. Toisessa samat nimet, mutta akusatiivissa. Kolmas sisältää luettelon tunteiden tai toiminnan ilmaisuista (rakastaa, ei pidä, suutelee, haluaa purra, jumaloittaa, kunnioittaa, vihaa, haluaa nähdä, halaa). Ohjelman tulee ottaa satunnaisesti tietoja näistä tiedostoista ja luoda uusi seuraavan periaatteen mukaisesti:<имя в им. пад> <чувство/действие> <имя в вин. пад> Olga rakastaa Sergei Oleg haluaa nähdä Roman Katjan kunnioittavan Nastjaa jne. Käytetty materiaali: Käyttäjänimet: Määritä, kirjoita uudelleen, nollaa, kirjoita, lue, sulje. GRAFIIKKA Grafiikkatyöskentelyyn Pascalissa tarvitaan kaksi tiedostoa - graph.tpu-moduuli ja egavga.bgi-näytönohjainohjain. Ensimmäinen on \UNITS-hakemistossa ja toinen \BGI-hakemistossa. ! Kuljettaja egavga.bgi. Välttämätön työskennellessäsi exe-tiedoston kanssa! Piirtääksesi sinun tulee: 1. kytkeä GRAPH-moduuli (Käyttötarkoitukset-osiossa); 2. alusta grafiikkaa (InitGraph); 3. piirtää jotain; 4. sulje grafiikkatila (CloseGraph) 63 GRAFIIKKA Grafiikkatilan alustaminen Viivan piirtäminen. Höyhen liikkuu pisteestä (0,0) pisteeseen (639, 479). OHJELMA Primer_1; Käyttää Graphia, crt; Var Gd,Gm: Kokonaisluku; ALKAA Gd:=0; InitGraph (Gd,Gm,'d:\BP\bgi"); Line (0,0,639,479); ReadKey; CloseGraph; END. 639 px. Koordinaattijärjestelmä 479 px. 64 Grafiikkatilan sulkeminen HARJOITUS 65 1. Piirrä suorakaiteen muotoinen muoto näytön kolmion keskikohta 2. Piirrä näytön keskelle suorakulmio, jonka sivut ovat kaksi pienempiä kuin näytön vastaavat sivut Käytetty materiaali: Grafiikkamoduuli: Kuvaaja Grafiikka alustus: InitGraph Grafiikkatilan sulkeminen: CloseGraph; GRAFIIKKA + VÄRI SetColor( Väri: sana); Asettaa kynän värin GetColor: sana; Palauttaa kynän värin SetBkColor(väri: sana); Asettaa taustavärin. GetBkColor: sana; Palauttaa taustavärin. Värit Musta Sininen Vihreä Syaani Punainen Magenta Ruskea Vaaleanharmaa Tummanharmaa Vaaleansininen Vaaleanvihreä Vaaleansyaani Vaaleanpunainen Vaaleanmagenta Keltainen Valkoinen 66 – musta – sininen – vihreä – syaani – punainen – lila – ruskea – vaaleanharmaa – tummanharmaa – sininen – vaaleanvihreä – vaalea syaani – vaaleanpunainen – vaalea lila – keltainen – valkoinen GRAAFISET PRIMITIIVIT Line (x, y) ); Piirtää viivan nykyisestä kynäkoordinaatista koordinaatteihin (x,y). MoveTo(x, y); Asettaa kynän koordinaatteihin (x,y). PutPixel(x, y, väri); Piirtää pisteen, jonka koordinaatit (x,y) värillä. GetPixel(x, y): sana; Palauttaa pisteen värin koordinaattein (x,y). Suorakulmio(x1, y1, x2, y2); Rakentaa suorakulmion ääriviivat. Ympyrä(x, y, r); Piirtää ympyrän, jonka keskipiste on (x,y) ja säde r. SetLineStyle (Ln, 0, T) Muuttaa ääriviivojen parametreja. Ln - viivan tyyli (0..3): 67 x1, y1 T - viivan paksuus: 1 = normaali; 3 = paksu. TäytäEllipsi(x, y, Xr, Yr); Piirtää täytetyn ellipsin, jonka keskipiste on (x,y) ja säteet Xr ja Yr. SetFillStyle(tyyppi, väri); Asettaa suljettujen ClearDevice-muotojen viivotuksen tyypin (0..11) ja värin; Tyhjentää graafisen näytön maalaamalla sen nykyisellä taustavärillä x2, y2 GRAAFISET PRIMITIIVIT 68 HARJOITUS 69 1. Kirjoita ohjelma, joka piirtää talon monitorin näytölle; 2. Kirjoita ohjelma, joka piirtää tähtitaivaan näyttöruudulle satunnaisen säteen (1-5 pikseliä) ja satunnaisen sijainnin tähdillä. Väri on myös satunnainen (valkoinen, vaaleanharmaa, tummanharmaa); Käytetty materiaali: SetColor(Väri: sana); - Asettaa piirustuksen värin SetBkColor (väri: sana); - Asettaa nykyisen taustavärin. Line(x, y); - Piirtää viivan nykyisestä kynäkoordinaatista (x,y)-koordinaatteihin. MoveTo(x, y); - Asettaa kynän koordinaatteihin (x,y). PutPixel(x, y, väri); - Piirtää pisteen koordinaattein (x,y) värillä. Suorakulmio(x1, y1, x2, y2); - Muodostaa suorakulmion ääriviivat nykyisen värin viivoista. Ympyrä(x, y, r); - Piirtää ympyrän, jonka keskipiste on (x,y) ja säde r. TäytäEllipsi(x, y, Xr, Yr); - Piirtää täytetyn ellipsin, jonka keskipiste on (x,y) ja säteet Xr ja Yr. GRAFIIKKA + ANIMaatio Tauko ms. 70 ALIRUTIINIT ALIRUTIINIT Aliohjelmien avulla voit eristää toistuvan koodin osan erillisiksi fragmenteiksi ja lisätä ne oikeisiin paikkoihin ohjelmassa. Funktio, toisin kuin proseduuri, palauttaa kutsun tuloksen. Proseduurit Toiminnot Aliohjelmat: kirjoitetaan välillä avainsanoja Aloita Loppu; tunnistetaan nimillä, jotka on kirjoitettu tunnisteiden määrittelyä koskevien sääntöjen mukaisesti; voi olla tulo- ja lähtöparametreja; toista kokonaan pääohjelman rakenne. 72 Ohjelmoi Oma; Aliohjelma 1 [alirutiinin koodi 1] Aliohjelma 2 [alirutiinin 2 koodi] Aloita aliohjelma 2 Aliohjelma 1 Esimerkki järjestelmän alirutiineista: Write("Ok"); ClrScr; pituus (S); Satunnainen; // // // // menettely yhdellä parametrilla ilman parametreja toiminto yhdellä parametritoiminnolla ilman parametreja Aliohjelma 2 End. ALIPROJITTIOT (SPR) Aliohjelmien sisäkkäisyys Ohjelman aliohjelma 1 aliohjelma 3 aliohjelma 4 aliohjelma 2 73 muuttuvan saatavuusalue Tietyn SPR:n sisällä kuvatut muuttujat tunnetaan, mukaan lukien kaikki sisäkkäiset SPR:t (SPR1:ssä kuvattu muuttuja on saatavilla SPR3,4:ssä) . PPR:ssä kuvatut muuttujien nimet voivat olla yhtäpitäviä muiden PPR:ien muuttujien nimien kanssa (sama muuttuja voidaan ilmoittaa jokaisessa PPR:ssä). PPR:ssä kuvattu muuttujan nimi seuloa samannimiset muuttujat PPR:stä, joka ympäröi tätä (jos PPR1:ssä ja PPR3:ssa on ilmoitettu identtiset muuttujat, niin kussakin PPR:ssä nämä muuttujat ovat yksilöllisiä). Ohjelmamuuttujia kutsutaan globaaleiksi ja aliohjelmamuuttujiksi paikallisiksi. TOIMENPITEET ILMAN PARAMETREJA Tallennussyntaksi: Prosedure (toimenpiteen nimi); (Muuttujat, vakiot, tyypit, tunnisteet, moduulit) Begin (Procedure body); loppu; Esimerkki toimintosarjan käyttämisestä ilman parametreja: 74 PROCEDURES WITHOUT PARAMETERS Esimerkki samannimistä muuttujista: Ohjelma Oma_ohjelma; UsesCrt; Var A:String; // Toimenpiteen kuvaus Procedure My_Procedure; Var A:String; Begin A:= "alirutiini"; Writeln(A); loppu; Aloita A:= "Keho"; Writeln(A); My_Procedure; Writeln(A); Loppu. // Proseduurin kutsuminen 75 MENETTELYT PARAMETREILLÄ 76 Jotta aliohjelmat olisivat yleisempiä, ohjelman ja sen aliohjelmien väliseen tiedonvaihtoon käytetään erityisiä mekanismeja. Järjestelmämenettelyt parametreilla: SetColor (punainen); ( Toimenpide suorakulmiolla (0, 0, 639, 479); ( Toimenpide InitGraphilla (Gd,Gm,'d:\BP\bgi"); ( Toimenpide ( parametrit yksi parametri ) useita parametreja ) useita eri tyyppejä ) ) Tallennus syntaksiproseduurit parametreilla Proseduuri (Nimi) ((Syötemuuttujien alue) Var (Tulosmuuttujien alue (jokaisella muuttujalla on oma Var)))); Alueiden rakenne: Muuttuja_1, Muuttuja_2, … : Tyyppi; .. ......... ............. Muuttuja_N-1, Muuttuja_N, … : Tyyppi; Mikä tahansa alueista saattaa puuttua MENETTELYT PARAMETREILLÄ Syöteparametrien käyttö Menettely suorakulmion piirtämiseen ruutua reunustava tietty väri Ilman parametreja Parametreilla Procedure Cir; Aloita SetColor (i); SetBkColor (b); Suorakulmio (0, 0, 639, 479); Loppu; Proseduuri Cir (i, b: Kokonaisluku); Aloita SetColor (i); SetBkColor (b); Suorakulmio (0, 0, 639, 479); Loppu; Proseduurin kutsuminen ohjelmassa: Proseduurin kutsuminen ohjelmassa: i:=6; b:=12; Cir; Cir( 6, 12); 77 MENETTELYT PARAMETREILLE Tulosparametrien käyttö Menettely kulman muuntamiseksi astemittasta radiaaniksi OHJELMA EX_26_3; VAR x,a: todellinen; MENETTELY Rad(alfa: todellinen; var betta: todellinen); (lähtömuuttuja) BEGIN Betta:= pi*alfa/180; END; BEGIN Write("Anna kulma asteina: "); Readln(x); Rad(x, a); (Proseduurikutsu) Writeln("Se on yhtä suuri kuin kulma radiaaneina = ",a:6:4); LOPPU. 78 HARJOITUS 79 1. Kirjoita menetelmä kolmion piirtämiseksi seuraavassa muodossa: Kolmio (x1,y1, x2,y2, x3,y3, Väri) 2. Kirjoita menetelmä suorakulmion pinta-alan laskemiseksi seuraavasti: muoto: SRect (a, b, S), jossa S on proseduurin lähtöparametri. Käytetty materiaali: Procedure (Nimi) ((Input Variable Area) Var (Output Variable Area)); Aluerakenne: Muuttuja_1, Muuttuja_2, ... : Tyyppi; ........................ Muuttuja_N-1, Muuttuja_N, … : Tyyppi; TOIMINNOT 80 Syntaksi funktion kirjoittamiseen Funktio ((Syötemuuttujan alue) Var (Tulosmuuttujan alue)): (Tyyppi) ; Proseduurin formatointi Funktion formatointi Proseduuri S(a,b:real; var s:real); Aloita s:= a+b; loppu; Funktio Summa (a,b: todellinen): todellinen; Aloitussumma:= a+b; loppu; Proseduurin kutsuminen Funktion S(10, 20, A) kutsuminen; Kirjoittaa); A: = S(10, 20); WriteLN(A); WriteLN(S(20; 30)); Tietty aliohjelma kannattaa suunnitella funktiona vain, jos sen toiminnasta odotetaan jonkinlaista tulosta. Jos aliohjelma keskittyy vain tietyn toimintosarjan suorittamiseen (näyttö, piirtäminen jne.), on parempi suunnitella se menettelynä. HARJOITUS Kirjoita funktio suorakulmion pinta-alan laskemiseksi seuraavassa muodossa: SRect (a, b) Käytetty materiaali: Funktio (Nimi) ((Syötemuuttuja-alue) Var (Output Variable Area)): (Tyyppi) ; Aluerakenne: Muuttuja_1, Muuttuja_2, ... : Tyyppi; ........................ Muuttuja_N-1, Muuttuja_N, … : Tyyppi; 81 MODULIT MODUULIT 83 Moduuli (UNIT) on itsenäinen ohjelmayksikkö, jonka resursseja (proseduureja ja toimintoja) voivat käyttää muut ohjelmat. Ohjelma My1; Käyttää Module1, Module2 ; __________________________ ______________________________ ______________________________ _______________________ MODUULI 1 Resurssisarja 1 … Ohjelma My2; Käyttää Module1, Module2 ; __________________________ ______________________________ ______________________________ _______________________ MODULI N Resurssijoukko N ​​Moduulit on liitetty ohjelmaan KÄYTTÖMODULIT -osion kautta. RAKENNE 84 Moduuli koostuu seuraavista osista: 1. Moduulin otsikko. 2. Liitäntäosa. (näkyvien esineiden kuvaukset) 3. Toteutusosa. (piilotettujen kohteiden kuvaukset) 4. Alustusosa (valinnainen). Yksikkö (moduulin nimi); Käyttöliittymä (Globaalimuuttujien osa, vakiot, tyypit) (moduulit) (Proseduurien ja funktioiden otsikoiden luettelo) Toteutus (Paikallisten muuttujien, vakioiden, tyyppien osio) (Proseduurien ja funktioiden toteutus) Aloitus (Alustusosa) Loppu. ! Moduulin otsikon nimen on vastattava moduulitiedoston nimeä! MODUULIT Esimerkkimoduuli: Unit My_Unit; Interface Var ms: Array of Real; ( Global array ) Funktio Cub(x:integer):Integer; ( Funktio Cub = x^3 ) Funktio ext4(x:kokonaisluku):Kokonaisluku; ( Funktio ext4 = x^4 ) Toteutusfunktio Cub(x:integer):Integer; (Cub-funktion toteutus) Aloita Cub:= x*x*x; loppu; Funktio Ext4(x:kokonaisluku):Kokonaisluku; ( Ext4-funktion toteutus ) Aloita Ext4:= x*x*x*x; loppu; Loppu. 85 HARJOITUS 86 Kirjoita moduuli yhdellä funktiolla ja yhdellä proseduurilla: ( Funktiolaskenta X1=1/x ) X1(a:real):real; ( Menettely sanan S tulostamiseksi näytölle, kohtaan X, Y WriteXY(S:String; X,Y:Iteger); Käytetty materiaali (moduulirakenne): Yksikkö (Moduulin nimi); Käyttöliittymä (Globaalimuuttujien osa, vakiot , tyypit) ( moduulit) (Lista proseduuri- ja funktiootsikoista) Toteutus (Oso paikallisista muuttujista, vakioista, tyypeistä) (Proseduurien ja funktioiden toteutus) Aloita (Alustusosa) Loppu.)