Języki programowania deklaratywnego

Podobne dokumenty
Języki programowania imperatywnego

GUI - projektowanie interfejsów cz. II

Języki programowania deklaratywnego

Wykład 0 Informacje Podstawowe

Paradygmaty programowania

PODSTAWY SZTUCZNEJ INTELIGENCJI

Prolog (Pro-Logic) Programowanie w Logice. Dr inż. Piotr Urbanek

Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

KARTA PRZEDMIOTU. Języki i paradygmaty programowania C7. Programming languages and paradigms

Paradygmaty programowania

Języki i paradygmaty programowania. I. Wprowadzenie

Wykład 1 Informacje Podstawowe

Programowanie w logice

PRZEWODNIK PO PRZEDMIOCIE

PROLOG. Prolog. Programowanie, W.F. Clocksin, C.S. Mellish, HELION Prolog, język sztucznej inteligencji, Eugeniusz Gatnar, Katarzyna Stąpor, Wyd.

Paradygmaty i języki programowania. Wprowadzenie. dr Robert Kowalczyk, Katedra Analizy Nieliniowej, WMiI UŁ 1

Wykład 1 Informacje Podstawowe

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Programowanie w języku C++ Podstawowe paradygmaty programowania

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka.

Wykład 1 Wiadomości wstępne

Programowanie w logice

Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++

Programowanie Obiektowe i C++

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Programowanie deklaratywne

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Modelowanie i Programowanie Obiektowe

Informatyka I stopień ogólnoakademicki niestacjonarne Teleinformatyka Zakład Informatyki dr inż. Adam Krechowicz mgr inż.

Wprowadzenie do Prologa

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Programowanie komputerów

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Programowanie Obiektowe i C++ Marcin Benke

Paradygmaty i języki programowania. Wprowadzenie. dr Robert Kowalczyk, Katedra Analizy Nieliniowej, WMiI UŁ 1


PRZEWODNIK PO PRZEDMIOCIE

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO

przedmiot specjalnościowy obowiązkowy polski semestr V semestr zimowy nie

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

K_W04 K_W04 K_W04. Opis

Wykład Ćwiczenia Laboratorium Projekt Seminarium

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

Transformacja wiedzy w budowie i eksploatacji maszyn

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Programowanie w Logice

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

INFORMATYKA P L AN S T U DIÓW ST AC J O N AR N Y C H ( W UKŁAD Z I E S EMESTR AL N Y M ) Podstawy programowania

Języki programowania do zastosowań biomedycznych

Programowanie w języku C++ Grażyna Koba

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PODSTAWY ALGORYTMIKI

Definicje. Algorytm to:

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

Podstawy Programowania Obiektowego

przedmiot kierunkowy (podstawowy / kierunkowy / inny HES) obowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr I

przedmiot kierunkowy (podstawowy / kierunkowy / inny HES) obowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr I

Kierunek Informatyka stosowana Studia stacjonarne Studia pierwszego stopnia

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

E-1EZ1-03-s2. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Opisy efektów kształcenia dla modułu

Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

WYKAZ PRZEDMIOTÓW I PLAN REALIZACJI

Wykład 1 Informacje Podstawowe

PROLOG. Programmation en Logique. Michał Bereta

Laboratorium przedmiotu Paradygmaty Programowania

Wstęp do Informatyki dla bioinformatyków

Podstawy Programowania Podstawowa składnia języka C++

Informatyczne podstawy projektowania Kod przedmiotu

Techniki modelowania programów Kod przedmiotu

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Programowanie obiektowe 1 - opis przedmiotu

Język ludzki kod maszynowy

Jerzy Nawrocki, Wprowadzenie do informatyki

Elektrotechnika I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Historia modeli programowania

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

PRZEWODNIK PO PRZEDMIOCIE

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Elementy języków programowania

Technologie i usługi internetowe cz. 2

Programowanie obiektowe Object programming. Elektrotechnika II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

SYSTEMY BAZ DANYCH Database Systems Forma studiów: Stacjonarne. Poziom przedmiotu: II stopnia Liczba godzin/tydzień: 2W E, 2L

PRZEWODNIK PO PRZEDMIOCIE

Podstawy programowania. Wprowadzenie

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Podstawy Kompilatorów

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Katedra Inżynierii Wiedzy laborki 1

e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl

Języki deklaratywne - laborki Wprowadzenie i język Prolog; Języki funkcyjne i język F #; System PC Shell; Zajęcia i warunki zaliczenia Język Prolog - kolokwium (po ok 7-8 zajęciach); Języki funkcyjne i język F # - 2 zajęcia; System PC Shell - projekt systemu ekspertowego dotyczący wybranego zagadnienia + sprawozdanie - ok 2-3 zajęć; Powtórki przed egzaminem.

Zagadnienia - bardziej szczegółowo języki imperatywne a języki deklaratywne; wprowadzenie o paradygmatach; podstawy języka Prolog i zagadka Einsteina; środowisko i pliki pl; predykaty, fakty, zapytania; zmienne i reguły; arytmetyka; listy i rekurencja; predykaty wbudowane

Zagadnienia - bardziej szczegółowo paradygmat funkcyjny; typy, identyfikatory, funkcje; wyrażenia lambda; system PC SHELL i składnia; projekt systemu ekspertowego; powtórki (z naciskiem na Prologa).

Metodyka (paradygmat) programowania - czyli? Metodyka (zwana też często paradygmatem) to ustandaryzowane dla wybranego obszaru podejście do rozwiązywania problemów. sposób programowania oparty na mechanizmach udostępnianych przez wybrany język programowania; w związku z odmiennym przeznaczeniem języków programowania mogą występować istotne różnice pomiędzy poszczególnymi paradygmatami; środowisko przeważnie nie narzuca paradygmatu; dobór odpowiedniej metodyki zależy od rozwiązywanego problemu;

Nadtypy paradygmatów Programowanie stacjonarne - tworzenie programu, uwzględniającego obliczenia wykonywane przez jeden procesor; Programowanie rozproszone - tworzenie programu, uwzględniającego obliczenia wykonywane bez współdzielenia zasobów obliczeniowych (współdzielenie danych - często rozproszonych); Programowanie równoległe - tworzenie kodu z uwzględnieniem obliczeń wykonywanych przez więcej niż jeden procesor. Konieczność synchronizacji i komunikacji;

Typy paradygmatów Programowanie imperatywne - słynna instrukcja goto ; Przykłady języków: Algol, Fortran, Pascal, C. Programowanie funkcyjne - Haskell (Wartościowanie leniwe); Programowanie opisowe - VHDL (język opisu i projektowania układów cyfrowych); Programowanie logiczne - Prolog (fakty i reguły);

Podstawowe rodzaje metodyk Programowanie liniowe - całość programu jest postrzegana jako jeden, ciągły blok; Programowanie proceduralne - dekompozycja problemu. Blok główny to szkielet programu, a poszczególne procedury i funkcje są wywoływane w określonej kolejności; Programowanie funkcyjne - wynik w programowaniu funkcyjnym otrzymywany poprzez złożenie funkcji. Przykładowo pętla zastępowana jest poprzez rekurencję. Programowanie obiektowe - klasa, obiekt, metoda, pole, enkapsulacja. Programowanie generyczne - programowanie uogólnione. Programowanie agentowe - dekompozycja kodu i wydzielenie zadań dla osobnych podprogramów/wątków/procesów.

Stałe - definicja Symboliczna nazwa obiektów występujących w programie Stałe łańcuch znaków o dowolnej długości; pierwsza litera łańcucha mała; łańcuch może zawierać cyfry i podkreślenia; łańcuch może zawierać znaki specjalne takie jak $,, %; dowolny ciąg znaków ujęty w pojedyncze apostrofy.

Zmienne - definicja Służą do przedstawienia nazw obiektów, które nie są w danym momencie znane. Zmienne łańcuch znaków o dowolnej długości zaczynający się dużą literą; pojedyncza duża litera; pojedynczy znak podkreślenia - reprezentujący zmienną anonimową.

Predykaty - definicja Opisują związki zachodzące pomiędzy obiektami. Predykaty p(t 1, T 2,..., T n ); p - to nazwa n-argumentowego symbolu relacyjnego; T i - termy.

Termy złożone - definicja Termy złożone tworzone są przy pomocy innych termów oraz funktorów (symboli funkcyjnych). Termy złożone f (T 1, T 2,..., T n ); f - to nazwa n-argumentowego symbolu funkcyjnego; T i - termy. Przykład termu złożonego ksiazka(autor(boleslaw,prus), Lalka, 2000).

Fakty i zapytania Fakty lubi(jan,jablko); lubi(adam,sliwka); czyta(mariusz,gazeta); lubi(wojtek,gazeta);?-lubi(adam,sliwka).?-czyta(adam,gazeta). Podaj kilka przykładów faktów a następnie zadaj pytania dotyczące tych faktów.

Koniunkcje - zapytania łączone lubi(jan,jablko); lubi(adam,sliwka); czyta(mariusz,gazeta); lubi(wojtek,gazeta); lubi(adam, jablko);?-lubi(adam,sliwka), lubi(adam,jablko).?-czyta(adam,gazeta), czyta(adam,ksiazka).

Alternatywa - zapytania łączone lubi(jan,jablko); lubi(adam,sliwka); czyta(mariusz,gazeta); lubi(wojtek,gazeta); lubi(adam, jablko); Alternatywa oznaczana jest przy pomocy średnika.?-lubi(adam,sliwka); lubi(adam,jablko).?-czyta(adam,gazeta); czyta(adam,ksiazka).

Zagadka Einsteina Przeczytaj tekst dotyczący zagadki Einsteina. Porównaj rozwiązanie napisane w języku imperatywnym oraz deklaratywnym (materiały można pobrać ze strony pjuszczuk.pl).

Ćwiczenie - dopisz fakty siostra(ala,michal); wnuczek(jakub,miroslaw).

siostra(ala,michal). ojciec(janusz,ala). ojciec(janusz,michala). matka(halina,ala). matka(halina,michal).

wnuczek(jakub,miroslaw). ojciec(janusz,jakub). ojciec(miroslaw,janusz). /lub syn(jakub,janusz). syn(janusz,miroslaw).