Priloga 1_Programiranje_Algoritem

Download Report

Transcript Priloga 1_Programiranje_Algoritem

Programiranje Algoritem

Mag. Fani Mavrič Branko Šarabon

29. 04. 2020

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.

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 29. 04. 2020 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.

29. 04. 2020 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;

29. 04. 2020 5

Algoritem

Algoritem je zaporedje preprostih navodil, katerih izvršitev nas pripelje do rešitve.

29. 04. 2020 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 29. 04. 2020 7

29. 04. 2020 Algoritem za poznavalca Algoritem za začetnika 8

Palačinke

• Napišite potek priprave za dobre domače palačinke v obliki algoritma.

29. 04. 2020 9

29. 04. 2020 10

Zapis algoritma

• V računalništvu zapisujemo algoritme z diagramom poteka.

– Elipsa, pravokotnik … – Puščica označuje izvajanje algoritma 29. 04. 2020 11

Diagram poteka z branjem, z izpisom in s prireditvijo

29. 04. 2020 12

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 izpiši delitelj stop start beri a,b

ne

b ≠ 0

da

delitelj ← b b ← a mod b a ← delitelj 29. 04. 2020 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.

29. 04. 2020 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 izpiši N 29. 04. 2020 15

Vejitev

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 29. 04. 2020 16

29. 04. 2020

Vejitev

Diagram poteka z vejitvijo V diagramu preberemo dve števili in izpišemo večje 17

Zanka

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 a > b da ne a ← a + 1 29. 04. 2020 18

Zanka

29. 04. 2020 Diagram poteka z zanko Algoritem izpiše B mnogokratnikov števila A 19

Naloga

Sestavi diagram poteka za po števanko (prvih 10 ve čkratnikov) prebranega števila.

start beri a i ← 1

da

i ≤ 10

ne

izpiši i*a i ← i+1 stop 29. 04. 2020

Domača naloga:

sestavi diagram poteka, ki bo izračunal

n!

n! = 1*2*3*…*(n-1)*n

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.

29. 04. 2020 21

Rešitev

START A ← 1 I ← 0 A ← 3*A I ← I + 1 NE A > 10 000 DA Izpiši A; I STOP

29. 04. 2020 22

2. Naloga

• Nariši diagram poteka, ki prebere dve števili. Prvo izpiše tolikokrat, kot je vrednost drugega števila. 29. 04. 2020 23

Rešitev

START Vnesi X, vnesi Y ST ← 1 ST <=Y DA Izpiši X NE ST ← ST + 1 STOP

29. 04. 2020 24

29. 04. 2020 Ali:

START Vnesi X, vnesi Y Y > 0 DA Izpiši X NE Y ← Y - 1 STOP

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.

29. 04. 2020 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.

29. 04. 2020 27

Literatura

• Rado Wechtersbach: Informatika 29. 04. 2020 28