Wstęp do programowania
Informacje ogólne
Typ:obowiazkowyKierunek:Informatyka studia licencjackie
Semestr:1
Wymiar zajęć:30 godzin wykładu, 15 godzin ćwiczeń, 30 godz. lab.
Punkty ECTS:6
Program
- Algorytm a program. Proste programy w różnych sposobach zapisu (opis słowny, sieć działań, schemat blokowy, Pascal, C). Badanie własności programu za pomocą przekształcania asercji. Ręczna symulacja działania algorytmu. Imperatywny charakter algorytmów. Konstrukcja pętli while. Budowa komputera i schemat przetwarzania programu w języku wysokiego poziomu -- etapy kompilacji i wykonania.
- Wyrażenia i instrukcje występujące we wszystkich językach imperatywnych ogólnego zastosowania. Pojęcie poprawności częściowej programu. Dowodzenie poprawności metodą niezmienników. Zagnieżdżone pętle. Przykłady programów z dowodami poprawności częściowej.
- Przekształcanie programów pod kontrolą niezmienników. Pojęcie poprawności całkowitej programu. Dowodzenie poprawności całkowitej metodą liczników pętli. Przykłady programów z dowodami poprawności całkowitej.
- Deklaracje zmiennych i powody wprowadzania obowiązkowości deklarowania. Proste typy danych występujące we wszystkich językach imperatywnych ogólnego zastosowania. Typy strukturalne: tablica, rekord (struktura). Iteracja for jako sposób działania na tablicach.
- Procedury i funkcje. Sposoby wołania parametrów procedur. Zmienne lokalne dla ciała procedury (funkcji) i zmienne globalne. Rekursja. Wyrażanie pętli przez rekursję i informacja o niemożności prostego wyrażenia rekursji przez pętle (bez użycia nieograniczonej pamięci).
- Działania na plikach zewnętrznych.
- Reprezentacja liczb całkowitych w komputerze. Pozycyjne układy liczenia o różnych podstawach. Reprezentacja liczb rzeczywistych w komputerze. Odstępstwa arytmetyki komputerowej od ,,prawdziwej'' i błędy nimi spowodowane. Przekroczenie zakresu i błędy zaokrągleń. Sposoby wyszukiwania błędów w programach: ,,osaczanie'' błędu, działanie odpluskwiacza (debugger).
Sposób zaliczenia
Laboratorium: studenci zbierają punkty za "zadania domowe", oraz aktywność nazajęciach. Oprócz tego, do oceny końcowej wlicza się wynik "kolokwiumprogramistycznego", które odbywa się pod koniec semestru.Egzamin: brak.
Literatura
- Wirth N. Wstęp do programowania systematycznego. Wydawnictwa Naukowo-Techniczne, Warszawa 1978.
- Szepietowski A. Podstawy informatyki. Wydawnictwo Uniwersytetu Gdańskiego, Gdańsk 2000.
- Kernighan B.W., Ritchie D.M. Język ANSI C. Wydawnictwa Naukowo-Techniczne, Warszawa 2003.
