Presentation laddar. Vänta.

Presentation laddar. Vänta.

INTRODUKTION TILL PROGRAMMERING

Liknande presentationer


En presentation över ämnet: "INTRODUKTION TILL PROGRAMMERING"— Presentationens avskrift:

1 INTRODUKTION TILL PROGRAMMERING
Föreläsning 1 ( ) INNEHÅLL: Introduktion av kursen Vad är programmering? Programmeringsspråk och verktyg Introduktion till Java Strukturen av ett textbaserat Java program Utmatning av text på bildskärmen Programmeringsprocessen Flödesschema Jonny Karlsson

2 Introduktion av kursen
Jonny Karlsson

3 Vad är programmering? Som programmerare behöver man vanligtvis inte veta så mycket datorer Man klarar sig mycket långt endast med följande modell: Jonny Karlsson

4 Vad är programmering? Processorn Arbetsminnet I/O-enheter
Gör själva databehandlingen Utför instruktioner som ingår i en viss instruktionsuppsättning Instruktionerna handlar om att på någåt sätt manipulera binära data (förstår endast 1:or och 0:or dvs ström på och ström av) Arbetsminnet För att instruktioner skall kunna behandlas av processorn måste de först lagras hit I/O-enheter I/O står för Input/Output En inenhet är en typ av utrustning för att mata in data till datorn, t.ex. Tangentbord, mus och mikrofon. En utenhet används när en dator lämnar ifrån sig data till omvärlden. Kan t.ex vara en bildskärm eller en högtalare. Jonny Karlsson

5 Vad är programmering? Programmera. Ett sätt att indirekt kommunicera med datorns processor. Man ger instruktioner åt processorn för att berätta vad man vill att datorn skall göra. För att datorns processor skall kunna tolka ett program måste programmet bestå av maskinkod / sekvens av binära instruktioner. När instruktionerna i ett maskinkodsprogram utförs av datorns processor så säger vi att programmet utförs, körs eller exekveras Jonny Karlsson

6 Programmeringsspråk och verktyg
Att skriva maskinkodsprogram är mycket krävande och större program är i praktiken omöjliga att direkt koda binärt. Av denna orsak har det utvecklats verktyg kallade programmeringsspråk Programmerinsspråk tillåter programmeraren att koda instruktioner på ett sätt som är betydligt lättare att förstå än maskinkod. Det finns högnivåprogrammeringsspråk och lågnivåprogrammeringsspråk Jonny Karlsson

7 Programmeringsspråk och verktyg
Lågnivå-programmeringsspråk Ett lågnivå-programmeringsspråk är ganska likt maskinkoden. Begreppet ”lågnivå” kommer från att ”programkoden ligger nära processorn”. Ett lågnivå-programmeringsspråk används vanligtvis för krävande programmeringsproblem som inte kan lösas med ett högnivåspråk. Jonny Karlsson

8 Programmeringsspråk och verktyg
Högnivå-programmeringsspråk Fördelar: Lättare för programmeraren att förstå jämfört med lågnivåkod Är maskinoberoende. Assembler- och maskinkodsinstruktioner är alltid bundna till en viss processor Jonny Karlsson

9 Programmerinsspråk och verktyg
Instruktioner skrivna i ett högnivåspråk måste översättas till maskinspråk. Detta sköter Datorn själv med hjälp av ett verktyg som kallas kompilator. En samling instruktioner man skrivet ner i ett programmeringssrpåk kallas för källkod. Processen att översätta källkod till maskinkod kallas för kompilering. Jonny Karlsson

10 Programmerinsspråk och verktyg
Lågnivå-programmeringsspråk Assembler Högnivå-programmeringsspråk Basic Pascal Fortran C C++ Java Jonny Karlsson

11 Introduktion till Java
Java är ett objektorienterat programmeringsspråk utvecklat av Sun Microsystems på 1990-talet. Java är lätt att lära sig, jämfört med andra objektorienterade programmeringsspråk, p.g.a. Java har samlat ihop de bästa delarna av de äldre objektorienterade programmeringsspråken. Java kan användas för att skriva program för så gott som alla operativsystem, i WEB- Program, i mobiltelefoner och även i smartkort/SIM-kort. Olika typer av Java program: Program med textbaserat gränssnitt Program med grafiskt användargränssnitt ”Applets” som kan köras i Internet bläddrare ”MIDLets” som kan köras i mobiltelefoner Jonny Karlsson

12 Introduktion till Java
Kompilering I Java används en annan typ av kompilering än den standard kompileringstyp som beskrevs i slide 9. Vid standard kompilering resulterar kompileringen i en exekverbar programfil (i Windows programfil.exe) som är beroende av operativsystemet (dvs en exekverbar programfil kompilerad för Windows kan inte exekveras i Linux och tvärtom) En Java-källkod kompileras inte av Javakompilatorn till maskinkod utan till en maskinoberoende bytekod (bytekodfil.class). Denna bytekod kan inte direkt exekveras utan det behövs för datorn ett ytterligare program som kallas interpretator. Jonny Karlsson

13 Introduktion till Java
Tolkning Interpretatorn tolkar bytekoden till maskinkod allteftersom programmet exekveras Interpretatorn i Java kallas för Virtuell Maskin (VM). Mer känt efter det engelska namnet ”Virtual Machine”. Jonny Karlsson

14 Introduktion till Java
Fördelen med interpretator modellen är att det kompilerade Javaprogrammet är helt plattformsoberoende och kan köras på vilken dator som helst med viken hårdvara och vilket operativsystem som helst förutsatt att det på datorn finns en interpretator/Virtuell Maskin. Själva VM är däremot plattformsberoende. Jonny Karlsson

15 Strukturen av ett textbaserat Javaprogram
Ett minimalt textbaserat Java program kan se ut så här: Källkoden för ett Java program byggs upp av en eller flera klasser och varje klass kan innehålla en eller flera metoder. Ett Java program bör bestå av minst en klass och denna klass bör innehålla en metod som kallas huvudmetod (”main-metod”). . Jonny Karlsson

16 Strukturen av ett textbaserat Javaprogram
I exemplet ovan har vi definierat en klass som heter HelloWorld. Klassen kan heta precis vad som helst men namnet på klassen måste vara samma som namnet på källkodsfilen dit källkoden sparas. Källkoden ovan måste således sparas i en källkodsfilfil som heter HelloWorld.java. Observera att en Java källkodsfil bör ha filändelsen .java Källkoden kan skrivas i ett enkelt ordbehandlingsprogram som t.ex. Wordpad eller Notepad Jonny Karlsson

17 Strukturen av ett textbaserat Javaprogram
I Java-koden kan man binda ihop flera kodrader med hjälp av att använda bågparenteser { och }. Det som finns mellan ett {-tecken och ett }-tecken kallas för ett block. Genast efter raden som definierar klassen HelloWorld finns ett {-tecken. Detta tecken betyder att klassen HelloWorld börjar här. Längst ner i källkoden finns ett }-tecken. Detta tecken berättar att klassen HelloWorld slutar här. M.a.o. Allt som finns mellan dessa { och } tecken hör till klassen Helloworld Jonny Karlsson

18 Strukturen av ett textbaserat Javaprogram
Huvudmetoden main (OBS! Denna metod bör alltid heta main) avgränsas också med hjälp av bågparenteser på samma sätt som klassen HelloWorld. Dessa bågparenteser bildar ett metodblock. I huvudmetodens metodblock definieras m.h.a programsatser vad programmet skall göra när det exekveras.OBS varje programsats avslutas med ett semikolon (förutom vissa undantag). I detta fall har vi i huvudmetodens metodblock definierat att programmet skall skriva ut texten ”Hello World” på datorns bildskärm Jonny Karlsson

19 Strukturen av ett textbaserat Javaprogram
Tillsvidare går vi inte in i detalj på funktionaliteten av klasser och metoder utan vi nöjer oss med den enklaste typen av program som endast har en klass och en huvudmetod.- Jonny Karlsson

20 Kompilering och exekvering av Java program
Java program kompileras med en kompilator som kallas Javac Javac kan användas direkt via ett konsolfönster eller så kan det användas tillsammans med ett Java programmeringsverktyg Jonny Karlsson

21 Kompilering och exekvering av Java program
Kompilering från DOS konsolfönstret Kompilering av ett nyskrivet Java program sker så att man från den filkatalog där källkodsfilen ligger anropar Java kompilatorn javac och anger källkodsfilen som argument: javac prognamn.java Detta skaper bytekod-filen: prognamn.class Jonny Karlsson

22 Kompilering och exekvering av Java program
Exekvering av Java program från DOS konsolfönstret För att exekvera ett Java program anropar man Java-interpretatorn och anger klassnamnet som argument: java prognamn Observera att man endast ger namnet på klassfilen och lämnar bort filendelse (dvs. inte prognamn.class) Jonny Karlsson

23 Kompilering och exekvering av Java program
För att kunna kompilera och exekvera Java program behöver man en Java kompilator (Javac) och en Java interpretator/Virtuell maskin på sin dator. Från SUNs hemsidor kan man gratis ladda ner ett Java utvecklingsprogrampaket som heter J2SE Development Kit (JDK). JDK innehåller både en Java kompilator och interpretator. Nyasta versionen av JDK kan laddas från: Jonny Karlsson

24 Kompilering och exekvering av Java program
Det finns även grafiska programutvecklingsverktyg för Java program Ett exempel på ett sådant är JCreator. JCreator är gratis och nyaste versionen kan laddas ner från: Med JCreator kan man enkelt editera källkod, kompilera och exekvera program utan att behöva ge kommandon från DOS konsolen. OBS! JCreator är endast en editor och innehåller ingen egen Java kompilator eller interpretator. För att JCreator skall fungera måste man först installera JDK. Jonny Karlsson

25 Utmatning av text på bildskärmen
För att göra ett program som skriver en textrad på bildskärmen kan man anropa metoden: println (namnet kommer från ”print line”) metoden println anropas enligt följande: system.out.println(parameter); parameter = Det man vill att programmet skall skriva ut. Om man vill att programmet skall skriva ut texten ”hej” på bildskärmen anropar man println på följande vis: system.out.println(”hej”); Observera att om man vill skriva ut statisk text så skall den texten sättas innanför citationstecken Jonny Karlsson

26 Utmatning av text på bildskärmen
Metoden println förorsakar alltid ett radbryte i slutet, dvs. följande metodanrop: System.out.println(”Ville”); System.out.println(”Peter”); ger följande utskirft på bildskärmen: Ville Peter Programmet som helhet skulle se ut så här: public class utmatning { public static void main(String[] args) } Jonny Karlsson

27 Programmeringsprocessen
Definiera problemet Planera lösningen (flödesschema, pseudokod) Koda programmet (måste följa en viss syntax / ett visst programmeringsspråk) Testa programmet (finn logiska fel) Dokumentera programmet I själva verket hänger dokumenteringsskedet med i alla ovannämnda punkter. Jonny Karlsson

28 1. Definiera problemet Analysera problemt/verksamheten hos kunden/beställaren. Input: vad vet vi om verksamheten/problemet/behovet? Output: Vad vill vi åstadkomma? (resultatmålet) Jonny Karlsson

29 2. Planera för lösningen Flödesschema
Grafiskt diagram över ”programmet” Aktiviteter i programmet Pseudokod ”Programmet” skrivet på ”ren svenska” Jonny Karlsson

30 3. Koda programmet Källkoden måste följa en viss syntax, vilket programmeringssprk ska vi välja? Programmeraren använder sig av någon editor, texteditor eller programmeringseditor Jonny Karlsson

31 4. Testa programmet Kompilera  hittar vi några syntaxfel?
Avlusning (debugging)  Hittar vi några ”logiska” fel? Jonny Karlsson

32 5. Dokumentera programmet
Ska egentligen göras kontinuerligt under hela utvecklingsprocessen Dokumentationen bör minst innehålla: Problemanalysen ”Verbal” beskrivning av programmets funktion Flödesschema, pseudokod Källkod med kommentarer Testresultat Jonny Karlsson

33 Flödesschema Ett grafiskst diagram över ett program
Kan användas som hjälp under planeringsstadiet Jonny Karlsson

34 Flödesschema Jonny Karlsson


Ladda ner ppt "INTRODUKTION TILL PROGRAMMERING"

Liknande presentationer


Google-annonser