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

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Tentamen TEN1 HI

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

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

Planering Programmering grundkurs HI1024 HT 2014

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

Planering Programmering grundkurs HI1024 HT TIDAA

kl Tentaupplägg

Planering Programmering grundkurs HI1024 HT data

kl Tentaupplägg

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

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

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

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

TDIU20 (exempel) TDIU20 Tentaregler

kl Tentaupplägg

tentamensdags och lab 3

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

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

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

kl Tentaupplägg

Programmering Grundkurs Laboration 1

DUGGA Tentaupplägg

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

KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09

Tentamen i. Programmering i språket C

Tentamen i Programmering grundkurs och Programmering C

DUGGA Tentaupplägg

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 20

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

Frekvenstabell över tärningskast med C#

Agenda. Objektorienterad programmering Föreläsning 13

TDIU Regler

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

UPPGIFT 1 V75 FIGUR 1.

DD1311 Programmeringsteknik för S1 Laborationer läsåret

Instruktion för laboration 1

Tentamen Grundläggande programmering

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)

C++ Slumptalsfunktioner + switch-satsen

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

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

Programmeringsteknik med C och Matlab

MATEMATIKSPELET TAR DU RISKEN

Tentamen i Grundläggande Programvaruutveckling, TDA548

Tentamen: Datordel Programmeringsteknik

kl Tentaupplägg

kl Tentaupplägg

TUTORIAL: KLASSER & OBJEKT

Arrays (indicerade variabler) Föreläsning 4

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

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

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

Kurs: HF1012, Matematisk statistik Lärare: Armin Halilovic Datum: Tisdag 12 april 2016 Skrivtid: 8:15-10:00

Sannolikhet DIAGNOS SA3

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

Matematiska lägesmått med en micro:bit

Identifiering av stödbehov

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

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

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

TENTAMEN CD5250. Objektorienterad programutveckling med C++, 5p. Datum: , Tid: 14:00-19:00

Testning av applikationer

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

En typisk medianmorot

Tentamen i. Programmering i språket C

TDP Regler

7-1 Sannolikhet. Namn:.

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

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Tentamen i Programmering C, Fri, Kväll,

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

kl Tentaupplägg

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Tentamen ID1004 Objektorienterad programmering May 29, 2012

kl Tentaupplägg

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Omtentamen i Programmering C, Fri, Kväll,

kl Tentaupplägg

Värmedistribution i plåt

kl Tentaupplägg

Programmering Grundkurs (HI1900) Teoridel

Matematiska lägesmått med en micro:bit

kl Tentaupplägg

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

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

*Pekarvärden *Pekarvariabler & *

Instruktion för laboration 1

Övningsuppgifter till föreläsning 2 Variabler och uttryck

Tentamen: Datordel Programmeringsteknik

HI1024 Programmering, grundkurs TEN

TDIU01 / 725G

Transkript:

HI1024 Programmering, grundkurs TEN2 2014-10-27 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. Gissa talet (4p) Du ska skriva ett program som låter användaren gissa fram ett tal från 1-100. Efter varje gissning får användaren veta om denne gissat för högt eller för lågt. När användaren till slut gissat rätt presenterar programmet hur många gissningar som behövdes och avslutar sedan. Helst ska programmet slumpa fram det tal som användaren skall gissa. Får du inte till det kan du hårdkoda talet men får då en poäng mindre. Försök att få dialogen att efterlikna dialogen nedan. Fet stil är inmatningar. Gissa ett tal fran 1-100:40 For lagt. Gissa igen:70 For hogt. Gissa igen:55 For hogt. Gissa igen:46 Du gissade ratt pa gissning 4.

2. Använda struct för att representera lådor (4p) I den här uppgiften skall du använda en struct för att representera lådor. En låda skall ha egenskaperna längd, bredd och höjd, alla representerade med decimaltal. Dessutom ska varje låda ha en färg representerat med en sträng. Skriv en struct-definition överst i ditt program. a) Skriv en funktion skrivut( ) som tar en låda som in-parameter och skriver ut den till standard ut. Deklarera i main en variabel med hjälp av din struct. Initiera den med längd 3.5, bredd 7.0, höjd 3.0 och färgen gul. Deklarera en ny låd-variabel och initiera den med längd 4.0, bredd 5.5, höjd 9.0, och färgen vit. Använd din funktion skrivut två gånger för att skriva ut lådorna. Utskriften bör bli: langd: 3.500 bredd: 7.000 hojd: 3.000 farg: gul b) Skriv en funktion volym( ) som tar en låda som inparameter och beräknar och returnerar lådans volym. Anropa funktionen i main efter utskrifterna ovan med din gula låda och skriv ut resultatet. Observera att denna funktion precis som funktionerna nedan inte skall skriva ut något eller läsa in något från användaren. Utskriften nu bör bli: langd: 3.500 bredd: 7.000 hojd: 3.000 farg: gul Volym: 73.500 c) Skriv en funktion dubblavolym( ) som tar en pekare till en låda som inparameter och som dubblar lådans längd (den låda som pekaren pekar på). Använd funktionen för att dubbla den gula lådans volym innan du skriver ut den i programmet ovan. Utskriften nu bör bli: langd: 7.000 bredd: 7.000 hojd: 3.000 farg: gul Volym: 147.000 d) Skriv en funktion storlada( ) som tar två lådor som in-parametrar och skapar en ny låda som garanterat har plats för båda de inskickade lådorna och är svart. Funktionen returnerar sedan denna nya låda. Deklarera en ny variabel i main med hjälp av din struct och använd din nya funktion storlada för att tilldela variabeln en låda med plats för båda de två tidigare lådorna (efter dubblingen). Använd sedan skrivut för att skriva ut din nya låda. Observera att din funktion skall fungera för vilka 2 lådor som helst och inte bara för de i exemplet. Utskriften nu kan bli (den nya lådans dimensioner kan variera bara det går att lägga i de två lådorna ovan i den nya lådan): langd: 7.000 bredd: 7.000 hojd: 3.000 farg: gul Volym: 147.000 langd: 12.000 bredd: 13.500 hojd: 13.000 farg: svart

3. Kasta tre tärningar (6p) Om man kastar tre tärningar och summerar antalet prickar kan man få alla resultat från 3 till 18 dock med olika sannolikhet. Gör ett program som gör n st sådana försök och presenterar resultatet i en frekvenstabell. Användaren ska kunna välja n. Programmet skall använda arrayer och funktioner på ett bra sätt men inga globala variabler. Sist ska programmet skriva ut median och typvärde. Försök att få programmets utskrift att efterlikna nedanstående (fetstil är inmatning). Hur manga tarningar vill du kasta?100 Summa Frekvens 3 0 4 2 5 2 6 5 7 7 8 14 9 8 10 11 11 12 12 14 13 10 14 3 15 7 16 3 17 1 18 1 Median:11.0 Typvarde:8 Median Om alla resultat ordnas i storleksordning är medianen det mittersta resultatet. Vid jämt antal tal är medianen medelvärdet av de 2 mittersta talen Ex: 2,4,4,7,7,9,9,9,10,12,12,13,15,16,17,18 har medianen 9.5 Typvärde Det tal som förekommer flest gånger i ett material är typvärdet. Om två eller fler tal förekommer lika ofta är alla typvärden. I dessa fall räcker det här om ditt program anger ett av dessa. Obs att beräkna medianen korrekt i alla fall kan bli svårt beroende på val av lösning. Speciellt märks det när man väljer få antal tärningar. Om ditt program räknar ut rätt median i de flesta fall med många tärningskast ger det ett delpoäng. Om ditt program räknar rätt i alla fall ger det 2 delpoäng. Lägg inte allt för mycket tid på detta innan du är klar med tentan i övrigt.

4. 21-spel (4p) 21 är ett kortspel som finns i lite olika varianter. I denna variant turas spelarna om att dra ett kort var. En spelare får välja att passa och får då inga fler kort (man ska alltså inte kunna passa för att sedan dra fler kort). Om en spelare får en kortsumma över 21 förlorar denna direkt. Om en spelare får exakt 21 vinner denne direkt. Om båda valt att passa vinner den som har en kortsumma som är närmast 21 (vid lika vinner datorn). I ditt program skall användaren få spela 21 mot datorn en gång. Datorn börjar med att dra ett kort och därefter är det spelarens tur. Programmet slutar när någon vunnit enligt ovan och gratulerar användaren om denne vunnit. Datorspelaren väljer att dra kort till dess att datorn har 17 eller högre då den alltid passar. En kortlek består av korten 1-13 i hjärter (H), ruter (R), klöver (K) och spader (S). Till att börja med kan du låta programmet slumpa fritt mellan alla 52 kort så att samma kort kan komma flera gånger. För full poäng ska slutversionen säkerställa att varje kort endast kan dras en gång. En körning bör kunna se ut så här: 21 spel Datorn drar R8 och har summan 8. Du drar S6 och har summan 6. Datorn drar H11 och har summan 19. Du drar H1 och har summan 7. Datorn har passat och har summan 19. Du drar R5 och har summan 12. Datorn har passat och har summan 19. Du drar K13 och har summan 25. Datorn vann.