200 likes | 438 Views
PROGRAMIRANJE - ZAKAJ IN VSAJ KAJ. Podrobneje: glej Programiranje_zakaj_in_kaj.pdf ter prosojnice: Programski jeziki osnove.ppt. Zakaj neki programirati?. Danes je učenje programiranja povsem odveč in potrata časa.
E N D
PROGRAMIRANJE - ZAKAJ IN VSAJ KAJ Podrobneje: glej Programiranje_zakaj_in_kaj.pdf ter prosojnice: Programski jeziki osnove.ppt
Zakaj neki programirati? • Danes je učenje programiranja povsem odveč in potrata časa. • Za vse, kar želimo narediti z računalnikom, so na voljo ustrezna orodja. • Znanje programiranja je odveč. • Programiranje je potrebno le kot zelo specialistično znanje skupinice strokovnjakov, ki pišejo programe, ki jih potem običajni uporabniki uporabljamo.
Izbira programskega jezika • Le za učenje osnov • Precej nepomembna • Stvar osebnega okusa, okolja, dostopnosti, mode, ... • Za "pravo" programiranje • Okolje • Razvojna orodja • Vrsta problema • Skupni gradniki, enostaven prehod iz enega v drugi jezik
Osnovni gradniki • Konstante • števila, nizi, logične vrednosti • Spremenljivke • Prireditev, izrazi • Branje in izpisovanje • Vejitev – pogojni stavek • Zanke • Funkcije, metode, podprogrami, ... • Objekti in objektno programiranje • Sestavljene podatkovne strukture
Od problema do programa • Problem • Algoritem (postopek reševanja problema) • Zapis v programskem jeziku – uporaba ukazov, ki jih znamo izvesti • Prevajanje v obliko, ki jo razume procesor (izvajalec ukazov) • Izvajanje • Ali rešitev ustreza problemu?
Programski jeziki • Ogromno jezikov: • pascal, basic, cobol, Smalltalk, C#, ada, ... • Različne zvrsti • Generacije jezikov • Objektni (predmetni) jeziki, funkcijski jeziki, ... • Programski jezik C# • Prevajalniki • Avtomatska pretvorba iz zapisa v jezik procesorja • Programi • Podatki: izvorna koda • Rezultati: prevedena koda • Kot za pripravo besedil obstajajo različni urejevalniki, tudi tu obstajajo različni prevajalniki • Vsi zapis v programskem jeziku C# prevedejo v obliko, ki jo razume procesor (ni čisto res, a ...)
Prvi program • Priprava • Izvorna koda: Prvi.cs • Prevajanje • Izvajanje • Okolje, ki nudi možnost izvajanja vseh teh korakov
Prvi program Visual C#EE • Visual C# Express Edition • Urejevalnik • Že pripravljeno okolje za prevajanje • Dostop: http://www.microsoft.com/express/vcsharp/ • Prvi.cs • Prevedemo
Prvi program using System; class Program { static void Main(string[] args) { // Prvi program v C# Console.WriteLine("Moj prvi program v C#!"); Console.ReadLine(); } }
Kaj je algoritem? • Algoritem jepostopek, ki nam korak za korakom pove, kako rešiti dani problem • Za dani problem v splošnem obstaja veliko algoritmov, ki določijo postopek, s katerim rešimo problem • Npr. obstaja veliko algoritmov za izračun produkta dveh števil: • Tabela poštevanke (primerno le za majhna števila) • Pisno množenje • Množenje z uporabo logaritmov. • Uporaba računala. • Uporaba postopkov vgrajenih v računalnik. • ...
Kaj je algoritem • navodilo, kako opraviti določen postopek • KAJ storiti, KAKO to storiti • Končno zaporedje ukazov, ki, če jih ubogamo, opravijo neko nalogo • Značilnosti algoritma • ima podatke • vrne rezultat (število, risba na zaslonu, izdelan izdelek, ...) • je natančno določen • se vedno konča • mogoče ga je opraviti
Učenje programskih jezikov • Učenje izražanja določenega algoritma • Zasnova algoritma: enostavna, enostavni problemi, ... • Učenje zapisovanja algoritma v dan jezik
Jezik • Sintaksa • Kako je sestavljen jezik • stavek, imeti napak polno. • Naravni jeziki: dokaj ohlapna sintaksa, z leti spreminjajoča se • Semantika • Kaj sintaktično pravilen stavek pomeni • Sintaktično pravilni stavki lahko povejo nesmisel. • Vsota števil 2 in 3 je 7. • Danes je padlo pol metra snega. • Konj ima zeleno nabrušen rep.
Sintaksa • Pravila, kako mora biti sestavljen program • stroga pravila omogočajo avtomatično prevajanje • prevajalnik odkrije sintaktične napake • Napake v sintaksi: • javi prevajalnik • zgled
Semantika • Sintaktično pravilen, a drugače napačen program class Narobe_semantika { // Sintaktično pravilen, a semantično napačen program static void Main(string[] g){ System.Console.WriteLine("Vsota stevil 2 + 3 = " + 2 * 3); } } class Narobe_semantika2 { // Sintaktično pravilen, a semantično napačen program static void Main(string[] g) { System.Console.WriteLine("Vsota stevil 2 + 3 = " + 2 + 3); } }
Semantika • Napake v semantiki: • razumevanje problema • Tehnike priprave programov • Strukturirano programiranje • Problem razgrajujemo na zaključene podprobleme, ki jih razgrajujemo naprej • Ekstremno programiranje • Najprej pripravimo testne primere in pričakovane odgovore • ... • Preverjanje, preverjanje, preverjanje • Ne moremo preveriti, ali program dela prav, lahko pa ugotovimo, da ne dela prav