Paradygmaty programowania
Literatura
Paradygmat
Czym jest programowanie?
Podział paradygmatów programowania
Architektura von Neumana
Paradygmaty imperatywne
Programowanie proceduralne
Programowanie strukturalne
Programowanie obiektowe
Paradygmaty deklaratywne
Programowanie funkcyjne
Programowanie logiczne
Inne paradygmaty programowania
Czym jest zmienna?
Atrybuty zmiennej
Nazwy zmiennych
Adresy zmiennych
Czas życia zmiennej
Zakres widoczności zmiennej
Wiązanie
Zakres widoczności a czas życia zmiennej
Typy danych
Wykorzystanie typów
Deklarowanie typów
Zgodność typów
Zgodność typów - przykład
Typy pierwotne
Tworzenie typów
Typy złożone
Tablice
Rekordy
Unie
Listy
Słowniki
Pojęcia
Założenia
Parametry podprogramów
Procedury i funkcje
Sposób przekazywania argumentów
Modele przekazywania argumentów
Przekazywanie przez wartość
Przekazywanie przez wynik
Przekazywanie przez wartość i wynik
Przekazywanie przez referencję
Przekazywanie przez nazwę
Wywołanie podprogramu
Powrót z podprogramu
Problematyka podprogramów
Środowisko referencyjne
Środowisko referencyjne Przykład
Polimorfizm podprogramów
Mechanizmy programowania obiektowego
Hermetyzacja
Dziedziczenie
Podtyp/podklasa
Wielodziedziczenie
Polimorfizm (dynamiczny)
Metody wirtualne
Przykład
Python - Deskryptory
Paradygmat funkcyjny
Zalety języków czysto funkcyjnych
Przezroczystość referencyjna
Trwałe struktury danych
Ścisła i nieścisła ewaluacja
Leniwa ewaluacja
Matematyczna ścisłość
Wady języków czysto funkcyjnych
Rekurencja ogonowa
Programowanie w logice - obiekty
Programowanie w logice - relacje
Programowanie w logice – fakty i zapytania
Programowanie w logice – stwierdzenia
Programowanie w logice – zmienne w zapytaniach
Programowanie w logice – reguły
Programowanie w logice – podsumowanie
Klauzule
Programowanie w logice - formalnie
Predykat
Termy - stałe
Termy - zmienne
Termy złożone
Stwierdzenia
Stwierdzenia - Kwantyfikatory
Obliczanie celu
Rezolucja
Algorytm rezolucji w Prologu
Dopasowywanie wyrażeń
Algorytm unifikacji
Algorytm unifikacji cd.
Przykład unifikacji
Przykład rezolucji
Przykład rezolucji cd.
Przykładowy program w Prologu