Download presentation
Presentation is loading. Please wait.
Published byDewi Salim Modified over 6 years ago
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.