Politechnika Wrocławska, Studium Kształcenia Podstawowego, sem. zimowy 2010/2011

Wykład:  INE 0051 - PODSTAWY PROGRAMOWANIA - C++

Proponowane terminy sprawdzianów kontrolnych z wykładu:

       I.     1 grudnia    2010

- przykładowe zadania na 1 sprawdzian,
   Wyniki 1 sprawdzianu

       II.   26 stycznia  2011    

- przykładowe zadania na 2 sprawdzian,
   WYNIKI 2 SPRAWDZIANU

      III.    3 luty  2011     - kolokwium poprawkowe odbędzie  się w czwartek
   w godz. 13:00-14:00, w sali wykładowej 23/C3   
   WYNIKI POPRAWKI
   

Aktualne informacje (np. wyniki zaliczeń, terminy wpisów) będą podawane na  Tablicy ogłoszeń

Proponowany program laboratorium do wykładu.


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

Informacje o prowadzącym, zasady zaliczenia wykładu (PDF).
  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.
    slajdy do wykładu: (PDF 154KB)
     

  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.
    slajdy do wykładu: (PDF 71KB)
     
                                (Dodatkowe przykłady ilustrujące if/else)

  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.
    slajdy do wykładu: (PDF 142KB)
     

  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.
    slajdy do wykładu: (PDF 105KB)
     

  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.
    slajdy do wykładu: (PDF 78KB)
     

  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.
    Funkcje operujące na pamięci: <mem.h> (memset, memcpy, memcmp, memmove, itp.)
    slajdy do wykładu: (PDF 100KB)
                                (
    Dodatkowe przykłady tworzenia własnych funkcji)

  7. Teksty - tablice znakowe w języku C.
    Standardowe funkcje łańcuchowe z biblioteki <string.h> (strcpy, strcmp, strcat, strlen, itd.)

    Przykłady przetwarzania danych tekstowych (operacje na łańcuchach znaków).
    slajdy do wykładu: (PDF 76KB)
                                (
    Dodatkowe przykłady funkcji przetwarzających teksty)

  8. Dynamiczne przydzielanie pamięci. Tworzenie tablic i łańcuchów o zadawanej wielkości.
    slajdy do wykładu: (PDF 52KB)

  9. Typ strukturalny i jego definicja. Deklaracja i inicjacja zmiennych strukturalnych.
    Zagnieżdżanie struktur.Rozszerzenie struktury o metody składowe. Atrybuty dostępu.

    slajdy do wykładu: (PDF 66KB) 
                                (Dodatkowe przykłady przetwarzania tablic struktur)

  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).
    slajdy do wykładu: (PDF 57KB) 
                                (Dodatkowe przykłady przetwarzania plików dyskowych)

    Podejście obiektowe: Klasa fstream. Podstawowe metody i operatory.
    dodatkowe slajdy: (PDF 57KB)  

  11. Wskaźniki a tablice wielowymiarowe. Tablice wskaźników, wskaźniki na tablice.
    Wskaźniki na funkcje. Funkcja qsort.
    Różne kombinacje wskaźników.
    slajdy do wykładu: (PDF 84KB)
     

 

Literatura:

Jerzy Grębosz          “Symfonia C++”

Kent Reisdorph           “C++ Builder 6 - dla każdego” (do laboratorium z wykorzystaniem środowiska C++ Builder)

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++ “
Robert Sedgewick    “Algorytmy w C ++ “
----------------------------------------------
Brian Kernigham, Dennis Ritchie   “Język ANSI C“

 


Zagadnienia do opracowania na laboratorium:

- Poznanie środowiska programistycznego:  MS VisualStudio 2008  lub  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 2010/2011