-
Data: 2014-01-18 09:47:20
Temat: Re: generowanie programow
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu sobota, 18 stycznia 2014 09:12:33 UTC+1 użytkownik g...@g...com
napisał:
> > >Mowiac w skrocie: autorzy najpierw pokazuja,
> > >w jaki sposob mozna przepisac program napisany
> > >w stylu funkcyjnym na "program w logice"
> > >(poprzez dopisanie dodatkowego argumentu,
> > >majacego reprezentowac wynik),
> >
> >
>
> > A co to ma wspolnego z "programwoaniem w logice"?...
>
> Co co ma wspolnego z programowaniem w logice?
Pozwole sobie zagdywac, jaka byla intencja za tym
dosc lakonicznie sformulowanym pytanie.
Otoz z punktu widzenia logiki funkcja to relacja
roznowartosciowa pomiedzy dwoma zbiorami. Mowiac
scisle, powiemy, ze F jest funkcja wtw
dla kazdego x istnieje dokladnie jedno y takie,
ze F(x,y), albo jeszcze inaczej, ze dla kazdego x
istnieje takie y, ze F(x,y) i dla kazdego z, jesli
F(x,z) to y=z.
Mozemy wowczas pisac y = f(x).
Podstawowa idea programow napisanych w stylu
funkcyjnym jest taka, ze procedury realizuja
funkcje, czyli ze procedura wywolana z tymi
samymi argumentami zawsze zwroci taki sam
wynik.
Dodatkowo programy napisane w stylu funkcyjnym
unikaja przypisan i petli, a zamiast nich
stosuja rekursje.
Systemy do programowania w logice nie pozwalaja
w ogole definiowac procedur, a jedynie predykaty.
Poza tym dziela z programami funkcyjnymi te
wlasnosc, ze nie dopuszczaja przepisan.
Majac dana funkcje y=f(x), musimy stworzyc predykat
F(x,y) taki, ze F(x,y) <=> y=f(x). Na tym wlasnie
polega przejscie od programu funkcyjnego do programu
w logice.
Na pozor mogloby sie wydawac, ze to przejscie
jest trywialne, bo w jezyku funkcyjnym wystarczyloby
zdefiniowac
F(x,y) =df y=f(x)
i chociaz w sensie warunkow prawdziwosci jest ok, to
jednak systemy do programowania w logice nie zajmuja
sie tylko badaniem prawdziwosci, ale przede wszystkim
dostarczaniem zbiorow rozwiazan spelniajacych okreslone
warunki. Dlatego chcac uzyskac logiczna wersje definicji
programu funkcyjnego, nalezy jeszcze zastapic operator
porownania operatorem unifikacji i wykonac pare innych
zabiegow (a w szczegolnosci oczywiscie zastapic wywolania
rekurencyjne f odwolaniami do F)
Mam nadzieje, ze to odpowiada na Twoje pytanie.
Następne wpisy z tego wątku
- 18.01.14 10:35 g...@g...com
- 18.01.14 12:08 firr
- 18.01.14 23:11 A.L.
- 18.01.14 23:36 A.L.
- 19.01.14 02:02 g...@g...com
- 19.01.14 02:45 g...@g...com
- 19.01.14 10:25 firr
- 19.01.14 10:44 firr
- 19.01.14 10:48 firr
- 22.01.14 10:35 firr
- 22.01.14 11:27 g...@g...com
- 22.01.14 11:29 g...@g...com
- 22.01.14 11:40 firr
- 22.01.14 12:10 firr
Najnowsze wątki z tej grupy
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
Najnowsze wątki
- 2025-05-10 Szczecin => Key Account Manager IT <=
- 2025-05-10 Rudno => Administrator sieci IT <=
- 2025-05-10 Wrocław => Controlling systems Consultant <=
- 2025-05-10 Rudno => IT network administrator <=
- 2025-05-10 Warszawa => Customer Service with Spanish + translation <=
- 2025-05-10 Warszawa => Senior Account Manager <=
- 2025-05-10 Trójmiasto => Head of Social Media <=
- 2025-05-10 Warszawa => C Programmer <=
- 2025-05-10 Warszawa => Java Developer <=
- 2025-05-10 powąchaj instrybutor
- 2025-05-10 Prawomocny wyrok. Rowerzysta nie ma pierwszeństwa, dojeżdżając do przejazdu
- 2025-05-09 Propagation velocity v/c dla kabli RF
- 2025-05-09 Warszawa => Senior Node.js Developer (doświadczenie z framework Nest.
- 2025-05-09 Patrolowanie kampusów
- 2025-05-09 Faktyczne opodatkowanie medianowej płacy w Polsce wyniosło 39,4% w lis. 2024r.