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

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

tentamensdags och lab 3

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

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

Planering Programmering grundkurs HI1024 HT data

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

Planering Programmering grundkurs HI1024 HT TIDAA

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

Planering Programmering grundkurs HI1024 HT 2014

Uppgifter till praktiska tentan, del A. (7 / 27)

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

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. fredag 13 januari 2012

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

Tentamen i Programmering grundkurs och Programmering C

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

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001)

Tentamen i Programmering grundkurs och Programmering C

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Nu till dagens ämne: Vi rekapitulerar det första problemet ur ProblemI:

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

Tentamen *:58/ID100V Programmering i C Exempel 3

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

Tentamen i. för D1 m fl, även distanskursen. lördag 19 januari 2013

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

C++ Slumptalsfunktioner + switch-satsen

Tentamen i Programmering grundkurs och Programmering C

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Föreläsning 3. Programmering, C och programmeringsmiljö

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

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

Tentamen i. Programmering i språket C

Tentamen TEN1 HI

En kort text om programmering i C.

Tentamen i Programmering grundkurs och Programmering C

Programmeringsteknik med C och Matlab

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

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Detta är andra problemlösningsföreläsningen, vi diskuterar problemen ur Problem II.

Tentamen i. Programmering i språket C

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl

Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga,

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Fredagen 14 januari Tentamen består av 8 sidor

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

Tentamen i Programmering grundkurs och Programmering C

Programmering, grundkurs, 8.0 hp HI1024, omtentamen, TEN1. Tisdagen den 7 juni 2011,

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Programmering Grundkurs (HI1900) Teoridel

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Övning från förra gången: readword

Lämna in en ifylld kursvärdering tillsammans med tentan! Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl

Tentamen TEN1 HI

Tentamen i Programmering grundkurs och Programmering C

TDIU Regler

TDIU Regler

Instruktioner för att kunna programmera på skolans datorer

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

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

tentaplugg.nu av studenter för studenter

GPT The bitter end. Förra veckan: Rekursiva funktioner som läggs in externa filer har stor räckvidd

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

Föreläsning 13. In- och utmatning

Introduktion till programmering, hösten 2011

(2) Skriv ett program som skapar ett antal processer vars relationer beskrivs av nedanstående tidsdiagram a

Tentamen ges för: Tentamensdatum: Tid:

Kompilatorer och interpretatorer

Tentamen i Programmering grundkurs och Programmering C

Programmering, grundkurs, 8.0 hp HI1024, TEN1. Fredagen den 2 mars 2012

Deklarera en struct som kan användas för att representera en rät linje

HF0010. Introduktionskurs i datateknik 1,5 hp

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Omtentamen i Programmering C, 5p, A1, D1, PA1, Fri,

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

Tecken & Strängar. Kapitel 7

Att komma igång. Föreläsning 1

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

729G74 - IT och programmering, grundkurs. Dugga.

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

TDP Regler

översiktskurs (5DV031)

Loopar och datatyper. Föreläsning 3

Tentaupplägg denna gång

TDP Regler

Programmeringsteknik med C och Matlab

Tentamen i Programmering

TDIU Regler

Föreläsning 9. struct

Belopp Belopp > procent

TDP Regler

729G04 Programmering och diskret matematik

Programmeringsuppgifter 1

Tentamen TEN1 HI

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

Agenda. Introducera det individuella projekt Multipla C-filer H-filer Introducera uppgifterna

Transkript:

KTH STH TENTAMEN HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012 Gamla kurskoder: HI1900, 6E2950, etc. Examinator: Johnny Panrike Rättande lärare: Nicklas Brandefelt, Johnny Panrike och Peter Steiner Tentamen konstruerad av de som rättar tentan. Tentamen består av 5 sidor (inklusive denna sida.) Instruktioner. Alla uppgifter är värda 4 poäng styck. Tentan har en A-del och en B-del. A-delen innehåller tre uppgifter och B-delen innehåller två uppgifter. För att få minsta godkända betyg, E, ska man klara 8 poäng på A-delen. Om man inte klarat A-delen rättas inte B-delen. Om man klarat A-delen har man minst betyget E. B-delens uppgifter kan då ge ett högre betyg. Tillåtna hjälpmedel: Vad som helst i pappersform. Böcker, utskrifter, egna anteckningar etc. Dock inga som helst elektroniska hjälpmedel som USB-minnen, CD-skivor eller liknande. På W:\ finns det tillhörande filer för tentamen Man behöver inte ta hänsyn till ÅÄÖ någon av uppgifterna. Svaren till uppgifterna ska lämnas i form av C-program på nätverksenheten H: med namnen UPPG1.C, UPPG2.C, UPPG3.C, UPPG4.C, UPPG5.C. Inga andra filer kommer att beaktas vid rättningen (förutom de filer som hör till olika resultat som ska produceras av de program ni skriver). På H: ska också finnas en textfil med ditt namn och personnummer i. Lägg dit den filen det första du gör så att vi vet att du har kontakt med H:. För att ett program ska rättas måste det kunna köra (och därmed definitivt kompileras.) Rättningen går till som så att programmet provkörs för några olika indata, ofta andra än de som ges på själva tentamen. Programmet ska ge korrekt resultat vid dessa körningar. Vidare ska även programmets form och innehåll uppfylla de krav som ställts i uppgiften, helt enkelt till exempel om man ska skriva en funktion så ska en funktion finnas i svaret som man ger in. Alla uppgifter ger 4 poäng. Man kan få delpoäng för halvt fungerande program, men man får aldrig poäng för program som inte ens kan kompilera och köra. På samma sätt ges inga poäng för program som kraschar. (Till exempel om man glömmer adressoperatorn, &, då den behövs till scanf().) Uppgifterna i Del A examinerar också det som benämnts som kärnkompetensen i programmering. Vid varje uppgift anges vilket delområde av kärnkompetensen som de examinerar.

Del A 1 Jämför strängar (4p) [Strukturering, format/protokoll] Skriv en funktion som tar två strängar och returnerar hur många av bokstäverna i den första strängen som också finns i den andra strängen. Ex: comp("banan","arbete") ska returnera 3 eftersom b,a och a i banan finns i arbete comp("banan","avlusa") ska returnera 2 eftersom a och a i banan finns i avlusa comp("rivas","avlusa") ska returnera 3 eftersom v,a och s i rivas finns i avlusa Skriv också en main() som testar funktionen. Exempel på main() som testar funktionen: int main(void) printf("antal: %d",comp("banan","arbete")); 2 Ord som också är ord baklänges (4p) [Strukturering, funktioner] Skriv ett program som låter användaren mata in ett ord och som sedan berättar om ordet blir ett ord baklänges. Till din hjälp har du filen SAOL12.txt där det finns över 90000 ord. En testkörning av ett sådant program kan se ut så här: Vilket ord vill du kontrollera? (skriv med stora bokstaver)puts Ordet blir ett ord baklanges namligen: STUP Du kan utgå från att användaren skriver med stora bokstäver och att ordet hon skriver faktiskt är ett ord. Viktigt: programmet ska bygga på en funktion som vänder på ett ord i en sträng och använda den funktionen på strategiska ställen i programmet. 3. Kurs som struct (4p) [Strukturering] En kurs på KTH har flera egenskaper, en kod, ett namn, moment i LADOK och förkunskaper. Till exempel har den här kursen kurskoden HI1024, namnet Programmering, grundkurs, momenten TEN1, TEN2 och LAB1. Kursen kräver (formellt sett) inga förkunskaper, men vi skulle kunna kräva att kursen HF1010, som heter Introduktion till datateknik är förkunskaper. Vi representerar en kurs så här: struct kurs char kod[7]; char namn[50]; char moment[20]; char forkunskaper[7]; ;

En binärfil är baserad på ovanstående struct och innehåller information om en del kurser som ges i ett fiktivt utbildningsprogram som handlar om... ja det får ni se när ni öppnar filen! Skriv ett program som öppnar denna fil och läser in innehållet till en array av structar och sedan skriver ut kurserna på följande sätt: Kurser: 1. namn 2. namn 3. namn... Därefter ska programmet fråga efter en kurs som man får mata in, fullständig information om kursen visas då samt alla den kursens förkunskaper. Exempel Kurs: JS1234, Flugfiske Moment: TEN1 LAB1 Förkunskaper: JS1230, Fiske I den här situationen är Flugfiske en kurs som har Fiske som förkunskaper. (Vi bortser från fallet om en kurs har en kurs som förkunskaper som i sin tur har ytterligare en kurs som förkunskaper.) 4. Glosor (4p) Del B Skriv ett program som förhör engelska glosor. Programmet ska ge möjlighet att spara och läsa upp glosor från fil (du väljer om programmet lagrar ord i textfil eller binärfil). Programmet startar med att fråga om användaren vill läsa in glosor från fil. Om ja får användaren skriva in filnamn och sedan läses glosorna in. Sedan får användaren upp en meny: 1. Skriva in nya glosor 2. Ova svenska till engelska 3. Avsluta 1. Skriva in nya glosor. Användaren får skriva in ord på engelska och svenska tills hon slår enter eller skriver stopp eller annan lösning. 2. Öva svenska till engelska Användaren får välja antal glosor hon vill öva på. Programmet presenterar sedan slumpmässigt ett ord på svenska och användaren får sedan skriva in det engelska. När rätt antal ord är övade får användaren veta hur många procent rätt hon hade. Samma ord kan övas flera gånger. 3. Avsluta Vid avsluta får användaren ange vilken fil hon vill spara till. Väljer hon en fil som redan finns skrivs denna över. Sedan avslutar programmet.

Om du vill kan du utgå från följande skelett när du programmerar: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #define maxordlangd 30 #define maxantalord 100 int main(void) char lasa[5]; int antalord=0; int menyval; char svenska[maxantalord][maxordlangd]; char engelska[maxantalord][maxordlangd]; srand(time(0)); printf("vill du lasa in glosor fran fil (ja/nej)?"); scanf("%s",lasa); fflush(stdin); if(strcmp("ja",lasa)==0) lasin(svenska,engelska,&antalord); do printf("1. Skriva in nya glosor\n"); printf("2. Ova svenska till engelska\n"); printf("3. Avsluta\n"); scanf("%d",&menyval); if(menyval==1) skrivin(svenska,engelska,&antalord); else if(menyval==2) ova(svenska,engelska,antalord); while(menyval!=3); skrivtillfil(svenska,engelska,antalord); Kvar att göra då är att skriva funktionerna.

5. Master Mind (4p) I det här spelet slumpar datorn fram 4 siffror (0-9) på fyra positioner. Spelaren skall sedan gissa vilka siffror datorn har slumpat fram. Efter gissningen berättar datorn hur många siffror som var rätt siffra på rätt plats och hur många siffror som var rätt siffra men på fel plats. Sedan får spelaren gissa igen och så fortsätter spelet tills spelaren gissat rätt varvid denne gratuleras av programmet. Datorn slumpar fram fyra unika siffror och spelaren förväntas gissa fyra unika siffror. Så här skulle en körning där datorn slumpat fram siffrorna 3 7 1 0 se ut: Valkommen. Gissa fyra siffror(0-9) med mellanslag mellan siffrorna: 0 2 6 3 Du har 0 siffror ratt pa ratt plats och 2 siffror ratt pa fel 2 7 4 0 Du har 2 siffror ratt pa ratt plats och 0 siffror ratt pa fel 2 3 1 0 Du har 2 siffror ratt pa ratt plats och 1 siffror ratt pa fel 3 7 1 0 Grattis du gissade ratt på 4 gissningar!