eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programminggenerowanie programow › Re: generowanie programow
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: