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

INE 2022 - JĘZYKI PROGRAMOWANIA 1


Ramowy program pierwszych 7 wykładów (prow. dr Marek Piasecki)
Zakres: Podstawy języka C++ dla osób znających język PASCAL

  1. Wprowadzenie: Struktura programu źródłowego w języku C/C++. Porównanie języka C i PASCAL.

  2. Podstawowe typy całkowite i rzeczywiste . Definiowanie i inicjacja zmiennych prostych.
    Operacje wejścia i wyjścia: Funkcje scanf i printf.
    Operatory i wyrażenia: Operator przypisania. Operatory i wyrażenia arytmetyczne.
    peratory przypisania arytmetycznego, inkrementacji i dekrementacji. Operatory relacji, wyrażenia logiczne.
     
  3. Podstawowe instrukcje: instrukcja if, if-else, konstrukcja else-if. Zagnieżdżanie instrukcji if.
    Instrukcja wyboru switch. Operator warunkowy ? : .

  4. Instrukcje iteracyjne: for, while, do-while. Pętle zagnieżdżone. Instrukcje break i continue.
    Przykłady programów z wykorzystaniem w/w instrukcji.

  5. Tablice w języku C ® zapis indeksowy - deklaracja i inicjacja.
    Operacje na tablicach z wykorzystaniem pętli for.
    Tablice wielowymiarowe.

  6. Wskaźniki: Wskaźniki zmiennych i ich adresy, arytmetyka wskaźników.
    Praca z tablicami w zapisie indeksowym i wskaźnikowym.

  7. Funkcje: pojęcie funkcji. Deklaracja i definicja funkcji. Prototyp funkcji.
    Zwracanie wartości funkcji. Przekazywanie parametrów przez wartość.

  8. Parametry funkcji: przekazywanie parametrów funkcji przez wartość, adres, referencję.
    Zwracanie jednej i wielu wartości. Przekazywanie zmiennych prostych, tablic, łańcuchów.
    Funkcje operujące na pamięci ® <mem.h> (memset, memcpy, memcmp, memmove, itp.)

  9. Łańcuchy znaków w języku C. Funkcje łańcuchowe (strcpy, strcmp, strcat, strlen, itp.).

  10. Przykłady operacji na łańcuchach.
    Pliki i ich obsługa: (podejście proceduralne) Strumienie standardowe. Wejście i wyjście dla znaków,
    łańcuchów i danych formatowanych. Wejście i wyjście blokowe (binarne).

    Tryb binarny i tekstowy. 

  11. Wskaźniki a tablice wielowymiarowe. Tablice wskaźników, wskaźniki na tablice.

  12. 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.

  13. Przykłady różnych kombinacji wskaźników

  14. Dynamiczne przydzielanie pamięci. Tworzenie tablic i łańcuchów o zadawanej wielkości.
    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.
Wykłady 8¸ 14 będą prowadzone przez Panią dr Zofię Kruczkiewicz

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 w trakcie pierwszej połowy semestru:

- Poznanie edytora, kompilatora i debuggera Borland C++ (DOS)

- Pisanie i uruchamianie prostych programów z użyciem:

a) zmiennych prostych oraz instrukcji warunkowych
b) pętli i tablic (zapis indeksowy i wskaźnikowy!)
c) definiowanie funkcji oraz przekazywanie parametrów,
d) przetwarzanie łańcuchów,
e) tablice struktur ® wczytywanie, wyświetlanie, wyszukiwanie, obliczenia
f) dynamiczna alokacja tablic i łańcuchów o zadawanym rozmiarze
g) składowanie danych w pliku dyskowym (tekst oraz binarnie)