-
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
- 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
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-27 potwierdzenie notarialne dokumentow tozsamosci ze zdjeciem
- 2025-02-27 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-02-27 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-27 Warszawa => Mid IT Recruiter <=
- 2025-02-27 Warszawa => Expert Recruiter 360 <=
- 2025-02-27 Warszawa => Junior Rekruter <=
- 2025-02-27 China-Kraków => Key Account Manager IT <=
- 2025-02-27 Warszawa => Sales Assistant <=
- 2025-02-27 Kraków => Frontend Vue Developer <=
- 2025-02-27 Re: Zwolniony z IKEA za "wąty" przeciw firmowej promocji LGBT-IQ+ przywrócony do pracy - SN odrzucił kasacje (sygn. akt I PSK 62/24)
- 2025-02-27 Częstochowa => Manager ds. produktu <=
- 2025-02-27 Warszawa => Business Systems Analyst <=
- 2025-02-27 Nagranie poglądowe
- 2025-02-26 Zasilacz USB na ścianę.
- 2025-02-26 Błonie => Specjalista ds. public relations <=