Tenta i Grundläggande programmering DD klockan

Relevanta dokument
Tentamen i Introduktion till programmering

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

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

729G04 Programmering och diskret matematik. Python 3: Loopar

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

729G04 Programmering och diskret matematik

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

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?

729G04 Programmering och diskret matematik

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 2 Jody Foo,

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Laboration: Whitebox- och blackboxtesting

Sökning i ordnad lista. Sökning och sortering. Sökning med vaktpost i oordnad lista

729G04 Programmering och diskret matematik. Föreläsning 7

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Uppgifter teknik HT17 (uppdaterad v. 40)

Grundläggande datalogi - Övning 1

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for

Fredag 10 juni 2016 kl 8 12

Föreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:

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

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

DD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011

DD1314 Programmeringsteknik

Föreläsning 5 Innehåll

Tentamen i Algoritmer & Datastrukturer i Java

Algoritmer och effektivitet. Föreläsning 5 Innehåll. Analys av algoritmer. Analys av algoritmer Tidskomplexitet. Algoritmer och effektivitet

Datalogi för E Övning 3

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

729G74 - IT och programmering, grundkurs. Dugga.

TENTAMEN OOP

HI1024 Programmering, grundkurs TEN

Föreläsning 2 Datastrukturer (DAT037)

Planering av ett större program, del 2 - for och listor. Linda Mannila

Tentamen, EDAA10 Programmering i Java

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Datalogi, grundkurs 1

Introduktion till programmering SMD180. Föreläsning 8: Listor

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering

Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2

Tentamen i Algoritmer & Datastrukturer i Java

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Föreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

Programkonstruktion och Datastrukturer

Erfarenheter från labben

729G04 Programmering och diskret matematik

Tentamen Grundläggande programmering

729G04 Programmering och diskret matematik TEN kl 8-12

Övningsuppgifter kapitel 8

Algoritmer. Två gränssnitt

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

Lösningsförslag till tentamen Datastrukturer, DAT037,

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Föreläsning 4 Programmeringsteknik och Matlab DD1312. Logiska operatorer. Listor. Listor, tupler, strängar och forslingor

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6

DAT043 Objektorienterad Programmering

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Övning 1 - Abstrakta datatyper

Teoretisk del. Facit Tentamen TDDC (6)

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Datalogi, grundkurs 1

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

Föreläsning 6: Introduktion av listor

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!

Lösningsförslag för tentamen i Datastrukturer (DAT037) från

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

TDDI16 Datastrukturer och algoritmer. Algoritmanalys

Prov i DAT 312: Algoritmer och datastrukturer för systemvetare

tentaplugg.nu av studenter för studenter

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Föreläsning ALGORITMER: SÖKNING, REGISTRERING, SORTERING

Lektion 2: Sökagenter. Robin Keskisärkkä

Algoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016

Sökning och sortering. Linda Mannila

Tentamen TEN1 HI

Grundläggande Datalogi

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Föreläsning 2 Programmeringsteknik och C DD1316

public static void mystery(int n) { if (n > 0){ mystery(n-1); System.out.print(n * 4); mystery(n-1); } }

Grundläggande datalogi - Övning 4

Använda Python Laboration 1 GruDat, DD1344

TDIU01 / 725G

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Tentamen, EDAA20/EDA501 Programmering

Hur man programmerar. Exempel på problemlösning i Python

DD1320 Tillämpad datalogi. Lösnings-skiss till tentamen

Transkript:

Tenta i Grundläggande programmering DD1331 2017-10-20 klockan 14.00 16.00 Marcus Dicander, KTH CST Tillåtna hjälpmedel: En Pythonbok, skrivmaterial, mat, medicin och vattenflaska. Otillåtna hjälpmedel: Laptop, mobiltelefon eller miniräknare. Bonuspoäng (upp till 4 för labbar redovisade i tid) gäller. För godkänt krävs 15 poäng. Högsta poängen du kan få är 24 (20 tentapoäng och 4 bonuspoäng). Hur du fyller i dina svar Skriv dina svar på ett separat svarspapper. Skriv namn och personnummer överst på det papperet. För varje uppgift, skriv en rad med uppgiftens nummer till vänster följt av det eller de alternativ som du tror är rätt svar. Skriv med stora bokstäver. När tentan är klar lämnar du bara in ditt svarspapper. Exempel: 1. P, Å 2. Y 3. T, Y 4. H, O, P 5. O, S, T 6. N, P

Tenta i DD1331 Grundläggande Programmering DD1331 1. (1p) Följande Python3-uttryck evalueras i Idle. Vad blir resultatet? >>> "PARIS"[::2] (A) A (B) AI (C) PA (D) PAR (E) PRS (F) R (G) RIS (H) SIRAP (I) SPIRA 2. (1p) Följande Python3-uttryck evalueras i Idle. Vad blir resultatet? >>> 1/2/2 (A) 0 (B) 0.0 (C) 0.25 (D) 1 (E) 1.0 (F) Inget av ovanstående alternativ. 3. (2p) Vad skriver detta program ut? def mystery(dygder): dygder[1] = dygder[2] dygder = ["rättvisa", "tapperhet", "klokhet", "måttfullhet"] mystery(dygder) for x in dygder: print(x, end = " ") print() (A) tapperhet rättvisa klokhet måttfullhet (B) tapperhet tapperhet klokhet måttfullhet (C) rättvisa klokhet tapperhet måttfullhet (D) rättvisa klokhet klokhet måttfullhet (E) klokhet måttfullhet rättvisa tapperhet

4. (1p) Vad svarar Idle efter att dessa rader Python3 har matats in? >>> lista = [3,1,4,1,5,9,2,6] >>> lista[2]+lista[-2] (A) 1 (B) 2 (C) 3 (D) 4 (E) 5 (F) 6 (G) 7 (H) 8 (I) 9 (J) Inget av ovanstående alternativ. 5. (2p) Vilket/Vilka alternativ beskriver bäst vad detta Python3-program gör? def mystery(): mystery() print("rekursion") mystery() (A) Det skriver Rekursion exakt en gång. (B) Raden med print körs inte en enda gång. (C) Det skriver Rekursion om och om igen tills någon slår av det. (D) Det kraschar. (E) Det skriver Rekursion färre än 100 gånger och avslutas sedan utan att krascha. (F) Inget av ovanstående alternativ.

6. (2p) Vad skriver följande Python3-program ut? def mystery(a,b): a,b = b,a print(a,b, end = " ") a,b = 42,13 mystery(a,b) print(a,b) (A) 13 42 13 42 (B) 13 13 13 13 (C) 42 42 42 42 (D) 13 42 42 13 (E) 42 13 13 42 (F) 42 13 42 13 7. (2p) Vad skriver följande Python3-program ut? def mystery(numbers): numbers[1] = numbers[2] print(numbers, end=" ") numbers = [1,2,3,4] mystery(numbers) print(numbers) (A) [1, 3, 2, 4] [1, 2, 3, 4] (B) [1, 3, 2, 4] [1, 3, 2, 4] (C) [1, 3, 3, 4] [1, 2, 3, 4] (D) [1, 3, 3, 4] [1, 3, 3, 4] (E) [2, 1, 3, 4] [1, 2, 3, 4] (F) [2, 1, 3, 4] [2, 1, 3, 4] (G) [2, 2, 3, 4] [1, 2, 3, 4] (H) [2, 2, 3, 4] [2, 2, 3, 4]

8. (2p) Byt ut kommentaren i koden nedan mot ett svarsalternativ i taget. Vilket/vilka alternativ får detta Python3-program att exekvera raden med print? # Här ska svaret stoppas in i koden. if ( not a or b) and (not b or c): print(a,b,c) (A) a, b, c = True, True, True (B) a, b, c = True, True, False (C) a, b, c = True, False, True (D) a, b, c = True, False, False (E) a, b, c = False, True, True (F) a, b, c = False, True, False (G) a, b, c = False, False, True (H) a, b, c = False, False, False (I) Inget av ovanstående alternativ. 9. (1p) En sorterad lista innehåller 250 heltal. Du vill undersöka om talet 997 finns med i listan och använder binärsökning. Hur många tal i listan kommer binärsökningen maximalt att läsa av? (A) 2 element (B) Ungefär 4 element (C) Ungefär 8 element (D) Ungefär 16 element (E) Ungefär 32 element (F) Ungefär 64 element (G) Ungefär 128 element (H) Alla 256 elementen

10. (1p) Vad är det sista som programmet skriver ut innan det avslutas? for i in range(5): print(i) (A) 1 (B) 2 (C) 3 (D) 4 (E) 5 (F) 6 (G) 7 (H) Inget av ovanstående alternativ. 11. (1p) Vad skriver följande Python3-program ut? def mystery(n): return n*mystery(n-2) print(mystery(3)) (A) 0 (B) 1 (C) 3 (D) 6 (E) Ingenting alls. Det har ett syntaxfel. (F) Ingenting alls. Programmet fortsätter för evigt. (G) Programmet kraschar.

12. (1p) Vad skriver följande Python3-program ut? def mystery(name): name += " " + "Yousafzai" print(name, end = " ") name = "Malala" mystery(name) print(name) (A) Malala Yousafzai Malala (B) Malala Yousafzai Malala Yousafzai (C) Yousafzai Malala (D) Malala Yousafzai (E) Malala Yousafzai Yousafzai 13. (1p) Följande kod implementerar insertion sort (insättningssortering). Vad är tidskomplexiteten i värsta fallet (mätt i antalet element i listan)? def insertion_sort(v): """Changes v to a sorted list.""" for index, value in enumerate(v): if index == 0 or v[index-1]<=value: continue for push_index in range(index-1,-1,-1): if v[push_index] <= value: push_index += 1 break v[push_index+1]=v[push_index] v[push_index] = value return v (A) logaritmisk: O(log(n)) (B) linjär: O(n) (C) n*log(n): O(n log(n)) (D) kvadratisk: O(n 2 )

14. (1p) Vilket Bash-kommando är bäst för att skriva ut de rader i en textfil som innehåller strängen mod, men inte rader som inte innehåller den strängen? (A) assert (B) cp (C) grep (D) mv (E) raise (F) rm (G) wc 15. (1p) Vilket/Vilka av följande påståenden om Github stämmer? (A) Du behöver lägga upp din privata SSH-nyckel på Github innan du kan pusha ändringar till en utvecklingskatalog/ett githubrepo. (B) git commit används för att tala om för git vilka filer som ska ändras. (C) git add används för att lägga in en kommentar om vilka ändringar som genomförts. (D) Det enda du behöver göra innan git push är att spara filen som har ändrats. (E) Inget av ovanstående.