Politechnika
Wrocławska, Wydział Elektroniki, 1 rok studiów, sem. zimowy 2013/2014
Wykład: INEW001
"PODSTAWY PROGRAMOWANIA"
Proponowane terminy sprawdzianów
kontrolnych z wykładu
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 2012
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: ( 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
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: ( 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 )
-
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.
- 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 2013/2014
|