-
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
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,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
Najnowsze wątki
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?
- 2025-12-24 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-12-24 otwarcie drugiej obwodnicy Trójmiasta
- 2025-12-24 Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- 2025-12-23 Prezent dla kierowców od prezydenta Nawrockiego
- 2025-12-23 Warszawa => Asystent ds. Sprzedaży i Rozwoju Klienta <=
- 2025-12-23 Warszawa => Senior IT Recruitment Consultant <=
- 2025-12-22 czy wiedziałeś że?
- 2025-12-22 Unijne KOOOORWY mówią że WYCOFUJĄ się z zakazu rejestracji elektryków
- 2025-12-22 Białystok => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-22 Lublin => Project Manager <=
- 2025-12-22 Warszawa => Project Manager (AI and innovation) <=




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem