INTRODUKTION TILL PROGRAMMERING

Slides:



Advertisements
Liknande presentationer
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Advertisements

INTRODUKTION TILL PROGRAMMERING
Programmering B PHP Lektion 1
Klasser och objekt.
Funktioner och programorganisation
Leif Håkansson’s Square Dancer Rotation
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
Metoder i java Det finns två typer av metoder i java
Polymorfism.
Välkommen Vahid Mosavat
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Att programmera i språket Java
Föreläsning 2 Datalogi för E1 2D1343
IT för personligt arbete F6
OOP Objekt-orienterad programmering
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
Programmering B PHP Lektion 2
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
Programmering B PHP Lektion 3
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Objektorienterad Modellering Programmering och Analys
TÄNK PÅ ETT HELTAL MELLAN 1-50
Programmeringsteknik för Media1 & K1
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
PROCESSPROGRAMMERING Föreläsning ‏ Innehåll: Högnivå objekt för trådprogrammering: - Trådgrupper (”Thread pools”)‏ - Exekverare (Executor.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska opertorer -Poster.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Databehandling Ett datorprogram består i huvudsak av
Objektorienterad programmering i Java
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Java paket och jar-filer
Anders Sjögren ANSI - standard ?. Anders Sjögren ANSI - standard ? Om man skriver ett bra C-program och kompilerar fram ”exe”-filen så vore det ju trevligt.
INTRODUKTION TILL PROGRAMMERING
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
INTRODUKTION TILL PROGRAMMERING
PROCESSPROGRAMMERING Föreläsning 1 ( )‏ Innehåll: Introduktion till paralellprogrammering (“concurrent programming”)‏ Introduktion till parallellprogrammering.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
Ladda ner och installera JAVA Mahmud Al Hakim DynamicOS
Föreläsning 2 2D1312 Introduktion till Python Kap 1 och 2 i kursboken.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 2 ( )‏ Innehåll:Trådar: - Avbrott (”interrupts”)‏ - Metoden join()‏ Högnivå objekt för.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( )‏ Innehåll:  Att designa parallella program - manuell vs. automatisk parallellisering.
Föreläsning 1 Introduktion till kursen. Algoritmer
OOP&M - teori1 OOP&M – Föreläsning 3 kap 2-4 Repetition Föreläsning-datayper-syntax-tilldelning.
OOP&M - teori1 Dator Introduktion till programmering.
Föreläsning 1, Introduktion
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 1 ( ) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk.
Python.
Presentationens avskrift:

INTRODUKTION TILL PROGRAMMERING Föreläsning 1 (6.11.2007) 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 6.11.2007

Introduktion av kursen Jonny Karlsson 6.11.2007

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 6.11.2007

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 6.11.2007

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

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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: http://java.sun.com/javase/downloads/index.jsp Jonny Karlsson 6.11.2007

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: http://www.jcreator.com/download.htm 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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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 6.11.2007

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

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 6.11.2007

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

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 6.11.2007

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

Flödesschema Jonny Karlsson 6.11.2007