Ten efekt nie jest obsługiwany przez Twoją przeglądarkę. Możesz go wyłączyć klikając ikonę na dole strony.


Podstawy programowania strukturalnego


Wykład, realizacja - jesień 2017

  • 6 X 2017. Informacje wstępne: pozycyjne i niepozycyjne systemy liczbowe (dziesiętny, binarny szesnastkowy, unarny), operacje arytmetyczne, zamiana liczb całkowitych i ułamkowych zapisanych w różnych systemach pozycyjnych, wyrażenia algebraiczne - kolejność wykonywania działań, jednostki pamięci, reprezentacja liczb nieujemnych w komórkach pamięci - zakresy wartości.
  • 12 X 2017. Formaty zapisu liczb całkowitych: nieujemnych, znak/moduł, kod uzupełnieniowy do 2, operacje dodawania i odejmowania w kodzie uzupełnieniowym, informacja o poprawności wyniku działania. Format półlogarytmiczny, mantysa, cecha. Format IEEE zapisu liczb niecałkowitych.
  • 12 X 2017. Format IEEE zapisu liczb niecałkowitych, parametry reprezentacji, gęstość reprezentacji. Model komputera.
  • 13 X 2017. Pseudoasembler - zestaw rozkazów, reprezentacja rozkazów w pamięci, prosty program asemblerowy (liczba rozwiązań równania kwadratowego).
  • 19 X 2017. Pseudoasembler - analiza prostego programu asemblerowego (liczba rozwiązań równania kwadratowego), program asemblerowy kopiowanie tablicy w kolejności odwrotnej z zamianą zer na poprzednią niezerową liczbę, wyznaczenie średniej liczb zastępujących zera.
  • 19 X 2017. Języki programowania wysokiego poziomu, program, kompilacja a interpretacja, postać skompilowana, kod maszynowy, typy danych proste i złożone, podstawowe instrukcje, struktura programu.
  • 20 X 2017. Instrukcje iteracyjne while i do, instrukcje warunkowe if. Sito Eratostenesa - realizacja z tablicą, analiza programu.
  • 27 X 2017. Instrukcja iteracyjna do while, funkcje, obliczanie wartości sinus, drukowanie tablicy funkcji trygonometrycznych.
  • 3 XI 2017. Program obliczania e^A, A - macierz nxn, przekazywanie argumentów skalarnych i macierzowych do funkcji. Reprezentacja tablic w pamięci, dynamiczny przydział pamięci - podstawowe informacje.
  • 23 XI 2017.
  • 24 XI 2017.
  • 1 XII 2017.
  • 15 XII 2017.
  • 22 XII 2017.
  • 26 I 2018.

Ćwiczenia, realizacja - jesień 2017

prowadzą: dr inż. Ewa Pawelec, dr inż. Janusz Rafałko i mgr inż. Aleksander Cisłak


Laboratoria, realizacja - jesień 2017 (od połowy listopada 2017)

prowadzą: dr inż. Ewa Pawelec, dr inż. Agnieszka Jastrzębska, dr inż. Janusz Rafałko i mgr inż. Aleksander Cisłak


Wykład, realizacja - jesień 2016

  • 7 X 2016. Informacje wstępne: pozycyjne i niepozycyjne systemy liczbowe (dziesiętny, binarny szesnastkowy, unarny), operacje arytmetyczne, zamiana liczb całkowitych i ułamkowych zapisanych w różnych systemach pozycyjnych, wyrażenia algebraiczne - kolejność wykonywania działań, jednostki pamięci, reprezentacja liczb nieujemnych w komórkach pamięci - zakresy wartości.
  • 14 X 2016. Formaty zapisu liczb całkowitych: nieujemnych, znak/moduł, kod uzupełnieniowy do 2, operacje dodawania i odejmowania w kodzie uzupełnieniowym, informacja o poprawności wyniku działania. Format półlogarytmiczny, mantysa, cecha. Format IEEE zapisu liczb niecałkowitych.
  • 18 X 2016. Format IEEE zapisu liczb niecałkowitych, parametry reprezentacji, gęstość reprezentacji. Model komputera, pseudoasembler.
  • 21 X 2016. Pseudoasembler - zestaw rozkazów, reprezentacja rozkazów w pamięci, prosty program asemblerowy (liczba rozwiązań równania kwadratowego), rejestry adresowe, adresowanie z rejesterem adresowym.
  • 25 X 2016. Pseudoasembler - przykład programu asemblerowego (liczba i suma liczb dodatnich), analiza obliczenia.
  • 28 X 2016. Języki wysokiego poziomu - uwagi, język C - struktura programu, podstawowe typy danych, deklaracje zmiennych, instrukcje przypisania, warunkowe, iteracyjna for, złożona, przykład programu wyznaczania liczby i sumy liczb dodatnich.
  • 4 XI 2016. Instrukcja iteracyjna while. Sito Eratostenesa - realizacja z tablicą. Operatory języka C.
  • 10 XI 2016. Operatory języka C, cd. Program obliczania e^A, A - macierz kwadratowa, omówienie metody, funkcje w języku C, instrukcja do-while.
  • 17 XI 2016. Program obliczania e^A - dokończenie, przekazywanie parametrów skalarnych i tablicowych do funkcji. Konwersja z formatu stp do zmp, struktura danych union.
  • 25 XI 2016. Program obliczania e^A - wersja z dynamicznym zarządzaniem pamięcią. Typ wyliczeniowy, struktury. Łańcuchy, wybrane funkcje operujące na łańcuchach.
  • 2 XII 2016 Struktury, typ wyliczeniowy, instrukcja switch, łańcuchy, funkcje operujące na łańcuchach - cd, program sortowania liczb względem reprezentacji w systemie pozycyjnym.
  • 9 XII 2016 Parametry funkcji main. Sito Eratostenesa, realizacja na listach.
  • 16 XII 2016 Funkcje globalne i przekazywane do procedury w parametrach, program wyznaczania pola pod krzywą. Rekurencja - uwagi wstępne, kiedy nie stosować.
  • 21 XII 2016 Rekurencja, problem n hetmanów. Zmienne globalne, niebezpeieczeńswo niekontrolowanego stosowania.

Ćwiczenia, realizacja - jesień 2016

Grupa E2 - dr inż. Ewa Pawelec

Grupy E3 i E4 - dr inż. Janusz Rafałko

Grupa E1 - mgr inż. Aleksander Cisłak


Laboratoria, realizacja - jesień 2016 (od połowy listopada 2015)

prowadzą: dr inż. Ewa Pawelec, dr inż. Agnieszka Jastrzębska, dr inż. Janusz Rafałko i mgr inż. Aleksander Cisłak


Wykład, realizacja - jesień 2015

  • 2 X 2015. Informacje wstępne: pozycyjne i niepozycyjne systemy liczbowe (dziesiętny, binarny szesnastkowy, unarny), operacje arytmetyczne, zamiana liczb całkowitych i ułamkowych zapisanych w różnych systemach pozycyjnych, wyrażenia algebraiczne - kolejność wykonywania działań, jednostki pamięci, reprezentacja liczb nieujemnych w komórkach pamięci - zakresy wartości.
  • 8 X 2015. Reprezentacja liczb całkowitych ujemnych, kod uzupełnieniowy do 2 - liczby stałopozycyjne, postać półlogarytmiczna, zapis zmiennopozycyjny, formaty IEEE, zakres reprezentowanych wartości, gęstość reprezentowanych wartości
  • 8 X 2015. Model prostego komputera, pseudoasembler - zestaw rozkazów i dyrektyw rezerwacji pamięci.
  • 9 X 2015. Zminnopozycyjne reprezentacja liczb, uzupełnienia, operacje na liczbach stałopozycyjnych - przepełnienie. Pseudoasembler - zestaw rozkazów, reprezentacja rozkazów w pamięci, prosty program asemblerowy (liczba rozwiązań równania kwadratowego), rejestry adresowe, adresowanie z rejesterem adresowym.
  • 16 X 2015. Analiza (szczegółowa) wykonania programu wyznaczania liczby rozwiązań równania kwadratowego, program wyznaczania liczby i sumy liczb dodatnich z ciągu 100 liczb całkowitych.
  • 23 X 2015. Języki wysokiego poziomu, język C, struktura programu, deklaracje podstawowych typów danych i tablic jednowymiarowych, podstawowe instrukcje, program wyznaczania liczby i sumy liczb dodatnich z ciągu liczb całkowitych, analiza wykonania.
  • 30 X 2015. Sito Eratostenesa - realizacja z tablicami. Operatory języka C.
  • 6 XI 2015. Operatory języka C cd. Program szybkiego liczenia potęg. Program obliczania e^A, A - macierz kwadratowa, omówienie metody.
  • 20 XI 2015. Program obliczania e^A, funkcje w języku C, przekazywanie parametrów skalarnych i tablicowych, instrukcja do-while. Konwersja z formatu stp do zmp, struktura danych union.
  • 27 XI 2015. Konwersja między formatami stp i zmp, dokończenie. Dynamiczne zarządzanie pamięcią, program obliczania exp(A) z dynamicznymi tablicami.
  • 4 XII 2015. Struktury, typ wyliczeniowy, instrukcja switch, łańcuchy, funkcje strcmp i memcpy, program sortowania liczb względem reprezentacji w systemie pozycyjnym.
  • 11 XII 2015. Program sortowania liczb względem reprezentacji w systemie pozycyjnym - uproszczenia. Sito Eratostenesa, realizacja z listą.
  • 18 XII 2015. Funkcje globalne i przekazywane do procedury w parametrach, program wyznaczania pola pod krzywą.
  • 8 I 2016. Rekurencja, przykład: wieże Hanoi, kiedy nie stosować, przykład: obliczanie wyrazów ciągu Fibonacciego.
  • 29 I 2016. Zmienne globalne, niebezpieczeństwa, przesłanianie. Zaliczenie przedmiotu.

Ćwiczenia, realizacja - jesień 2015

Grupa D2 dr inż. Ewa Pawelec

Grupa D4 mgr inż. Agnieszka Jastrzębska

Grupy D1 i D3 mgr inż. Aleksander Cisłak


Laboratoria, realizacja - jesień 2015 (od połowy listopada 2015)

prowadzą: dr inż. Ewa Pawelec, mgr inż. Agnieszka Jastrzębska, dr inż. Janusz Rafałko i mgr inż. Aleksander Cisłak


Wykład, realizacja - jesień 2014

  • 3 X 2014. Informacje wstępne: pozycyjne i niepozycyjne systemy liczbowe (dziesiętny, binarny szesnastkowy, unarny), operacje arytmetyczne, zamiana liczb całkowitych i ułamkowych zapisanych w różnych systemach pozycyjnych, (cdn),
  • 7 X 2014 (3 godziny). Zamiana liczb całkowitych i ułamkowych zapisanych w różnych systemach pozycyjnych, komórki i jednostki pamięci. Reprezentacja liczb całkowitych w pamięci komputera - zapis stałopozycyjny, kod uzupełnieniowy do 2, zapis zmiennopozycyjny, formaty IEEE, zakres reprezentowanych wartości, gęstość reprezentowanych wartości (cdn).
  • 10 X 2014. Formaty IEEE, zakres reprezentowanych wartości, gęstość reprezentowanych wartości (cd). Model prostego komputera, pseudoasembler - zestaw rozkazów i dyrektyw rezerwacji pamięci.
  • 17 X 2014. Pseudoasembler, adresy bezpośrednie, rejestry adresowe, adresy pośrednie, etykiety jako adresy symboliczne, proste programy asemblerowe (liczba rozwiązań równania kwadratowego, suma liczb dodatnich z ciągu liczb całkowitych).
  • 21 X 2014. Język maszynowy, reprezentacja rozkazów pseudoasemblera w pamięci. Języki wysokiego poziomu, język C, struktura programu, typy danych skalarnych, tablice jednowymiarowe, przykład prostego programu.
  • 24 X 2014. Język C, instrukcje proste i strukturalne, funkcja printf, sito Eratostenesa - realizacja z tablicami.
  • 31 X 2014. Operatory języka C. Program szybkiego liczenia potęg.
  • 14 XI 2014. Tablice dwuwymiarowe. Program obliczania e^A, A - macierz kwadratowa.
  • 21 XI 2014. Zastosowanie operatorów języka C - konwersje między formatami stało- i zmienno-pozycyjnymi. Dynamiczne zarządzanie pamięcią, program obliczania e^A z dynamicznym przydziałem pamięci dla tablic.
  • 28 XI 2014. Typ wyliczeniowy, struktury, łańcuchy, instrukcja switch, funkcje strcmp i strcpy, program sortowania liczb według ich reprezentacji binarnej, dziesiętnej i szesnastkowej.
  • 5 XII 2014. Listy, realizacja sita Eratostenesa w wersji z listami.
  • 19 XII 2014. Funkcje globalne i przekazywane do procedury w parametrach, program wyznaczania pola pod krzywą.
  • 16 I 2015. Rekurencja, problem wież Hanoi, kiedy nie stosować rekurencji, ciąg Fibonacciego. Wprowadzenie do problemu n hetmanów i cyklu skoczka.
  • 23 I 2015. Problemy n hetmanów i cyklu skoczka, rozwiązanie rekurencyjne.
  • 30 I 2015. Zmienne globalne - niebezpieczeństwa, przesłanianie. Zaliczenie predmiotu.

Program przedmiotu:



Przedmiot Podstawy programowania strukturalnego
Kierunek/Semestr Informatyka / sem I
Rodzaj przedmiotu obowiązkowy
Prowadzący dr hab. inż. Władysław Homenda
Godziny tygodniowo i sposób zaliczenia 2 / 2 / 1 / 0 / zal
Kod przedmiotu ----

Program wykładu:

  •  
    • Informacje wstępne: problem, algorytm.
    • Systemy pozycyjne: dziesiętny, dwójkowy, szesnastkowy, jedynkowy (liczba n jest zapisana jako ciąg n zer), minus dwójkowy.
    • Reprezentacja liczb całkowitych w pamięci komputera – system stałopozycyjny uzupełnieniowy.
  •  
    • Reprezentacja liczb zmiennoprzecinkowych, formaty IBM, IEEE, Microsoft, zakresy liczb zmiennoprzecinkowych.
    • Wyrażenia arytmetyczne – priorytety operatorów, notacje przedrostkowa i przyrostkowa.
  •  
    • Prosty model maszyny cyfrowej
    • Prosty pseudoassembler, algorytm Euklidesa wyznaczania NWD, sito Eratostenesa .
  •  
    • Języki wysokiego poziomu, C – informacje ogólne.
    • Struktura programu, funkcje.
    • Podstawowe typy danych – int, float; modyfikatory: long, short, unsigned.
  •  
    • Typy i rozmiary danych.
    • Stałe, zmienne, typy zmiennych.
    • Funkcje konwersji typów danych.
  •  
    • Tablice.
    • Struktury.
    • Typy złożone (np. tablice struktur).
  •  
    • Operatory,
    • Priorytety, konwersje typów.
    • Wyrażenia – arytmetyczne, logiczne, binarne, rzutowania,
    • Instrukcje proste - pusta, podstawienia, skoku
    • Instrukcje złożone - strukturalne, warunkowe, wyboru, iteracyjne
  •  
    • Instrukcje – uzupełnienia
    • Prosty program w C – szybkie obliczanie potęg (przykład na zastosowanie operatorów, wyrażeń, instrukcji warunkowych i iteracyjnych)
    • Prosty program w C –wyszukiwanie wzorca w tekście (przykład na zastosowanie tablic i instrukcji warunkowych, wyboru i iteracyjnych),
  •  
    • Podstawowe instrukcje wejścia-wyjścia: getch, putc, scanf, printf, elementy formatowania
    • Przykłady programów: modyfikacja sita Eratostenesa na tablicach – znajdowanie liczb słabo złożonych,
  • Wskaźniki
    • Zmienne wskaźnikowe, zmienne wskazywane, dynamiczne zarządzanie pamięcią.
    • Przykłady - sito Eratostenesa w wersji listy jednokierunkowej – tworzenie listy jednokierunkowej, usuwanie elementów z listy i nawigacja po liście jednokierunkowej,
  • Wskaźniki – cd.
    • Tworzenie uporządkowanej listy dwukierunkowej,
    • Wskaźniki i tablice, wskaźniki do wskaźników – omówienie.
  • Funkcje i programy – wprowadzenie
    • Funkcje – sposoby przekazywania parametrów: przez wartość, przez adres, przez funkcję.
    • Funkcje i programy – przykłady : i) Program obliczania exp(A), gdzie A – macierz nxn ii) Program wyznaczania całki
  • Funkcje i programy – przykłady, cd.
    • Budowa drzewa binarnego,
    • Przeglądanie drzewa binarnego: prefiksowe, postfiksowe, infiksowe,
  • Funkcje i programy – przykłady, cd.
    • Rekurencja, omówienie, przykład: wieże Hanoi, gdzie nie należy stosować rekurencji – obliczanie silni
    • przesłanianie,
    • efekty uboczne.
  • Zaliczenie

Literatura podstawowa:

  • Kerningham, Ritchie, Język C
  • Wirth, Algorytmy + struktury danych = programy

Regulamin zaliczenia przedmiotu:

Zaliczenie ćwiczeń - dwa kolokwia w semestrze
Zaliczenie laboratoriów na podstawie programów pisanych w laboratorium
Zaliczenie przedmiotu: wymagane zaliczenie ćwiczeń i laboratoriów.