Proponowane terminy sprawdzianów kontrolnych z wykładu:
I. 1 grudnia 2010 |
- przykładowe
zadania
na 1 sprawdzian, |
II. 26 stycznia 2011 |
- przykładowe
zadania
na 2 sprawdzian, |
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).
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)
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)
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)
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)
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)
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)
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)
Dynamiczne
przydzielanie pamięci. Tworzenie tablic i łańcuchów o zadawanej
wielkości.
slajdy do wykładu: (PDF
52KB)
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)
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)
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)