Click here to load reader

pascal Oktatasi segedlet

  • View
    1.956

  • Download
    4

Embed Size (px)

DESCRIPTION

bevezetés a Pascal nyelvbe

Text of pascal Oktatasi segedlet

IN-501 Bevezets a programozsbaOktatsi segdlet, pldatr

Szerkesztette: Dr. Vida Kroly

DUNAJVROSI FISKOLA INFORMATIKAI INTZET 2006.

IN-501

2

Tananyag, elads flikIN-501 Bevezets a programozsba A tantrgy clja: - alapismeretek adsa a szmtgpes feladatmegoldshoz, - programtervezsi, programozsi elvek s mdszerek tantsa 1. Szmtgpes feladatmegolds, programozsi nyelvek Egy feladat szmtgpes megoldsnak lpsei: - A feladat egyrtelm megfogalmazsa - A matematikai modell kialaktsa - Adatstruktra kialaktsa, input s output adatok tervezse - Az algoritmus elksztse s lersa - A program megrsa - A program tesztelse - A program dokumentlsa Algoritmusok + Adatstruktrk = Programok [1] 1.1. Az algoritmus - fogalma - kvetelmnyek - fajti 1.2. Alapfogalmak - adatok(konstansok, vltozk), adattpusok - alaptevkenysgek (input, output, rtkads) - vezrltevkenysgek (szekvencia, szelekci, iterci) 1.3. Az algoritmus megadsi mdjai - szveges - folyamatbra - struktogram - szerkezeti bra 1.4. Alapalgoritmusok 1.5. Programozsi nyelvek Programnyelv: kommunikcis eszkz az ember s a szmtgp kztt

IN-501

3

utastsok sorozata ( szintaktika, szemantika ) A magas szint nyelvekrl: forrsprogram fordts trgyprogram szerkeszts vgrehajthat program pr. vgrehajts, futtats A fejleszt rendszerek funkcii: - szvegszerkeszts - programfordts - programszerkeszts - nyomkvets, hibakeress - on-line help - programknyvtrak kezelse - egyb tmogatsok 2. A Pascal program felptse, szerkezete A Pascal program rszei: - programfej - deklarcis rsz - programtrzs Az els feladat: - olvassunk be kt szmot - ha egyenlk, akkor adjuk ssze azokat, egybknt az els ktszereshez adjuk hozz a msodikat program elso; var x,y: integer; z: real; begin { x s Y beolvassa } Write(Krem az els szmot:); ReadLn(x); Write(Krem a msodik szmot:); Readln(y); { Szmts } if x=y then z:=x+y else z:=2*x+y; { Az eredmny kirsa } Write(z=,z); end. szemantikai hibk szintaktikai hibk

Szg.-es program:

IN-501

4

2.1. A nyelv elemei Jelkszlet Betk: a...z, A... Z Szmok: 0...9 Specilis jelek: + - * / = . , : ; ^ _ @ $ # < > [ ] { } szkz ASCII vez.karakterek(0..31) Karakterprok: = := .. (* *)

Foglalt alapszavak deklarcik, utastsok, opertorok kulcsszavai Pl. var, integer, if, then, else, and, or, end Konstansok egsz szm decimlis hexadecimlis vals szm karakter (jel) szveg

123 -12 $FF $A1B -23.45E-3 0.55 8e5 #32 #65 vagy A Informatika (0..255 hossz) csengets #7#7

Azonostk vltozk, konstansok, tpusok, eljrsok, fggvnyek egyedi nevei kpzsi szablyok: - els kar bet vagy _ - msodiktl bet, szm vagy _ - els 63 kar. a meghatroz - kis s nagybet nem klnbzik hibtlan azonostk: x, b12, B12, Max_elem, WriteLn hibs azonostk: 2B x/y END B.5 Opertorok aritmetikai + - * / div mod logikai not and or xor sszehasonlt < > = = A program rsmdja 2.2. A program szerkezete (modulok, blokkok, utastsok) A Turbo Pascal program egymstl fggetlen modulokbl ll. A modulok egyms mell s al rendelt (egymsbagyazott) blokkokbl llnak. Egy modul max. 64 Kbyte mret lehet. A lefordtott pr. max. 640 Kbyte lehet.

IN-501

5

{ programfej } Program programnv; { globlis hats fordtsi direktvk } { deklarcik } uses ... ; { unitok } const... ; { konstansok } type ... ; { tpusok } var ... ; { vltozk } Procedure ...; Function ...; { eljrsok }

{ fggvnyek }

begin { programtrzs, vgrehajtsi rsz } { utastsok } . . end.

IN-501

6

3. 3.1.

Adattpusok s deklarcik Vltozk deklarlsa

var x,y: integer; z: real; A program a vltozkban adatokat trol. A vltoznak azonostja, tpusa s rtke van. A tpus rja le a vltoz tulajdonsgt ( a lefoglalt memriaterlet hossza s rtelmezse) 3.2. Adattpusok s csoportostsuk

Egyszer adattpusok: a./ sorszmozott - egsz - logikai - karakter - felsorolt - intervallum b./ vals c./ szveg Mutat adattpus Strukturlt adattpusok a./ halmaz b./ tmb c./ rekord d./ fjl e./ objektum 3.2.1. Egyszer adattpusok a./ sorszmozott tpusok - egsz tpusok: tpus Byte Word ShortInt Integer LongInt tartomny 0 0 -128 -32768 -2147483648 .. .. .. .. .. 255 65535 127 32767 2147483647 1 bjt 1 bjt hely (bjt) 1 2 1 2 4

- logikai tpus: Boolean true, false - karakter: Char #0 .. # 255 - felsorolt: var irany: (fel, le, jobbra, balra); fel < le < jobbra < balra - intervallum (rsztartomny) tpus: var kisbetu: a..z; ketjegyu: 10..99;

IN-501

7

b./ vals tpusok tpus Real Single Double Extended Comp tartomny 2.9E-39 1.5E-45 5.0E-324 3.4E-4932 -9.2E+18 .. .. .. .. .. 1.7E+38 3.4E+38 1.7E+308 1.1E+4932 9.2E+18 pontossg 11-12 7-8 15-16 19-20 19-20 hely (bjt) 6 4 8 10 8

a Real kivtelvel trsprocesszor vagy a {$E+} direktva kell c./ szveg adattpus String String[hossz] var sz : String[10]; sz:=ABC-129; 0 #7 1 A 2 B 3 C 4 5 1 6 2 7 9 8 9 10 1= 54 true b -10 false k=#65 true s1 < xyx false +123 123 false +123 123 true k in [a,b,A..F] true (k rtke benne van-e a halmazban?) - sztringek sszekapcsolsa ( + ) Mveletek rangsora (precedencia szintek) Rangsor 1. 2. 3. 4. Opertor not + - eljel * / div mod and shl shr + - or xor < > = = in Opertor tpusa egyoperandus multiplikatv additv sszehasonlt

- az operandus a magasabb precedencij opertorhoz tartozik - azonos precedencij opertorok kztt a tle balra llhoz tartozik - a zrjelben lv mveleteknek van elsbbsgk

IN-501

11

Az eredmny tpusa: mvelet + - * 1. operandus egsz egsz vals egsz egsz vals egsz egsz egsz logikai szveg egsz egsz vals logikai szveg felsorolt 2. operandus egsz vals vals egsz vals vals egsz egsz egsz logikai karakter egsz vals vals logikai karakter felsorolt eredmny egsz vals vals vals vals vals egsz egsz egsz logikai szveg logikai logikai logikai logikai logikai logikai

/

div mod shl shr not and or xor + = = < >

pldk: i:=4; j:=10; b1:=true; i j 4 10 i:=i+11; 15 10 j:=j+2*i; 15 40 b1:=j