Presentation is loading. Please wait.

Presentation is loading. Please wait.

Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt PASCAL Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt 2018.11.17.

Similar presentations


Presentation on theme: "Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt PASCAL Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt 2018.11.17."— Presentation transcript:

1 Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt
PASCAL Nijolė Kriščiūnienė

2 Baziniai paprastųjų kintamųjų tipai
Pavadinimas Tipas Reikšmė Baitai Realusis skaičius real Nuo-1.7E38 iki –2.9E-39, nulis ir nuo +2.9E-39 iki +1.7E38 6 Sveikasis skaičius integer Nuo –32768 iki 32767 2 Simbolis char simbolis 1 Eilutė string n simbolių eilutė, kai 0< n<=255 n Loginė reikšmė boolean True, false

3 Kintamųjų tipai Sveikieji tipai
Tipas Reikšmių intervalas Baitai Shortint 1 Integer 2 Longint 4 Byte 0..255 Word

4 Sveikiems skaičiams taikomos operacijos
Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := 5 A=5 Read; write Nuskaityti,išvesti Read(x); write(x) + Sudėtis 5+5 10 - Atimtis 100-1 99 * Daugyba 9*9 81 / Dalyba 8/16 0.5 (real) Div Dalmuo 7 div 3 2 Mod Liekana 7 mod 3 1 =,<>,<,>,<=,>= Palyginimas 7<= 2 False (boolean) Maxint longmaxint Konstantos 32767

5 Simbolinis tipas Char (character)-simbolinis tipas.
Simbolių kodai surašyti ASCII lentelėje.

6 Simboliniam tipui taikomos operacijos
Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := ‘*’ A=* Read; write Nuskaityti,išvesti Read(x); write(x);write(‘*’) + Sudėtis ‘t’ + ‘u’ tu =,<>,<,>,<=,>= Palyginimas ‘z’ <= ‘a’ False (boolean) Pred, Succ, Chr, Ord Funkcijos Pred(‘c’) Succ(‘c’) Chr(65) Ord(a) Upcase(‘a’) B D A 65

7 Realieji tipai Tipas Reikšmės Tikslumas Baitai Real 2.9E-39..1.7E38
11-12 6 Single 1.5E E38 7-8 4 Double 5.0E E308 15-16 8 Extended 3.4E E4932 19-20 10 comp -9.2E E18

8 Realiesiems skaičiams taikomos operacijos
Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := 3.14 A=3.14 Read; write Nuskaityti,išvesti Read(x); write(x) + Sudėtis 5+5 10.0 - Atimtis * Daugyba 9*9 81.0 / Dalyba 8/16 0.5 =,<>,<,>,<=,>= Palyginimas 7.5<= 2.3 False (boolean) Abs,arcTan, cos,exp,ln,round, sin,sqr,sqrt,trunc Funkcijos

9 Eilutės tipas String - eilutės ilgis nuo 0 iki 255 simbolių.
String[15] – eilutės ilgis 15 simbolių. Jei eilutės ilgis nenurodytas, tai eilutė yra 255 simbolių ilgio.

10 Simbolių eilutėms taikomos operacijos
Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := ‘taip’ A=taip + Sudėtis ‘t’ + ‘u’ tu write išvesti Write (a) taip =,<>,<,>,<=,>= Palyginimas z <= a False (boolean) Length (eil.kin.); Concat(‘M’, ‘es’); Funkcijos Length (A); 4 Mes

11 Loginis tipas Boolean-loginis tipas. Loginis kintamasis gali įgyti vieną iš dviejų loginių reikšmių: True (teisingas); False (neteisigas).

12 Loginiams kintamiesiems taikomos operacijos
Operacija Pavadinimas Pavyzdys Rezultatas := priskirimas A := true; B := false; A=true And Loginė daugyba A and b False Or Loginė suma A or b True Not Neigimas Not a xor Suma moduliu 2 (nelygiavertiškumas) A xor b true write išvesti Write(a)

13 Konstantos Const <konstantos vardas> = <konstanta>;
const n=15; Tokių konstantų programos metu keisti negalima. Tipizuotos konstantos aprašas: Const <konstantos vardas>:<tipas>=<konstanta>; const n : integer = 15; Tipizuotas konstantas programos metu galima pakeisti.

14 Pagal prioritetą operacijos skirstomos:
*, /, div, mod, and; +, -, or, xor, shl, shr; =, <>, <=, >=, in.

15 Kintamųjų aprašai var <kintamojo vardas>: <duomenų tipas>;
program pirma; var x : real; {realiojo tipo} a : integer; {sveikojo tipo} raide : char; {simbolio tipo} sakinys : string[20]; {20 simbolių eilutė} c : boolean; {loginio tipo} begin .... end.

16 Duomenų išvedimo formatai WriteLn(<išraiška1>,<išraiškan>)
Išvedimo procedūra Rezultatas writeLn(‘a’,5-4); a1 writeLn(‘t’+’p7 ’,5/4); tp E+00 writeLn(8 mod 3) 2 writeLn(1,2,3,4,5,6,‘a’); 123456a writeLn(‘klasė’ :4); klasė writeLn( :5); 2.5E+04 writeLn( *547:5:7);

17 Programos struktūra program vardas; begin end.
Aprašai (konstantų, tipų, kintamųjų, procedūrų, funkcijų) begin sakiniai end.

18 Priskyrimo sakinys Priskyrimo operacija žymima dvem simboliais :=
C := A; D := 15 + sin(2*C); F := `Katinas´;

19 Priskyrimas Program priskirti;
{randamas kintamojo s kvadratas ir kūbas} Var s, kvadratas, kubas : integer; Begin s:=15; Kvadratas:=s*s; Kubas:=kvadratas*s; End. Program priskirti1; {randamas kintamojo s kvadratas ir kūbas} Var s, kvadratas, kubas : integer; Begin read (s); Kvadratas:=s*s; Kubas:=kvadratas*s; write (‘s=‘, s, ’kvadratas=‘, kvadratas, ‘kubas=‘, kubas); End.

20 Sąlyginis sakinys If <sąlyga> then<sakinys>
Nepilnas (suprastintas) Pilnas Sudėtinis If <sąlyga> then<sakinys> then <sakinys1> else <sakinys2> then begin <sakinys1>;... <sakinys1n>; End else begin <sakinys2>;... <sakinys2n>; End;

21 Sąlyginis sakinys Program didesnis;
{randamas didesnis skaitmuo max iš dviejų įvestų: sk1 ir sk2} Var max, sk1, sk2 : real; Begin readLn (sk1, sk2); if sk1>= sk2 then max := sk1 else max := sk2; writeLn (‘max=‘, max) End.

22 Išrinkimo sakinys Case <valdantis parametras> of
<alternatyva>: <sakinys1>; ... <alternatyva>: <sakinysn>; [else <sakinysm>]; End;

23 Išrinkimo sakinys Program isrinkimas; {įvertinamas pažimys}
Var x : integer; Begin readLn (x); Case x of 10: writeLn (‘puiku‘); 9: writeLn (‘labai gerai‘); 8: writeLn (‘gerai‘); 7: writeLn (‘neblogai‘); 6: writeLn (‘patenkinamai‘); 5: writeLn (‘prastai‘); 4: writeLn (‘blogai‘); 3, 2, 1,: writeLn (‘dundukas‘); else writeLn (‘tokio pazymio nebuna‘); End; End.

24 Ciklo sakinys (for) For <ciklo kintamasis> :=
<pradinė r.> to <galutinė r.> do <sakinys>; (pradinė r.<= galutinė r.) For i := 1 to 100 do S := S+i; <pradinė r.> downto <galutinė r.> (pradinė r.>= galutinė r.) For i := 100 downto 1 do begin <sakinys1>; <sakinys2>; end;

25 Ciklas FOR Program laipsnis; {skaičius x kėlimas n-tuoju laipsniu}
Var x, laipsnis : real; i, n : integer; Begin readLn (x, n); laipsnis := 1; for i:= 1 to n do laipsnis := laipsnis * x; writeLn (laipsnis:10:10); End.

26 Ciklo sakinys (while) While <sąlyga> do <sakinys>;
begin <sakinys1>; <sakinys2>; end;

27 Ciklas while Program laipsnis; {skaičius x kėlimas n-tuoju laipsniu}
Var x, laipsnis : real; i, n : integer; Begin readLn (x, n); laipsnis := 1; i:=1; while i<= n do begin laipsnis := laipsnis * x; i:= i+1; end; writeLn (laipsnis:10:10); End.

28 Ciklo sakinys (repeat)
... <sakinysn>; Until <sąlyga>;

29 Ciklas repeat Program tikrinu; {slaptažodžio tikrinimo}
Var zodis, slaptas : string[9]; i, n : integer; Begin slaptas := ‘miau miau’; repeat writeLn (‘Įvesk slaptažodį’) readLn (zodis); until zodis = slaptas; writeLn (‘teisingai’); End.

30 Paprogramės Vartotojo funkcijos; Vartotojo procedūros.

31 Funkcijos Function <f.Vardas>(argumentai: a.tipas) :<f.tipas>; ... Begin <sakinys1>; <sakinys2>; End; Function kvad (x: real): real ; begin kvad:= x * x; end;

32 Rekursinės funkcijos Function f (n : integer) : integer;
{skaičiuoja skaičiaus n faktorialą} Begin If n=1 then f:=1 else f:= f(n-1) * n; End;

33 Vartotojo procedūros Procedure <p.vardas> (k.vardai:tipas); ...
Begin <sakinys1>; <sakinys2>; End; Procedure f(n: integer; var fact: integer); If n=0 then fact :=1 else begin f(n – 1, fact); fact := fact * n; end;

34 Struktūriniai duomenų tipai. Masyvai.
Tipas Tipo aprašas Kintamųjų aprašai Vienmatis Masyvo Type <masyvo.vardas>=array [<kons1>..<kons2>] of <tipas> Pvz.: Type mas=array [1..30] of string[8]; Var Mas1: mas; Daugiamatis Masyvas Type <masyvo.vardas>=array [<kons1>..<kons2>, [<kons3>..<kons4>, ] of <tipas> Type masyvas=array [1..3,1..4] of mas; Var Mas2: masyvas;

35 Program masyvai; const n=10; m=30; type atk =n..m; masyvas = array[atk] of real; Var mas ; masyvas; Procedure uzpil( var mas1: masyvas); Var I: atk; Begin Randomize; for I:= n to m do mas1[I] ;=I*1/(Random(10)+1); End; Procedure atsp(mas1 : masyvas); var I: atk; for i:=n to m do writeln(mas1[I]:5:2); uzpil(mas); atsp(mas); End.


Download ppt "Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt PASCAL Nijolė Kriščiūnienė Nijole@versme.elektrenai.lm.lt 2018.11.17."

Similar presentations


Ads by Google