Presentation laddar. Vänta.

Presentation laddar. Vänta.

Jonny Karlsson 6.11.2007 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 1 (6.11.2007) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk.

Liknande presentationer


En presentation över ämnet: "Jonny Karlsson 6.11.2007 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 1 (6.11.2007) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk."— Presentationens avskrift:

1 Jonny Karlsson 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

2 2Jonny Karlsson Introduktion av kursen Se:

3 3Jonny Karlsson 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:

4 4Jonny Karlsson Vad är programmering? Processorn 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.

5 5Jonny Karlsson 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. Vad är programmering? När instruktionerna i ett maskinkodsprogram utförs av datorns processor så säger vi att programmet utförs, körs eller exekveras

6 6Jonny Karlsson 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

7 7Jonny Karlsson 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.

8 8Jonny Karlsson Programmeringsspråk och verktyg Högnivå-programmeringsspråkFö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

9 9Jonny Karlsson 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.

10 10Jonny Karlsson Programmerinsspråk och verktyg Lågnivå-programmeringsspråkAssemblerHögnivå-programmeringsspråkBasicPascalFortranCC++Java

11 11Jonny Karlsson 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änssnittProgram med textbaserat gränssnitt Program med grafiskt användargränssnittProgram med grafiskt användargränssnitt ”Applets” som kan köras i Internet bläddrare”Applets” som kan köras i Internet bläddrare ”MIDLets” som kan köras i mobiltelefoner”MIDLets” som kan köras i mobiltelefoner

12 12Jonny Karlsson 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.

13 13Jonny Karlsson 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”.

14 14Jonny Karlsson 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.

15 15Jonny Karlsson 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”)..

16 16Jonny Karlsson 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

17 17Jonny Karlsson 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

18 18Jonny Karlsson 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

19 19Jonny Karlsson 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.-

20 20Jonny Karlsson 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

21 21Jonny Karlsson 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

22 22Jonny Karlsson 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)

23 23Jonny Karlsson 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:

24 24Jonny Karlsson 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. interpretator. För att JCreator skall fungera måste man först installera JDK.

25 25Jonny Karlsson 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

26 26Jonny Karlsson 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: VillePeter Programmet som helhet skulle se ut så här: public class utmatning { public static void main(String[] args) {System.out.println(”Ville”);System.out.println(”Peter”);}}

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

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

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

30 30Jonny Karlsson 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

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

32 32Jonny Karlsson 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

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

34 34Jonny Karlsson Flödesschema


Ladda ner ppt "Jonny Karlsson 6.11.2007 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 1 (6.11.2007) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk."

Liknande presentationer


Google-annonser