Tentamen , Introduktion till Java, dtaa98, dtea53

Relevanta dokument
Tentamen , Grundläggande programmering i Java

SMD 134 Objektorienterad programmering

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

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

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

PROGRAMMERING-Java TENTAMINA

Tentamen OOP

Föreläsning 3-4 Innehåll

OOP Objekt-orienterad programmering

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

OOP Objekt-orienterad programmering

Att skriva till och läsa från terminalfönstret

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Programmering för språkteknologer II, HT2011. Rum

TENTAMEN OOP

"if"-satsen. Inledande programmering med C# (1DV402)

Föreläsning 2, vecka 8: Repetition

Tentamen i Algoritmer & Datastrukturer i Java

PROGRAMMERING-Java Omtentamina

System.out.println("Jaså du har "+ antaldollar + " stycken.");

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

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

Objektorienterad programmering i Java

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Föreläsning 6: Metoder och fält (arrays)

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

Föreläsning 14. Filhantering

Föreläsning 1 & 2 INTRODUKTION

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

F4. programmeringsteknik och Matlab

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Skillnader mellan Python och Java

Tentamen. Lösningsförslag

Föreläsning REPETITION & EXTENTA

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

OOP Objekt-orienterad programmering

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

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

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Föreläsning 9-10 Innehåll

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 8: Exempel och problemlösning

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Tentamen FYTA11 Javaprogrammering

Instuderingsfrågor, del D

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Programmering för språkteknologer I, VT2012. Rum

JAVA Mer om klasser och objektorientering

OOP Objekt-orienterad programmering

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Objektorienterad Programmering (TDDC77)

Skriftlig tentamen för kursen DV017A. Inledande programmering i Java A

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

TENTAMEN OOP

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Introduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014

Laboration 13, Arrayer och objekt

Föreläsning 3: Booleans, if, switch

I ett program hantera man ofta samlingar av objekt av samma typ.

Del A (obligatorisk för alla)

Laboration A Objektsamlingar

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77)

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

OOP Objekt-orienterad programmering

Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Typkonvertering. Java versus C

Språkkonventioner och redigering av tal.

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

1 Standardalgoritmer. 1.1 Swap. 1.2 Sök minsta värdet i en array

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Den som bara har en hammare tror att alla problem är spikar

1 Egna klasser. 1.1 En punkt-klass

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

OOP Objekt-orienterad programmering

Lösningsförslag tentamen FYTA11 Java

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

PROGRAMMERING-JAVA TENTAMINA

Lösningar för tenta 2 DAT043,

Hur ser ett Java-program ut?

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

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer

Transkript:

Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion till Java, dtaa98, dtea53 Gränser: G: 25 p. VG: 38 p. Max: 50 p. Uppgifter Läs skrivninsanvisningarna och följ dessa! Överträdelse har menlig inverkan på bedömning 1. 4 p Beskriv funktionen hos en Javatolk/JRE. Vad står JRE för? JRE är en förkortning för Java Runtime Environment på svenska Körtidsmiljö, här synonymt med virtuell maskin. Funktionen hos javatolken är att för ett system finns en javatolk som översätter javabytekod till det aktuella systemet. Javatolken i någon mening simulerar en javadator. Denna javadator är en säkrare och mer feltolerant konstruktion än de operativsystem som applikationer annars exekverar i. Denna konstruktion tillåter att man skriver javaprogram för en fiktiv javadator som sedan kan exekveras på många olika plattformar. 2. 3 p 3. 3 p 4. 3 p Beskriv utförligt hur typerna boolean och Boolean skiljer sig åt? boolean är en enkel/ primitiv typ, definierad av språket, medan Boolean är en referenstyp definierad av klassen Boolean. Detta medför att de operationer man kan utföra på en instans av typen boolean inte är samma som de operationer man utför på en instans av typen Boolean. I synnerhet: typen boolean har bestämda operatorer som man utnyttjar i samband med booleska värden. Typen Boolean har metoder och konstruerare som man utnyttjar. Antag att du ska skriva ett program som hanterar och lagrar ett hundregister. I registret finns följande hundar lagrade Amigo, Beethoven, Castor och Doglas. Vilka klasser och objekt kan du identifiera i beskrivningen ovan. Ange även det viktigaste medlemmarna. Motivera! Register klass med medlemmar läggtillhund( Hund ) hämtahund( HundNamn ) taborthund( Hund ) Hund klass med medlemmar namn, ras och andra intressanta attribut. A, B, C, D är objekt med egenskaper av Hund klassen Sortera in följande identifierare enligt: 1- Giltigt klassnamn enligt konvention 2- Giltigt variabelnamn enligt konvention (medlemsvariabel eller lokal variabel) 3- Giltig identifierare, men följer inte konvention för varken variabler eller klasser 4- Ogiltig identifierare

Sid:2(3) period2 3 eller 2, siffror används väldigt sällan i namn 2ndPeriod 4 ångrajanej 3 eller 2, variabler bör inte döpas på engelska LargeInteger 1 my-variable 4 OBS! Alla rätt krävs för att uppgiften ska ge poäng.

Sid:3(3) 5. 6 p 6. 10 p Vad blir utskriften av följande kompletta program? Motivera public class Main{ public static void main(string [] a){ int max = 14; for(int i=0; i<max ;i++){ for(int j=0;j<max;j++){ String symbol = ; if ( i == j i == max-j ){ symbol = x ; System.out.print( symbol ); System.out.println(); i och j kan betraktas som rad / kolumn i ett rutnät 14x14. Villkoret kontrollerar om i och j är lika eller om de är motsatta (i rutnätet). Om så är fallet skrivs ett x ut. Annars skrivs ett tomrum / blanksteg. Resultatet är ett kryss bestående av 14 rader och kolumner x Skriv ett fullständigt javaprogram som producerar följande användardialog och utskrift: Jag tänker på ett ord på 6 bokstäver. Ange din gissning: h Bokstaven finns på position 1. h : a Bokstaven finns inte. h : l Bokstaven finns på position 3. h l : Bokstaven finns på position 4. h ll : e Bokstaven finns på position 2. hell o Bokstaven finns på position 5. hello. Grattis. Du klarade det på 5 gissningar. Programmet ska behöver bara hantera ett ord (här hello). Vid 15 gissningar har man förlorat. Anm: 6 bokstäver i ledtexten är uppenbart felaktigt. import java.util.scanner; class U6 { public static void main(string[]arg){ String word = hello ;

Sid:4(3) 7. 4 p 8. 5 p String solution= ; System.out.println( Jag tänker på ett ord på + word.length() + bokstäver ); System.out.println( Ange din gissning: ); Scanner keyb = new Scanner( System.in ); boolean issolutioncomplete = false; for(int i = 0;i<15 && issolutioncomplete==false;i++){ String s = keyb.next(); char c = s.charat(0); boolean foundaletter = false; for(int j = 0; j< word.length; j++){ if ( word.charat(j)==c && solution.charat(i)!= c){ foundaletter = true; solution = solution.substring(0,j) + c + solution.substring(j+1,solution.length); System.out.println( Bokstaven finns på pos. + (j+1) +. ); if (!foundaletter ) System.out.println( Bokstaven finns inte. ); System.out.println( \ +solution+ \ : ); if ( word.equals( solution ) ) issolutioncomplete = true; if( issolutioncomplete ) System.out.println( Grattis! Du klarade det på + (i+1) + gissningar ); else System.out.println( Det gick inte, prova igen. ); indexof ur uppgift 10 kan också vara behjälplig. Betrakta programavsnittet Scanner keyb = new Scanner(System.in); int i = keyb.nextint(); int j = keyb.nextint(); if ( villkor ){ System.out.println("Villkoret är sant!"); Skriv villkor så att villkoret är sant om a) i är udda och j är större än 0 och mindre än 100. Om i är jämnt kan j ha vilket värde som helst. ( ( i % 2 == 1 && j > 0 && j < 100 ) i %2 == 0) b) heltalet i är antingen -1, 0 eller 1. För i == -1 kan j ha värdena -1, 0 eller 1. För i == 0, kan j ha värdet 0. För i == 1 kan j ha värdena -1, 0 eller 1. ( i * i <=1 && j*j<=1 && ( i*i=1 j == 0 && i == 0 ) ) Alternativet är att skriva sju sammansatta kombinationer för i och j. Beskriv steg för steg, en algoritm för att finna alla udda värden i en heltalsarray. Ange och beskriv indata och utdata. Indata: Array A av heltal

Sid:5(3) Utdata: Array av alla udda heltal ur A Metod: - Låt S vara en tom heltalsarray - För varje element e i A - Om e%2 == 1 är elementet udda: lägg till elementet e till S - S innehåller alla udda element från A 9. 8 p 10. 4 p Skriv ett komplett program som summerar alla heltal som finns i en fil C:\texts\mynumbers.txt. Filen består bara av heltal separerade med nyrad-tecken. Om innehållet i filen är: 24-3 1 Ska programmet skriva ut: 22 Du ska i din lösning använt klasserna FileReader och BufferedReader, eller klassen Scanner. Om du glömt bort vilka metoder som klasserna innehåller, så gissa. En rimlig gissning ger färre poängadrag. Glöm inte try / catch. Undantaget som ska fångas är av typen IOException. Scanner gör det väldigt enkelt att lösa uppgiften import java.io.*; import java.util.scanner; class U9{ public static void main(string [] arg){ try{ FileInputStream fis = new FileInputStream( \\text\\numbers.txt ); Scanner reader = new Scanner( fis ); int sum =0; while( reader.hasnextint()){ sum += reader.nextint(); fis.close(); System.out.println( sum ); Följande är ett uttdrag ur dokumentationen av en metod i klassen String int indexof(string str) Returns the index within this string of the first occurrence of the specified substring. Förklara utförligt vad det står. Ge utifrån din förklaring ett exempel på hur metoden kan anropas. Returtypen int anger att uttrycket utvärders som ett heltal. Det är inte en statisk metod, dvs den tillämpas på objekt, inte klasser. Argumentet String str anger vad

Sid:6(3) som ska sökas efter. Underförstått söker man i den instans som metoden tillämpas på. Ex String objekt = En uppgift om dokumentation ; // instansen skapad int index = objekt.indexof( pp ); pp är av typen String, vilket stämmer med beskrivningen av argumentet. Tilldelningen sker till en int, vilket stämmer med returvärdet, högerled och vänsterled har samma typ.