1 / 120

Programiranje Od problema do programa

Programiranje Od problema do programa. Cilji: razumevanje, da je računalnik le en od pripomočkov, ki jih uporabljamo pri reševanju problemov; ugotavljanje, katere probleme lahko rešujemo z računalnikom;

uriah
Download Presentation

Programiranje Od problema do programa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ProgramiranjeOd problema do programa Cilji: • razumevanje, da je računalnik le en od pripomočkov, ki jih uporabljamo pri reševanju problemov; • ugotavljanje, katere probleme lahko rešujemo z računalnikom; • poznavanje, da za reševanje problemov z računalnikom potrebujemo navodila in podatke; • poznavanje opredelitve programa; • ugotavljanje kakšne programe poznamo, kakšne probleme rešujejo, za kateri problem bi bil računalnik primeren, vendar nimamo programa.

  2. Uvod • Računalnik premešča bite iz ene lokacije na drugo • Za svoje delo računalnik potrebuje program: • Gre za zaporedje navodil, ki jih procesor v računalniku razume in izvede

  3. Pot od problema do računalniškega programa PROBLEM ALGORITEM ZAPIS V PROGRAMSKEM JEZIKU PROGRAM

  4. Problem • Opredelitev problema zaradi lažjega razvoja programa • jasna opredelitev, kaj že vemo, katere podatke poznamo (vhodni podatki), kaj naj bo rezultat

  5. Algoritem, programiranje in program Cilji: • poznavanje sestave programa • razumevanje pomena dokumentiranja programa; • poznavanje algoritma in programiranja; • naštevanje glavnih korakov za izdelavo programa.

  6. Programiranje • Rešitev problema z izvajanjem programa • Programiranje je proces izdelave računalniškega programa • Poznavanje programiranja pomaga razumeti računalnike • Znanje programiranja uporabimo tudi na področjih, ki niso neposredno povezana z računalništvom.

  7. Algoritem programiranje in program • Glavni koraki za izdelavo programa: • Opredelitev problema • Načrtovanje postopka rešitve (algoritma) • Zapis postopka rešitev v programskem jeziku; • Izvršitev programa na računalniku; • Preverjanje programa • Izdelava dokumentacije programa.

  8. Algoritem • Rešitev načrtujemo, ko je problem dovolj podrobno opredeljen • Problem nadgradimo na manjše probleme dokler ne pridemo do zaporedja preprostih navodil – algoritma, ki privede do rezultata • Algoritem je spisek navodil za izvedbo kakega postopka; vsako navodilo (= korak algoritma) mora bitiDOBROpoznana operacija • Algoritmi morajo biti: • nedvoumni • končati se morajo v KONČNEM številu korakov.

  9. Algoritem • Kako podrobno je algoritem razdeljen, je odvisno od tega, komu je namenjen • Zapis algoritma v izbranem programskem jeziku = (računalniški) program.

  10. Izrazi • Algoritem • Program • Programski jezik

  11. Zapis algoritma Cilji: • poznavanje algoritma izdelanega v različnih oblikah (besedni, diagram poteka, ..) • poznavanje značilnosti algoritma; • razumevanje postopka izdelave algoritma; • izdelava algoritma.

  12. Zapis algoritma • Algoritem zapišemo: • s slikami • z besedami • znaki, ki jih le mi razumemo • Da je algoritem razumljiv, uporabljamo za njegovo izdelavo dogovorjene znake in označbe.

  13. Zaporedjepreprostih opravil, ki nas v končnem številu korakov pripelje do rezultata

  14. Potrebujemo 5 jajc, 20 dag sladkorja, ščepec soli, 20 dag jedilne čokolade, 25 dag masla. Algoritem za poznavalca je drugače razčlenjen od algoritma za začetnika Čokolado razlomimo na koščke in omehčamo nad soparo 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

  15. Zapis algoritma • V računalništvu zapisujemo algoritme z diagramom poteka, ki ga izvajamo tako, da sledimo puščicam v diagramu. • Lastnosti algoritma: • sestavljen iz zaporedja korakov • ustavljiv (pri različnih kombinacijah vhodnih podatkov) • nedvoumen • splošen (rešuje čim več podobnih problemov).

  16. PODATKI • Vrednost, ki se med izvajanjem programa ne spreminja • Ime za prostor v pomnilniku, ki je rezerviran za podatke (vsebina), ki je določena s podatkovnim tipom. • Konstanta • Spremenljivka

  17. Prireditev vrednosti • Kadar ne vemo kakšno vrednost ima podatek, uporabimo v algoritmu spremenljivko • spremenljivke omogočajo, da sestavimo diagram poteka ne glede na to, kakšno vrednost imajo. • Vsaka spremenljivka ima svoje • ime • in vrednost Ime Vrednost

  18. Prireditev vrednosti • V diagramu poteka priredimo spremenljivki vrednost s prireditvenimoperatorjem matematični izraz prireditveni operator spremenljivka 1 N

  19. Prireditev vrednosti • Spremenljivka nna obeh straneh izraza prireditveni operator matematični izraz spremenljivka n n + 1 spremenljivki n naj se vrednoti poveča za 1

  20. Prireditev vrednosti • V diagramu poteka uporabimo za prireditev pravokotnik START A 5 STOP Diagram poteka s prireditvijo vrednosti spremenljivki

  21. Branje ali izpis • Za prikaz branja in izpisovanja uporabimo v diagramih poteka paralelogram START Beri A A A + 5 Diagram potek z branjem, z izpisom in s prireditvijo Izpiši A STOP

  22. 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

  23. Narišite diagram poteka za izpis absolutne vrednosti števila (ST), ki ga vpišete preko tipkovnice.. Naloga • Narišite diagram poteka, ki prebere in izpiše poljubno celo število (x)

  24. Narišite diagram poteka, ki prebere poljubno celo število (X) in ga izpiše trikrat. Naloga • Narišite diagram poteka, ki izpiše srednjo vrednost (SR) treh prebranih celih števil (A, B, C)

  25. Naloga • Narišite diagram poteka, ki prebere dve celi števili (x y), zamenja njuni vrednosti (POMOZNA) med seboj in ju izpiše.

  26. Izrazi • Diagram poteka • Programiranje • Spremenljivka

  27. Zapis algoritma Cilji: • izdelava algoritma z vejitvijo; • izdelava algoritma z zanko • Izdelava algoritma s tabelarično spremenljivko

  28. Vejitev • Za prikaz vejitve uporabljamo v diagramih poteka deltoid. START Beri A, B A > B C B C A Izpiši C STOP Diagram poteka z vejitvijo

  29. Zanka • Za zaporedje enakih ukazov uporabimo v diagramih poteka zanko START C 5 Zanka

  30. Zanka START Beri A, B • Izvajanje zanke nadziramo z določenim pogojem C 1 Izpiši A * C C C + 1 ne C > B da Diagram poteka z zanko STOP

  31. Tabelarična spremenljivka • Tabelarične spremenljivke imajo skupno ime, med seboj pa jih ločujemo z indeksom Vrednost spremenljivke A3 je 16…

  32. Tabelarična spremenljivka • V algoritmu izvedemo postopek nad enim elementom, nato pa le spreminjamo indeks C 1 M T(C) ne Na koncu je največje število shranjeno v spremenljivki M. da C <= N M < T(C) da C C + 1 ne Diagram poteka za iskanje največjega števila med N števili tabelarične spremenljivke T

  33. Naloge • Narišite diagram poteka z zanko, ki prebere poljubno celo število (x) in ga izpiše trikrat. ALI

  34. Naloge • Narišite diagram poteka, ki prebere dve števili (X, Y). Prvo število izpiše tolikokrat, kot je vrednost drugega števila. ALI

  35. Naloge • Napišite algoritem, ki prebere celo število. Če je prebrano število deljivo z 2 in s 3, ga izpiše. Algoritem predstavite z diagramom poteka.

  36. Naloge • Narišite diagram poteka, ki pri danem podatku X izračuna vrednost funkcije Y. Vrednost funkcije določimo po pravilu: -če je X manjši od 1, naj bo Y=X*10,-če je X večji ali enak 1, naj bo Y=X.

  37. Ali dani diagram poteka predstavlja algoritem? START x korak x  1 x  ne x > 1 da STOP

  38. Kakšna vrednost se izpiše? START x  1 x korak x  ne x < 0,3 da Izpiši x STOP

  39. Naloga 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.

  40. Programski jeziki Cilji: • spoznajo programski jezik; • opišejo funkcijo programskega jezika; • naštejejo vrste (strojni, …) programskih jezikov in opredeliti njihove funkcije; • spoznajo, da računalnik neposredno »razume« le strojni jezik; • razlikujejo med prevajanjem in tolmačenjem.

  41. Jeziki • Naravni jeziki Problem: razumljivost (kaj jo omogoča?) sintaksa in semantika • Umetni jeziki esperanto, jezik kemijskih formul, jezik aritmetičnih izrazov, pascal

  42. Razvoj programskih jezikov • strojni jezik (1950) • zbirni jezik (assembler) (1955) • višji programski jeziki (1960) • jeziki 4. generacije ( po1980) • jeziki, podobni naravnemu jeziku ali jeziki UI (po 1990)

  43. Programski jeziki • Programski jezik mora omogočiti • Opis problema • zajema opredelitev izhodiščnih podatkov in končni rezultat • Opis postopka za njegovo rešitev • vsebuje opis korakov, ki nas od izhodiščnih podatkov pripelje k rezultatom

  44. Programski jeziki in človek • Nepostopkovni programski jezik (Prolog,LISP, SQL) • vsebujejo sredstva za opis podatkov in relacije med njimi • Postopkovno programiranje (Pascal, Basic, Pyton, C, Java, Javascript,) • Vsebujejo izrazna sredstva za opredelitev podatkov in algoritmičnih gradnikov za opis postopka rešitve

  45. Programski jeziki in računalnik • Računalnik razume le program napisan v strojnem jeziku • Strojni jezik ima vsaj dve veliki nerodnosti: • Človeku težko razumljiv dvojiški zapis, • Odvisnost od uporabljenega mikroprocesorja.

  46. Programski jeziki in računalnik Strojni jezik • dve vrednosti napetosti = 0, 1 • vsi ukazi = zaporedje 0 in 1 • primer programa: 01110010 10011001 00100101 11001100 ...

  47. Seštevanje dveh števil (procesor Pentium)

  48. Seštevanje dveh števil (procesor Pentium)Prvi ukaz: mov eax,[$0043F808]

  49. Seštevanje dveh števil (procesor Pentium)Drugi ukaz: add eax,[$0043F810]

  50. Seštevanje dveh števil (procesor Pentium)Tretji ukaz: mov [$0043F80C],eax

More Related