Ehtolauseen evaluointi?

Mitä ihmettä

Selittäkääs vähän tarkemmin tätä ehtolauseen evaluointia!

10

917

    Vastaukset 10

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • false=not true

      Eli en tiedä mitä tarkalleen haet tuolla kysymyksellä, mutta luulen että kysymys on boolean algeprasta, eli en osaa nyt hahmottaa miten tämä juuri Delphiin liittyy, eli jos jotain pientä lisätietoo sais siitä mitä tarkaan ottaen haet.

      Yleisesti ehtolauseen evaluionti tarkoittaa sitä että ehtolausetta tarkasttellaan matematiikan sääntöjen mukaan, kunnes lopputulos on varma, eri operandien kohdalla eri tavalla, mutta lopputulos joka tapauksessa on "Tosi" tai "epätosi",
      yleensä evaluoitava lause kirjoitetaan siten että ensimmäinen ehto on se ehto joka saattaa jo "toivottavasti" riittää lopputuloksen tietämiseen, jotta ei tuhlata prosessori aikaa, jolloin nopeutetaan ohjelman suoritusta.

      Delphissä tämä lauseke voidaan esittää eri tavoin, mutta lopputulos on aina tosi tai epätosi.

      Eli kerron kyllä tarkemmin mutta vähän tarkennusta kysymykseen...

      • abc kysyjä

        Mitä hyötyä on siitä että evaluoidaan kaikki?


      • Delphiguru
        abc kysyjä kirjoitti:

        Mitä hyötyä on siitä että evaluoidaan kaikki?

        Mikäli evaluoinnin *ainoa* tarkoitus on selvittää boolean -lausekkeen arvo, niin tuo "short-circuit evaluointi" on nopeampi koska lopettaa heti, kun lausekkeen arvo on selvillä ja myös joustavampi koska sen avulla voi esim:

        var

        P : PInteger;

        begin
        // koodia ...

        if assigned(P) AND (P^ >= 5) then ShowMessage ('kokonaisluku P:n osoittamassa muistiosoitteessa on arvoltaan vähintään 5.');

        end;

        Jos evaluoitaisiin kaikki, tuo aiheuttaisi virhetilanteen jos P = NIL.

        Tuota "evaluoidaan kaikki" käytetään yleensä vain silloin, kun siihen on erityinen syy, joita on 2 mahdollista, ja jälkimmäinen on erittäin harvinainen:

        1. Kun boolean -lausekkeessa on sellainen funktiokutsu, että ko. funktiolla on sivuvaikutus, ja ko. sivuvaikutuksen halutaan tapahtuvan aina

        2. Kun jostain erityisestä syystä halutaan, että evaluointi kestää aina vakion suoritusajan riippumatta siitä, että mahdollisesti jo 1. booleanarvon evaluoinnin jälkeen lopputulos jo tiedettäisiin.


    • Delphiguru

      Delphissä:

      1. Paina F1

      2. paina "Ohjeen aiheet"

      3. kirjoita "complete Boolean evaluation" (1. sanan alkuosan "compl" kirjoittaminen riittää; tuplaklikkaa sitten hiirellä "complete Boolean evaluation")

      4. Lue Delphin oma opaste aiheesta.

      eli siis
      {$B-}
      tilassa Delphi takaa, että boolean -lauseke evaluoidaan vasemmalta oikealle, ja evaluointi lopetetaan heti, kun lopputulos on selvä.

      Eli esimerkiksi:

      var
      St1 : String;

      k : Integer;

      begin
      if (k = 1, muussa tapauksessa saadaan poikkeus !

      huom2: JOS boolean -lausekkeessa on käytetty variant -tyyppiä, niin lauseke evaluoidaan aina kokonaan, eikä em . päde !

      Tämän voi kuitenkin näppärästi kiertää sisäkkäisillä aliohjelmilla:




      var
      St1 : String;
      v : Variant;

      k : Integer;

      function VariantOK:BOOLEAN;
      begin

      Result := NOT ( VarIsEmpty(v) or VarIsNull(v) );


      end;


      begin
      if VariantOK AND (k

    • Moikka vaan

      Pascal:ssa ohjelmoija valitsee (useimmista kielistä poiketen) kumpaa tapaa boolean-lauseke evaluoidaan.
      Tapa valitaan kääntäjän ohjeella {$BOOLEVAL ON} tai {$B }.

      Eli valinta voi olla tämäntapainen

      {$BOOLEVAL ON}
      ...suoritettava boolean ehto ...
      {$BOOLEVAL OFF}


      Kääntäjän ohje {$BOOLEVAL ON} tai {$B } kertoo että koko lause evaluoidaan.
      Vastaavasti kääntäjän ohje {$BOOLEVAL OFF} tai {$B-} kertoo että evaluoidaan vain
      niin kauan kuin tarvitaan tietoa lopputuloksen saamiseksi.

      • jätkät selittää ihan muuta

        Pyydettiin selittämään ehtolauseen evaluointi, vastattiin totuusarvoisen lausekkeen evaluoinnilla. Saisiko olla myös porkkanoita?


      • ...
        jätkät selittää ihan muuta kirjoitti:

        Pyydettiin selittämään ehtolauseen evaluointi, vastattiin totuusarvoisen lausekkeen evaluoinnilla. Saisiko olla myös porkkanoita?

        IF THEN
        tai
        :=


      • porkkana_ja_punajuuri
        jätkät selittää ihan muuta kirjoitti:

        Pyydettiin selittämään ehtolauseen evaluointi, vastattiin totuusarvoisen lausekkeen evaluoinnilla. Saisiko olla myös porkkanoita?

        Oman koulutuksen/tiedon perusteella ehtolause on vielä tänäpäivänä sama asia kun totuuslauseke, jos tuon meinaat kumota niin rikas persoona olet, mielestäni totuuslauseen vastaus on aina tosi tai epätosi eli ehdollistettuna joko tai ei...
        ELI haluan todella kuulla näkemyksesi totuus/- ja ehtolauseen erosta?!


      • selitystä sitten
        porkkana_ja_punajuuri kirjoitti:

        Oman koulutuksen/tiedon perusteella ehtolause on vielä tänäpäivänä sama asia kun totuuslauseke, jos tuon meinaat kumota niin rikas persoona olet, mielestäni totuuslauseen vastaus on aina tosi tai epätosi eli ehdollistettuna joko tai ei...
        ELI haluan todella kuulla näkemyksesi totuus/- ja ehtolauseen erosta?!

        http://www.tol.oulu.fi/kurssit/okp/Luennot/OKP_Imperatiivinen_Lauseet.html


    • Mun kysymys on

      Millaisia esimerkkejä esim. opetuksessa käytetään eri evaluointitavoissa?

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Gallup: Kansalaiset eivät usko velkajarruun

      Puolet suomalaisista ei usko velkajarrun vaatimien sopeutusten toteutuvan, kertoo Iro Researchin kyselytutkimus. Kokoom
      Maailman menoa
      87
      1203
    2. Ethän mies vielä

      luovu meistä? Haluaisin jo sun syliin.
      Ikävä
      67
      940
    3. Mä oon kallistumassa

      Rikosilmoitukseen!
      Suhteet
      213
      928
    4. Haaveilen edelleen

      Sinusta aika ajoin
      Ikävä
      58
      912
    5. Sinulle nainen

      En ehkä koskaan osannut sanoa tätä oikein. Minun vaikeuteni luottaa liittyi ennen kaikkea menettämisen pelkoon. Siihen
      Ikävä
      66
      886
    6. Martsusta tuli leuhka

      Ja ylimielinen. Hän ei nosta persettäkään ilmaseksi . Luulempa et nämä ei tee hyvää hyvinvointivalmennuksille.... Nannal
      Kotimaiset julkkisjuorut
      228
      770
    7. Hei rakkaani.

      Kohtaaminen lähestyy. Miten teemme sen? Kumpi ottaa yhteyttä vai törmäämmekö jossain sattumalta? Tuleva vaimosi
      Ikävä
      70
      755
    8. Ethän voinut nainen tietää, että rikot rikotun

      Omaa elämää taas mietin aamuyön tunteina. En vieläkään löytänyt muistin sokkeloista ainuttakaan onnen hetkeä. Kaipuu on
      Ikävä
      72
      732
    9. Kuisla Group Oy jättänyt yrityssaneeraushakemuksen

      Samalla yrityssaneeraukseen on hakeutunut Kuisla henkilökohtaisesti ja Seinäjoen Motelli Oy, joka omistaa Sorsanpesän ki
      Seinäjoki
      35
      728
    10. Tiedätkö sitä

      Että sinun äänesi on ihanan pehmeä
      Ikävä
      42
      716
    11. Uskallanko laittaa sulle viestiä?

      Se viesti on tossa valmiina ja lähettämistä vaille valmis. Kun ei kauhee sti tunneta niin eipä sillä olisi niin väliä. S
      Ikävä
      57
      643
    12. Kiulu myynnissä!

      Kiulu hakee taas uutta yrittäjää. https://www.yritysporssi.fi/etela-pohjanmaa-lansi-suomi-finland/myytavat/yritykset/ma
      Ähtäri
      26
      598
    13. On paha olla

      Kun olen käyttäytynyt aiemmin kaivattua kohtaan kuin joku narsisti.
      Ikävä
      42
      568
    14. Tulisiko naisille asettaa korkeammat eläkemaksut

      Tämä tuli mieleeni kun luin aamun lööppejä. Japanissa alkaa olla "uutta nuorisoa" ihan urakalla, ikä alkaa sadan jälkeen
      Sinkut
      172
      485
    15. Et pysty peittämään minulta

      Sinä olet hyvä peittämään asioita niin halutessasi. Pystyt pitkiäkin aikoja salaamaan juttuja. Juuri mietin tuossa, olet
      Ikävä
      47
      484
    16. Mikä tekee kaivatustasi

      Haluttavan?
      Ikävä
      18
      478
    17. Mitä oikein tapahtui? Maajussi-Jetta sai tylyt pakit - Sulhoehdokas selittää: "Ei lentänyt kipinät"

      Maajussille morsian -sarjassa etsitään rakkautta ja rinnalle kumppania. Yksi maajusseista on Jetta - liikunnallinen ja
      Maajussille morsian
      12
      447
    18. Vieläkin saat

      Sydämen tykyttämään. Vaikka emme näe
      Ikävä
      23
      427
    19. Huumekauppaako

      ”Huumekauppa johti rajuun väkivaltaan Kokkolassa – Kolme nuorta otettu kiinni, yksi epäillyistä alaikäinen”
      Kokkola
      9
      424
    20. Makeinen, asiaa sinulle

      Minua korkeampien voimien kehotuksesta sinua pyydetään avaamaan jokin yhteys asioista keskustelemisen takia kanssani. Il
      Ikävä
      28
      403
    Aihe