Programowanie strukturalne

2019L

Kod przedmiotu2317N1-PROGRSTR
Punkty ECTS 6
Typ zajęć Wykład
Ćwiczenia laboratoryjne
Przedmioty wprowadzającewstęp do programowania
Wymagania wstępnepodstawowa znajomość języka C
Opis ćwiczeńW ramach laboratorium studenci mają pisać i uruchamiać szereg małych programów ilustrujących kolejne zagadnienia przedstawiane na wykładzie.
Opis wykładówPodstawy paradygmatu programowania proceduralnego: pojęcie środowiska, stanu, jednostki dynamicznej programu, przepływ sterowania, wielkości lokalne i globalne jednostki, wielkości globalne programu. Dowiązania statyczne i dynamiczne jednostek programu. Statyczność typowania. Kolejne tryby przekazywania parametrów: przez wejście-wyjście, przez nazwę. Zjawisko współdzielenia zmiennych (aliasing). Statyczność semantyki procedur i funkcji. Zagadnienia alokacji pamięci: stos i sterta. Konstrukcje programistyczne języka C dla programowania ze strukturami dynamicznymi: typy wskaźnikowe, wskaźniki do struktur. Arytmetyka wskaźników. Przykłady programowania z dynamicznymi strukturami danych. Zjawisko współdzielenia zmiennych wskaźnikowych. Wskaźniki do funkcji. Paradygmat dekompozycji funkcjonalnej i metodologia stepwise-refinement tworzenia programu.
Cel kształcenia1. Opanowanie podstaw paradygmatu programowania proceduralnego. 2. Stosowanie paradygmatu strukturalnego w tworzeniu nie tylko małych programów, ale także w skali programów średniej wielkości.
Literatura podstawowa1) Richard Resese, Wskaźniki w języku C. Przewodnik, t. 1, Helion, 2014 2) Stephen Prata, Język C. Szkoła programowania, t. 1, Helion, 2006
Literatura uzupełniająca1) Brian W. Kernighan, Dennis W. Ritchie,, wyd. WNT, Język ANSI C, 1999r., tom 1, 1s.
UwagiPojedyncze tematy wykładów lub ćwiczeń mogą zostać zmodyfikowane lub zastąpione technologicznie nowszymi. Kompletna informacja o takich zmianach wraz z uzasadnieniem zostanie podana na pierwszym wykładzie.