-
X-Received: by 10.140.84.233 with SMTP id l96mr35750qgd.14.1390034840509; Sat, 18 Jan
2014 00:47:20 -0800 (PST)
X-Received: by 10.140.84.233 with SMTP id l96mr35750qgd.14.1390034840509; Sat, 18 Jan
2014 00:47:20 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin2!goblin.stu.neva.ru!feeder.erje.net!us.feeder.erje.net!news.rip
co.com!news.glorb.com!kk17no11170475pbb.0!news-out.google.com!fv6ni4421qab.1!nn
tp.google.com!6no16232891qao.1!postnews.google.com!glegroupsg2000goo.googlegrou
ps.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sat, 18 Jan 2014 00:47:20 -0800 (PST)
In-Reply-To: <1...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.67.189.218;
posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r
NNTP-Posting-Host: 89.67.189.218
References: <4...@g...com>
<p...@4...com>
<1...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2...@g...com>
Subject: Re: generowanie programow
From: g...@g...com
Injection-Date: Sat, 18 Jan 2014 08:47:20 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:204983
[ ukryj 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
- 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
- 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
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=