340 likes | 715 Views
PROGRAMIRANJE. Alenka Krapež Sonja Buhvald Helena Medvešek. Uvod. Reševanje problemov. Množica problemov Množica rešljivih problemov Množica problemov rešljivih z računalnikom. Od problema do programa. Opredelitev problema
E N D
PROGRAMIRANJE Alenka Krapež Sonja Buhvald Helena Medvešek Uvod
Reševanje problemov • Množica problemov • Množica rešljivih problemov • Množica problemov rešljivih z računalnikom
Od problema do programa • Opredelitev problema • kaj že vemo, katere podatke poznamo (vhodni podatki), kaj naj bo rezultat • Načrtovanje postopka rešitve (algoritma) • Delitev probleme na manjše (Divide et impera ) • Zapis algoritma v programskem jeziku • Testiranje programa • Rešitev problema z izvajanjem programa
Algoritem = spisek navodil za izvedbo nekega postopka vsako navodilo (= korak algoritma) mora biti DOBRO poznana operacija Algoritmi morajo biti: • nedvoumni • končati se morajo v KONČNEM številu korakov
Algoritem je zaporedjepreprostih navodil, ki nas v končnem številu korakov pripeljejo do rezultata. Zapis algoritma v izbranem programskem jeziku = (računalniški) program.
Potrebujemo 5 jajc, 20 dag sladkorja, ščepec soli, 20 dag jedilne čokolade, 25 dag masla. Zapis algoritma Čokolado razlomimo na koščke in omehčamo nad soparo • z besedami • s sliko • z diagramom • … Umešamo maslo sol in sladkor. Dodamo omehčano čokolado in rumenjake Stepamo, dokler zmes ne postane penasta. Zmes zlijemo v pekač Beljake stepemo v trd sneg. Sneg nanesemo na čokoladno zmes Pečemo na 150° 20 min
START Beri A AA*A Izpiši A STOP Primer Izpis kvadrata poljubnega števila: • Preberi število A • Izračunaj AA*A • Izpiši A
Simboli diagrama poteka PRIMER PRIMER START PRIREDITEV a a + 1 POTEK STOP VEJITEV a + b < c BRANJE PODATKOV Beri a,b,c IZPIS PODATKOV izpiši a,b,c
PODATKI • Vrednost, ki se med izvajanjem programa ne spreminja • Imeza prostor v pomnilniku, ki je rezerviran za podatke (vsebina), ki je določena s podatkovnim tipom. • Konstanta • Spremenljivka
X 10 Spremenljivka x naj dobi vrednost 10. Spremenljivki n naj se vrednost poveča za 1. n n+1 Spremenljivki A priredimo matematični izraz B+C. A B+C • PRIREDITVENI OPERATOR PRIMERI
pogoj NE-pogoj ni izpolnjen DA-pogoj je izpolnjen Ali dežuje? Ostani doma DA NE Pojdi na Peco VEJITEV Primeri Kadar ne vemo, kakšna bo odločitev..
ii+1 i > 10 NE DA ZANKA Kadar želimo, da se ukaz izvede večkrat..
Ali dani diagram poteka predstavlja algoritem? START x korak x 1 x ne x > 1 da STOP TABELA REZULTATOV = SLED
Kakšna vrednost se izpiše? START x 1 x korak x ne x < 0,3 da Izpiši x STOP
Kakšen je rezultat algoritma? START i 1 Izpiši i i < 20 DA i i+1 NE STOP
START Beri x NE DA x>0 y3*x - 1 y2*x Izpiši y STOP Primer Izpiši vrednost spremenljivke y: y=2x; x>0 y=3x-1; x<=0
Pot do algoritma • Kaj vemo, katere podatke poznamo, kakšni so možni rezultati? D
START x1r x1i 0 x2r x2i 0 x1r x1i x2r x2i Beri a,b,c D b2 – 4ac D > 0 da ne Izpiši x1r,x1i, x2r,x2i STOP
Zanka in števec - vaja Dano je zaporedje pozitivnih števil. Znak za konec zaporedja je 0. Sestavimo algoritem, a) ki bere to zaporedje podatkov in izpiše njihovo vsoto; b) izpiše koliko števil je prebral.
Vaja Imamo geometrijsko zaporedje 1,3,9,27, … Razvijmo algoritem, a) ki izpiše tisti člen, ki prvi preseže vrednost 10 000. b) izpiše kateri po vrsti je ta člen.
Zamenjava dveh elementov Imamo spremenljivko a in spremenljivko b. Algoritem naj zamenja vrednosti!
Vaja Kakšni vrednosti imata spremenljivki a in b po izvršitvi naslednjega zaporedja ukazov. a 1 b 2 c b b a a c
Vaja Kakšni vrednosti imata spremenljivki a in b po izvršitvi naslednjega zaporedja ukazov. a a + b b a - b a a - b
Poišči največji element beri A beri B max A max>B ne max B da
Vaja Sestavi algoritem, ki: bere 200 števil in izpiše največje med njimi.
Psevdokoda BeriMax I 1 Ponavljaj berištevilo če ještevilo > Max, potem Max število I I + 1 dokler ni I => 200. Izpiši Max.
Vaja Sestavi algoritem, ki izračuna N!N! = 1*2*3*4*5*…. *N
Vaja Sestavi algoritem, ki: bere 200 števil in izpiše največje in najmanjše med njimi.
Vaja Sestavi algoritem, ki: Omogoča, da preberemo srečno število (5). Ugibamo, dokler ne uganemo. Algoritem na koncu izpiše: Bravo! Uganil si. Srečno število je 5.
Vaja Kakšno vrednost ima spremenljivka q po izvršitvi algoritma? START q 0 ne q < 500 STOP q q+3 da (q > 70)v(q<90) da ne q q+2
START Preberi n a 0 b 1 b c a b c a+b b < n DA Izpiši b NE STOP Vaja Fibonacci: Izpiši vse člene Fibonaccijevega zaporedja, ki so manjši od prebranega števila. 1 1 2 3 5 8 13 21 34 55
START Preberi n v 0 n <> 0 NE DA v v+n%10 n n/10 Izpiši b STOP Vaja Izračunaj in izpiši vsoto števk naravnega števila n, ki ga preberemo