Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir...

22
Paskalio kalba ir Turbo Paskalio aplinka Struktūrinio programavimo savarankiški darbai

Transcript of Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir...

Page 1: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Paskalio kalba ir Turbo Paskalio aplinka

Struktūrinio

programavimo

savarankiški darbai

Page 2: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Turbo Paskalio aplinka

Page 3: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Kintamieji ir jų reikšmės

Algoritmuose užrašomi veiksmai su duomenimis.

Bendriausia prasme duomenys skirstomi į pastovius

(konstantas) ir kintamus (kintamuosius). Kintamieji žymimi

vardais, atliekant programą jie įgyja reikšmes. Konstantos ir

kintamieji, sujungti operacijų (veiksmų) ženklais, sudaro

reiškinius.

Duomenys gali būti sveikieji ir realieji skaičiai, simboliai,

tekstas ir pan. Duomenų rūšys programavime vadinamos

duomenų tipais.

Mažiausia yra natūraliųjų skaičių aibė, didžiausia — realiųjų.

Taigi kiekvieną natūralųjį skaičių galima laikyti sveikuoju,

kiekvieną sveikąjį — racionaliuoju, kiekvieną racionalųjį —

realiuoju skaičiumi.

Page 4: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Sveikieji skaičiai

integer -32768..32767 word 0..65535

longint -2147483648..

2147483647

byte 0..255

shortint -128..127

Page 5: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Priskyrimo sakinys

Priskyrimo sakinys — tai kintamasis ir reiškinys, atskirti priskyrimo simboliu (:=). Atlikus programą gauta reiškinio reikšmė priskiriama kairėje esančiam kintamajam.

Priskyrimo sakinių pavyzdžiai:

sk := 5;

suma := x + y;

Atlikus priskyrimo sakinį, kintamasis, kurio vardas parašytas kairėje simbolio := pusėje, įgyja reiškinio, esančio dešinėje pusėje, reikšmę. Reiškinys kartais gali būti sudarytas tik iš vienos konstantos (skaičiaus) arba iš vieno kintamojo.

Page 6: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Programos struktūra. Sąlygų tikrinimas ir valdančios struktūros

Loginiai duomenys. Programuojant operuojama ne tik sveikųjų bei realiųjų skaičių, bet ir loginio tipo duomenimis. Loginiai kintamieji gali įgyti tik dvi reikšmes: true (teisinga) ir false (neteisinga) . Su jais galima atlikti logines operacijas: neigimą (inversiją), sudėtį (disjunkciją) ir daugybą (konjunkciją).

Loginius duomenis, kaip ir skaičius, galima vartoti rašymo sakiniuose, su jais galima atlikti logines operacijas, jų reikšmes galima priskirti loginiams kintamiesiems.

Kintamieji, galintys įgyti logines reikšmes, aprašuose žymimi žodžiu boolean. Terminas kilęs iš logikos algebros pradininko D. Būlio (George Boole, 1815-1869) pavardės.

Page 7: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Loginės operacijos

Inversija (Inversijos operacija labai paprasta: ją atlikus, esama loginė reikšmė pakeičiama priešinga. Ji žymima sutartiniu žodžiu not („ne“) ir paprastai vadinama lietuviškai — neigimu. )

Konjunkcija (Konjunkcija — tai labai svarbi loginė operacija, kuri reikalinga norint sujungti du teiginius. Šnekamojoje kalboje tai dažniausiai atliekama vartojant jungtuką „ir“. )

Disjunkcija (Disjunkcijos operacija atlieka loginės sudėties vaidmenį. Šnekamojoje kalboje teiginiai panašiai jungiami jungtuku „arba“. )

Page 8: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Pasirinkimas: vienas iš dviejų veiksmų

Sąlyginio sakinio schema

if < sąlyga (loginis reiškinys)>

then <sakinys_1>

else <sakinys_2>;

Page 9: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Pasirinkimas: vienas iš dviejų veiksmų

Sutrumpinto sąlyginio sakinio schema.

Kartais tam tikrų veiksmų seką reikia atlikti tik

tada, kai sąlyga tenkinama. Tokiu atveju antrąją

sakinio šaką (kartu ir žodį else) galima praleisti.

if <sąlyga (loginis reiškinys) > then < sakinys >;

Page 10: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Pasirinkimas: vienas iš keleto veiksmų

program minimumas;

var a, b, c, min: integer;

begin

read (a, b, c);

if a < b

then if a < c

then min := a

else min := c

else if b < c

then min := b

else min := c;

writeln (min)

end.

Page 11: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Sudėtinio sakinio schema

begin

sakinys_1 ;

sakinys_2 ;

...

sakinys_n

end;

Page 12: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Varianto sakinys

Paskalio kalba pasirinkimą iš dviejų, trijų ar daugiau variantų programuojame tokiu sakiniu:

case selektorius of

1 reikšmė : 1 sakinys;

2 reikšmė : 2 sakinys;

...

n reikšmė : n sakinys;

else sakinys;

end;

Kaip ir sąlygos sakinyje, dalies „else sakinys“ gali nebūti.

Page 13: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Cikliniai procesai. Programų analizės priemonės

Tą patį veiksmą dažnai tenka kartoti daug

kartų. Sudarant algoritmus, kartojimo

veiksmai išreiškiami ciklu. Ciklas — vieno

svarbiausių algoritmo konstrukcijų; reta

programa gali be jo apseiti.

Veiksmų kartojimas daug kartų vadinamas

ciklu. Algoritmai, turintys ciklų, vadinami

cikliniais algoritmais.

Page 14: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Ciklo KOL schema Paskalio kalboje

Šis ciklas dažnai vadinamas nežinomo

kartojimų skaičiaus ciklu (arba while ciklu —

„kol“). Šio tipo ciklo sakinys vartojamas tada,

kai programuojant nežinomas ciklo kartojimų

skaičius. Lietuviškai jį galima būtų vadinti

KOL ciklu.

while <sąlyga> do <sakinys> ;

Page 15: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Bendra žinomo kartojimų skaičiaus schema

Ciklas FOR (IKI). Tokiam atvejui, kai ciklo kartojimų skaičius žinomas iš anksto, Paskalio kalba turi patogesnį ciklą — vadinamąjį žinomo kartojimų skaičiaus ciklą arba tiesiog ciklą for.

for <ck> := <cp> to <cg> do <sakinys>;

ck-ciklo kintamasis;

cp-jo pradinė reikšmė;

cg-galutinė reikšmė.

Page 16: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Ciklo sakinys REPEAT

Jeigu žinoma, kad tam tikrą sakinių seką bent vieną kartą tikrai reikia atlikti, o paskui ją kartoti arba nekartoti priklausomai nuo susidariusių sąlygų, tai vartojamas ciklo sakinys repeat (kartoti):

Repeat sakinio struktūra:

Repeat <akinių seka> until <sąlyga>;

Page 17: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Savikontrolės klausimai

1. Kurie iš šių teiginių teisingi?

a) ciklas, prasidedantis žodžiu while, gali būti

neatliktas nė vieno karto;

b) ciklas, prasidedantis žodžiu repeat, gali būti

neatliktas nė vieno karto;

c) ciklas, prasidedantis žodžiu while arba

repeat, gali būti atliktas vieną kartą.

Page 18: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Užduotys

1. Pradiniai duomenys – trys skaičiai a, b ir c. Parašykite loginį reiškinį, kurio reikšmė būtų true, tada ir tiktai tada, kai:

a) visų trijų kintamųjų a, b ir c reikšmės lygios;

b) visų trijų kintamųjų a, b ir c reikšmės skirtingos;

c) kurių nors dviejų kintamųjų reikšmės lygios;

d) visų trijų kintamųjų a, b ir c reikšmės yra lyginiai skaičiai;

e) visų trijų kintamųjų reikšmės yra teigiamos, bet ne didesnės kaip 100.

Page 19: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Užduotys

2. Kintamųjų reikšmės yra tokios: a = 10, b = 20.. Kokios šių loginių reiškinių reikšmės:

a) (a = 10) and (b = 20);

b) (a <> 10) or (b = 20);

c) (a > 5) and (b > 5) and (a < 20) and (b < 30);

d) (a > 5) and (b > 5) and (a < 10) and (b < 30);

e) (a > 5) and (b > 5) or (a < 10) and (b < 30);

f) (not (a < 15)) or (not (b < 30));

g) not (a = b);

h) not (not (a = b));

i) not (not (not (a = b)))?

Page 20: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Užduotys

3. Parašykite loginį reiškinį, kurio reikšmė būtų true, jeigu iš trijų atkarpų. kurių ilgiai duoti (yra kintamųjų a, b, ir c reikšmės), galima sudaryti:

a) trikampį,

b) lygiašonį trikampį,

c) lygiakraštį trikampį.

4. Kokios bus kintamųjų a ir b reikšmės, atlikus šią sakinių seką:

a := 1; b := 1;

while a <= 3 do

a := a+1; b := b+1;

Page 21: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Užduotys

4. Kokius skaičius matysime ekrane atlikę šią programą.

program bandymas;

var a, b, i: integer;

begin

a := 0;

b := 5;

for i := a to b do

begin

write(i: 2);

b := b-1

end; writeln end.

Page 22: Paskalio kalba ir Turbo Paskalio aplinka - MokytojasProgramos struktūra. Sąlygų tikrinimas ir valdančios struktūros Loginiai duomenys.Programuojant operuojama ne tik sveikųjų

Literatūra

G.Grigas. Programavimas. – Vilnius, 1998.

J.Blonskis, V. Dagienė. Programavimo pradmenys. – Vilnius, 2001.

V.Dagienė, G.Grigas. Programavimo pradmenų uždavinynas. – Vilnius, 2000.

B.Burgis, A.Kulikauskas. Kompiuterija. – Kaunas, 2000.

V.Dagienė. Informatikos pradmenys. II dalis. – Vilnius, 1998.

A.Vidžiūnas ir J.Blonskis. Turbo paskalis 7.0./Vartotojo vadovas. – Kaunas, 1997.

J.Blonskis ir kt. Programavimas./Vadovėlis. – Kaunas, 2000.

V.Tumasonis. Paskalis ir Turbo Paskalis 7.0. – Vilnius, 1993.