15-1. MONITOR IT-utbildning

Storlek: px
Starta visningen från sidan:

Download "15-1. MONITOR IT-utbildning"

Transkript

1 Sortering 15-1

2 Sortering I detta kapitel skall vi ta en titt på hur vi kan använda sorteringsprogrammet från ett COBOL-program, s.k. internsortering. 15-2

3 Sortering 15-3

4 Sortering Vid sortering så finns det alltid en osorterad INFIL och en sorterad UTFIL. När sorteringsprogrammet anropas från COBOL, kan det göras på liknande sätt som vid en BATCH-sortering; sorteringen baseras på sorteringsuttryck och samtliga poster sorteras. Vid en COBOL internsortering så läser COBOL-programmet poster från den osorterade filens i en Input Procedure och kan där avgöra vilka poster från den osorterade infilen som skall överlämnas till sorteringsprogrammet. Alla poster behöver ej släppas (Release) till sorteringsprogrammet, utan kan helt enkelt förkastas. Posterna kan även förändras innan de överlämnas för sortering. När sorteringen är avslutad hämtar COBOL-programmet varje sorterad post i en Output Procedure, (Return) och där kan du avgöra vad du vill göra med den sorterade posten; kanske skriva till den sorterade utfilen eller hanteras på annat sätt. Möjligheterna med en internsortering är stora. 15-4

5 Sortering Sorteringsprogrammet kräver en sorteringsfil, en virtuell fil, som bara används under själva sorteringen. Alla filer som används vid sorteringen måste beskrivas i COBOL-programmet på vanligt sätt med Select och FD, men sorteringsfilen beskrivs med ett SD-uttryck. Denna innehåller beskrivning av sorterade poster 15-5

6 Sortering Programmets infil och utfil beskrivs på vanligt sätt med Select- och FD-uttryck. Sort använder en tänkt arbetsfil vid sorteringen som beskrivs med Select-uttryck på vanligt sätt, men den har en Sortfile Description, SD i stället för FD. I dess postbeskrivning så skall samtliga sorteringsnycklar finnas beskrivna. Dessa kommer senare att refereras i ett Sort-verb. Filen behöver EJ allokeras med JCL vid exekvering av programmet. 15-6

7 Sortering Sort-verbet används för att starta själva sorteringen. Den sortfil (virtuell sortfil) som refereras innehåller beskrivning över de sorterade posterna; nyckelvärden och övrig data. Sort kan ange flera sorteringsnycklar (Key) med olika sorteringsordning. I Sort-uttrycket anges om posterna skall hämtas från en fil (Using) eller om en procedur skall ges kontrollen (Input Procedure) innan sorteringen alternativt om posterna skall skrivas till en fil (Giving) eller om en procedur skall ges kontrollen (Output Procedure) efter sorteringen. Input-Procedure används om du vill kunna ta hand om en post innan den är sorterad. I denna procedur kan du förändra postens innehåll innan den skickas för sortering, eller helt förkasta den; den kanske inte skall vara med i sorteringen. Du måste själv läsa posterna från den osorterade filen i denna procedur. Using används om du vill använda den osorterade infilen utan förändring. Output Procedure används för att ta hand om sorterade poster. Här kan du själv avgöra vad du vill göra med de sorterade posterna. Om du vill skriva till en sorterad fil så gör du det i denna procedur. Du kanske bara vill göra en utskrift av posten och då gör du det här. Alternativ kan vara att du vill spara den på annat sätt, kanske i en intern tabell. Giving används när du inte vill hantera sorterade poster själv, utan låta sorteringsprogrammet själv skriva till filen. Notera att du kan använda antingen Procedur eller fil för både indata och utdata. När du använder Using eller Giving så öppnar och stänger COBOL dessa filer automatisk, men när du använder en procedur så måste du själv öppna och stänga filen, samt även läsa och skriva. 15-7

8 Sortering I detta exempel så sker en helt vanlig sortering på nyckel med namnet Sortfil-Namn. 15-8

9 Sortering Sortfil, som är den tänkta filen som skall sorteras, är beskriven med en SD i Data Division. Här finns en exakt beskrivning av posterna. Denna sorteringsfil måste förses med poster. Detta kan göra genom att beskriva Using filnamn i Sort-verbet. Då används de poster som finns i denna fil utan förändring. Om du behöver göra ändring av de poster som finns i denna fil, så kan du använda en Input Procedure. I denna procedur får du själv läsa poster från indata-filen, analysera innehållet och kanske förändra eller förkasta. För att överlämna posten till COBOL för sortering använder du COBOL-verbet Release. Du behöver inte ha en Infil utan data kan hämtas från en annan källa. Det kan t.ex. vara från en intern tabell, men du överlämnar poster för sortering med Release. Sorterade poster kan skrivas till en Utfil utan förändring efter sorteringen. Då anger du Giving i Sort-verbet. Om du själv vill ta hand om de poster som COBOL har sorterat, dvs innehållet av Sortfil, så kan du ange en Output Procedure. I denna procedur hämtar du själv sorterade poster, en efter en med verbet Return, och behandlar dom hur du vill. Om du vill skriva till Utfil så kan du göra det, men posterna kan givetvis placeras på annan plats. Det kan t.ex. vara en intern tabell med sorterat data. 15-9

10 Sortering I inputproceduren används Release för att frisläppa en post till sorteringsprogrammet. Varje Release ger en (1) post, så du måste ha en slinga för att hämta osorterat data och sedan gör Release för varje post. Den fil du har som en osorterad fil måste hanteras som andra filer; den måste öppnas och sedan läsas. I exemplet ser du en slinga som läser samtliga poster från filen Sortin. I villkoret Not At End kan du analysera posten och avgöra om den skall förändras eller ej eller kanske förkastas

11 Sortering I en Ouput Procedure hämtar du poster från den sorterade filen med Return. Du gör detta i en slinga och använder villkoret AT End för att förstå när det inte finns fler sorterade poster att hämta. Om du vill skriva den sorterade posten till en fil, så får du inte glömma att först öppna filen för skrivning. Detta sker inte automatiskt som i fallet med Giving. I proceduren är du fri att ha egen logik

12 Sortering Sort-Return är ett s.k. Special Register, vilket innebär att denna variabel inte behöver beskrivas, utan finns inbyggd, och tilldelas ett värde som berättar med vilken retur-kod som sorteringsprogrammet avslutades

13 Adresser och pekare 18-1

14 Adresser och pekare I detta kapitel skall jag försöka reda ut hur strukturer adresseras, d v s hur programmet egentligen fungerar för att referera ett dataelement eller en struktur. 18-2

15 Adresser och pekare Adressering av strukturer sker genom att en basadress tilldelas en fysisk adress vid programexekveringen. Denna adress varierar och beror på hur programmet exekveras; som huvudprogram eller subprogram, var strukturen finns placerad m.m. En struktur som består av flera element adresseras på så sätt att till basadressen adderas avståndet till det element som refereras (Displacement/Offset). Avståndet till ett specifikt element är ju alltid detsamma, men den fysiska placeringen av strukturen kan variera, dvs basadressen kan olika värde. För att kunna referera en struktur så måste basadressen ha ett verkligt värde, annars uppstår ett exekveringfel på grund av felaktig adress ( Program Check Interrupt; 0C4, 0C5), och COBOL avbrotthanterare kommer att avsluta programmet onormalt (Abnormal End, ABEND) 18-3

16 Adresser och pekare Strukturer i Working-Storage Section är alltid adresserbara eftersom COBOLs initieringsrutiner skaffar fysisk utrymme till hela WS. Kompilatorn bygger kod för att adressera elementen i WS med tekniken Basadress + Tilläggsaddress, och run-time försäkrar att basadressen har ett verkligt värde. Det kan aldrig uppstå några exekveringsfel på grund av felaktig adress vid referens till element i WS. Strukturer i Linkage Section adresseras med basadress och tilläggsadress på samma sått som WS, men du måste själv ansvara för att basadressen har ett verkligt värde. Detta sker vanligen i samband med Call Using WS-ref och beskrivningen Procedure Division Using LS-ref. Andra sätt är att själv med programmering tilldela en verklig adress till en basadress. 18-4

17 COBOL påbyggnad Adresser och pekare Du kan själv deklarera en pekare. Detta görs genom att beskriva ett dataelement på valfri nivå, utan picture och endast Usage is Pointer. Du kan även försäkra dig om att värdet inledningsvis är ogiltigt, genom att ange Value Null. För att tilldela ett värde till en pekare, eller pekarvariabel, kan du inte använda Move, utan tilldelning sker med verbet Set. Genom att tilldela värdet Null till en pekarvariabel, kan du göra den ogiltig, vilket senare kan konstateras i en jämförelse med Null. Innehållet i pekare kan jämföras mot varandra eller mot värdet Null. Du kan även använda en uttrycklig pekarvariabel som ett argument i ett Call-anrop. 18-5

18 COBOL påbyggnad Adresser och pekare Address Of är ett s.k. Special Register (jfr Return-Code) som är en underförstådd pekarbeskrivning. När du behöver få tillgång till en strukturs adress använder du detta uttryck, eller tvärtom när du vill tilldela en struktur ett värde från en pekare eller från en annan struktur. En pekare kan tilldelas värdet Null (ogiltig) och kan användas i programlogik som du ser i detta exempel. 18-6

19 COBOL påbyggnad Adresser och pekare I detta exempel ser du en struktur som är beskriven i Linkage Section. Initialt så är detta bara en bild över hur en Kundpost ser ut, men basadressen (Address of Kundpost) är ogiltig eftersom den inte har blivit tilldelad något värde. För att kunna använda denna Kundpost-struktur, så måste en verklig förekomst av Kundpost existera. I detta exempel antar vi att det anropade programmet tillhandahåller en sådan via pekaren Minpekare. Efter anropet görs en test om pekaren har ett giltigt värde och i så pall tilldelas denna pekares adress till Address of Kundpost. Nu kan de olika elementen i Kundpost refereras utan risk för exekveringsfel orsakad av felaktig adress. 18-7

20 Adresser och pekare 18-8

21 Övningar II Övningar II 2015, Cobolskolan Sverige, B2-1

22 Övningar II Innehållsförteckning Uppgift 1 Frequent Flyer File... 3 Övning 2 Frequent Flyer Program... 4 Övning 3 Bonus Report... 5 Övning 4 Frequent Flyer Mileage... 6 Övning 5 Mileage File... 7 Övning 6 Date-and-Day Program... 8 Övning 8 Airline ID Övning 9 Mileage Table, sort, pekare , Cobolskolan Sverige, B2-2

23 Övningar II Uppgift 1 Frequent Flyer File Denna fil är grunden för flertalet övningar. Filen innehåller information om olika flygresor som en person gjort. Uppgifter som datum (Flight-Date), avrese- och destinationsort (City-Pair), flygbolag (Airline-Id), etc. finns lagrade här. Filen har ett utseende som du ser i nedanstående bild. Kol Fält Format 01 Reserved Flight-Date mm/dd City-Pair xxx-xxx Airline-ID xx Flight-Number nnnn 20 Class-of-Travel x Mileage nnnnn Filler Filen FREQFILE finns i mappen C:\COBOLKURS\DATA. Lokalisera filen, notera namnet och bekanta dig med innehållet. 2015, Cobolskolan Sverige, B2-3

24 Övningar II Övning 2 Frequent Flyer Program I denna uppgift kommer du att skriva ett program som skapar en rapport från information i resefilen. Skriv ett program, FREQPGM, som läser samtliga poster i filen FREQFILE och skriver en rapport. FREQFILE FREQPGM FREQLIST Rapporten skall ha följande utseende: Frequent Flyer Report Date Id Fl# Cl C-Pair Mileage 01/ Y DFW-ATL / Y LAS-DFW / Y BNA-DFW / C SXM-DFW / Y RDU-DCA / Y DFW-LAX / C SJU-SXM Total Mileage nn nnn Page , Cobolskolan Sverige, B2-4

25 Övningar II Övning 3 Bonus Report Komplettera ditt program så att rapporten kommer att ha följande utseende: Frequent Flyer Report Date Id Fl# Cl C-Pair Mileage Inc Bonus 01/ Y DFW-ATL / Y ATL-BNA / Y BNA-DFW / C SXM-DFW / Y RDU-DFW / Y DFW-LAX / C LAX-DFW Total Mileage mm mmm nn nnn Page 1 End of Report Som Du ser så har det tillkommit en kolumn, Inc Bonus. För varje resa så skall en extra bonus tillkomma enligt följande regler: o o o o Samtliga klasser skall alltid få minst 500 miles när reslängden är lägre än 500, men ingen ytterligare bonus skall då tillkomma. Turistklass, Y, skall inte ha någon extra bonus. Business Class, C skall erhålla 125% på aktuell reslängd. First Class, F skall erhålla 150% på aktuell reslängd. 2015, Cobolskolan Sverige, B2-5

26 Övningar II Övning 4 Frequent Flyer Mileage I denna uppgift så kommer du att skapa en ny indexerad fil som skall fyllas med data, så att du från denna kan hämta reseavstånd (Mileage) när du senare skall skapa din rapport. Du skall skriva ett program som skapar en indexerad fil. Innehållet till filen finns mappen C:\COBOLKURS\DATA och innehåller reseavstånd för olika destinationer. Kontrollera och notera namnet. Filen antas vara osorterad, varför du först skall sortera filen till en ny fil, FREQMILS.TXT. Sorteringsbegreppet skall vara City-Pair. Den indexerad filen skall ha City-Pair som primärnyckel. Namnet på den skapade filen skall vara FREQMILE.NDX Filen har ett utseende som liknar denna: Kol Fält Format City-Pair xxx-xxx 08 Filler x Mileage nnnnn Filler x Innehållet ser du delar av här: AKL-HNL/04406 AKL-MEL/01636 AKL-NAN/01341 AKL-PPT/02544 AKL-SYD/ DFW-DEN/00645 DFW-DSM/00624 DFW-DTW/00987 DFW-ELP/ SYD-NLK/01043 YYZ-DFW/01199 YYZ-LGA/00356 YYZ-ORD/00437 Notera att filen bara innehåller information om flygväg i ena riktningen, t.ex DFW-DSM, men FREQFILE-filen kan mycket väl innehålla information om en resa gjord i andra riktningen. 2015, Cobolskolan Sverige, B2-6

27 Övningar II Övning 5 Mileage File Komplettera ditt tidigare program så att det hämtar reseavståndet från den nyligen skapade filen, FREQMILE.NDX, och inte från posterna i filen FREQFILE. FREQFILE FREQPGM FREQMILE Mileage? FREQLIST 2015, Cobolskolan Sverige, B2-7

28 Övningar II Övning 6 Date-and-Day Program I den här uppgiften skall du skriva ett program som skall kunna skapa datum i olika format. Programmet skall kunna anropas med en parameter som beskriver i vilket format datumet skall levereras. Skriv ett program, FREQDATE, som skall kunna anropas som ett subprogram, där du i anropet skall kunna ange att det returnerade datumet skall vara i något av nedanstående format. DATE=S ( 4/4, 200x ) DATE=M ( April 4, 200x ) DATE=L ( Tuesday, April 4, 200x, at hh:mm ) Programmet skall konstrueras så att det består av ett huvudprogram som analyserar att anropsparametern är korrekt. Sedan skall de olika datumformaten konstrueras av inbakade program i samma laddmodul/källkod. FREQPGM FREQDATE Call Program Using Parm1, Parm2,.. Exit Program Datshort Datmed Datlong Datnext Lämpligen skapar du ett huvudprogram som innehåller enskilda program för att skapa de olika datumformaten. Du behöver ju även ett hjälp-program som beräknar framtida datum. Bestäm själv formatet för interna anropsparametrar etc. Datum som programmet skall returnera är dagens datum samt datum om 30 dagar. Komplettera sedan huvudprogrammet så att det kan anropas med en parameter vid exekveringen (DATE=S/DATE=M/DATE=L). Programmet skall även skriva ut ett meddelande om exekveringsparameter utelämnats eller är felaktig och avslutas med lämplig returkod. Uppdatera programmet, så att rapporten får ett utseende som liknar denna: 2015, Cobolskolan Sverige, B2-8

29 Övningar II Frequent Flyer Report Printed : Monday, March 3, 200x, at hh:mm Valid until : Friday, April 7, 200x Date Id Fl# Cl C-Pair Mileage Inc Bonus Total Mileage mm mmm nn nnn Page 1 End of Report 2015, Cobolskolan Sverige, B2-9

30 Övningar II Övning 8 Airline ID Komplettera rapporten så att den skriver ut namnet på flygbolaget. Detta namn finns i en indexerad fil i mappen C:\COBOLKURS\DATA. Airline-Id är nyckel. Filen har följande utseende: Kol Fält Format Airline-Id nn 03 Filler x Airline-Name xxxx xxx (25) Filler x Det kan vara lämpligt att läsa in denna fil i en intern COBOL-tabell och söka i denna för att hämta Airline-Name. Räkna med att maxantalet flygbolag är , Cobolskolan Sverige, B2-10

31 Övningar II Övning 9 Mileage Table, sort, pekare I denna uppgift så kommer du skapa en ny version av programmet FREQMILE. Programmet FREQMIL2 skall använda samma fil som användes för att skapa filen FREQMILE.NDX, för fylla en intern COBOL-tabell med data från filen samt kunna göra sökning i tabellen. Filen antas vara osorterad och programmet skall gör en COBOL internsort av filen innan tabellen fylls med data. Nyckeln är som tidigare City-Pair. Utrymme för tabellen skulle i icke-windows -miljö kunna allokeras dynamiskt m.h.a Cobol Language Environment callable services. I vår miljö antar vi att tabellen kan innehålla maximalt 500 element. Programmet FREQPGM2 skall anropa FREQMIL2 med begäran om sökning av visst City-Pair samt med en pekare, som detta program skall peka på den sökta posten i tabellen vid lyckad sökning. Om sökningen misslyckas skall pekaren ha värdet Null. FREQPGM2 Postpekare FREQMIL2 Postpekare FREQMILE CALL Pgmnamn Using City- Pair,Postpekare Sort 2015, Cobolskolan Sverige, B2-11

Övningar II MONITOR IT-utbildning, Cobolskolan Sverige, B2-1

Övningar II MONITOR IT-utbildning, Cobolskolan Sverige,  B2-1 2015 MONITOR IT-utbildning, Cobolskolan Sverige, www.cobolskolan.se B2-1 Innehållsförteckning Uppgift 1 Frequent Flyer File... 3 Övning 2 Frequent Flyer Program... 4 Övning 3 Bonus Report... 5 Övning 4

Läs mer

Bättre COBOL. monitors. Peter Sterwe. training people

Bättre COBOL. monitors. Peter Sterwe. training people training people monitors Bättre COBOL Peter Sterwe Bättra på dina kunskaper i COBOL på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet av utbildning inom IBM

Läs mer

COBOL. från grunden. monitors. Peter Sterwe. training people

COBOL. från grunden. monitors. Peter Sterwe. training people training people monitors COBOL från grunden Peter Sterwe Lär dig grunderna i COBOL-programmering på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet av utbildning

Läs mer

Övningar MONITOR IT-utbildning, Cobolskolan Sverige, B1-1

Övningar MONITOR IT-utbildning, Cobolskolan Sverige,  B1-1 2011 MONITOR IT-utbildning, Cobolskolan Sverige, www.cobolskolan.se B1-1 Innehållsförteckning Övning 1 - Kompilering och Länkning... 4 Uppgift 1 - Ett enkelt program... 4 Övning 2 - Fellista... 5 Uppgift

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

Läs mer

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 1 2 - Block, räckvidd Dagens föreläsning Programmering i Lisp - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch

Läs mer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

C++ Slumptalsfunktioner + switch-satsen

C++ Slumptalsfunktioner + switch-satsen C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering 1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Föreläsning 14 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Exceptionella händelser Vanliga Programfel Exception-klasser Automatiskt genererade

Läs mer

COBOL med DL/I, CICS och JCL. Övningar MONITOR IT-utbildning, Cobolskolan Sverige, B1-1

COBOL med DL/I, CICS och JCL. Övningar MONITOR IT-utbildning, Cobolskolan Sverige,  B1-1 2016 MONITOR IT-utbildning, Cobolskolan Sverige, www.cobolskolan.se B1-1 Innehållsförteckning Övning 1 COBOL-program... 4 Uppgift 1 Läsa transaktionsfil... 4 Övning 2 Frequent Flyer Report Program... 6

Läs mer

Java, klasser, objekt (Skansholm: Kapitel 2)

Java, klasser, objekt (Skansholm: Kapitel 2) Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via

Läs mer

Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007

Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007 Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler

Läs mer

Föreläsning 6 pekare och pekare tillsammans med arrayer

Föreläsning 6 pekare och pekare tillsammans med arrayer Föreläsning 6 pekare och pekare tillsammans med arrayer Vi ska nu undersöka vad pekare egentligen är och hur de relaterar till arrayer. Det är ett centralt tema i C-programmering. Vi följer boken och går

Läs mer

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning 1 Dagens föreläsning Programmering i Lisp - Block, räckvidd - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning - Felhantering (kap 17) icke-normala återhopp catch

Läs mer

Språket Python - Del 2 Grundkurs i programmering med Python

Språket Python - Del 2 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2005-06-09.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Ett plustecken kan se ut på många sätt. En variant är den som ses nedan. Skriv ett program som låter användaren mata in storleken på plusset enligt exemplen

Läs mer

Tentamen i Introduktion till programmering

Tentamen i Introduktion till programmering Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:

Läs mer

Övningar MONITOR IT-utbildning, Cobolskolan Sverige, B1-1

Övningar MONITOR IT-utbildning, Cobolskolan Sverige,  B1-1 2016 MONITOR IT-utbildning, Cobolskolan Sverige, www.cobolskolan.se B1-1 Innehållsförteckning Övning 1 - Kompilering och Länkning... 4 Uppgift 1 - Ett enkelt program... 4 Övning 2 - Fellista... 5 Uppgift

Läs mer

Tentamen Programmeringsteknik för BME, C, D, E, F, I, N & Pi

Tentamen Programmeringsteknik för BME, C, D, E, F, I, N & Pi LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen Programmeringsteknik för BME, C, D, E, F, I, N & Pi EDA011 / EDA016 / EDA017 2016 01 13, 08:00 13:00 Anvisningar: Preliminärt ger uppgifterna

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

Läs mer

*Pekarvärden *Pekarvariabler & *

*Pekarvärden *Pekarvariabler & * *Pekarvärden *Pekarvariabler & * Motivering Pekare är ett fundamentalt koncept i C (och C++) Multipla returvärden från funktioner. Arrayer hanteras via pekare Dynamiskt minne (kommer i slutet av kursen)

Läs mer

Laboration: Whitebox- och blackboxtesting

Laboration: Whitebox- och blackboxtesting Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design Alex Gerdes, 2016 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon tripoly =

Läs mer

Övning från förra gången: readword

Övning från förra gången: readword (9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver

Läs mer

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

Du skall naturligtvis visa körexempel med output där det behövs i din rapport! och databprogrammering Christilinda Göstson - PL/SQL, paket och ref cursor Du skall naturligtvis visa körexempel med output där det behövs i din rapport! OBS! Denna labb redovis i labbrapport via mail

Läs mer

Testning av program. Verklig modell för programutveckling

Testning av program. Verklig modell för programutveckling Fel i program När man skriver program uppkommer alltid fel. Felen kan indelas i följande kategorier: Under kompileringen upptäcker kompilatorn fel som handlar om att man använt konstruktionerna i programspråket

Läs mer

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

SQLs delar. Idag. Att utplåna en databas. Skapa en databas Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver

Läs mer

Komponenter med COM (och COM+/VC++ 7.0)

Komponenter med COM (och COM+/VC++ 7.0) MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

Kapitel 4 Arkivmenyn Innehåll

Kapitel 4 Arkivmenyn Innehåll Kapitel 4 Arkivmenyn Innehåll ARKIVMENYN...2 Byt aktuell användare...2 Utskrift till skärm eller skrivare...3 SQL verktyget...4 Ny SQL...4 Hämta SQL...5 Spara SQL...5 Kör SQL...5 Visa som...5 Avsluta...5

Läs mer

z/os JCL och Utilities

z/os JCL och Utilities training people monitors z/os JCL och Utilities från grunden Peter Sterwe Lär dig grunderna i z/os JCL och Utilities på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet

Läs mer

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-08-31 Laborant(er): 1 Syfte Laborationen ska ge studenten möjlighet att genom assemblerinlägg

Läs mer

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon

Läs mer

Statistik över heltal

Statistik över heltal Övningsuppgift Statistik över heltal Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande

Läs mer

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11 Undantag Engelska: exceptions Skansholm: exceptionella händelser Fel som genereras om man försöker

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2016 01 13, 08:00 13:00 Anvisningar: Denna tentamen består av tre uppgifter. Preliminärt ger uppgifterna 6

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2 Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 2 TID: 4 timmar Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt

Läs mer

DL/I programmering. från grunden. monitors. Peter Sterwe. training people

DL/I programmering. från grunden. monitors. Peter Sterwe. training people training people monitors DL/I programmering från grunden Peter Sterwe Lär dig grunderna i DL/I-programmering på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

Läs mer

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 0 # coding : latin Sammanfattning Gick igenom listor, dictionary, felhantering, strängjämförelser, split(), rstrip()

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 4 Objektorienterad programmering i Java I Uppgifter: 1 Beräknad tid: 6 9 timmar Att läsa: Kapitel 7, 8 (stränghantering, arrayer och Vector) Utdelat material (paket) Syfte: Att kunna använda

Läs mer

Kopiering av objekt i Java

Kopiering av objekt i Java 1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom

Läs mer

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse Lär känna MS SQL 2008 / Övning Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander F9 - Polymorfism ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Polymorfism - flerformighet Vi vet vad metoden heter (signaturen) Men vi vet inte vid anropet exakt vilken metod som faktiskt

Läs mer

Dubbelklicka på det erhållna programpaketets ikon för att starta installeraren. Du visas därefter följande:

Dubbelklicka på det erhållna programpaketets ikon för att starta installeraren. Du visas därefter följande: Öppna den hämtade diskavbildningsfilen (Cirrato.dmg) - i vilken du finner programpaketet för att nå nödvändiga installationsfiler. (se ikoner nedan för de olika hämtbara paket- versionerna) Dubbelklicka

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller

Läs mer

Tentamen *:58/ID100V Programmering i C Exempel 3

Tentamen *:58/ID100V Programmering i C Exempel 3 DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst

Läs mer

Instuderingsfrågor, del D

Instuderingsfrågor, del D Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,

Läs mer

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man

Läs mer

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då Agenda Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer Övningar nu och då 1 Motivering I de flesta problem ingår att hantera multipla data I de

Läs mer

Föreläsning 5-6 Innehåll

Föreläsning 5-6 Innehåll Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Föreläsning 18 Filer och avbildningar

Föreläsning 18 Filer och avbildningar Föreläsning 18 Filer och avbildningar Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 15.11.2011 Avbildningar Hur skulle du göra en: Ordlista

Läs mer

PROGRAMMERING-Java TENTAMINA

PROGRAMMERING-Java TENTAMINA PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För

Läs mer

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så

Läs mer

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer

Läs mer

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20. Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

ENTRÉ DOKUMENTHANTERING...

ENTRÉ DOKUMENTHANTERING... Entré Innehåll ENTRÉ DOKUMENTHANTERING... - 2 - Starta Dokumenthantering... - 3 - Lägga till dokument via frågeguide... - 4 - Frågeguiden... - 5 - Lägga till dokument manuellt... - 7 - Lägg till fil...

Läs mer

Övningsuppgifter kapitel 8

Övningsuppgifter kapitel 8 Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans

Läs mer

Chapter 3: Using Classes and Objects

Chapter 3: Using Classes and Objects Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

4.4 Swing ett interaktivt grafiskt gränssnitt

4.4 Swing ett interaktivt grafiskt gränssnitt 4.4 Swing ett interaktivt grafiskt gränssnitt Våra javaprogram har hittills bara haft utdata, inga indata. Det var utdata som skrevs ut från programmet till bildskärmen antingen med metoden showmessagedialog()

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

Läs mer

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående

Läs mer

Minnestilldelning (allokering) och frigörande (avallokering) av minne

Minnestilldelning (allokering) och frigörande (avallokering) av minne Pekare i C++ Pekare används mycket i C++. De är bra både för att de tillåter dynamisk minnesallokering och för att de är referenser. En pekarvariabel innehåller en adress till ett element, den pekar på

Läs mer

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel.

Föreläsning 4 Programmeringsteknik DD1310. Felhantering. Syntax. try och except är reserverade ord som används för hantering av exekverings fel. Föreläsning 4 meringsteknik DD1310 Definiering av egna funktioner Parametrar Lokala och globala variabler Retursats None try och except är reserverade ord som används för hantering av exekverings fel.

Läs mer

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

Läs mer

Föreläsning 3-4 Innehåll

Föreläsning 3-4 Innehåll Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym

Läs mer

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade.

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade. Sortering Den sorteringsalgoritm som vi använder oss kallas selection sort (urvalssortering) och är en av många existerande sorteringsalgoritmer. Dess funktionssätt beskrivs kanske bäst genom ett konkret

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

Läs mer

Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus.

Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus. Fält av referenser Tanken med objekt är man kan bygga ihop olika sorts objekt till nya saker. Sålunda kan man exempelvis använda Bil och Trafikljus att konstruera ett Väg-objekt. Om Bil och Trafikljus

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Föreläsning 22 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Rekursion Samlingar Listor Mängder Avbildningstabeller 1 Rekursion För att förstå rekursion

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Frakt och webbutiksinställningar

Frakt och webbutiksinställningar Frakt och webbutiksinställningar Detta dokument vänder sig till webbutiker som har en integrerad fraktmodul gentemot Fraktjakt. För att fraktmodulen ska fungera måste man ha registrerat ett webbutik på

Läs mer

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25 Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-0-2 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Elena Fersman besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka

Läs mer

1 Funktioner och procedurell abstraktion

1 Funktioner och procedurell abstraktion 1 Funktioner och procedurell abstraktion Det som gör programkonstruktion hanterlig och övergripbar och överhuvudtaget genomförbar är möjligheten att dela upp program i olika avsnitt, i underprogram. Vår

Läs mer

Programbeskrivning. Chaos på Web. Version 1.0 2005-09-21

Programbeskrivning. Chaos på Web. Version 1.0 2005-09-21 2005-09-21 Programbeskrivning Chaos på Web Version 1.0 Chaos systems AB Tel. 08-410 415 00 e-post: info@chaos.se Solna strandväg 18, 6tr Fax. 08-29 06 66 http://www.chaos.se 171 54 SOLNA Reg. nr: 556476-6813

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java. Laboration 1 Avsikt Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java. Del 1 Ta fram dokumentet NetBeans5_5.pdf från kurssidan och arbeta med

Läs mer

Lösningsförslag: Instuderingsfrågor, del D

Lösningsförslag: Instuderingsfrågor, del D Uppgift 1. Objektorienterad programmering, Z1 Lösningsförslag: Instuderingsfrågor, del D a) Inget fält behövs. Man kan läsa in ett tal i taget och addera dessa till summan. b) Här behövs ett fält. c) Här

Läs mer

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Lektion 4, del 1, kapitel 10 Funktioner i JavaScript Inlärningsmål Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner Introduktion

Läs mer

Rekursion och induktion för algoritmkonstruktion

Rekursion och induktion för algoritmkonstruktion Informationsteknologi Tom Smedsaas, Malin Källén 20 mars 2016 Rekursion och induktion för algoritmkonstruktion Att lösa ett problem rekursivt innebär att man uttrycker lösningen i termer av samma typ av

Läs mer