Programowanie strukturalne
Informacje ogólne
Kod przedmiotu: | 17-DPPR-IP0 |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | Programowanie strukturalne |
Jednostka: | Nadnotecki Instytut UAM w Pile |
Grupy: |
Moodle - przedmioty Innych jednostek |
Punkty ECTS i inne: |
0 LUB
6.00
(w zależności od programu)
|
Język prowadzenia: | (brak danych) |
Kierunek studiów: | Technologie informatyczne - studia inżynierskie |
Poziom przedmiotu: | I stopień |
Cele kształcenia: | Przedmiot poświęcony jest prezentacji podstaw programowania proceduralnego z elementarnych wstępem do zagadnień wykorzystywania funkcji bibliotecznych i gotowych klas. Omawiany jest proces tworzenia programu, znaczenie algorytmu, języka, kompilatora i interpretera. Przedstawia się metody sterowanie przebiegiem programu, znaczenie pojęcia typu danych, podstawowe typy i ich reprezentację w pamięci. Omawiane są złożone typy danych, wyrażenia, zmienne statyczne, wskaźniki, zmienne dynamiczne oraz zagadnienia dynamicznego zarządzania pamięcią. Analizuje się zagadnienia strukturalizacji programu, procedury i funkcje oraz metody przekazywania parametrów. Rozważa się zagadnienia rekursji. Studenci zapoznają się ze stosowaniem standardowych bibliotek, w szczególności bibliotek sterowania strumieniami wejścia-wyjścia i zarządzania plikami. Przedstawiana jest idea tworzenia programów sterowanych zdarzeniami. Jako przykład aplikacji sterowanych zdarzeniami podaje się w szczególności proste aplikacje "okienkowych" sterowane komunikatami Windows. Integralną częścią przedmiotu są zajęcia laboratoryjne i projekt implementujący omawiane zagadnienia w języku C/C++. |
Rok studiów (jeśli obowiązuje): | I rok |
Wymagania wstępne w zakresie wiedzy, umiejętności oraz kompetencji: | brak |
Informacja o tym, gdzie można zapoznać się z materiałami do zajęć: | Platforma MS Teams. |
Metody prowadzenia zajęć umożliwiające osiągnięcie założonych EK: | wykłady, laboratoria |
Nakład pracy studenta (punkty ECTS): | 6 |
Pełny opis: |
Tworzenie oprogramowania. Algorytm Procesor, program, język programowania. Alfabet, składnia i semantyka. Język maszynowy oraz języki wyższego rzędu. Kompilacja, interpretacja i konsolidacja programu. Zmienne, typy, pierwszy program. Sterowanie przebiegiem programu. Prawda – fałsz – wstępne uwagi o wyrażeniach logicznych.Instrukcje złożone w instrukcjach sterujących. Zakresy ważności nazw, czas życia obiektów, przesłanianie nazw. Instrukcja warunkowa if ... else.Pętle while i for. Przerwa i kontynuacja wykonywania pętli. Instrukcja skoku. Instrukcja wyboru (switch). Typ danych, typy podstawowe, reprezentacja danych liczbowych i znakowych. Pojęcie typu. Rola typu w procesie tworzenia programu, stałe i zmienne.Znaczenie typu w procesie kompilacji. Typy całkowite – reprezentacja liczb. Typ znakowy – kodowanie znaków. Typy zmiennoprzecinkowe - reprezentacja. Arytmetyka (całkowita a zmiennoprzecinkowa).Definiowanie stałych różnych typów. Konwersje typów, rzutowania. Zmienne i wyrażenia. Operatory. Operatory matematyczne. Operatory relacyjne. Operatory logiczne. Operatory bitowe. Operator przypisania. Operator rzutowania. Priorytety operatorów. Łączność operatorów. Złożone typy danych. Tablice i tablice wielowymiarowe. Elementy tablic. Inicjalizacja tablic. Łańcuchy znaków (tablice znakowe). Formatowanie wejścia/wyjścia. Struktury (rekordy). Procedury i funkcje. Pojęcie funkcji; zwracanie wyniku; wartość void. Stos. Przekazywanie parametrów. Prototyp funkcji (typ funkcyjny). Czas życia i zakres ważności nazwy. Zakres lokalny. Zakres pliku. Zmienne statyczne. Zmienne globalne. Ukrywanie informacji. Funkcje biblioteczne. Przeciążanie operatorów i funkcji. Istota przeciążania. Zagadnienie identyczności typów argumentów. Dopasowanie argumentów do funkcji przeciążonych. Dynamiczne zarządzanie pamięcią; wskaźniki. Wskaźniki, referencje i dereferencje. Dynamiczna alokacja pamięci, sterta. Operator sizeof(). Wskaźniki w zastosowaniu do tablic. Wskaźniki w zastosowaniu do przekazywania parametrów. Wskaźniki do struktur. Wskaźniki do funkcji. Wskaźniki bez typu (untyped pointers). Tablice wskaźników. Sortowanie tablic wskaźników. Struktury i klasy. Struktura w C++ (składowe). Klasa:- Składowe klasy. - Modyfikatory dostępu.- Kilka słów o dziedziczeniu. Operacje wejścia/wyjścia. Operacje wejścia/wyjścia w C (biblioteka studio). Operacje wejścia/wyjścia w C++. Biblioteka iostream; strumień; strumienie predefiniowane. Sterowanie formatem. Operacje wejścia wyjścia na plikach. Obsługa błędów. Treści uzupełniające i rozszerzające. Czas zarezerwowany na prezentację informacji dodatkowych, uzupełnienie treści, które sprawiły trudności audytorium. Zawartość uzależniona od potrzeb i percepcji studentów. Projekt. Przedstawienie zasad, wymagań i tworzenie projektu indywidualnego opartego o paradygmat programowania proceduralnego. Projekt wykorzystuje metody dynamicznego zarządzania pamięcią oraz operacje wejścia/wyjścia. |
Literatura: |
1. N. Wirth, Wprowadzenie do programowania systematycznego. Wydawnictwo Naukowo-Techniczne. Warszawa 1978. 2. B. Eckel, Thinking in C, Beta 3 . 2006. 3. B. Eckel, Thinking in C++, Wydawnictwo Helion, 2002 4. J. Grębosz, Symfonia C++, Oficyna Kallimach, Kraków 1993. |
Efekty uczenia się: |
E01-umie wyrazić wybrane algorytmy w postaci sieci działań, potrafi formułować odpowiednie warunki logiczne i zapisać je za pomocą wyrażeń i operatorów zgodnie ze składnią języka programowania. E02-zna podstawowe konstrukcje programistyczne (instrukcje sterujące, wywoływanie procedur i funkcji oraz różne typy przekazywania parametrów). E03-zna podstawowe wbudowane typy danych, a w szczególności różne sposoby reprezentacji danych liczbowych, zasady arytmetyki, ograniczenia i błędy zaokrągleń; rozumie problemy związane z implementacją arytmetyki abstrakcyjnej (matematycznej) w komputerach. E04-zna zasady tworzenia złożonych typów danych (tablice, struktury, rekordy/struktury) i potrafi je stosować w algorytmach i programach opisujących sytuacje praktyczne. E05-zna zasady dynamicznego zarządzania pamięcią (wskaźniki z typem i bez typu - w tym wskaźniki do funkcji, przydział i zwalnianie pamięci) oraz umie implementować podstawowe dynamiczne struktury danych (kolejka, stos, lista, tablica wskaźników). E06-potrafi czytać i analizować kod "proceduralny" napisany w języku C/C++ i rozumie istotę i efekty wykonywanych operacji. E07-potrafi pisać programy proceduralne w języku C, C++, uruchamiać je i testować w środowisku Dev-C++ oraz sprawdzarkach automatycznych; potrafi pisać programy wykonujące operacje na plikach. |
Metody i kryteria oceniania: |
ocena zadań programistycznych, zadania domowe, zaangażowanie i praca na zajęciach |
Zajęcia w cyklu "Semestr zimowy 2020/2021" (zakończony)
Okres: | 2020-10-01 - 2021-02-28 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Wykład, 30 godzin
Zajęcia laboratoryjne, 30 godzin
|
|
Koordynatorzy: | Karolina Skotarczak-Dobrzyńska, Jerzy Szymański | |
Prowadzący grup: | Karolina Skotarczak-Dobrzyńska, Jerzy Szymański | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Egzamin
Wykład - Egzamin Zajęcia laboratoryjne - Zaliczenie z notą |
Zajęcia w cyklu "Semestr zimowy 2021/2022" (zakończony)
Okres: | 2021-10-01 - 2022-02-23 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Wykład, 30 godzin
Zajęcia laboratoryjne, 30 godzin
|
|
Koordynatorzy: | Karolina Skotarczak-Dobrzyńska, Jerzy Szymański | |
Prowadzący grup: | Karolina Skotarczak-Dobrzyńska, Jerzy Szymański | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Egzamin
Wykład - Egzamin Zajęcia laboratoryjne - Zaliczenie z notą |
Zajęcia w cyklu "Semestr zimowy 2022/2023" (zakończony)
Okres: | 2022-10-01 - 2023-02-26 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Wykład, 30 godzin
Zajęcia laboratoryjne, 30 godzin
|
|
Koordynatorzy: | Karolina Skotarczak-Dobrzyńska, Jerzy Szymański | |
Prowadzący grup: | Karolina Skotarczak-Dobrzyńska, Jerzy Szymański | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Egzamin
Wykład - Egzamin Zajęcia laboratoryjne - Zaliczenie z notą |
Zajęcia w cyklu "Semestr zimowy 2023/2024" (zakończony)
Okres: | 2023-10-01 - 2024-02-25 |
Przejdź do planu
PN WT ŚR CZ PT |
Typ zajęć: |
Wykład, 30 godzin
Zajęcia laboratoryjne, 30 godzin
|
|
Koordynatorzy: | Karolina Skotarczak-Dobrzyńska, Jerzy Szymański | |
Prowadzący grup: | Karolina Skotarczak-Dobrzyńska, Jerzy Szymański | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Egzamin
Wykład - Egzamin Zajęcia laboratoryjne - Zaliczenie z notą |
Właścicielem praw autorskich jest Uniwersytet im. Adama Mickiewicza w Poznaniu.