y2017
Vapaa kuvaus
Käyttäjän kirjoittamat viestit
17.01.2023
Kommentoi keskusteluun: Blogi miten täytät arrayn random luvuilla kaikki eriä
Luuppaamatta tästä harjoituksesta ei selviä. Idea lieneekin, että luuppaaminen minimoidaan ja että luuppien pituus on määrämittainen, siis ennustettava. Aputaulukon käyttö edellä kuvatulla tavalla toimii, kun lukualue on pieni. Kaksi ei-sisäkkäistä luuppia sisältyy tähänkin ratkaisuun. Huomaa, että
Tiede ja teknologia > Tietotekniikka > Ohjelmointi
05.12.2022
Kommentoi keskusteluun: Osaamattomien palsta tämä näköjään
Hyvin olet perehtynyt AVR-ohjelmointiin. Pidä kuitenkin mielessä, että prosessori on vain kasibittinen, et voi odottaa siltä x86:n ominaisuuksia. Arkkitehtuureissakin on merkittäviä eroja. AVR on RISC-arkkitehtuuri, jossa moni asia tehdään vähän vaikeamman kautta, esimerkiksi mainitsemasi automaattimuuttujien
Tiede ja teknologia > Tietotekniikka > Ohjelmointi > Yleistä ohjelmoinnista
27.11.2022
Kommentoi keskusteluun: Osaamattomien palsta tämä näköjään
Vastakysymys: Osaatko heittää stetsonista mikä on autossa vastine peräsimelle? Vaikka C onkin hyvin laiteläheinen ohjelmointikieli, se on eri asia kuin assembler. C-kääntäjän tehtävä on kääntää lähdekoodista mahdollisimman tehokasta ja/tai tiivistä konekoodia. Yhtenä tällaisena optimointina se, kun
Tiede ja teknologia > Tietotekniikka > Ohjelmointi > Yleistä ohjelmoinnista
25.02.2021
Vastasi keskusteluun: Lottotehtävän algoritmi
Hauska tehtävä. Päivitän sitä sen verran, että otan numeron 40 mukaan, kuten lotossa tehtiin kierroksella 48/2016. Erilaisia rivejä on siis 18643560 kappaletta, kuten Veikkauksen sivuilla (peliohjeet / todennäköisyys) kerrotaan. Pienin määrä lottorivejä, à 7 numeroa, että ainakin 4 oikein -tulos (jäljempänä
Tiede ja teknologia > Tietotekniikka > Ohjelmointi > Yleistä ohjelmoinnista
07.11.2019
Vastasi keskusteluun: Yks härpäke tekeillä
FreeRTOS on resurssisyöppö p***a, mutta toimiihan se ja vieläpä ilmaiseksi. Raudan tulee olla juuri niin "tehokas" kuin konenäkösovellus ja muut mahdolliset taskit vaativat. Pieni RT-käyttis ei ole mitenkään oleellinen tekijä raudan "tehokkuutta" mitoitettaessa. Esimerkiksi FreeRTOS toimii aivan hyvin
Tiede ja teknologia > Tietotekniikka > Ohjelmointi
24.08.2019
Vastasi keskusteluun: Catalanin lukujen kombinatoriset applikaatiot
Mielenkiintoinen kysymys! Kirjoitit oikeaan paikkaan, tältä palstalta löytyy tunnetusti Suomen parasta asiantuntemusta tietotekniikan alalta mitä sotiin tulee. Minäkin kirjoitan tässä mutua, joka lienee suomenkielen vastine sanalle proof. Esittämiesi kahden notaation välillä on bijektio, kuten arvelit.
Tiede ja teknologia > Tietotekniikka > Ohjelmointi > Yleistä ohjelmoinnista
19.08.2019
Kommentoi keskusteluun: rand-funktiolle käyttöä
Kiitän tarkkaavaisuudesta ja palautteesta, olet tietenkin oikeassa. Esimerkkini ansiot lienevätkin ensisijassa sen osoittamisessa, että lyhyeenkin koodiin saattaa jäädä pari virhettä, jos laiminlyö testaamisen. Esimerkkini olisi toki pitänyt "nähdä" virheelliseksi jo helpolla ajatusleikillä: Otetaan
Tiede ja teknologia > Tietotekniikka > Ohjelmointi > C-ohjelmointi
16.08.2019
Vastasi keskusteluun: rand-funktiolle käyttöä
Taivaallisen kömpelö esitys (web.nchu.edu.tw). Enkä kirjoittaisi tällaiseen dynaamisia listojakaan, koska korttien määrä on kiinteä. Osoitintaulukko voisi tulla kyseeseen, mutta yksinkertainen ratkaisu on yleensä paras. Esimerkiksi näin: void sekoita_pakka(void) { unsigned i; for (i=0; i
Tiede ja teknologia > Tietotekniikka > Ohjelmointi > C-ohjelmointi
13.08.2019
Vastasi keskusteluun: Ohko hyviä takaisin koodaus ohjelmia?
Jaa että vielä hyviä? Palauttaminen C lle (tai muulle natiivi-konekoodille kääntävälle kielelle) ei käytännössä onnistu, koska nykyiset kääntäjät optimoivat erittäin hyvin. Yhteys suoritettavasta ohjelmasta lähdekoodiin ts. toteutustapaan katoaa varsin tehokkaasti. Eri asia tietenkin, jos ohjelma
Tiede ja teknologia > Tietotekniikka > Ohjelmointi
07.08.2019
Kommentoi keskusteluun: Tiukka oneliner
50 merkkiä: main(int c,char**v){for(;--c;printf("%s ",* v));} 59 merkkiä: main(int c,char**v){for(;--c;printf("%s ",* v));puts("");} Sitten, kuten varmaan tiedättekin, tässä kisassahan ei ole mitään järkeä. Kuten Anonyymi edellä kirjoitti (3.5.2019 19:33), koodista kannattaa tehdä mielumminkin helposti
Tiede ja teknologia > Tietotekniikka > Ohjelmointi > C-ohjelmointi
07.08.2019
Kommentoi keskusteluun: Bitin siirto vasemmalle, mutta täyttö ykkösillä
Joskus ratkaisua kannattaa hetken miettiä aivan oppimistarkoituksessakin. C-kieli on siitä jännä juttu, että yksinkertaisuudestaan huolimatta siinä riittää oppimista jopa vuosikymmeniksi. Ylläolevan makron pitäisi toimia ja vieläpä kaikilla integer-tyypeillä....vaikken olekaan testannut sitä.
Tiede ja teknologia > Tietotekniikka > Ohjelmointi > C-ohjelmointi