HI1024 Programmering, grundkurs TEN

Relevanta dokument
HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

Tentamen TEN1 HI

Tentamen TEN1 HI

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

Tentamen TEN1 HI

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Planering Programmering grundkurs HI1024 HT TIDAA

Planering Programmering grundkurs HI1024 HT 2014

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

Planering Programmering grundkurs HI1024 HT data

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN1 - Teoretisk tentamen Tid: Torsdagen den 20 oktober 2011,

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

BMI = (vikt i kg) / (längd i m) 2. Lösningsförslag

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

Tentamen i Programmering grundkurs och Programmering C

Tentamen i. Programmering i språket C

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

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

TDIU01 / 725G

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

Tentamen Grundläggande programmering

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

TENTA: TDDD11 & TDDC68. Tillåtna hjälpmedel. Starta Emacs, terminal och tentakommunikationsfönster. Skicka in frågor och uppgifter

729G04 Programmering och diskret matematik

TUTORIAL: SAMLING & KONSOLL

729G04 Programmering och diskret matematik

DUGGA Tentaupplägg

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

DUGGA Tentaupplägg

Tentamen ges för: Tentamensdatum: Tid:

kl Tentaupplägg

Värmedistribution i plåt

729G04 Programmering och diskret matematik TEN kl 8-12

Tentamen i Programmering grundkurs och Programmering C

kl Tentaupplägg

Arrays (indicerade variabler) Föreläsning 4

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Programmering Grundkurs (HI1900) Teoridel

tentamensdags och lab 3

TDDI22 (exempel) TDDI22 Tentaregler

Tentamen i Programmering grundkurs och Programmering C

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Programmeringsteknik med C och Matlab

HI1024 Programmering, grundkurs TEN

Tentamen i Grundläggande Programvaruutveckling, TDA548

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

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

LyckaTill önskar Anna

Att använda pekare i. C-kod

729G74 - IT och programmering, grundkurs. Dugga.

729G04 Programmering och diskret matematik TEN kl 8-12

Arrays (indicerade variabler) Föreläsning 6

kl Tentaupplägg

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

729G04 Programmering och diskret matematik

Tentamen FYTA11 Javaprogrammering

kl Tentaupplägg

kl Tentaupplägg

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

729G04 Programmering och diskret matematik

729G04 Programmering och diskret matematik Tenta kl 14:00-18:00

Skriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.

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

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

kl Tentaupplägg. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar)

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

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

kl Tentaupplägg

kl Tentaupplägg

#include <stdio.h> #include <string.h>

Tentamen i Programmeringsteknik I,, KandMa/Fy,

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Programmering. Scratch - grundövningar

2D1339 Programkonstruktion för F1, ht 2003

Uppgifter teknik HT17 (uppdaterad v. 40)

Funktioner och programstruktur. Föreläsning 5

Tentamen i Grundläggande programmering STS, åk 1 fredag

Föreläsning 4. Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar

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

Testning av applikationer

International Olympiad in Informatics July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor

Uppgift 1 (vadå sortering?)

Tentamen i Programmering grundkurs och Programmering C

kl Tentaupplägg

Innehåll i detta dokument

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

Kom igång med TIS-Office

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Transkript:

HI1024 Programmering, grundkurs TEN2 2015-01-08 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Tomma papper och penna. Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha tålamod! Logga inte ut förrän ni är klara med hela tentan. Svaren på uppgifterna ska vara program bestående av en fil som kallas uppg1.c, uppg2.c, uppg3.c och uppg4.c. Dessa ska sparas direkt under H:. Även om ni inte löser hela uppgiften så kan ni få delpoäng men ni måste se till att koden kompilerar och kan köras. Både output och koden bedöms och det är viktigt att denna är välskriven och uppfyller uppgiftens instruktioner. Välj bra variabelnamn och struktur men lägg inte så stor vikt vid kommentarer. Kom ihåg ert tentamenskonto. Resultaten kommer att presenteras kopplade till dessa. Lycka till Betygsgränser (Max 18p): 8p - Fx, 9p E, 11p D, 12p C, 14p B, 16p A Examinator: Nicklas Brandefelt C99 Vill du kunna använda C99 i Code::Blocks måste du göra följande: Settings Compiler Other options Lägg till: -std=c99 i fönstret och tryck OK

1. Fakultet (4p) Fakulteten av ett tal beräknas enligt n!=n (n-1) (n-2) 1. Ex: 4!=4 3 2 1=24 Skriv ett program som beräknar fakulteten av ett icke negativt heltal. Fakulteten av noll ska bli ett och om användaren anger ett negativt tal skall programmet svara med Error. En körning av ditt program bör kunna se ut enligt nedan: Ange tal:4 Fakulteten blir 24

2. Cirklar som struct (4p) I den här uppgiften ska vi representera cirklar med en struct. En cirkel har en viss position i ett koordinatsystem och en radie. Positionen är platsen för cirkelns mittpunkt. struct cirkel{ int x,y; int radie; }; typedef struct cirkel Cirkel; a) Skriv en funktion skrivut( ) som tar en Cirkel som in-parameter och skriver ut den till standard ut. Observera att denna funktion inte ska läsa in något från standard in. Anropa din funktion med en cirkel från main. Skapa cirkeln enligt exemplet nedan. Ex: En cirkel med position (3,2) och radien 5 skrivs ut som: Cirkel vid (3,2) med radie 5 b) Skriv en funktion flytta( ) som tar en pekare till en cirkel och två heltal (dx och dy) som inparametrar och som flyttar cirkeln (den cirkel som pekaren pekar på) dx enheter i x-led och dy enheter i y-led. Observera att detta är en hjälpfunktion: den ska inte läsa in något från standard in eller skriva ut något till standard out. Anropa din funktion med cirkeln från a) och flytta den ett steg i x-led och två steg i y-led innan du skriver ut den. c) Använd Cirkel-structen och dina funktioner ovan och skriv ett program som slumpar fram tio cirklar och lagrar dessa i en array. x och y ska slumpas så att värdena 0,1,2, 10 alla är lika sannolika. Radien ska slumpas så att värdena 1, 2, och 3 är lika sannolika. Programmet skall sedan flytta alla cirklar lika många steg i positiv x-led som värdet på respektive cirkels radie. En cirkel med radien 2 och position (2,4) skall alltså flyttas till (4,4). Avsluta med att skriva ut alla cirklar. Förutom att du ska använda funktionerna ovan skall du också använda arrayer och loopar på ett bra sätt för att få full poäng på uppgiften.

3. Glosor (6p) Denna uppgift går ut på att skriva ett program som låter användaren öva på glosor. För att förenkla behöver programmet inte innehålla någon filhantering. Programmet skall först presentera en meny där valen skall vara: 1. Mata in nya glosor 2. Ova fran svenska till engelska 3. Avsluta De olika valen: 1. Här får användaren mata in först den svenska glosan och sedan den engelska ända tills användaren istället för att mata in en svensk glosa slår * <enter>. Då skall programmet återgå till menyn. Väljer man detta val flera gånger skall glosorna läggas till den befintliga gloslistan. 2. Här slumpas svenska glosor fram och användaren får efter varje försöka skriva den engelska glosan. För full pott skall varje glosa slumpas precis en gång. När programmet slumpat lika många glosor som det finns så presenterar programmet antal procent rätt och återgår till huvudmenyn. Finns inga glosor återgår programmet direkt till huvudmenyn. 3. Programmet avslutar. Programmet skall använda funktioner och arrayer på ett bra sätt. Programmet får inte använda globala variabler. Programmet behöver inte hantera att användaren matar in fler än hundra glosor eller att glosorna är fler än 30 tecken långa.

4. Labyrint (4p) I den här uppgiften skall du skriva en funktion som hittar ut ur en labyrint. Labyrinten representeras av en 11*11 char-matris där * representerar en vägg och mellanslag: representerar en gång och s representerar startpositionen. Man kan från varje position i labyrinten gå upp, ned, höger eller vänster om det inte är en vägg i vägen (ej diagonalt). Funktionen skall returnera 1 om det finns en väg ut från s och 0 om det inte gör det. I mappen W:\HI1024 finns ett skal med två exempel-labyrinter definierade (den första saknar lösning och den andra har en lösning). Din funktion skall naturligtvis klara en godtycklig labyrint.