eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018Re: Jaki język polecić początkującemu? - komentarz do artykułu w Programista 9/2018
  • X-Received: by 2002:a0c:b917:: with SMTP id u23mr765777qvf.6.1546548706216; Thu, 03
    Jan 2019 12:51:46 -0800 (PST)
    X-Received: by 2002:a0c:b917:: with SMTP id u23mr765777qvf.6.1546548706216; Thu, 03
    Jan 2019 12:51:46 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!2.eu.feeder.erje.net!4.us.feeder.erje.net!feeder.erje.net!feeder.usenetex
    press.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp
    .giganews.com!v55no55755qtk.0!news-out.google.com!h3ni13248qtk.1!nntp.google.co
    m!v55no55745qtk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-fo
    r-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 3 Jan 2019 12:51:45 -0800 (PST)
    In-Reply-To: <1...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=5.172.255.221;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 5.172.255.221
    References: <c...@g...com>
    <f...@g...com>
    <a...@g...com>
    <7...@g...com>
    <a...@g...com>
    <6...@g...com>
    <0...@g...com>
    <a...@g...com>
    <1...@g...com>
    <e...@g...com>
    <6...@g...com>
    <1...@g...com>
    <2...@g...com>
    <5...@g...com>
    <9...@g...com>
    <q0lcv9$abq$1@gioia.aioe.org>
    <1...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <4...@g...com>
    Subject: Re: Jaki język polecić początkującemu? - komentarz do artykułu w
    Programista 9/2018
    From: fir <p...@g...com>
    Injection-Date: Thu, 03 Jan 2019 20:51:46 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 90
    Xref: news-archive.icm.edu.pl pl.comp.programming:213153
    [ ukryj nagłówki ]

    W dniu czwartek, 3 stycznia 2019 18:20:04 UTC+1 użytkownik g...@g...com
    napisał:
    >
    > Przykład, który lubię dawać na różnych prezentacjach, to program
    > liczący sumę kwadratów początkowych siedmiu liczb pierwszych.
    >
    > Imperatywnie zapisalibyśmy go tak:
    >
    > 1: licznik := 7
    > 2: liczba := 0
    > 3: suma := 0
    > 4: dopóki (licznik > 0):
    > 5: jeżeli jest_pierwsza(liczba):
    > 6: suma := suma + liczba^2
    > 7: licznik := licznik - 1
    > 8: liczba := liczba + 1
    >
    > i jeszcze musieli dopowiedzieć, że po wykonaniu programu
    > wynik znajdziemy w zmiennej "suma".
    >
    > Natomiast przy podejściu funkcyjnym po prostu "formalizujemy"
    > sformułowaine problemu: "suma kwadratów początkowych 7 liczb pierwszych"
    > ma swoją strukturę gramatyczną, którą możemy uwypuklić, biorąc jednostki
    > znaczeniowe w nawiasy:
    >
    > (suma (kwadraty (początkowe 7 liczby-pierwsze)))
    >
    > Teraz wystarczy nam wyjaśnić, co to jest (suma elementów)
    > czym są (kwadraty elementów), co to jest (początkowe N elementy)
    > i czym są liczby-pierwsze.
    >
    > To jest kod, który bardzo łatwo się komponuje, i który
    > bardzo łatwo się czyta, testuje i analizuje (I nie trzeba wyjaśniać,
    > gdzie należy szukać wyniku)
    >
    > wiadomo, że (o ile definicje pojęć są takie, jakich byśm oczekiwali) wyrażenie
    >
    > (suma (kwadraty (początkowe 7 liczby-pierwsze)))
    >
    > jest równoważne wyrażeniu
    >
    > (suma (kwadraty '(2 3 5 7 11 13)))
    >
    > które jest równoważne wyrażeniu
    >
    > (suma '(4 9 25 49 121 169))
    >
    > i tak dalej.
    >
    lol ale mozesz podac ten kod w lispie w postaci takiej kompletnosci jak ten przyklad
    w pseudkodzie, by to rzeczywiscie porownac?

    bo to jest raczej istotnie


    w c taki programik nie wyglada zbyt tragicznie


    int PoliczSumeParuPoczatkowychLiczbPierwszych(int ilu)
    {

    int dodano_pierwszych =0;
    int suma = 0;

    for(int i=0;;i++)
    {
    if(jest_liczba_pierwsza(i))
    {
    suma+=i*i;
    dodano_pierwszych++;
    if(dodano_pierwszych==ilu) return suma;
    }
    }
    }

    to ze nie wydziela on etapow na podej pierwsze, podnies do kwadratu zsumuj wynika
    raczej z tego ze pisze sie to tak by dzialalo szybko.. jak ktos sie nie upiera by
    bylo tak szybko moze podzielic na te fazy


    chetnie bym zobaczyl taki kompletny progamik w tym lispie scheme czy co to tam jest

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: