Algoritmai1
5 (100%) 1 vote

Algoritmai1

TURINYS

1. ALGORITMAVIMO PAGRINDAI 3

1.1. Algoritmo samprata 3

1.2. Žodinis algoritmas 4

1.3. Algoritmo blokinės schemos elementai 5

1.4. Algoritmo blokinės schemos pavyzdys 8

1.5. Algoritmo “prasukimas” 11

1.6. Struktūrinio programavimo principai 13

1.7. Elementarios algoritmavimo stuktūros 14

1.8. Elementari algoritmavimo struktūra-kompozicija 15

1.9. Elementari algoritmavimo struktūra – alternatyva 17

1.10. Elementarios algoritmavimo struktūros-kartojimai 23

1.10.1. Elementari algoritmavimo struktūra CIKLAS WHILE 24

1.10.2. Elementari algoritmavimo struktūra CIKLAS REPEAT 26

1.10.3. Elementari algoritmavimo struktūra CIKLAS FOR 28

1.11. Struktūrinė ir nestruktūrinė programos 32

1.12. Paprogramės 40

1.13. Kai kurių charakteringų programavimo uždavinių algoritmai 48

1.13.1. Masyvo užpildymas atsitiktiniais skaičiais 48

1.13.2. Maksimumo ir minimumo ieškojimas masyve 50

1.13.3. Masyvo elementų rikiavimas didėjimo tvarka 52

1.13.4. Ciklinis sumavimas 54

1.13.5. Ciklinė daugyba 56

1.13.6. Vėliavėlių panaudojimas algoritmo keliams nustatyti 57

1.13.7. Polinomo šaknies radimas nurodyto taško aplinkoje 59

2. PROGRAMAVIMAS TURBO PASKALIU 62

2.1. Turbo Paskalio moduliai 62

2.2. Vartotojo moduliai 63

2.3. CRT-specialusis tekstinis režimas 67



PIRMA DALIS

1. ALGORITMAVIMO PAGRINDAI

1.1. Algoritmo samprata

Žmogus savo veikloje privalo išspręsti gausybę uždavinių. Jam gali talkinti kompiuteris, tačiau kiekvienam uždaviniui spręsti kompiuteris turi būti tinkamai užprogramuotas.

Kalbant bendrai, kiekvienas sprendėjas (vadinkime jį procesoriumi) privalo turėti paruoštą uždavinio sprendimo ALGORITMĄ.

ALGORITMU vadinama baigtinė nuoseklių veiksmų seka, kurią procesorius turi atlikti su pradiniais duomenimis, kad gautų uždavinio sprendinį.

Priklausomai nuo to, kas sprendžia uždavinį (kas yra uždavinio sprendimo procesorius), algoritmas gali būti pateikiamas įvairiai:

-kompiuterio mikroprocesoriui algoritmą reikia pateikti mašinine kalba (dvejetainis, aštuntainis arba šešioliktainis kodai), nes tik tokią kalbą supranta mikroprocesorius;

-žmogui, esančiam procesoriaus vaidmenyje, algoritmą galima pateikti daugelyje formų:

-teksto forma, t.y, programos , parašytos pseudo kodu, arba bet kuria, algoritmine kalba (paskalis, fortranas,…, asembleris, mašininė kalba);

-grafine forma, t.y, blok-schemos arba struktūrogramos pavidalu.

Pirmiausia išsiaškinkime, kodėl pradėjom kalbėti apie žmogų kaip procesorių. Reikia priminti, kad kompiuteris pats dar nėra išsprendęs nei vieno uždavinio, o sprendžia uždavinį tik tuomet, kai žmogus sudaro to uždavinio sprendimo ALGORITMĄ ir jį užkoduoja (parašo programą) taip, kad būtų “aišku” kompiuteriui.

Tagi, žmogus paprastai k u r i a uždavinio sprendimo algoritmą,

o kompiuteris tik v y k d o sukurtą ir patikrintą algoritmą.

Pateiksime tekstinės algoritmo formos pavyzdį, parodydami algoritmą dviejų sveikų skaičių bendro didžiausio daliklio radimui. Bendru atveju, minėtam uždaviniui galima parašyti visą eilę algoritmų, mes pateiksime Euklido pasiulytą variantą, naudojant atėmimo veiksmą.

1.2. Žodinis algoritmas

1. Pradžia

2. Užrašyti du sveikus teigiamus skaičius M ir N

3. Nustatyti, kuris iš užrašytųjų skaičių yra didesnis.Didesnįjį skaičių pavadinti TURiniu, o mažesnįjį – ATĖminiu

4. Rasti TURinio ir ATĖminio skirtumą

(SKIR=TUR-ATĖ )

5. Patikrinti ar skirtumas nelygus nuliui ( SKIR<>0 ?)

5.1. Jeigu TAIP (SKIR<>0), eiti į 6 punktą

5.2. Jeigu NE (SKIR=0), eiti į 11 punktą

6. Patikrinti ar gautas SKIRtumas didesnis už buvusį ATĖminį (SKIR>ATĖ ?)

6.1. Jei TAIP, eiti į 7 punktą

6.2. Jei NE, eiti į 8 punktą

7. Naujam TURiniui priskirti buvusiojo SKIRtumo reikšmę ir eiti į 9 punktą

8. Naujam TURiniui priskirti buvusiojo ATĖminio reikšmę, o naujajam ATĖminiui priskirti buvusio SKIRtumo reikšmę.

9. Rasti naują SKIRtumo reikšmę

10. Eiti į 5 punktą

11. Bendru didžiausiu dalikliu (BDD) pavadinti paskutiniojo skirtumo veiksmo ATĖminį (BDD=ATĖ)

12. Atsakymas:

Dviejų sveikų skaičių M= ir N= bendras didžiausias daliklis BDD=

13. Pabaiga

Kūrimo ir tikrinimo procese naudotina informatyviausia – grafinė algoritmo forma, pvz., algoritmo blokinė schema.

1.3. Algoritmo blokinės schemos elementai

Atskirus algoritmo veiksmus (veiksmų grupes) grafiškai priimta vaizduoti skirtingomis geometrinėmis figūromis vadinamomis blokais. Projektuojant arba analizuojant algoritmo blok-schemą nustatoma sprendimo proceso valdymo perdavimo, iš vieno bloko į kitą, tvarka.

Kiekvienam algoritmui privalu turėti pradžios ir pabaigos blokus. Valdymo procesas prasideda PRADŽIOS bloke , nuosekliai praeina visus algoritmo blokus ir bagiasi PABAIGOS bloke. Priimta tuos blokus vaizduoti tam tikrų matmenų ovalais, su juose įrašytais žodžiais PRADŽIA ir PABAIGA (kaip parodyta pav.1). Kiekvieną bloką
rėminanti linija kairiajame viršutiniame kampe privalo būti trūki, čia įrašomas bloko numeris. Visi blokai numeruojami pradedant pradžios ir baigiant pabaigos bloku.

PASTABA.

Kadangi PRADŽIOS ir PABAIGOS blokai yra unikalūs, tai jų numeracija nebūtina.

Paprastai sprendimą (algoritmą) sudaro nuosekli veiksmų kompozicija, todėl pageidautina ir blokus numeruoti pagal valdymo perdavimo eigą .

Nesudėtingame algoritme, kai jo blokinė schema telpa į vieną lapą, blokus numeruojame sveikais skaičiais. Jeigu algoritmas sudėtingas ir jam pavaizduoti reikia kelių lapų, tai bloko numeracija gali turėti kelias dalis, atskirtas taškais: pvz. -2.12 (lapo numeris.bloko numeris). Santakos blokus (paprastai tai atitinkamo spindulio apskritimai, kurių viduje nurodytas vardas) įvardinti taip pat galima skaičiais, bet galima ir raidėmis.

Pav. 1. Algoritmo blokinės schemos grafinio vaizdavimo elementai

Aritmetinių ir loginių veksmų blokas vaizduojamas stačiakampiu, su jame įrašytais aritmetinių (loginių) išraiškų sakiniais (pav.1. -2 blokas).

Sąlygos tikrinimo blokui vaizduoti naudojama rombo forma (4-blokas) , jo viduje įrašoma tikrinama sąlyga.

Informacijos įvedimo/išvedimo blokui panaudota lygiagretainio forma, kur įvedami/išvedami duomenys užrašomi skliaustuose. Įvedimo bloko kairiojoje pusėje įrašomas požymis IN, išvedimo bloke-požymis OUT (8-BLOKAS).

Kreipimosi į paprogramę blokas turi stačiakampio su dvigubom šoninėm linijom formą, jame nurodoma, kuriai paprogramei bus perduodamas valdymas.

Šiuo metu Jūs matote 31% šio straipsnio.
Matomi 860 žodžiai iš 2811 žodžių.
Peržiūrėkite iki 100 straipsnių per 24 val. Pasirinkite apmokėjimo būdą:
El. bankininkyste - 1,45 Eur.
Įveskite savo el. paštą (juo išsiųsime atrakinimo kodą) ir spauskite Tęsti.
SMS žinute - 2,90 Eur.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA ir įveskite gautą atrakinimo kodą.
Turite atrakinimo kodą?
Po mokėjimo iškart gausite atrakinimo kodą, kurį įveskite į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.