Politechnika
Wrocławska, Wydział Elektroniki, 1 rok studiów, sem. zimowy 2010/2011
Wykład: INEW001
"PODSTAWY PROGRAMOWANIA"
|
I. 26 listopada 2010 |
- przykładowe zadania
na 1 sprawdzian, |
II. 21 styczenia 2011 |
- przykładowe zadania
na 2 sprawdzian, |
II. 3 luty 2011 |
- kolokwium poprawkowe odbędzie się |
Aktualne informacje (np. wyniki zaliczeń)
będą podawane na TABLICY OGŁOSZEŃ
Proponowany program laboratorium i ćwiczeń do wykładu.
Zakres wykładu: Podstawy programowania w języku C++ (prow. dr Marek Piasecki)
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
funkcji z argumentami)
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)
Podejście
obiektowe:
Klasa fstream. Podstawowe metody i operatory.
slajdy do wykładu: (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
83KB)
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.
slajdy do wykładu: (PDF
44KB)
Literatura:
Jerzy Grębosz “Symfonia
C++”
Kent Reisdorph “C++ Builder 6 - dla
każdego” (dla ś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 Borland C++ Builder
(ver. 6.0) lub MS 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