TDIU06 Programmering, grundkurs
Föreläsning
Referenser till kursboken C++ direkt avser den andra upplagan, 2000.
| | |
| Period Ht1 | |
| | |
| Fö 1 28/8 |
Datorintroduktion Introduktion till kursen. Orientering om introduktionen till datorsystemet och STONE, det webbaserade kursverktyget som ska användas för detta. |
| | |
| Fö 2 5/9 |
Datorintroduktion Mer om datorsystem, kommandon, etc. |
| | |
| Fö 3 12/9 |
C++ 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), void (inget värde). 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.
Visades:
Utdelades: |
| | |
| Fö 4 15/9 |
C++ Uttryck: Operatorer och operander. Beräkningsregler för uttryck.Aritmetiska uttryck, operatorerna +, -, *, /, %. Automatiska typomvandlingar. Beräkningsordning för sammansatts uttryck: prioritet och associativitet, operanders beräkningsordning. Tilldelning: = Stegningsoperatorena ++ och - - Relationsoperatorer: ==, !=, <, <=, >, >= Logiska operatorer: &&, ||, !
Satser: Sekvens, val (selektion) och repetition (iteration). std::vector (<vector>). En endimensionell datastruktur som anpassar sin storlek efter behovet. Se vector.
Tecken och texter, strängar. Läsanvisningar: C++ direkt avsnitt 2.3, 2.5-2.6, (2.7 som orientering) 2.8, 15.6-15.7, 3.1-3.3 (3.4 som orientering). Se även: Klassificering och omvandling av tecken, string. |
| | |
| Fö 5 28/9 |
C++ Funktioner
Funktionsdeklaration. Funktionsdefinition. Funktionsanrop. Fält är speciella i och med att fältnamn är en adress (till första elementet i ett fält). Värdeanrop innebär kopiering av den adressen, vilket i praktiken ger referensanrop då det gäller elementen i ett fält. 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 kap 4.1-4.7.
Visades:
Utdelades: |
| | |
| Period Ht2 | |
| | |
| Fö 6 24/10 |
C++ Strömmar och filer Strömmar. Strömtyperna istream, ostream, stream. Standardströmmarna cin, cout, cerr och clog. 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 >> och olika manipulatorer (t.ex. setw). Oformaterad utmatning med t.ex. get(), get(c), getline(c-sträng), get(c-sträng), peek(), ignore(), ungetc(), etc. Formaterad utmatning med << och put(c), manipulatorer av olika slag för att bestämma utmatningformat för tal och text. (C++ direkt 11.1-11.3)
Filströmmar: deklaration (ifstream, ofstream, fstream), öppning,
läsning, skrivning och stängning av filströmmar. Textfil kontra binärfil.
(C++ direkt 11.4) Binärfiler, läsning och skrivning med read() resp. write(). Lite om öppningsflagger, t.ex. ios::binary, ios::in, ios::out. sizeof-operatorn för att ta reda på hur mycket minne (i "byte") som en datatyps värde, en variabel eller ett uttryck kräver. 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 >>. Läsanvisningar: C++ direkt 11.1-11.4, 11.8.
Visades:
Utdelades: |
| | |
| Fö 7 1/11 |
C++
Fält (
Poster ( Filuppdelning Typdefinitioner med typdef. Användbart för ge enkla namn åt komplicerade typer. Användbart för pekartyper. Läsanvisningar: C++ direkt kap 15.3, 2.7, 4.5, 5.4.2, 5.4.5-5.4.7, 5.5.
Visades:
Utdelades: |
| | |
|
Fö 8 14/11 |
C++ Dynamiska datastrukturer, dynamisk minneshantering, operatorerna new och delete. struct och class och pekare.
Introduktion till pekare Version 1: 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 5.4.5, 7.1-7.3.4, 13.1-13.1.1.
Utdelas: |
| | |
| Fö 9 18/11 |
C++ Länkad lista (forts.), class
Version 2 av listan: Klass (class) för att representera
listan. Funktionerna för att operera på listan görs till
medlemsfunktioner i klassen. Rekursiva funktioner Läsanvisningar: C++ direkt 13.1-13.1.1, 7.3.4-7.4, 15.1. |
| | |
| Fö 10 28/11 |
C++ Version 3 av listan: Rekursiva algoritmer i ställer för iterativa införs i de listoperationer där rekursion kan användas. Rekursiv destruktor för listklassen. Namnrymder. Orientering om utelämnade saker, t.ex.
"C-strängar". Strängvärden som char-fält, char[ ],
char*. Pekare till dynamiskt minnestilldelade fält
Läsanvisningar: C++ direkt kap 4.3, 5.1-5.3, 5.6-5.8. Se även: C-strängshantering. |
| | |
| Period Vt1 | |
| | |
| Fö 11 17/1 |
C++ Standardbibliotek Översikt - Containrar - Iteratorer - Algoritmer - Funktionsobjekt Översikt av standardbiblioteket, speciellt containrar, iteratorer, algoritmer och funktionsobjekt. Sekventiella containrar (vector, list, deque). Iteratorer för containrar. Iteratorer: iteratorbegreppet, containrar och iteratorer. Exempel på algoritmer. Läsanvisningar: C++ direkt 12.1-12.2, 12.4. |
| | |
| Fö 12 18/1 |
C++ Standardbibliotek Containrar - Iteratorer - Algoritmer (forts.) Mer om iteratorer: strömiteratorer (istream_iterator, ostream_iterator), insättare (inserters), hjälpfunktionerna back_inserter, front_inserter, inserter. Genomgång av operationer för vector, deque och list: konstruktorer, tilldelning, destruktor, storlek och kapacitet, elementåtkomst, modifierare, jämförelser. Listspecifika operationer. Lite jämförelser mellan de tre containrarna. Några exempel på algoritmer: copy_backward, equal, erase + remove. Läsanvisningar: C++ direkt 12.1-12.2, 12.4. |
| | |
| Fö 13 29/1 |
Containrar - Iteratorer - Algoritmer (forts.) Adapterklasser (stack, queue, priority_queue). Hjälpklassen pair. Associativa containrar (map, multimap, set, multiset). Undantag Introduktion till undantag (exceptions): try-block, throw-uttryck, catch-hanterare. Läsanvisningar: C++ direkt 12.1-12.6, 10. |
| | |
| Fö 14 12/2 |
Undantag (forts.) Funktionsobjekt Standardundantag (exception-hierarkin). Konstruktion av undantagshantering för standardundantag (try-catch). Begeppet funktionsobjekt. Egendefinierade funktionsobjekt (orientering, exempel). Grundläggande, fördefinierade funktionsobjekt: aritmetiska, logiska, jämförare, negerare. Läsanvisningar: C++ direkt 12.3. |
| | |
Sidansvarig: Tommy Olsson
Senast uppdaterad: 2007-02-20
