Technik Informatyk 312(01)
  Programowanie strukturalne i obiektowe
 

Programowanie strukturalne i obiektowe

1. Wprowadzenie do programowania strukturalnego w Pascalu

Podstawowe pojęcia dotyczące programowania: program komputerowy, języki programowania, kompilator, 

interpretator, konsolidator. Algorytmy i sposoby ich zapisu. Etapy tworzenia programu: planowanie, pisanie,

kompilacja, konsolidacja, testowanie i optymalizacja. Zasady programowania strukturalnego. Edytor środowiska 

systemu Pascal. Podstawy zapisywania programu w języku Pascal: słowa kluczowe, identyfikatory, liczby, symbole

podstawowe, komentarze, stałe logiczne. Typy danych: całkowity, rzeczywisty, znakowy, łańcuchowy, logiczny, 

okrojony, wyliczeniowy. Struktura programu w języku Pascal. Instrukcje wejścia/wyjścia. Deklaracje zmiennych 

i stałych. Instrukcja przypisania. wyrażenia i operatory. Standardowe funkcje i procedury. Instrukcje: warunkowe, 

iteracyjne, złożone.

Ćwiczenia

• Dobieranie algorytmów do rozwiązania zadanych problemów.

• Projektowanie algorytmu w formie opisowej.

• Opisywanie algorytmów w postaci listy kroków.

• Zapisywanie algorytmów w postaci schematów blokowych.

• Praca w środowisku systemu Pascal: edycja, kompilacja, modyfikacja

i uruchomienie przykładowego programu, zakończenie pracy.

• Analizowanie przykładowych programów, wykrywanie błędów i ich usuwanie.

• Porządkowanie trzech, czterech i pięciu liczb.

• Projektowanie prostych programów obliczeniowych.

2. Podprogramy

Ogólna postać funkcji i procedury. Zmienne lokalne i globalne. Parametry formalne i aktualne. Przekazywanie 

parametrów przez wartość i przez zmienną. Wywoływanie funkcji i procedur. Rekurencja. Funkcje i procedury 

obsługi ekranu. Grafika w Pascalu. Moduły użytkownika - zasady budowy i korzystania z modułów.

Ćwiczenia

• Dokonywanie podziału programu na podprogramy.

• Stosowanie różnych metod przekazywania parametrów do podprogramów.

• Stosowanie algorytmów interacyjnych i rekurencyjnych, algorytmu Euklidesa, obliczania potęgi, wyznaczania 

   liczb Fibonacciego.

• Opracowywanie interfejsu aplikacji.

• Prezentowanie graficzne wyników obliczeń.

• Tworzenie modułów użytkownika.

• Stosowanie w programach sygnalizacji dźwiękowej, uruchamianej w przypadku wprowadzania błędnych danych.

• Rozwiązywanie równania kwadratowego, liniowego, układu równań liniowych.

3. Typy strukturalne

Tablice. Pliki tekstowe i operacje na tekstach. Pliki elementowe. Operacje na plikach. Zbiory. Rekordy. 

Ogólne zasady budowy systemów informatycznych.

Ćwiczenia

• Stosowanie tablic i wykonywanie podstawowych operacji na tablicach: sortowanie, wyszukiwanie.

• Zamiana liczb dziesiętnych na binarne.

• Obliczanie miar centralności danych.

• Znajdowanie zera funkcji metodą połowienia przedziału.

• Operowanie plikami tekstowymi i elementowymi.

• Wykonywanie operacji na tekstach.

• Korzystanie z podstawowych algorytmów umożliwiających wykonywanie operacji na zbiorach.

• Wykorzystywanie rekordów do projektowania baz danych.

• Wykorzystywanie plików do projektowania systemu informatycznego typu baza danych.

4. Dynamiczne struktury danych

Wskaźniki. Funkcje i procedury dynamicznego przydziału pamięci. Tworzenie i przetwarzanie dynamicznych 

struktur danych, stos, kolejka, listy, drzewa.

Ćwiczenia

• Posługiwanie się wskaźnikami i zmiennymi dynamicznymi.

• Opracowywanie biblioteki podprogramów do operowania listami,

stosami, kolejkami, drzewami i grafami.

5. Elementy zaawansowanego programowania w Pascalu

Dyrektywy kompilatora. Obsługa urządzeń peryferyjnych. Rejestry procesora. Wbudowany asembler. Lokalizacja i 

usuwanie usterek w programie za pomocą debuggera. Poprawność i złożoność obliczeniowa algorytmów. 

Optymalizacja działania programu. Dokumentacja programu.

Ćwiczenia

• Projektowanie programów obsługi wybranych urządzeń peryferyjnych.

• Stosowanie dyrektyw kompilatora.

• Uruchamianie krokowe programu.

• Posługiwanie się programem debugger.

• Optymalizowanie działania programu.

• Wykonywanie dokumentacji technicznej programu.

6. Wprowadzenie do programowania obiektowego w C++

Przypomnienie informacji o budowie i właściwościach języka programowania. Języki obiektowe. Kompilator i 

edytor środowiska programistycznego języka C++. Wielkie i małe litery. Struktura programu w języku C++. 

Komentarze. Słowa kluczowe. Funkcja return(). Dyrektywa #include. Zmienne i stałe. Funkcje wejścia/wyjścia. 

Operatory i wyrażenia. Instrukcje: pusta, warunkowe, iteracyjne, sterujące przebiegiem programu. Funkcje. 

Funkcje rekurencyjne. Tablice i wskaźniki. Zarządzanie pamięcią. Struktury, unie, pola bitowe.

Ćwiczenia

• Instalowanie i konfigurowanie kompilatora języka C++.

• Uruchamianie środowiska C++, edycja, modyfikacja, kompilacja i wykonanie zadanego programu.

• Wykrywanie i analizowanie błędów w programach.

• Dobieranie odpowiednich typów danych oraz deklarowanie stałych i zmiennych potrzebnych do rozwiązania 

  zadanego problemu.

• Korzystanie z podstawowych funkcji wejścia/wyjścia.

• Posługiwanie się specyfikatorami formatowania.

• Projektowanie prostych programów obliczeniowych.

• Korzystanie z operatora warunkowego przy projektowaniu wyrażeń.

• Stosowanie instrukcji warunkowych i wyboru w programach.

• Stosowanie instrukcji iteracyjnych.

• Stosowanie różnych metod przekazywania parametrów do funkcji.

• Stosowanie zmiennych statycznych i automatycznych, globalnych i lokalnych.

• Obliczanie wartości wielomianu metodą iteracyjną i rekurencyjną.

• Manipulowanie tablicami: zamiana wierszy i kolumn (tablice dwuwymiarowe).

• Porządkowanie tablic, bąbelkowe, przez wybór, quicksort.

• Wyszukiwanie danych w tablicach.

• Wykonywanie operacji na łańcuchach.

• Stosowanie arytmetyki wskaźników.

• Deklarowanie struktur i unii oraz posługiwanie się zmiennymi typu strukturalnego.

• Tworzenie, modyfikowanie i wykorzystywanie dynamicznych struktur danych do realizacji stosów, kolejek i drzew.

7. Klasy i obiekty

Różnice pomiędzy programowaniem strukturalnym i obiektowym. Definicja obiektu. Obiektowość jako podstawa 

naturalnego postrzegania świata. Przykłady odwzorowania rzeczywistości w kategoriach obiektów. Opracowanie 

obiektowego opisu przykładowego programu. Definiowanie klas. Składniki klasy. Definiowanie obiektów. 

Odwoływanie się do składowych obiektu. Hermetyzacja danych. Konstruktory i destruktory. Zagnieżdżona 

definicja klasy. Przeładowanie operatorów. Przeładowanie nazw funkcji. Definiowanie konwersji obiektów. 

Zaprzyjaźnione funkcje i klasy.

Ćwiczenia

• Wskazywanie różnic pomiędzy podejściem strukturalnym i obiektowym do rozwiązania danego problemu.

• Opisywanie otaczającej nas rzeczywistości w kategorii obiektów.

• Analizowanie obiektowe przykładowych systemów.

• Definiowanie klas przykładowych obiektów.

• Deklarowanie składników klas będących funkcjami oraz obiektami.

• Określanie dostępu do składników klasy.

• Tworzenie obiektów danych klas.

• Posługiwanie się funkcjami składowymi.

• Stosowanie konstruktorów i destruktorów w klasach.

• Korzystanie z przeładowania operatorów oraz nazw funkcji.

• Stosowanie funkcji i klas zaprzyjaźnionych w programach.

• Przekształcanie wcześniej opracowanych programów w programy obiektowe.

8. Dziedziczenie i polimorfizm

Opis pojęcia „dziedziczenie”. Dziedziczenie elementarne. Dziedziczenie złożone. Funkcje wirtualne, polimorfizm. 

Klasy abstrakcyjne.

Ćwiczenia

• Korzystanie w programach z różnego rodzaju dziedziczenia.

• Przypisywanie i inicjalizacja obiektów w warunkach dziedziczenia.

• Wykorzystywanie funkcji wirtualnych w programach.

• Tworzenie biblioteki klas użytkownika.

• Definiowanie klas do operacji na listach i drzewach.

9. Operacje wejścia/wyjścia

Strumienie, operacje na strumieniach. Podstawowe operatory. Sterowanie formatem. Manipulatory.

Ćwiczenia

• Opracowywanie przykładowego programu działającego na plikach.

• Wybieranie miejsca czytania lub pisania w pliku.

• Projektowanie i budowanie systemu do gromadzenia i przetwarzania danych.

10. Podstawy projektowania aplikacji dla środowiska graficznego

Tworzenie projektu oraz struktury aplikacji. Zasady projektowania okna aplikacji, ikona programu, przyciski 

maksymalizuj, minimalizuj. Dodawanie podstawowych obiektów kontrolnych do okna aplikacji. Ułożenie obiektów

kontrolnych. Dołączanie zmiennych do obiektów kontrolnych. Przypisywanie obiektom kontrolnym zasad 

funkcjonowania, dodawanie do aplikacji kodu źródłowego. Predefiniowane okna dialogowe. Projektowanie 

własnych okien dialogowych. Projektowanie i dodawanie menu do aplikacji.

Ćwiczenia

• Tworzenie nowego projektu oraz generowanie struktury aplikacji przy wykorzystaniu kreatora.

• Modyfikowanie interfejsu aplikacji: umieszczanie przycisków sterujących, dołączanie kodu.

Posługiwanie się podstawowymi obiektami kontrolnymi.

Projektowanie prostej aplikacji obliczeniowej.

Używanie predefiniowanych okien dialogowych i informacyjnych.

• Tworzenie niestandardowych okien dialogowych aplikacji.

• Dodawanie nowych zasobów menu oraz ich projektowanie.

Projektowanie menu z systemem klawiszy skrótów.

Tworzenie menu wielopoziomowego, dodawanie separatorów.

• Dołączanie menu do okna aplikacji.

• Dodawanie funkcji obsługujących polecenia menu.

Tworzenie menu kontekstowwego.

Tworzenie prostej aplikacji zmenu.

11. Projektowanie aplikacji graficznej

Interfejs urządzenia graficznego. Generowanie podstawowej struktury aplikacji. Dodawanie możliwości 

graficznych, rysowanie myszką. Tworzenie listy dostępnych czcionek. Korzystanie z czcionek.

Ćwiczenia

• Korzystanie z biblioteki funkcji umożliwiających wykreślanie linii i kształtów.

• Wypełnianie narysowanych figur.

• Prezentowanie graficzne wyników działania programów obliczeniowych.

• Tworzenie animacji.

• Posługiwanie się funkcjami umożliwiającymi rysowanie tekstu.

• Zarządzanie czcionkami: tworzenie, używanie, usuwanie.

12. Projektowanie aplikacji SDI (Single Document Interface) i MDI(Multiple Document Interface)

Architektura dokument/widok. Zasady projektowania aplikacji jednodokumentowej. Tworzenie powłoki aplikacji 

SDI. Klasy bazowe wykorzystywane w aplikacjach SDI. Obsługa SDI. Różnice między aplikacjami 

jednodokumentowymi i wielodokumentowymi. Zasady projektowania aplikacji wielodokumentowej. Klasy bazowe 

wykorzystywane w aplikacjach MDI. Obsługa MDI. Paski narzędzi i stanu. Dołączanie paska narzędzi do okna 

aplikacji. Istota standardowego paska stanu. Dodawanie nowych elementów paska stanu.

Ćwiczenia

• Przykładowa implementacja SDI.

• Używanie dokumentów i widoków.

• Tworzenie własnej klasy do używania w aplikacji.

• Zapisywanie i odczytywanie dokumentów w architekturze dokument/widok.

• Tworzenie użytkowych aplikacji pracujących w oparciu o jeden dokument.

• Tworzenie aplikacji wielodokumentowej.

• Korzystanie z szablonów dokumentów MDI.

• Modyfikowanie przykładowych aplikacji MDI.

• Tworzenie prostych aplikacji użytkowych.

• Dostosowywanie standardowych pasków narzędziowych.

• Tworzenie własnych pasków narzędziowych oraz definiowanie ich zachowania.

• Dostosowywanie standardowego paska stanu do potrzeb danej aplikacji.

13. Projektowanie aplikacji typu baza danych

Zasady tworzenia podstawowej struktury aplikacji. Przygotowanie własnej klasy rekordu. Podstawowe operacje 

wykonywane na rekordach. Obsługa operacji zapisu i odczytu danych z poziomu aplikacji.

Ćwiczenia

• Zakładanie bazy danych.

• Wyszukiwanie informacji, usuwanie i dopisywanie danych.

• Wykorzystywanie plików do przechowywania danych.

14. Tworzenie i zarządzanie złożonymi programami

Tworzenie złożonych projektów przez grupę programistów. Zasady projektowania systemów informatycznych. 

Debugger. Optymalizacja programów. Dokumentacja techniczna programu.

Ćwiczenia

• Organizowanie pracy zespołowej.

• Wykonywanie projektu grupowego.

• Scalanie i uruchamianie programów.

• Testowanie, wykrywanie i usuwanie błędów.

• Optymalizowanie działania programu.

• Wykonywanie dokumentacji technicznej programu.

15. Wprowadzenie do programowania w języku Java

Narzędzia. Beta-kod i maszyna wirtualna. Porównanie języków programowania Java i C++. Struktura programu 

w języku Java. Typy podstawowe. Zmienne, operatory i instrukcje.

Ćwiczenia

• Stosowanie wybranych metod przybliżonego rozwiązywania równań.

• Ocenianie wpływu błędnych danych na wynik działań arytmetycznych.

• Wykorzystywanie całek oznaczonych do obliczeń.

16. Obiekty i klasy w Javie

Klasa jako typ danych. Metody klasy. Konstruktory. Specyfikatory dostępu. Dziedziczenie. Tablice.

Obsługa sytuacji wyjątkowych. Instrukcje: try ... catch, throws. Hierarchia dziedziczenia klas wyjątków.

Ćwiczenia

• Projektowanie klas przykładowych obiektów.

• Wykonywanie operacji na macierzach i wektorach.

• Zabezpieczanie programów przed wystąpieniem błędów.

• Definiowanie klasy wyjątków.

17. Aplety

Zasady projektowania apletów. Struktura apletu. Tekst w apletach. Metody odpowiedzialne za rysowanie

w aplecie. Dźwięki i animacje. Obsługa zdarzeń.

Ćwiczenia

• Osadzanie przykładowych apletów w stronach internetowych.

• Tworzenie prostych banerów.

• Wykorzystywanie przycisków do wywoływania akcji.

• Programowanie obsługi zdarzeń myszy i klawiatury.

18. Aplikacje w Javie

Okno i menu aplikacji. Grafika. Komponenty: etykiety, pola wyboru, przyciski, listy, listy opcji, listy przewijania, 

pola tekstowe. Operacje wejścia/wyjścia w Javie.

Ćwiczenia

Tworzenie okna aplikacji oraz menu.

Przedstawianie wyników działania aplikacji na wykresach.

Tworzenie graficznych gier logicznych.

Przykłady wykorzystania komponentów w aplikacjach.

Operacje na plikach.

19. Programowanie współbieżne

Zasady programowania współbieżnego. Wątki. Klasa Thread. Implementacja interfejsu Runnable.

Synchronizacja wątków.

Ćwiczenia

• Projektowanie programu wielowątkowego.

• Rozwiązywanie problemu typu producent-konsument (aplikacja).

20. Programy pracujące w sieci

Zasady projektowania aplikacji pracujących w sieci. Gniazda. Aplikacje klient/serwer.

Ćwiczenia

• Tworzenie prostych aplikacji sieciowych działających w trybie konsoli.

• Tworzenie prostych aplikacji sieciowych z interfejsem graficznym.

 

 
 
 
 
=> Chcesz darmową stronę ? Kliknij tutaj! <=
Centrum Kształcenia Ustawicznego w Kutnie ul.Staszica 27