Politechnika Wrocławska, Wydział Elektroniki, Kierunek: Informatyka (1 rok)

ARCHIWUM: INE 2022 - JĘZYKI PROGRAMOWANIA (1)
z roku akademickiego 2004/2005

Proponowane terminy sprawdzianów kontrolnych z wykładu:
       I.   26 listopada 2004
       II.  21 stycznia   2005

Wyniki zaliczeń będą podawane na  TABLICY OGŁOSZEŃ !


Zakres wykładu: Podstawy języka C++   (prow. dr Marek Piasecki)

  1. Wprowadzenie: Algorytmiczne języki programowania. Program komputerowy i proces jego opracowywania.

  2. Struktura programu źródłowego w C/C++. Przykłady prostych programów.
    Podstawowe typy całkowite i rzeczywiste . Definiowanie i inicjacja zmiennych prostych.
    Operatory i wyrażenia: Operator przypisania. Operatory i wyrażenia arytmetyczne.
    Operatory przypisania arytmetycznego, inkrementacji i dekrementacji. Operatory relacji, wyrażenia logiczne.
    folie do wykładu: (PDF 395KB) (WORD 185KB)
     
  3. Podstawowe operacje wejścia i wyjścia:  Podejście proceduralne - funkcje standardowe scanf i printf.

  4. Podejście obiektowe - strumienie standardowe cin, cout, operatory pobierania i wstawiania do strumienia.
    Sterowanie wykonaniem programu. Instrukcje warunkowe if, if-else, konstrukcja else-if.
    Zagniezdżanie instrukcji if. Instrukcja switch. Operator warunkowy ? : .
    folie do wykładu: (PDF 156KB) (WORD 51KB)
     
  5. Instrukcje iteracyjne:while, do-while, for. Badanie warunku zakończenia pętli.

  6. Pętle zagnieżdżone. Instrukcje break i continue.
    Przykłady programów z wykorzystaniem w/w instrukcji.
    folie do wykładu: (PDF 292KB) (WORD 210KB)
     
  7. Tablice w języku C - deklaracja i inicjacja - dostęp do elementów za pomocą operatora indeksu.

  8. Operacje na tablicach z wykorzystaniem pętli for. Tablice wielowymiarowe.
    folie do wykładu: (PDF 198KB) (WORD 50KB)
     
  9. Wskaźniki: Wskaźniki zmiennych i ich adresy, arytmetyka wskaźników.

  10. Związek pomiędzy wskaźnikami a tablicami. Praca z tablicami w zapisie wskaźnikowym.
    folie do wykładu: (PDF 208KB) (WORD 49KB)
     
  11. Funkcje: pojęcie funkcji. Deklaracja i definicja funkcji. Prototyp funkcji.

  12. Zwracanie wartości funkcji. Przekazywanie parametrów przez wartość.
    Parametry funkcji: przekazywanie parametrów funkcji przez wartość, adres, referencję.
    Zwracanie jednej i wielu wartości. Przekazywanie zmiennych prostych, tablic, łańcuchów.
    folie do wykładu: (PDF 205KB) (WORD 58KB)
     
  13. Funkcje operujące na pamięci: <mem.h> (memset, memcpy, memcmp, memmove, itp.)

  14. Łańcuchy znaków w języku C. Funkcje łańcuchowe (strcpy, strcmp, strcat, strlen, itp.).
    Przykłady operacji na łańcuchach.
    folie do wykładu: (PDF 130KB) (WORD 53KB)

    Przykładowe zadania na kolokwium połówkowe: przykłady zadań I
    Zadania jakie były na kolokwium 06.12.2001 : zadania z pierwszego kolokwium '01
    Zadania jakie były na kolokwium 20.11.2002 : zadania z pierwszego kolokwium '02
     
     

  15. Dynamiczne przydzielanie pamięci. Tworzenie tablic i łańcuchów o zadawanej wielkości.
    folie do wykładu: (PDF 91KB) (WORD 39KB)

  16. Typ strukturalny i jego definicja. Deklaracja i inicjacja zmiennych strukturalnych.

  17. Zagnieżdżanie struktur.Rozszerzenie struktury o metody składowe. Atrybuty dostępu. Unie.
    folie do wykładu: (PDF 145KB) (WORD 38KB)
    dodatkowe przykłady (1): (PDF 100KB)
    dodatkowe przykłady (2): (PDF 60KB)

     
  18. Obsługa plików zewnętrznych. Pliki binarne i tekstowe.

  19. Podejście proceduralne: Standardowe funkcje do obsługi plików z biblioteki <stdio.h>.
    Wejście i wyjście dla znaków, łańcuchów i danych formatowanych. Wejście i wyjście blokowe (binarne).
    Podejście obiektowe: Klasa fstream. Podstawowe metody i operatory.
    folie do wykładu:  1 część (PDF 147KB) (WORD 47KB),
                                 2 część (PDF 105KB) (WORD 49KB)
     
  20. Wskaźniki a tablice wielowymiarowe. Tablice wskaźników, wskaźniki na tablice.

  21. Rzutowanie wskaźników. Dostęp do dowolnego obszaru pamięci.
    Wyświetlanie bajtów kodujących zmienne różnego typu.
    Bezpośredni zapis do pamięci ekranu.
    Wskaźniki na funkcje. Funkcja qsort.
    folie do wykładu: (PDF 306KB) (WORD 214KB)

     
  22. Dynamiczne tablice dwuwymiarowe
    folie do wykładu: (PDF 14KB) (WORD 32KB) 
  23. Złożone struktury typu:

      a) tablica wskaźników na zmienne proste,
      b) tablica wskaźników na tablice / łańcuchy o stałej wielkości,
      c) dynamiczna tablica wskaźników na dynamiczne łańcuchy.

  24. Strukturalizacja danych i kodu, abstrakcja, szablony (template)
    folie do wykładu: (PDF 128KB) (WORD 70KB) 

Przykładowe zadania na drugie kolokwium:
        -   Zadania jakie były na kolokwium w styczniu 2002
        -   Zadania jakie były na kolokwium w styczniu 2003


Literatura:

Robert Lafore         “Programowanie w języku C przy użyciu Turbo C++”
Jerzy Grębosz          “Symfonia C++”
Andrzej Zalewski      “Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++”
Kris Jamsa                 “Wygraj z C++”
----------------------------------------------
Bjarne Stroustrup     “Język C++ “   - książka napisana przez twórcę C++
Robert Sedgewick “Algorytmy w C ++ “
----------------------------------------------
Brian Kernigham, Dennis Ritchie   “Język ANSI C“     - trochę historii

Zagadnienia do opracowania na laboratorium:
 

- Poznanie środowiska Borland C++ Builder (ver. 4 / 5 / 6.0)
- Pisanie i uruchamianie programów konsolowych z użyciem:
       a) zmiennych prostych oraz instrukcji warunkowych
       b) pętli i tablic (zapis indeksowy)
       c) definiowanie funkcji oraz przekazywanie parametrów,
       d) przetwarzanie łańcuchów (zapis indeksowy i wskaźnikowy),
       e) tablice struktur - wczytywanie, wyświetlanie, wyszukiwanie, obliczenia
       g) składowanie danych w pliku dyskowym (tekst oraz binarnie)
Szczegółowy program laboratorium 2004/2005