Tässä olisi kätevä laskin erilaisten kaavojen laskemiseen tietsikalla. Laitan tämän tänne, koska joku "matemaatikko" saattaisi tarvita
http://www.elisanet.fi/master.navigator/xCalc/
http://www.elisanet.fi/master.navigator/xCalc/
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 7
Vanhimmat
Matematiikkaahan tehdään liidulla taululle ja käytetään kreikkalaisia kirjaimia. Kuka siellä nyt laskee mitään? Se on insinöörien hapatusta!
Vakavammin: onhan tuo ohjelman varmasti ihan hyvä. Samaan tarkoituksen voi käyttää myös ohjelmatulkkia. Esim. Python tai Scheme hoitavat isoillakin luvuilla laskemisen mallikkaasti ihan "suoraan laatikosta". Lisäksi ne ovat Turing-täydellisiä kieliä, joten niillä voi tehdä melkein mitä vaan, mutta koskaan ei voi olla varma, että oma ohjelma joskus pysähtyy (Halting problem).
Ratkaisuksi ei kelpaa, että varmasti pysähtyy, kun vetää töpselin seinästä. Tai ei kelvannut minun proffalleni yliopistossa.
Nimimerkki Vieläkin katkera
"Lisäksi ne ovat Turing-täydellisiä kieliä, joten niillä voi tehdä melkein mitä vaan, mutta koskaan ei voi olla varma, että oma ohjelma joskus pysähtyy (Halting problem). "
Tämä ei pidä paikkaansa. Voi hyvin kirjoittaa ohjelmia, jotka pysähtyvät varmasti kaikilla syötteillä. Voi jopa todistaa, että oma ohjelma pysähtyy varmasti kaikilla syötteillä (jos se pysähtyy, ei tietenkään jos se ei pysähdy tai sitä ei voi sanoa).
Sitä ei voi sanoa, että pysähtyykö mielivaltainen ohjelma mielivaltaisella syötteellä, mutta se on eri asia.
"Nimimerkki Vieläkin katkera"
Nooh. Älä nyt oo ;)
Kiitos oikaisusta. Piti tietenkin sanoa, että aina ei voi olla varma, mutta valitsin sanani huonosti. Suussa taisi olla myös jalka ;-)
>>"Nimimerkki Vieläkin katkera"
Nooh. Älä nyt oo ;)>>
Ei sitä näin aurinkoisena päivänä tosiaan viitsi.
> Samaan tarkoituksen voi käyttää myös
> ohjelmatulkkia.
Ohjelmatulkin ongelma on sen hidas latautuminen verrattuna esitettyyn pieneen ohjelmaan, joka latautuu työpöydältä nopeaan. Itse lasken tällä kaikki ns. "insinöörilaskut" mieluiten.
Mielivaltaisen ohjelman saa pysähtymään aivan varmasti millä tahansa syötteellä laittamalla kaikkiin potentiaalisesti äärettömiin silmukoihin ns. rajoittimen tyyliin:
...
int count=0;
while ((jotain_mahdollisesti_ääretöntä) && (count
defun iki-funktio ()
{
int *osoite = random(MUISTIN_KOKO);
while (1) {
*osoite = 0;
tee-muuta();
}
}
Onko tämän pysähtyminen varmaa, jos whileen lisätään laskuri? Entäpä, jos satunnainen nollattava muistipakka onkin juuri se count-muuttuja jollain ohjelman ajolla? Pieni todennäköisyys ei ole tunnetusti sama asian kuin varmuus.
Pwned, sanoisin. Lisäksi kaikkien potentiaalisesti äärettömien silmukoiden etsiminen mielivaltaisesta ohjelmasta ei taida olla algoritmisesti ratkeava ongelma. Saattaa se ollakin, mutta helppoa ei kuitenkaan. Menetelmäsi ei ole käytännöllinen.
(tuli outoa C:n ja Lispin sekoitusta pseudokoodista, mutta kaipa sen ymmärtää)
Enemmän aikaa menee hukkaan, kun värkkää lelulla, johon ei voi tallentaa omia funktioitaan ym. tietoa. Lisäksi minun koneessani tekstipohjaiset sovellukset käynnistyvät nopeammin kuin ikkunalelut.
YMMV.