12.07.2015 Views

Föreläsning 1 - itslearning

Föreläsning 1 - itslearning

Föreläsning 1 - itslearning

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Om kursenDA129A Programmering 1Varje vecka publiceras följande på it´s learning:• Föreläsningsunderlag• Kommentarer till föreläsningarna• LaborationsmaterialSidhänvisningar på kursen utgår frånSkansholm, Java direkt med SwingISBN: 9144060742 / 9789144060743Det går bra att använda föregående upplaga,ISBN: 9144038437. Det kan också gå bra attanvända en annan bok om java.Sidhänvisningar gäller senaste versionen avSkansholm.Under kursens gång ska du lösa 5-6 inlämningsuppgifter.Mot slutet av kursen ska du göra ett projekt om 3 hp.Kursen avslutas med skriftlig tentamen. Tentamen ärbetygsgrundande


Vad är programmering?Det finns många svar på den frågan, beroende på vilken infallsvinkelman har på ämnet och hur man uppfattar frågan. Här nedan är någraförslag på svar. Hur ser din uppfattning ut? Sammanfaller den mednågon av de nedanstående alternativen?• Att ge instruktioner till en maskin så att den utför det manvill• Del av att utveckla programvara• Kreativ problemlösande verksamhetDA129A Programmering 1


Att göra ett program• Uppgiftsformulering, vad är det för uppgift som ska lösas?Formulera uppgiften i termer av vad en dator kan utföra.Avgränsa problemet, vad är en del av uppgiften? Vad ingår inte?• Algoritmkonstruktion, vilka algoritmer är de mest lämpliga fördetta problem? Konstruera strukturen på programmet och skrivner så kallad pseudokod. Detta är kreativ problemlösning.• Kodning, översätt pseudokoden till ett programmeringsspråkt.ex. Java• Dokumentation, beskriva din lösning både i löpande text, medhjälp av UML och som kommentarer i programmet (t.ex. javadoc).• Verifikation, är programmet byggt på ett bra sätt så att det löseruppgiften utan att fel uppstår och det är lätt att underhålla.• Validering, är användaren nöjd med hur programmet fungerar.• Underhåll, åtgärda buggar, förbättra och lägg till funktionalitet.DA129A Programmering 1


Java lite historia• Java är ett programspråk som utvecklats av Sun Microsystemunder ledning av James Gosling. Det blev allmänt tillgängligt1995. Från början var tanken med Java att det skulle användas iolika typer av elektronik som brödrostar eller diskmaskiner.• 1995: Från början var Java mest känt som ett slagsprogramspråk som man använder på Internet för att skapahäftiga effekter på webbsidor. Javaprogrammet kan t.ex.generera ljud och rörliga bilder eller låta användarenkommunicera med programmet med hjälp av mus ochtangentbord.• Java är ett fullfjädrat programspråk. Med Java kan man, liksomt.ex. C++, skapa fullständiga applikationsprogram.DA129A Programmering 1


Egenskaper hos Java• Java är plattformsoberoende.Med plattform menas ett visst operativsystem som kör på en visstyp av dator. Windows XP på en PC är t. ex. en plattform. Linuxpå en PC är en annan plattform.• Java innehåller verktyg för att generera grafiskaanvändargränssnitt.Man kan alltså med hjälp av Java skriva grafiska program, dvssådana program som använder fönster, menyer, knappar etc, föratt kommunicera med användaren.• Java är objektorienterat.Java bygger helt på de objektorienterade principen för attkonstruera program.• Java gör det möjligt att skriva parallella program.Java stödjer nämligen s.k. multitrådar. Detta innebär attjavaprogrammet kan beskriva flera aktiviteter som pågårsamtidigt.• Java kan användas på Internet.DA129A Programmering 1


Några fördelar/nackdelar med Java• Att köra ett javaprogram går lite långsammare än att köramotsvarande program i t.ex. C++. Detta för att javaprogram (t.exWelcome.java ) ska kunna köras på olika plattformar utan attmodifieras.• Java har bibiliotek med många standardklasser som man börsätta sig in i och använda. De finns i Javas API (ApplicationProgram Interface) och vi använder JSE (Java Standard Edition).Javas API innehåller dock oerhört många klasser så det är endastmöjligt att använda en mindre del av dem utan att ta del avdokumentation.DA129A Programmering 1


Java (IDE)Ett modernt integrerat programutvecklingssystem, ett s.k. IDE(Integrated Development Environment) brukar erbjudaprogrammeraren en miljö där det finns alla hjälpmedel manbehöver för att utveckla program. Det finns sådana system ävenför Java, t.ex.• JDK1.0, JDK1.0.2, JDK1.1, JDK1.2,JDK1.3, JDK1.4.2,JDK 1.5, JDK 6, JDK 7• Eclipse Juno (www.eclipse.org)• NetBeans 7.2 (www.netBeans.org)DA129A Programmering 1


Java (JDK)• JDK (Java Development Kit) är ett programpaket sominnehåller de olika program och klassbibliotek som manbehöver för att utveckla och köra javaprogram. JDK ärallmänt tillgängligt på internet.• På kursen kommer JDK 7 och Eclipse / NetBeans attanvändas.DA129A Programmering 1


ProgrammeringspråkEtt programmeringsspråk är ett antal regler (syntax) och dessbetydelser (semantik) i vilket en programmerare kan uttrycka sig ochge instruktioner till en dator.Programmerare skriver instruktioner (text) i programmeringsspråket.Instruktionerna översätts av en kompilator till kod som kan exekveraspå en dator.Det finns ett stort antal olika programmeringsspråk som man kananvända. Ett par vanliga är:• C++• C#• Java• Visual BasicDA129A Programmering 1


AktivitetsdiagramEtt sätt att beskriva en algoritm eller ett flöde i ett program är medhjälp av ett aktivitetsdiagram. Aktivitetsdiagrammet är ett av niodiagram som ingår i UML-standaren. UML är ett standardiserat sättatt beskriva datorprogram/system som användas både vidkonstruktion och dokumentering.I kursen kommer aktivitetsdiagram främst att användas för attbeskriva algoritmer.DA129A Programmering 1


Aktivitetsdiagram (Activity diagram)De olika symbolerna som ingår i aktivitetsdiagram:• Activity (beskriver en aktivitet)• Transition with guard (en övergång från en aktivitettill en annan med ett vilkor som måste vara uppfylltför att övergången får ske.)• Synchronization bar (fork, join) (för att markera attdetta sker samtidigt)• Decision or merge (ett vägskäl eller en ihopslagningför att kunna välja olika vägar beroende på ett val)• Start marker (aktiviteten börjar)• Stop marker (ett av kanske flera möjliga avslutningar)DA129A Programmering 1


DA129A Programmering 1Aktiviteten att fika


Aktiviteten att låna böckermemberlibrarian[returner][borrower]find book onshelf[borrowing][returning]wait in queuerecordreturnrecordborrowingput bookback onshelfprepare fornext memberDA129A Programmering 1


Hur programmerar man?1) Man skriver in programkoden (källkoden) med hjälp av entexteditor2) Man sparar koden (som enbart består av text) i en fil. Närman arbetar med Java ska filen alltid ha suffixet java, dvs.filnamn.java3) Man kompilerar (översätter) filen till ett format som datornkan förstå. När man arbetar med Java översätts källkodentill ett format som kallas bytekod (filnamn.class). Bytekodeninterpreteras (tolkas) sedan av en virtuell maskin i datorn(alternativt kompileras till maskinkod som körs på datorn).4) Man testar programmet för att se om det fungerar som manhade tänkt sig. Om det inte fungerar som man hade tänktsig letar man upp felet, ändrar i källkoden och testar igen.DA129A Programmering 1


Olika typer av fel• KompileringsfelDessa fel uppstår redan när man försöker att kompileraprogrammet, dvs. Javakompilatorn skriver ut ett felmeddelande.Ett vanligt exempel är att man han stavat fel på något ställe ikällkoden eller glömt ett semikolon. Här kollar kompilatorn omsyntaxen är korrekt.• ExekveringsfelDessa fel uppstår när man exekverar (kör) programmet, det villsäga man får ett felmeddelande från Javainterpretatorn. Ettvanligt exempel är att man försöker dividera ett tal med noll(någonting delat med noll ger ett odefinierat resultat)• Logiska felDessa fel visar sig genom att programmet inte gör det man hadetänkt, det vill säga programmet kör utan felmeddelanden menresultatet blir inte det avsedda. Den här typen av fel är de som ärsvårast att hitta.DA129A Programmering 1


Java Applets och Java ApplikationerDet finns två typer av Javaprogram:– Java Applets– Java Applikationer• De Javaprogram som man hittar på olika hemsidor påInternet är nästan alltid Applets. Bytekoden till Appletsprogrambyggs in i HTML-dokument och körs med hjälp avWebbläsaren (Netscape eller MS Explorer), dvs.Webbläsaren sköter interpreteringen av bytekoden.• Java Applikationer fungerar som mer traditionelladatorprogram, och de körs med hjälp av den vanligainterpretatorn (som heter java.exe).DA129A Programmering 1


Ett enkelt program – skriva källkoden//This program prints Welcome to Java!public class Welcome {public void sayHello() {System.out.println(“Welcome to Java!");}}public class StartWelcome {public static void main(String[] args) {Welcome application = new Welcome();application.sayHello();}}/*De program som du skriver på kursen kommer som regel attanvända minst två klasser:• Klass med main-metod i vilken exekveringen startar• Klass med metoder som som utgör de väsentliga delarnaav programmet*/DA129A Programmering 1


Ett enkelt program – kompilera källkodenKällkodsfilerWelcome.javaStartWelcome.javaKällkodsfilerna läses avprogrammet javac.exeKompilator(javac.exe)javac.exe översätter källkodsfilernatill bytekodsfilerBytekodsfilerWelcome.classStartWelcome.classBytekodsfilerna används närprogrammet ska exekveras (köras)DA129A Programmering 1


Ett enkelt program – exekvera bytekodenBytekodsfilerWelcome.classStartWelcome.classImporterade object(andra class-filer)Java interpretatori Windows.Java interpretatori Macintosh.Java interpretatori Unix.Bytekodsfilerna och filer som importeras tolkas av Javainterpretatorn(JVM – Java Virtual Machine, t.ex.java.exe) och ger ett körresultat.Ungefär samma körresultat uppnås på olika plattformar.DA129A Programmering 1


Att köra ett program i Eclipse / NetBeansLaboration 1 beskriver hur du ska arbeta med Eclipse /NetBeans.Filer du behöver är:DA129AL1HT12.pdf + Eclipse.pdf / NetBeans7.pdfFilerna finner du i DA129AL1HT12.zip.DA129A Programmering 1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!