Logick - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Logick

Description:

Logick programov n Tom Van ek Stavebn fakulta VUT Th kurova 7, Praha Dejvice vanicek_at_fsv.cvut.cz http://kix.fsv.cvut.cz/~vanicek Procedur ln ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 12
Provided by: cvu59
Category:
Tags: lisp | logick

less

Transcript and Presenter's Notes

Title: Logick


1
Logické programování
  • Tomáš Vanícek
  • Stavební fakulta CVUT
  • Thákurova 7, Praha Dejvice
  • vanicek_at_fsv.cvut.cz
  • http//kix.fsv.cvut.cz/vanicek

2
Procedurální (klasické) programování
  • Popisuje algoritmus postup, jak vyrešit úlohu

3
Príklad programu v procedurálním programovacím
jazyce (Pascal)?
  • Procedure kvadraticka_rovnice (a,b,cReal)
  • Begin
  • Dbb-4ac
  • if Dlt0 then writeln ('neni reseni')
  • if D0 then writeln ('jedno reseni',
    -b/(2a))
  • if Dgt0 then begin
  • Dsqrt(D)
  • R1(-bD)/(2a) R2(-b-D)/(2a)
  • writeln ('Dve reseni', R1, R2)
  • end
  • end

Procedure kvadraticka_ Begin Dbb-4ac
if Dlt0 then writeln ('neni reseni') if
D0 then writeln ('jedno reseni', -b/(2a))
if Dgt0 then begin Dsqrt(D)
R1(-bD)/(2a) R2(-b-D)/(2a)
writeln ('Dve reseni', R1, R2) end end
4
Neprocedurální (logické) programování
  • Program je pouze popis situace, problému.
  • Programátor nespecifikuje, jak problém rešit.
  • To nechává na programu, respektive na prekladaci,
    ci interpretu jazyka

5
Neprocedurální programovací jazyky
  • LISP
  • AUTOLISP
  • Prolog

6
Príklad programu v Prologu
  • Fakta
  • pravidla

7
Fakta
  • muz (tomas).
  • muz (petr).
  • muz (jan).
  • muz (jiri).
  • muz (josef).
  • muz (lukas).
  • muz (bartolomej).
  • zena(lucie).
  • zena(zdislava).
  • zena(petra).
  • zena(hana).
  • zena(johana).
  • zena(anna).

8
Fakta
  • rodic (tomas,josef).
  • rodic (tomas,anna).
  • rodic (lucie,josef).
  • rodic (lucie,anna).
  • rodic (petr,johana).
  • rodic (petr,bartolomej).
  • rodic (zdislava,johana).
  • rodic (zdislava,bartolomej).
  • rodic (jan,lukas).
  • rodic (petra,lukas).
  • rodic (jiri,tomas).
  • rodic (jiri,petr).
  • rodic (jiri,jan).
  • rodic (hana,tomas).
  • rodic (hana,petr).
  • rodic (hana,jan).

9
Pravidla
  • otec (X,Y) - rodic(X,Y), muz(X).
  • matka (X,Y) - rodic(X,Y), zena(X).
  • dite (X,Y) - rodic(Y,X).
  • sourozenec (X,Y) - rodic(Z,X), rodic (Z,Y).
  • bratr (X,Y) - sourozenec(X,Y), muz(X).
  • sestra (X,Y) - sourozenec(X,Y), zena(X).
  • manzel (X,Y) - dite(Z,X), dite(Z,Y), muz(X).
  • manzelka (X,Y) - dite(Z,X), dite(Z,Y),zena(X).

10
Dotazy
  • muz(tomas)?
  • muz(anna)?
  • otec(tomas,josef)?
  • otec(X,josef)?
  • dite(tomas,X)?
  • dite(X,_)?
  • otec(X,Y)?
  • sestra(X,Y)?
  • bratr(tomas,X)?

11
Úkoly
  • Napiše tato pravidla
  • dedecek(X,Y)?
  • babicka(X,Y)?
  • stryc(X,Y)?
  • teta(X,Y)?
  • synovec(X,Y)?
  • neter(X,Y)?
  • bratranec(X,Y)?
  • sestrenice(X,Y)?
Write a Comment
User Comments (0)
About PowerShow.com