361 likes | 880 Views
Programiranje Algoritem. Mag. Fani Mavrič Branko Šarabon. Programiranje je proces izdelave računalniškega programa. Program, ki ga napišemo sami, mogoče res ni najpopolnejši, ker zato nimamo potrebnih izkušenj, vendar je plod naših idej in zamisli, kar pa je tudi nekaj vredno. Uvod.
E N D
Programiranje Algoritem Mag. Fani Mavrič Branko Šarabon
Programiranje je proces izdelave računalniškega programa. Program, ki ga napišemo sami, mogoče res ni najpopolnejši, ker zato nimamo potrebnih izkušenj, vendar je plod naših idej in zamisli, kar pa je tudi nekaj vredno.
Uvod • program – zaporedje ukazov in podatkov, ki jih računalnik izvede samostojno in pri tem reši določen problem; • programi • že izdelani (izdelale npr. programske hiše…), • programi za reševanje specifičnih problemov (izdelamo npr. sami) • programiranje – vsa dela, ki se nanašajo na izdelavo programa: od analize problema do implementacije* delujočega programa; • opredelitev problema predstavlja opis tega, kar je potrebno narediti, da bi rešili problem opredelitev problema - KAJ KAKO - razčlenitev problema * implementacija – izvršitev, izvedba
Informacijska sistemska analiza je posebno področje računalništva, ki se ukvarja s miselno in učinkovito opredelitvijo problemov za katere naj se izdelajo računalniški programi.
Algoritem • algoritem je zaporedje navodil, ki razgrajuje problem na preprostejše probleme, te pa lahko rešimo z zaporedjem preprostih ukazov rešitev problema Algoritem je postopek, zaporedje definiranih opravil in ukazov, ki zagotavljajo rešitev problema v končnem številu korakov. • primeri: • hornerjev algoritem za deljenje dveh polinomov, • evklidov algoritem za iskanje največjega skupnega delitelja dveh števil, • algoritem za uporabo mikrovalovne pečice; • Kako podrobno razčlenimo algoritem je odvisno od tistega, ki bo algoritem uporabljal. • Pogoji, ki jim mora algoritem zadoščati: zaustavljiv, jasen (zapisan z elementarnimi navodili), nedvoumen;
Algoritem je zaporedje preprostih navodil, katerih izvršitev nas pripelje do rešitve. Algoritem
Algoritem • Je zaporedje preprostih navodil, ki nas v končnem številu korakov pripeljejo do rešitve. • Opredelimo postopek reševanja problema • Določimo operacije, ki jih bomo uporabili • Vsak algoritem se mora enkrat končati
Algoritem za poznavalca Algoritem za začetnika
Palačinke • Napišite potek priprave za dobre domače palačinke v obliki algoritma.
Zapis algoritma • V računalništvu zapisujemo algoritme z diagramom poteka. • Elipsa, pravokotnik … • Puščica označuje izvajanje algoritma
start beri a,b b ≠ 0 ne da delitelj ← b b ← a mod b a ← delitelj izpiši delitelj stop Zapis algoritma • slikovni zapis (npr. s piktogrami) • besedni opis • z dogovorjenimi simboli in navodili – diagram poteka Diagram poteka (flow-chart) je grafični prikaz struktur s poudarkom na krmiljenju in osnovnih akcijah programa C
Prirejanje Ker želimo algoritmu (programu) zagotovi univerzalnost in ker ne vemo, kako se v postopku spreminjajo vrednosti podatkov, podatke opišemo s spremenljivkami. Vsaka spremenljivka ima • svoje ime, • v določenem trenutku svojo vrednost; N ← 1 spremenljivka N dobi vrednost 1 spr ← a + b n ← n + 1 spremenljivka n dobi za 1 večjo vrednost Najprej se izračuna desni del prireditve, ki se nato priredi levi strani prireditvenega stavka. n ← n + 1
beri N izpiši N Branje / izpis Nekaterim spremenljivkam v programu moramo posredovati vrednosti. Branje / izpis je t.i. vhodno/izhodni stavek. Vrednost spremenljivki v programu posreduje bodisi uporabnik, drug program, naprava… Program rezultate izpiše na zaslon, tiskalnik, jih posreduje drugemu programu.
Vejitev Vejitev je del algoritma, ki njegovo izvajanje cepi na dve veji. Postopek bo zajel izvajanje tiste veje, ki ustreza vrednosti pogoja. A > B da ne
Vejitev Diagram poteka z vejitvijo V diagramu preberemo dve števili in izpišemo večje
Zanka Zanka ponazarja ponavljanje enega ali zaporedja ukazov. V postopku izdelave algoritma je število ponovitev lahko znano ali pa tudi ne. a > b da za i od 1 do 100 ne izpiši i a ← a + 1
Zanka Diagram poteka z zanko Algoritem izpiše B mnogokratnikov števila A
Sestavi diagram poteka za poštevanko (prvih 10 večkratnikov) prebranega števila. Domača naloga: sestavi diagram poteka, ki bo izračunal n! n! = 1*2*3*…*(n-1)*n Naloga start beri a i ← 1 i ≤ 10 da ne izpiši i*a i ← i+1 stop
Naloga Imamo geometrično zaporedje št. 3: 1, 3, 9, 27, 81 … Kateri po vrsti je tisti člen zaporedja, ki prvi preseže 10 000? Algoritem naj izpiše ta člen ter njegovo zaporedno številko.
Rešitev START A ← 1 I ← 0 A ← 3*A I ← I + 1 A > 10 000 NE DA Izpiši A; I STOP
2. Naloga • Nariši diagram poteka, ki prebere dve števili. Prvo izpiše tolikokrat, kot je vrednost drugega števila.
Rešitev START Vnesi X, vnesi Y ST ← 1 ST <=Y NE DA Izpiši X STOP ST ← ST + 1
START Ali: Vnesi X, vnesi Y Y > 0 NE DA Izpiši X STOP Y ← Y - 1
Domača naloga • Nariši diagram poteka, ki prebere dve celoštevilčni vrednosti in izpiše vsa cela števila med njima. • Dodatna naloga: Števila izpiši v pravilnem vrstnem redu, od najmanjšega do največjega. • Nariši diagram poteka, ki izpiše vsa naravna števila od 1 do 20, razen tistih, ki so deljiva s 3, s 5 ali s 7.
Domača naloga • Nariši diagram poteka, ki prebere rezultate v daljino za N dijakov. Izračuna in izpiše naj srednjo dolžino skoka, najboljši rezultat in zaporedno številko dijaka, ki je skočil najdlje.
Literatura • Rado Wechtersbach: Informatika