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

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

Planering Programmering grundkurs HI1024 HT 2014

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

Tentamen TEN1 HI

Planering Programmering grundkurs HI1024 HT TIDAA

Planering Programmering grundkurs HI1024 HT data

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

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

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Tentamen i Programmering grundkurs och Programmering C

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,

kl Tentaupplägg

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

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

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

Tentamen Grundläggande programmering

Tentamen i. Programmering i språket C

Tentamen i Grundläggande Programvaruutveckling, TDA548

Lösningar och kommentarer till uppgifter i 3.1

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I

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

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

Tentamen i Programmering

Tentamen ges för: Tentamensdatum: Tid:

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

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

kl Tentaupplägg

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

729G74 - IT och programmering, grundkurs. Dugga.

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

Användarhandledning Version 1.2

kl Tentaupplägg

5 Om f (r) = 0 kan andraderivatan inte avgöra vilken typ av extrempunkt det handlar om. Återstår att avgöra punktens typ med teckenstudium.

kl Tentaupplägg

Tentamen i. Programmering i språket C

6 Derivata och grafer

Sidor i boken f(x) = a x 2 +b x+c

f(x) = x 2 g(x) = x3 100 h(x) = x 4 x x 2 x 3 100

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

HI1024 Programmering, grundkurs TEN

vux GeoGebraexempel 3b/3c Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker

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

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

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

Programmeringsteknik med C och Matlab

kl Tentaupplägg

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

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

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.

tentaplugg.nu av studenter för studenter

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

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,

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

a = a a a a a a ± ± ± ±500

Tentamen i Introduktion till programmering

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

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

kl Tentaupplägg

Tentamen i Programmering grundkurs och Programmering C

Uppgift 1 (grundläggande konstruktioner)

kl Tentaupplägg

Objektorienterad Programmering (TDDC77)

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

Fler uppgifter på andragradsfunktioner

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

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

DD1361 Programmeringsparadigm. Carina Edlund

f(x) = x 2 g(x) = x3 100

Programmering Grundkurs (HI1900) Teoridel

Attila Szabo Niclas Larson Gunilla Viklund Mikael Marklund Daniel Dufåker. GeoGebraexempel

Arrays (indicerade variabler) Föreläsning 4

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

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

Uppgift 1a (Aktiekurser utan poster)

Tentamen: Datordel Programmeringsteknik

Tentamen i Grundläggande Programvaruutveckling, TDA548

Gamla tentemensuppgifter

Dagens tema är exponentialfunktioner. Egentligen inga nyheter, snarare repetition. Vi vet att alla exponentialfunktioner.

Värmedistribution i plåt

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 18:e augusti klockan

TENTAMEN. Rättande lärare: Sara Sebelius & Håkan Strömberg Examinator: Niclas Hjelm Datum:

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

DUGGA Tentaupplägg

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

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

Lösningsförslag till Tentamen i SF1602 för CFATE 1 den 20 december 2008 kl 8-13

Tentamen *:58/ID100V Programmering i C Exempel 3

Transkript:

HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.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. Kasta tärning (4p) Du ska här skriva ett program som låter användaren kasta valfritt antal sexsidiga tärningar och sedan får veta både vad varje kast blev och vad den totala summan blev. Försök att få körningen att se ut enligt nedan. Input från användaren är i fetstil. Hur manga tarningar vill du kasta?5 Du fick: 3, 5, 4, 2, 6, Summan blev 20 Avslutar

2. Andragradspolynom (6p) I den här uppgiften ska vi skriva hjälpfunktioner som gör olika saker med ett andragradspolynom representerat med en struct: struct pol2{ float a, b, c;//ax^2+bx+c }; typedef struct pol2 Pol2; Använd inga globala variabler. a) Skriv ett huvudprogram som skapar ett polynom, 2x 2 x + 4, med hjälp av structen ovan och skriver ut detta till skärmen genom att anropa en funktion (som du skriver). Funktionen skall endast ta ett polynom som in-parameter och klara att skriva ut godtyckligt polynom. Den skall absolut inte läsa in något från användaren. I utskriften ska du avrunda koefficienterna till tre decimaler. Utskriften bör i detta fall bli: (1p) b) Skriv en funktion som tar ett polynom och en float som in-parametrar och returnerar polynomets värde om man sätter x lika med decimaltalet som skickats in. Funktionen skall inte läsa in något från användaren och inte skriva ut något. Anropa funktionen efter utskriften med polynomet ovan och värdet 3. Skriv ut resultatet i main med tre decimaler. Utskriften bör nu bli: 19.000 (1p) c) Skriv en funktion som tar en pekare till ett polynom som in-parameter. Den skall sedan derivera polynomet. Funktionen skall inte returnera något och inte läsa in något från användaren och inte skriva ut något utan endast ändra polynomet den fått en pekare till så att det blir derivatan av polynomet. Kom ihåg att derivatan av ax 2 + bx + c blir 2ax + b. Anropa funktionen med polynomet ovan efter de tidigare utskrifterna och skriv sedan ut polynomet igen. Utskriften bör nu bli: 19.000 (0.000)x^2 + (4.000)x + (-1.000) (2p)

d) Skriv en funktion som tar ett polynom som in-parameter och beräknar polynomets reella nollställen, dvs de värden på x som gör att polynomets värde blir 0. Förutom ett polynom skall funktionen ta 2 pekare till floats som parametrar. I dessa ska den lagra resultatet. Om p2 är ett polynom bör ett anrop från main kunna se ut så här: if(roots(p2,&r1,&r2)) printf("polynomet har rotterna: %.3f, %.3f\n",r1,r2); Saknas nollställen skall funktionen returnera 0. Finns det ett nollställe skall både r1 och r2 få nollställets värde. Skapa nu ett nytt polynom, 3x 2 + 3x 6, och anropa din funktion med koden ovan. Utskriften bör nu bli: 19.000 (0.000)x^2 + (4.000)x + (-1.000) Polynomet har rotterna: 1.000, -2.000 Kom ihåg att en andragradare x 2 + px + q = 0 har lösningarna: p x 2 p 4 2 q 2 p där q 0 annars saknas rella lösningar. 4 (2p)

3. Mönsterigenkänning (4p) Skriv en funktion som hittar ett mönster i en sträng. Den ska då t.ex. hitta mönstret kla i strängen nicklas. Om den hittar mönstret ska den returnera sant (dvs 1) och annars falskt (dvs 0). Funktionen får inte använda några biblioteksfunktioner (t.ex får du inte använda strstr). För full poäng använd funktioner och arrayer på ett bra sätt. Använd inga globala variabler. Om du tycker uppgiften är svår kan du lösa den för mönster som är exakt tre tecken långa och kan då få 1 eller 2 poäng beroende på lösning. Skriv också main nedan så att du kan testa din funktion. Glöm inte att testa den för olika fall. int main(){ char s[] = "nicklas"; char pattern[]="lasa"; if(patternfinder(s,pattern)) printf("hittade monster!"); else printf("hittade ej monster"); return 0; } Körning: Hittade ej monster

4. Taltriangel (4p) I denna uppgift ska du skriva en funktion som börjar överst i en taltriangel och letar sig ner genom att i varje steg välja att gå åt höger eller vänster. Den ska då alltid välja det håll som ger den högsta siffran. Vid lika siffra ska den välja vänster. Funktionen ska skriva ut vilken väg den valt genom att ange v för vänster och h för höger. Funktionen ska också returnera summan av alla tal den passerat. Du ska anropa funktionen från huvudprogrammet med triangeln till höger och också i huvudprogrammet skriva ut summan. Funktionen ska klara en triangel av godtycklig höjd mindre än 11. För triangeln till höger bör utskriften bli: 5 2 7 9 1 0 6 3 4 7 h, v, h, 17 Du väljer själv format för triangeln men det måste klara olika stora trianglar. Tipset är att använda en 2D array. Bäst är nog också att man när man anropar funktionen skickar med både triangeln och triangelns höjd. Om det behövs skriv en kommentar så att jag förstår hur jag ska anropa funktionen med en annan triangel med en annan höjd. Du ska i programmet använda funktioner och arrayer på ett bra sätt och inte använda några globala variabler.