Politechnika Wrocławska, Wydział Elektroniki, 1 rok studiów, sem. zimowy 2014/2015

Wykład:  INEW001  "PODSTAWY PROGRAMOWANIA" 

Proponowane terminy sprawdzianów kontrolnych z wykładu

Kierunek INFORMATYKA:
 I.  27  listopada 2014
II.  29  stycznia   2015

- przykładowe zadania 1 (na 1 sprawdzian), 
- przykładowe zadania 2 (na 2 sprawdzian)

Termin poprawkowy:
                6 lutego   2015

- godz. 11:00, sala wykładowa nr 23/C3, 3 zadania, czas 45min.
- będą dwa zestawy pytań (z całego semestru):
       prostszy - na zaliczenie (na ocenę 3.0-3.5)
       trudniejszy (4.0-5.5) np dla poprawiających ocenę na wyższą.
- osoby które z powodu nieobecności nie pisały I lub II kolokwium,
  a to pozostałe mają dobrze zaliczone (min. 45%),
  mogą wybrać samo napisanie tego brakującego.

Aktualne informacje (np. wyniki zaliczeń) będą podawane na  TABLICY OGŁOSZEŃ
Proponowany program laboratorium i ćwiczeń do tego wykładu.
Archiwalne materiały do wykładu z roku 2013


Zakres wykładu: Podstawy programowania w języku 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.
    slajdy do wykładu: ( W1.PDF

  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: W2.PDF )
                                ( 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: W3.PDF )

    Inne materiały: console color, gotoxy, clrscr

  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: W4.PDF )

  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: W5.PDF )

  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: W6.PDF )
                                ( Dodatkowe przykłady tworzenia funkcji z argumentami )

  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: ( W7.PDF )
                                ( 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: ( W8.PDF )

  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: W9.PDF )
                                ( 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: W10.PDF )
                                ( Dodatkowe przykłady przetwarzania plików )

    Podejście obiektowe: Klasa fstream. Podstawowe metody i operatory.
    slajdy do wykładu: ( W10b.PDF )

  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: ( W11.PDF )

  12. Złożone struktury danych:
    a) dynamiczna tablica tablic,
    b) tablica wskaźników na dynamiczne tablice / łańcuchy,
    c) dynamiczna tablica wskaźników na dynamiczne tablice / łańcuchy.

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


Literatura:

Jerzy Grębosz          “Symfonia C++”

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 Dev-C++ lub Microsoft Visual Studio
- 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)
       h) dynamiczna alokacja pamięci, dynamiczne struktury danych


Szczegółowy program laboratorium 2014/2015