Till KTH:s startsida Till KTH:s startsida

Nyhetsflöde

Logga in till din kurswebb

Du är inte inloggad på KTH så innehållet är inte anpassat efter dina val.

I Nyhetsflödet hittar du uppdateringar på sidor, schema och inlägg från lärare (när de även behöver nå tidigare registrerade studenter).

December 2013
under
HT 2012 CINT2 TKOMK2
Schemahandläggare skapade händelsen 18 december 2013
 
Juni 2013
under HT 2012 CINT2 TKOMK2

Lärare Johan Montelius skapade sidan 16 november 2012

Lärare Johan Montelius ändrade rättigheterna 20 november 2012

Kan därmed läsas av alla och ändras av lärare.
kommenterade 25 november 2012

Finns det inga lösningar till de gamla tentor?

Lärare kommenterade 26 november 2012

Absolut bästa sättat att lära sig något är att försöka lösa uppgifterna och sedan jämföra löningen med andra studenters. Genom att se olika lösningar och förstå vilka misstag man gör själv så lär man sig betydligt mer än att titta på ett facit.

kommenterade 27 november 2012

Vore bra med facit för dem som bara ska skriva omtenta och pluggar själva.

En användare har tagit bort sin kommentar
kommenterade 6 december 2012

Saknar facit. Osäker på hur jag ska förstå vad som är rätt lösning genom att jämföra med en annan student som undrar samma sak.

En användare har tagit bort sin kommentar
kommenterade 7 december 2012

Saknar vänner. Osäker på hur jag skall få tag på dessa lösningar du pratar om.

Svar uppskattas.

kommenterade 7 december 2012

Saknar både vänner och facit.Osäker på vart jag ska ta vägen.

kommenterade 7 december 2012

Jag kan tyvärr inte hjälpa dig med det det, David, men här kommer lösningen på 2012-tentans första fråga. Någon annan som vill hjälpa till att fylla tomrummet?

-module(bubble).
-export([bsort/1]).

bubble([]) ->
    [];
bubble([A|[]]) ->
    [A|[]];
bubble([A|T]) ->
    [B|R] = bubble(T),
    if
    B < A ->
        [B|[A|R]];
    true ->
        [A|[B|R]]
    end.
    
bsort([]) ->
    [];
bsort([A|[]]) ->
    [A|[]];
bsort(L) ->
    [A|T] = bubble(L),
    [A|bsort(T)].


-module(bubbles).
-export([bsort/1]).

bubble([]) ->
    {done, []};
bubble([A|[]]) ->
    {done, [A|[]]};
bubble([A|T]) ->
    {Status, [B|R]} = bubble(T),
    if
    B < A ->
        {more, [B|[A|R]]};
    true ->
        case Status of
        done ->
            {done, [A|[B|R]]};
        more ->
            {more, [A|[B|R]]}
        end
    end.
    

bsort([]) ->
    [];
bsort([A|[]]) ->
    [A|[]];
bsort(L) ->
    {NewStatus, L2} = bubble(L),
    if
    NewStatus == done ->
        L2;
    NewStatus == more ->
        [A|T] = L2,
        [A|bsort(T)]
    end.

kommenterade 10 december 2012

Ska dagens tenta läggas upp snart så man kan gå igenom den för eventuella felaktiga lösningar?

Johan Montelius redigerade 19 december 2012

övningstentor Här är gamla tentor men årets tentamen kommer att se lite annorlunda ut. Avsnittet med den operationella semantiken är bortplockat så de andra delarna blir kanske lite större alternativt jämförelse och skillnader mellan Java, Elrang och C++ som vi pratat om en del.


* 2012-06-18.pdf
* 2011-12-16.pdf
* 2010-06-18.pdf
* 2010-12-16.pdf
Tentamen Resultatet på tentamen skall ni ha fått via Daisy. Här är de rätta svaren och lite kommentarerer om uppgifterna.¶


* 2012-12-10.pdf

Johan Montelius redigerade 20 juni 2013

övningstentor Här är gamla tentor men årets tentamen kommer att se lite annorlunda ut. Avsnittet med den operationella semantiken är bortplockat så de andra delarna blir kanske lite större alternativt jämförelse och skillnader mellan Java, Erlang och C++ som vi pratat om en del.


* 2012-06-18.pdf
* 2011-12-16.pdf
* 2010-06-18.pdf
* 2010-12-16.pdf
Tentamen Resultatet på tentamen skall ni ha fått via Daisy. Här är de rätta svaren och lite kommentarerer om uppgifterna.


* 2012-12-10.pdf
* 2013-06-04.pdf

 
November 2012
under
HT 2012 CINT2 TKOMK2
Schemahandläggare skapade händelsen 28 november 2012
 
under HT 2012 CINT2 TKOMK2

Lärare Johan Montelius skapade sidan 11 november 2012

kommenterade 22 november 2012

"The first step is to implement fields, the file field.h contains a class definition Field where you have to complete the code for the member functions. [...] You also have to complete printing of the fields contained in field.cc."

Var finns dessar filer som refereras till i uppgiften?

Johan Montelius redigerade 22 november 2012

Vem har inte löst en sudoku, men har du skrivit ett program som löser en? Det knepiga i denna uppgift är kanske inte så mycket att lösa sudokun utan att hålla rätt på utnyttjandet av minne. Om man glömmer att avallokera sin a objekt så slår man snart i taket för hur mycket minne maskinen har.


* 2-2.pdf
* 2-2.zip

Lärare kommenterade 22 november 2012

Nu ligger de också uppe :-) 

kommenterade 26 november 2012

Hej, en fråga angående funktionen "void prune(digit d)" i field.h. Man ska ta bort d från bitsettet, men det ska fortfarande vara inkluderat.

Hur ska man lyckas med detta, har jag missförstått det ifall jag trodde att alla siffror som var inkluderade var de siffror som var med i bitsettet?
Dvs, tar du bort något från settet så blir den inte längre inkluderad?
Eller hur kan man ta bort någonting från bitsettet och fortfarande ha det inkluderat?
(Just nu har jag bara Maskat bort den medelst bitwise operatorer)

kommenterade 27 november 2012

d måste vara inkluderad INNAN man tar bort den. Efteråt ska den naturligtvis inte vara inkluderad. ;)

 
under HT 2012 CINT2 TKOMK2

Lärare Johan Montelius skapade sidan 26 november 2012

Johan Montelius redigerade 26 november 2012


* cpp V.pdf

kommenterade 26 november 2012

På sida 5 har du ett ' på fel ställe (kan du hitta den?).

På sida 8 ska ss vara const.

På sida 11 har du markerat argumenten med const, men ingen referens. Missade du den eller använder du const bara för att det går?

 
under HT 2012 CINT2 TKOMK2

Lärare Johan Montelius skapade sidan 23 november 2012

Johan Montelius redigerade 23 november 2012


* cpp IV.pdf

Lärare kommenterade 23 november 2012

= är naturligtvis höger-associativ  a = b = c  är lika med a = (b = c). I exemplet där vi definerar opertaor= så kommer vi först att exekvera  b.operator=(c) som returnera b och därefter exekvera a.operator=(b).

kommenterade 23 november 2012

I C++11 kan även konstruktorer anropa andra konstruktorer. Detta kallas för delegerande konstruktorer.

På sida 25 har du ett typo. Det står "Student s = new Student(24);", när det naturligtvis ska stå "Student* s = new Student(24);".

Nu vet jag inte vad du har sagt, men sida 33 och 34 är exempel på vad du INTE ska göra. Du måste göra en kopia på pekaren. För övrigt är minneshantering INTE svårt att få rätt. Använd smartpekare (vilket du självfallet av någon anledning inte har nämnt)!

Lärare kommenterade 24 november 2012

Tack, fixat.  - Jo, minneshantering är svårt, det är därför det utvecklas stöd för att hantera problemen.

kommenterade 24 november 2012

Du får det att låta som om att hantera minne manuellt--med lämpliga verktyg, förstås--är väldigt svårt. Detta är inte sant.

Att hantera minneshantering utan verktyg kan dock vara svårt. Det vill jag hålla med om.

 
under HT 2012 CINT2 TKOMK2

Lärare Johan Montelius skapade sidan 19 november 2012

kommenterade 19 november 2012

Du har typon på sida 31. Specifikt så befinner sig stjärnan på fel plats (a*) istället för (*a) och du använder komma i for-loopen istället för semikolon.

Samma sak på sida 33.

Finns det någon anledning till varför du använder new när det inte behövs? Du har också glömt delete. Eller ännu bättre, smarta pekare.

Index operatorn i vector ger odefinerat beteende om du försöker komma åt index som inte existerar, men många implementationer brukar fånga upp dessa fel i debug-kod (t ex Visual Studio). Har du provat kompilerat g++ med debug-info el. dylikt?

Här är för övrigt en bra länk för att få lite info om smarta pekare: http://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-/C9-Lectures-Stephan-T-Lavavej-Standard-Template-Library-STL-3-of-n
Det kommer säkert hjälpa väldigt mycket med labbarna.

Johan Montelius redigerade 19 november 2012


* cpp III.pdf

Lärare kommenterade 19 november 2012

Tack, fixat typos. 

Har inte provat med debug-info, skall se om man kan fånga en del fel vid kompilering.  

Tack för länken.

kommenterade 19 november 2012

Kanon ! det gick utan error . Tack

men om jag kör

$ g++ sndcopy.cc -o sndcopy

In file included from sndcopy.cc:14:0:

sndreader.h:17:21: fatal error: sndfile.h: No such file or directory

compilation terminated.

kommenterade 19 november 2012

Du måste ange sökvägen till där kompilatorn kan hitta filen sndfile.h.

Du kan ange detta genom att lägga till kommandoraden -I till g++.

kommenterade 19 november 2012

$ g++ -l /cygdrive/c/Users/Eman/Desktop/Labb/libsndfile-1.0.25//usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -l/cygdrive/c/Users/Eman/Desktop/Labb/libsndfile-1.0.25/collect2: ld returned 1 exit status

det som händer ? hur kan jag göra det ?

kommenterade 20 november 2012

Det ska INTE vara mellanslag mellan -I och sökvägen, så

g++ infile -o outfile -Isökväg

(Det är stort i, btw, och inte litet L.)

Lärare kommenterade 20 november 2012

tack

kommenterade 20 november 2012

Det funkat !

Tack så mycket

 
under
HT 2012 CINT2 TKOMK2
Schemahandläggare skapade händelsen 13 november 2012
Lärare Johan Montelius redigerade 23 november 2012

Seminarium grupp 3

 
under
HT 2012 CINT2 TKOMK2
Schemahandläggare skapade händelsen 4 oktober 2012
Lärare Johan Montelius redigerade 12 november 2012

FGästföreläsning

Hoppas kunna bjuda in två representater från idustrin som kan ge exempel på hur C++ och Erlang kan användas i störrer projekt.¶

Lärare Johan Montelius redigerade 23 november 2012

Hoppas kunna bjuda in två representater från industrin som kan ge exempel på hur C++ och Erlang kan användas i störrer projekt.

Lärare Johan Montelius redigerade 6 december 2012

Hoppas kunna bjuda in två representater från industrin som kan ge exempel på hur C++ och Erlang kan användas i större projekt.Manne Fagerlind från HiQ och Joe Armstrong från Ericsson

 
under HT 2012 CINT2 TKOMK2

Lärare Johan Montelius skapade sidan 12 november 2012