Programski jezik C - Monde Diplomatique

Download Report

Transcript Programski jezik C - Monde Diplomatique

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.
Matija Lokar, 2007
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
Matija Lokar, 2007
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
Matija Lokar, 2007
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?
Matija Lokar, 2007
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 ...)
Matija Lokar, 2007
Prvi program
 Priprava
 Izvorna koda: Prvi.cs
 Prevajanje
 Izvajanje
 Okolje, ki nudi možnost izvajanja vseh teh
korakov
7
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
8
9
10
Prvi program
using System;
class Program
{
static void Main(string[] args) {
// Prvi program v C#
Console.WriteLine("Moj prvi program v C#!");
Console.ReadLine();
}
}
11
Prevajanje / zagon
Matija Lokar, 2007
Kaj je algoritem?
 Algoritem je postopek, 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.
...
Matija Lokar, 2007
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
Matija Lokar, 2007
Učenje programskih jezikov
 Učenje izražanja določenega algoritma
 Zasnova algoritma: enostavna, enostavni
problemi, ...
 Učenje zapisovanja algoritma v dan jezik
Matija Lokar, 2007
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.
Matija Lokar, 2007
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
Matija Lokar, 2007
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);
}
}
Matija Lokar, 2007
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
Matija Lokar, 2007