Proponowane terminy sprawdzianów kontrolnych z wykładu:
I. 5 grudnia 2012 |
- przykładowe
zadania 1
( na 1 sprawdzian ), |
II. 23 stycznia 2012 |
- przykładowe
zadania 2
( na 2 sprawdzian ) |
popr. 30 stycznia 2013 | - poprawka sprawdzianów z wykładu dla SKP ( środa, godz. 13:00-14:00, sala 23/C3 ) |
Aktualne informacje (np. wyniki zaliczeń, terminy wpisów) będą podawane na Tablicy
ogłoszeń
Proponowany program
laboratorium do wykładu.
Archiwalne materiały do wykładu z roku 2011
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: ( W1.PDF )
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 )
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
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 )
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 )
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
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: ( W7.PDF )
( 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: ( W8.PDF )
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 )
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 )
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 )
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++”
Kent Reisdorph
“C++ Builder 6 - dla każdego” (do laboratorium z wykorzystaniem środowiska
C++ Builder)
----------------------------------------------
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)