Programiranje Algoritem Mag Fani Mavri Branko arabon Programiranje
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. 1/4/2022 2
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 1/4/2022 3
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. 1/4/2022 4
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; 1/4/2022 5
Algoritem • Algoritem je zaporedje preprostih navodil, katerih izvršitev nas pripelje do rešitve. 1/4/2022 6
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 1/4/2022 7
Algoritem za poznavalca Algoritem za začetnika 1/4/2022 8
Palačinke • Napišite potek priprave za dobre domače palačinke v obliki algoritma. 1/4/2022 9
1/4/2022 10
Zapis algoritma • V računalništvu zapisujemo algoritme z diagramom poteka. – Elipsa, pravokotnik … – Puščica označuje izvajanje algoritma 1/4/2022 11
Diagram poteka z branjem, z izpisom in s prireditvijo 1/4/2022 12
start Zapis algoritma beri a, b • 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 ne b≠ 0 da delitelj ← b b ← a mod b a ← delitelj izpiši delitelj stop 1/4/2022 13
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←n+1 N← 1 spr ← a + b n←n+1 spremenljivka N dobi vrednost 1 spremenljivka n dobi za 1 večjo vrednost Najprej se izračuna desni del prireditve, ki se nato priredi levi strani prireditvenega stavka. 1/4/2022 14
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. beri N 1/4/2022 izpiši N 15
Vejitev je del algoritma, ki njegovo izvajanje cepi na dve veji. Postopek bo zajel izvajanje tiste veje, ki ustreza vrednosti pogoja. da ne A>B 1/4/2022 16
Vejitev Diagram poteka z vejitvijo V diagramu preberemo dve števili in izpišemo večje 1/4/2022 17
Zanka ponazarja ponavljanje enega ali zaporedja ukazov. V postopku izdelave algoritma je število ponovitev lahko znano ali pa tudi ne. za i od 1 do 100 izpiši i da a>b ne a←a+1 1/4/2022 18
Zanka Diagram poteka z zanko Algoritem izpiše B mnogokratnikov števila A 1/4/2022 19
Naloga Sestavi diagram poteka za poštevanko (prvih 10 večkratnikov) prebranega števila. start beri a Domača naloga: sestavi diagram poteka, ki bo izračunal n! i← 1 n! = 1*2*3*…*(n-1)*n da i ≤ 10 ne izpiši i*a i ← i+1 stop 1/4/2022 20
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. 1/4/2022 21
Rešitev START A← 1 I← 0 A ← 3*A I←I+1 NE A > 10 000 DA Izpiši A; I STOP 1/4/2022 22
2. Naloga • Nariši diagram poteka, ki prebere dve števili. Prvo izpiše tolikokrat, kot je vrednost drugega števila. 1/4/2022 23
Rešitev START Vnesi X, vnesi Y ST ← 1 ST <=Y NE DA Izpiši X STOP ST ← ST + 1 1/4/2022 24
Ali: START Vnesi X, vnesi Y NE Y>0 DA Izpiši X STOP Y← Y-1 1/4/2022 25
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. 1/4/2022 26
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. 1/4/2022 27
Literatura • Rado Wechtersbach: Informatika 1/4/2022 28
- Slides: 28