Göm menyn

TDIU01 Programmering i C++, g.k.

Föreläsning


Referenser till kursboken Problem solving with C++ avser åttonde upplagan. Gamla anvisningar till C++ direkt avser den tredje upplagan, 2011.
Observera att föreläsningsmaterialet är det som ligger kvar sedan förra året. Materialet kan komma att uppdateras inför (och i vissa fall efter) respektive föreläsning.

Period Ht1
Fö Intro   
2/9

Introduktion till kursen, programmering och vårt datorsystem OH-blad

Introduktion till kursen.

Läsanvisningar:
Problem solving
1.2
Fö 0   
3/9

C++ OH-blad | Extramaterial om typer

Ett c++-programs utseende, bufferthantering och in- och utmatning. Grundläggande begrepp och konstruktioner. Språkets element, variabler, grundläggande datatyper, deklarationer, uttryck och operatorer.

Variabler: deklaration, datatyp, initiering, tilldelning (=). Konstanter.

Grundläggande datatyper: int (heltal), double (reella tal, flyttal), char (tecken), bool (logiska värden, sant/falskt)

Läsanvisningar:

C++ direkt
kap 1, 2.1-2.6 (speciellt 2.1-2.2, 2.4), 2.9, 5.1-5.2, 5.7.1
Problem solving
1.3, 2.1-2.3, 2.5

Fö 1  
9/9

C++ OH-blad

Uttryck: Operatorer och operander. Beräkningsregler för uttryck.
Aritmetiska uttryck, operatorerna +, -, *, /, %. Automatiska typomvandlingar.
Beräkningsordning för sammansatta uttryck: prioritet och associativitet, operanders beräkningsordning.
Tilldelning: =
Stegningsoperatorena ++ och - -
Relationsoperatorer: ==, !=, <, <=, >, >=
Logiska operatorer: &&, ||, !

Satser: Sekvens, val (selektion) och repetition (iteration).
Sammansatta satser: satsblock {...}, if, if-else, switch, while, do-while, for.
Uttryckssatser (uttryck som avslutas med semikolon kan stå som en sats).

Tecken och texter, strängar.
Datatypen char för att hantera tecken, teckenlitteraler (t.ex. 'A', '+', '?', '\n', '\t'). Teckenhanteringsfunktioner (<cctype>).

Läsanvisningar:

C++ direkt
2.3, 2.5-2.6, 15.6-15.7, 3.1-3.3
Problem solving
2.4, 3
Även
Klassificering och omvandling av tecken

Fö 2.1  
18/9

C++ OH-blad

Funktioner

Funktionsdeklaration. Funktionsdefinition. Funktionsanrop.
Parametrar. Resultatvärde, eller void. Lokala variabler.
Parameteröverföring. Begreppen parameter-argument. Värdeanrop, referensanrop.

Användning av const och referens för inparametrar som är av komplicerad typ, t.ex. i samband med överföring av objekt av typ string eller vector - effektivt och säkert.

Läsanvisningar:

C++ direkt
4.1-4.7
Problem solving
4.3-4.4, 5.1-5.3

Fö 2.2
25/9

C++ OH-Bilder (exempelkod)

Fält, string och vector samt poster

Fokuserar på string och vector men ger information om deras gemensamma anfader fälten. Tar även upp poster (aggregat, struct)

std::vector (<vector>). En endimensionell datastruktur som anpassar sin storlek efter behovet. Se vector.

std::string (<string>), deklaration, initiering, exempel på operationer. string.

Läsanvisningar:
C++ direkt
2.8, 3.3 (2.7 och 3.4 som orientering)
Problem solving
8.2, 8.3 (7.1, 8.1 som orientering)

Poster (struct)

Definition av en enkel posttyp (struct) Item, deklaration av struct-variabel, initiering, åtkomst till struct-komponenter med punktoperatorn, tilldelning av struct-objekt (=) samt överföring av struct-objekt till och från funktioner. jämförelse av struct-objekt med operatorer. (C++ direkt: 15.3)

Läsanvisningar:

C++ direkt
15.3, 5.5
Problem solving
10.1

Fö 3  
3/10

C++ OH-Bilder

Rekursion och sammanfattning

Introduktion till rekursion och sammanfattning av genomgånget stoff under period HT1. Även lite introduktion och förberedelse inför duggan.

Läsanvisningar:

Problem solving
14

Period Ht2
Fö 4 

C++ OH-Bilder (exempelkod)

Pekare och dynamiska datastrukturer.

Introduktion till pekare
Deklaration av pekare (pekare till int). Tompekare (nullptr). Adressoperatorn & och avrefereringsoperatorn *. Exempel på operationer på pekare, initiering, tilldelning, avreferering,

Enkellänkad lista: post + pekare + dynamisk minnestilldelning.
Definition av enkel posttyp (struct) för listnoder som ska användas för att lagra heltal i en enkellänkad lista.
Operationer för att sätta in först resp. sist i en lista, ta bort, söka, skriva ut, mm., i form av fria funktioner.

Läsanvisningar:

C++ direkt
4.6, 5.4.5, 13.1-13.1.1
Problem solving
9.1, 13.1 (12.1)

Fö 5  

C++OH-Bilder | Föreläsningsexempel

Strömmar, filströmmar, strängströmmar, kommandoradsargument

Strömmar. Strömtyperna istream, ostream, stream. Standardströmmarna cin, cout, cerr och clog. Felhantering i samband med strömmar. Strömflaggor (failbit, badbit, eofbit) och funktioner för att operera på dessa för att undersöka strömmars tillstånd, eof(), good(), fail(), bad(), clear(). Formaterad inmatning med >>. Oformaterad inmatning med t.ex. get(), get(c), getline(), peek(), read(), etc. Formaterad utmatning med << och olika manipulatorer manipulatorer av olika slag för att bestämma utmatningformat för tal och text (t.ex. fixed, setprecision, setw, etc.). Oformaterad utmatning med put(c) och write(). (C++ direkt 11.1-11.3).

Filströmmar: deklaration (ifstream, ofstream, fstream), öppning, läsning, skrivning och stängning av filströmmar. (C++ direkt 11.4)

Strängströmmar, istringstream, ostringstream, stringstream. Används för att koppla string-objekt till strömmar för att kunna läsa och skriva innehåll i string-objekt med ström-operationer, t.ex. << och >>.

Kommandoradsargument,argc och argv. Används för att låta användaren skicka indata till vårt program i samband med körning.

Läsanvisningar:

C++ direkt
11.1-11.4, 11.8
Problem solving
6.1

Tentaföreläsning

Information om datortenta inklusive tips.


Sidansvarig: Eric Elfving
Senast uppdaterad: 2014-11-25