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

Wykład:  INE 2022 - JĘZYKI PROGRAMOWANIA (1) - 2005

Proponowane terminy sprawdzianów kontrolnych z wykładu:
       I.     9 grudnia   2005
       II.  20 stycznia  2006


       Wyniki kolokwium z 9.12.2005

Aktualne informacje (np. wyniki zaliczeń) będą podawane na  TABLICY OGŁOSZEŃ
Do wglądu są materiały (wyświetlane folie) prezentowane na wykładzie w poprzednim roku akademickim.


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

  1. Wprowadzenie: Algorytmiczne języki programowania. Program komputerowy i proces jego opracowywania.
    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.
     
  2. Podstawowe operacje wejścia i wyjścia:  Podejście proceduralne - funkcje standardowe scanf i printf.
    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 ? : .
     
  3. Instrukcje iteracyjne:while, do-while, for. Badanie warunku zakończenia pętli.
    Pętle zagnieżdżone. Instrukcje break i continue.

    Przykłady programów z wykorzystaniem w/w instrukcji.
     
  4. Tablice w języku C - deklaracja i inicjacja - dostęp do elementów za pomocą operatora indeksu.
    Operacje na tablicach z wykorzystaniem pętli for. Tablice wielowymiarowe.

     
  5. Wskaźniki: Wskaźniki zmiennych i ich adresy, arytmetyka wskaźników.
    Związek pomiędzy wskaźnikami a tablicami. Praca z tablicami w zapisie wskaźnikowym.

     
  6. Funkcje: pojęcie funkcji. Deklaracja i definicja funkcji. Prototyp funkcji.
    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.
     
  7. Funkcje operujące na pamięci: <mem.h> (memset, memcpy, memcmp, memmove, itp.)
    Łańcuchy znaków w języku C. Funkcje łańcuchowe (strcpy, strcmp, strcat, strlen, itp.).

    Przykłady operacji na łańcuchach.
     
  8. Dynamiczne przydzielanie pamięci. Tworzenie tablic i łańcuchów o zadawanej wielkości.
  9. Typ strukturalny i jego definicja. Deklaracja i inicjacja zmiennych strukturalnych.
    Zagnieżdżanie struktur.Rozszerzenie struktury o metody składowe. Atrybuty dostępu. Unie.

     
  10. Obsługa plików zewnętrznych. Pliki binarne i tekstowe.
    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.
     
  11. Wskaźniki a tablice wielowymiarowe. Tablice wskaźników, wskaźniki na tablice.
    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.
     
  12. Złożone struktury danych:
    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.

  13. Strukturalizacja danych i kodu, abstrakcja, szablony (template)

Literatura:


Jerzy Grębosz          “Symfonia C++”
Kent Reisdorph        “C++ Builder 6 - dla każdego” 


Robert Lafore              “Programowanie w języku C przy użyciu Turbo 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. 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 2005/2006