Tentamen Grundläggande programmering

Relevanta dokument
Exempel på ett litet Ada-program

TENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010

Paket (2) nautisk_mil : constant Float := * foot; ångström : constant Float := 10.0E-10; mile : constant Float := 5280.

5 Grundläggande in- och utmatning

KOMPLETTERANDE HEMTENTAMEN TDDB53

Föreläsning 6: Introduktion av listor

Föreläsning 4: Poster

Föreläsning 5: Introduktion av pekare

KOMPLETTERANDE HEMTENTAMEN TDDB53

KOMPLETTERANDE HEMTENTAMEN 2 TDDB53

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

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

2D1310 Programmeringsteknik Tentamen (1p) lördag 29 april 2000 kl 14-17

Datalogi, grundkurs 1. Lösningsförslag till tentamen

Tentamen ID1004 Objektorienterad programmering April 7, 2015

HI1024 Programmering, grundkurs TEN

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Omgivningar. Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem.

Datatyp - mera. Begreppet värde, igen. Ett slags mått på en egenskap, eller något fenomen. Ska ges en bred tolkning!

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

Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.'

Visual Basic, en snabbgenomgång

Objektorienterad Programmering (TDDC77)

Repetition C-programmering

Kontinuerliga listor. Fält (listor) Kontinuerliga listor... Kontinuerliga listor...

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

Tentamen i Introduktion till programmering

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 0: Introduktion av Ada

tentaplugg.nu av studenter för studenter

Parameteröverföring. Exempel. Exempel. Metodkropp

HI1024 Programmering, grundkurs TEN

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

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.

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Introduktion C-programmering

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

Föreläsning 10. Pekare (Pointers)

Introduktion till MATLAB, med utgångspunkt från Ada

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

Datalogi, grundkurs 1. Lösningsförslag till tentamen

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

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

TDDE10 TDDE11, 725G90. Gemensam kurswebsida på:

TENTAMEN OOP

Imperativ programmering. Föreläsning 2

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Månadsnamn september Några deklarationer

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

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

kl Tentaupplägg

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

TENTAMEN OOP

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:

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

Programmering A. Johan Eliasson

Enkla datatyper minne

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

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

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

tentaplugg.nu av studenter för studenter

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

Tentamen i Grundläggande Programvaruutveckling, TDA548

F4. programmeringsteknik och Matlab

Tentamen ges för: Tentamensdatum: Tid:

SMD 134 Objektorienterad programmering

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Föreläsning 7: Filer

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

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Tentamen i Programmeringsteknik I,, KandMa/Fy,

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

Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler

DAT043 Objektorienterad Programmering

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

Tentamen i Programmeringsteknik I

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

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

Tentamen FYTA11 Javaprogrammering

Objektorienterad programmering i Java

Typsystem. DA2001 (Föreläsning 23) Datalogi 1 Hösten / 19

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

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

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Tentamen i Grundläggande programmering STS, åk 1 lördag

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

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

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

Föreläsning 1: Momstabellen i C++

Objektorienterad Programmering (TDDC77)

LÖSNINGSFÖRSLAG TENTAMEN

Transkript:

Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4: 28 Betyg 5: 36 (samt efter frivilligt godkänt praktiskt prov 2012-01-18) Hjälpmedel: Ingenting förutom papper och penna Instruktioner: Samtliga uppgifter i denna tentamen är utformade så att du skall svara om ett påstående är sant eller falskt, svaren lämnas på sista sidan, markera ditt svar med ett S för Sant eller F för Falskt eller avstå. Till varje uppgift finns ett antal påståenden, varje påstående är antingen sant eller falskt. Varje korrekt svar på en delfråga (a-h) ger +1 poäng, varje felaktigt svar ger -1 poäng och varje utelämnat svar ger 0 poäng. För varje uppgift 1-6, kan du få maximalt 8 poäng och minst 0 poäng. Du kan aldrig få minuspoäng på en uppgift. Väg dina svar noggrant för att få bästa möjliga resultat! Lycka till! 2012-06-11 Tentamen DVA103 1/8

1) Grundläggande syntax och semantik a) Följande variabelnamn är korrekt i Ada Min, _M1000, Minus ( ) b) Ett reserverat ord får användas som namn på en typ men inte för en variabel ( ) c) Följande loop genomförs exakt två gånger (variabeln Last är deklarerad som Integer): Last := 0; for I in reverse 1..Last loop Last := Last + 2; end loop; ( ) d) Alternativet others i en case-sats används för att fånga upp eventuella fall som inte täcks av andra alternativ ( ) e) En function kan returna en access-variabel ( ) f) Följande är OK att skriva Nr : constant :=42; ( ) g) Följande kod är given: N := 0; for K in -4..4 loop for J in 1..K loop N := N + 1; end loop; end loop; Värdet på N efter genomgången kod är ett udda tal ( ) h) Följande kod är given N := 3; if N > 2 then N := 5; elsif N = 5 then N := 10; end if; Värdet på N är lika med 10 efter genomgången kod ( ) 2012-06-11 Tentamen DVA103 2/8

2) Följande program är givet: with Ada.Text_IO; procedure Test_2 is type Index is range 1..10; type Value is range 1..10; type Dimension is array (Index range 1..5) of Value; Data : Dimension := (5,2,6,4,3); begin for I in Data Range loop Data (I) := Data (I) + Value (I); end loop; Ada.Text_IO.Put_Line ("2a =>"&Data (Index'First)'img); Ada.Text_IO.Put_Line ("2b =>"&Data (5)'img); end Test_2; a) programmet skriver bland annat ut 2a => 1 ( ) b) programmet skriver bland annat ut 2b => 3 ( ) c) Data length är lika med 10 ( ) d) Man kan skriva Data := (others => 7); ( ) e) Satsen i loopen kan också ha skrivits som Data (I) := Data (I) + I; ( ) f) Typen Index är en s.k. access-typ ( ) g) Typen Value är en heltals-typ ( ) h) range och length är s.k. attribut ( ) 2012-06-11 Tentamen DVA103 3/8

3) Följande program är givet: procedure Test_3 is type Token is ('1','3','5','7','9','0','2','4','6','8'); type Message_Type is array (1..4) of Token; Null_Message : constant Message_Type := "0000"; Mess : Message_Type := Null_Message; begin Mess (1) := Token'Val (7); Mess (2) := Token'Val (1); Mess(3..4) := Mess(1..2); if Mess (3) = '2' then Mess (3) := '1'; end if; end Test_3; a) Token Last är lika med 8 ( ) b) I slutet av programmet har Mess(1) värdet 1 ( ) c) I slutet av programmet har Mess(1) värdet 2 ( ) d) I slutet av programmet har Mess(3) värdet 4 ( ) e) Givet att C är en Character kan man skriva C := Mess(1); ( ) f) Det är OK att göra följande tilldelning Null_Message (1..3) := Null_Message (2..4); ( ) g) Genom att använda Ada.Text_IO kan man skriva Put (Mess); ( ) h) Storleken på variabler av typen Message_Type kan få plats i 16 bitar genom att man använder pragma Pack (Message_Type); ( ) 2012-06-11 Tentamen DVA103 4/8

4) Följande program är givet: I Ada.Integer_Text_IO Finns procedure Put (Item : Num; Width : Field := Default_Width; Base : Number_Base := Default_Base); För Integer är Default_Width lika med 11, och Default_Base har värdet 10 a) Skriver man put (42); skrivs 11 tecken ut ( ) b) Att skriva Put (42,Base=>10,Width=>11); ger samma resultat ( ) c) Man kan skriva ut talet med 16 tecken genom att skriva Put (42,Base => 16); ( ) d) Man kan även skriva ut som Put (Item=> 42,11,10); ( ) e) En function kan ha in, out och in out parametrar ( ) f) En parameter till en procedure som är en access-typ måste alltid vara av typen in ( ) g) En function måste ha minst en parameter ( ) h) Man kan skapa följande function function abs (X : Float) return Integer; ( ) 2012-06-11 Tentamen DVA103 5/8

5) Givet att vi har följande variabler i språken Ada och C Ada: C: A, B : Boolean; char a,b; N,M : Integer; int n,m,vector[3]; a) A and B motsvaras av a && b ( ) b) n := n + m; motsvaras av n +=m; ( ) c) not A motsvaras av /a ( ) d) Ada och C är båda case-sensitive ( ) e) Ett huvudprogram i Ada är en procedure utan argument (i en fil) ( ) f) En array i C med längden n har element från 0 till n-1 ( ) g) Variabeln vector är en pekare ( ) h) &vector[0] är samma sak som vector ( ) 2012-06-11 Tentamen DVA103 6/8

6) Följande kod är given generic type Item is private; type Pointer is access Item; package Stack_Handler is type Stack is private; procedure Add (L : in out Stack; X : Item); procedure Get (L : in out Stack; X : out Item); function Empty (L : Stack) return Boolean; private type Stack_Array is array (1..100) of Item; type Stack is record Data : Stack_Array; Len : Integer := 0; end record; end Stack_Handler; a) Paketet Stack_Handler är exempel på ett generiskt paket ( ) b) Paketet kan exempelvis instantieras enligt type Person is record Age : Integer; Man : Boolean := False; Address : String (1..40); end record; type Person_Access is access Person; package Stackad_Person is new Stack_Handler (Person_Access,Person); ( ) c) En användare kan öka storleken på typen Stack_Array genom att speca en ny typ ( ) d) Funktionen Empty kan ändra på saker i sin variabel L, eftersom typen Stack är private ( ) e) Den formella parametern X i proceduren Add är av typen in ( ) f) En möjlig implementering av Empty är function Empty (L:Stack) return Boolean is begin return L.Len = 0; end Empty; ( ) g) En användare av en instantiering av paketet kan lagra upp till hundra element av den typ som är den aktuella parametern för den formella parametern Item ( ) h) Programmeringsspråket Ada har fått sitt namn från American Drug Association ( ) 2012-06-11 Tentamen DVA103 7/8

Namn/ID : Det är bara denna sida som ska lämnas in! 1 a b c d e f g h Summa 2 3 4 5 6 Total 2012-06-11 Tentamen DVA103 8/8