Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään
|
|
- Maarit Kähkönen
- 9 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen. Tarkka suunnitelma ongelmanratkaisusta ja sen toteuttamisesta säästää myöhemmin paljon aikaa ja vaivaa mahdollisista virheiden etsimisistä. Hyvin toteutettu suunnitelma ongelmanratkaisusta on looginen ja selkeä.
2 Algoritmit Ohjelman tekemisen hahmottamisessa käytetään apuna algoritmeja. Algoritmia voitaisiin kuvata esimerkiksi tietyn ongelman ratkaisemiseksi annettuina täsmällisinä, suoritettavissa olevina ristiriidattomina peräkkäisinä käskyinä, joita on äärellinen määrä. Muodostetun algoritmin tulee toimia kaikissa mahdollisissa tapauksissa.
3 Muodosta algoritmi seuraavasta tapauksesta: Laita numerot 1, 5 ja 8 järjestykseen suurimmasta pienimpään. Käytössä olevat toiminnot ovat kahden luvun vertaaminen keskenään ja niiden paikan vaihtaminen.
4 Esimerkki algoritmista 1 Vertaa ensimmäistä ja toista lukua keskenään. Jos toinen luku on suurempi kuin ensimmäinen, vaihda lukujen paikkoja. uusi järjestys 5, 1, 8 2 Vertaa toista ja kolmatta lukua keskenään. Jos kolmas luku on suurempi kuin toinen, vaihda lukujen paikkaa uusi järjestys 5, 8, 1 3 Vertaa ensimmäistä ja toista lukua keskenään. Jos toinen luku on suurempi kuin ensimmäinen, vaihda lukujen paikkoja. uusi järjestys 8, 5, 1 4 Jatka vertailua, kunnes olet tehnyt kierroksia yhtä monta kuin mitä joukossa on alkioita.
5 Tehtävän 3 algoritmi vaihtoehto a 1 Vertaa kirjaimia 1 ja 2. Jos kirjain 2 on aakkosissa ennen kirjainta 1 vaihda kirjaimien paikkaa. Uusi järjestys D, G, H, C 2 Vertaa kirjaimia 2 ja 3. Jos kirjain 3 on aakkosissa ennen kirjainta 2 vaihda kirjaimien paikkaa. Uusi järjestys D, G, H, C 3 Vertaa kirjaimia 3 ja 4. Jos kirjain 4 on aakkosissa ennen kirjainta 3 vaihda kirjaimien paikkaa. Uusi järjestys D, G, C, H 4 Toista kohdat 1-3, kunnes tulee kierros, jolloin ei tarvitse tehdä yhtään vaihtoa. Kierroksia yhteensä 3. Vertailuja 9 kappaletta.
6 Tehtävän 3 algoritmi vaihtoehto b 1 Vertaa kirjaimia 1 ja 2. Jos kirjain 2 on aakkosissa ennen kirjainta 1 vaihda kirjaimien paikkaa. Uusi järjestys D, G, H, C 2 Vertaa kirjaimia 1 ja 3. Jos kirjain 3 on aakkosissa ennen kirjainta 1 vaihda kirjaimien paikkaa. Uusi järjestys D, G, H, C 3 Vertaa kirjaimia 1 ja 4. Jos kirjain 4 on aakkosissa ennen kirjainta 1 vaihda kirjaimien paikkaa. Uusi järjestys C, G, H, D 4 Vertaa kirjaimia 2 ja 3. Jos kirjain 3 on aakkosissa ennen kirjainta 2 vaihda kirjaimien paikkaa. Uusi järjestys C,G, H, D
7 Tehtävän 3 algoritmi vaihtoehto b 5 Vertaa kirjaimia 2 ja 4. Jos kirjain 4 on aakkosissa ennen kirjainta 2 vaihda kirjaimien paikkaa. Uusi järjestys C,D, H, G 6 Vertaa kirjaimia 3 ja 4. Jos kirjain 4 on aakkosissa ennen kirjainta 3 vaihda kirjaimien paikkaa. Uusi järjestys C,D, G, H 7 Lopeta, kun vertailtavia lukuja ei enää ole. ( Vertailuja 6 kappaletta )
8 Tehtävä 4A 1 Siirrä ensimmäinen numero muistipaikkaan. Muistipaikka: 7 2 Vertaa muistipaikan numeroa ja toista numeroa keskenään. Jos toinen numero on muistipaikan numeroa suurempi, vaihda toinen numero muistipaikkaan. Muistipaikka: 55 3 Vertaa muistipaikan numeroa ja kolmatta numeroa keskenään. Jos kolmas numero on muistipaikan numeroa suurempi, vaihda kolmas numero muistipaikkaan. Muistipaikka: 65 4 Vertaa muistipaikan numeroa ja neljättä numeroa keskenään. Jos neljäs numero on muistipaikan numeroa suurempi, vaihda kolmas numero muistipaikkaan. Muistipaikka: 65
9 Tehtävä 4A algoritmi 5 Vertaa muistipaikan numeroa ja viidettä numeroa keskenään. Jos viides numero on muistipaikan numeroa suurempi, vaihda viides numero muistipaikkaan. Muistipaikka: 88 6 Vertaa muistipaikan numeroa ja kuudetta numeroa keskenään. Jos kuudes numero on muistipaikan numeroa suurempi, vaihda kuudes numero muistipaikkaan. Muistipaikka: 88 7 Lopeta vertailu, kun olet päässyt lukujonon viimeiseen lukuun. Muistipaikassa oleva numero on luvuista suurin.
10 Tehtävän 4B algoritmi Luvut laitetaan ensin suuruusjärjestykseen jommallakummalla tehtävän 3 tavoista. Tällöin suurin luku on lukujonon viimeinen luku. ( Tai ensimmäinen luku, jos järjestys on suurimmasta pienimpään. )
11 Tehtävän 5 algoritmi Luvut laitetaan suuruusjärjestykseen jommallakummalla tehtävän 3 tavoista. Tällöin toiseksi suurin luku on toiseksi viimeisenä lukujonossa. ( Tai toinen luku, jos järjestys on suurimmasta pienimpään. )
12 Vuokaavio Algoritmien suunnittelussa ja esittämisessä käytetäänkin usein vuokaavioesitystä. Vuokaavioesityksellä algoritmin toiminta voidaan esittää yksinkertaisemmin kuvioiden avulla eikä samaa selitystä tarvitse turhaan toistaa.
13 Vuokaavioissa käytettävät merkit Soikiolla kuvataan algoritmin aloitusta ja lopetusta. Aloitussoikiosta lähtee vain yksi nuoli, eikä siihen voi tulla yhtään nuolta. Lopetussoikioosta ei voi lähteä nuolia. Suorakulmio kuvaa tietokoneen prosessointia. Tietokoneen suorittama tehtävä kirjoitetaan suorakaiteen sisään. Suorakulmiosta voi lähteä vain yksi nuoli! Suunnikas kuvaa päätöksen tekoa eli eri vaihtoehtojen valintaa. Suunnikkaasta lähtee aina kaksi nuolta. Nuolilla kuvataan ohjelman etenemissuuntaa.
14 Harjoitus 6 Aloita Tarkista säätila Epätosi Sataa Tosi Ota sateenvarjo Lähde ulos Lopeta
15 Harjoitus 7 Aloita Heitä uistin veteen Epätosi Sait kalan Tosi Irrota kala uistimesta ja heitä veteen Mittaa kala Lopeta Tosi Kala on täysimittainen Epätosi
16 Harjoitus 8A Aloita Heitä noppa Laske silmälukujen summa Tosi Summa on yli 12 Epätosi Lopeta
17 Aloita Harjoitus 8B Heitä noppa Silmäluku on 4 Epätosi Laske silmälukujen summa Tosi Summa on yli 12 Epätosi Tosi Lopeta
18 Harjoitus 8C Aloita Heitä noppa Laita silmäluku muistiin Heitä noppa Siirrä silmäluku muistiin Tosi Vertaa silmälukua muistissa olevaan Luku on sama Epätosi Lopeta
19 Logiikka ohjelmoinnissa Ohjelmoinnissa on paljon valintoja ja toistoa. Edellä tehdyistä algoritmeista voi huomata, että valinta tehtiin aina jonkin ehdon perusteella. Esimerkiksi tehtävässä 6 sateenvarjon mukaan ottamisen ehtona oli sade. Ohjelmoinnissa käytettävät valinta-tapaukset esitetäänkin ehtolausekkeina. Ehtolausekkeissa asioita verrataan toisiinsa. Tehtävässä 6 verrataan ulkona vallitsevaa säätä ehtoon ulkona sataa. Ehto voi ohjelmoinnissa olla joko tosi tai epätosi. Tehtävässä 6 väite ulkona sataa on siis ehtona joko tosi tai epätosi.
20 Vertailuoperaattorit Ohjelmoinnin ehtolausekkeissa asioiden samanlaisuus tai erilaisuus selvitetään vertailuoperaattoreiden avulla. Java-ohjelmoinnissa vertailuoperaattorit ovat: == Yhtä suuri kuin!= Erisuuri kuin > Suurempi kuin < Pienempi kuin >= Suurempi tai yhtä suuri kuin <= Pienempi tai yhtä pieni kuin
21 Esimerkki vertailuoperaattoreista 2 >= 1 Tosi väite 3!= 3 Epätosi väite a < c Tosi väite
22 Ja- ja tai-operaattorit Monimutkaisempien ehtojen täyttymisen tutkimiseen tarvitaan loogisia operaattoreita. Loogisia operaattoreitaovat esimerkiksi ehdolliset ja- ja tai-operaattorit. Yhdistettäessä ehdot ja-operaattorilla, on molempien ehtojen oltava tosia, jotta lopputulos olisi tosi. Yhdistettäessä ehdot tai-operaattorilla, on lopputulos tosi useammassa eri vaihtoehdossa.
23 Ja-operaattori esimerkki Olkoon lauseet A = Paidassa on punaista ja B = Paidassa on vihreää. Tarkastellaan ja-operaattorilla yhdistettyjä ehtoja seuraavissa tapauksissa: I) A on tosi ja B on tosi? ->Väite A ja B on tosi. II) A on epätosi ( Paidassa ei ole punaista ) ja B on tosi? -> Väite A ja B on epätosi. III) A on tosi ja B on epätosi ( Paidassa ei ole vihreää ) -> Väite A ja B on epätosi. IV) A on epätosi ( Paidassa ei ole punaista ) ja B on epätosi ( Paidassa ei ole vihreää )? -> Väite A ja B on epätosi.
24 Tai-operaattori Olkoon lauseet A = Paidassa on punaista ja B = Paidassa on vihreää. Tarkastellaan tai-operaattorilla yhdistettyjä ehtoja seuraavissa tapauksissa: I. Onko väite A tai B tosi, jos A on tosi ja B on tosi? ->Väite A tai B on tosi. II. Onko väite A tai B tosi, jos A on epätosi ja B on tosi? -> Väite A tai B on tosi. III. Onko väite A tai B tosi, jos A on tosi ja B on epätosi? -> Väite A tai B on tosi. IV. Onko väite A tai B tosi, jos A on epätosi ja B on epätosi? -> Väite A ja B on epätosi.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 25.1.2010 1 / 41 Valintakäsky if Tähänastiset ohjelmat ovat toimineen aina samalla tavalla. Usein ohjelman pitäisi
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2016 1 / 22 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Python-ohjelmointi Harjoitus 2
Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento
Ehto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
Java-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 19.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 19.9.2018 1 / 18 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa Python-ohjelman, joka suorittaa eri kerroilla
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 14.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2015 1 / 17 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen
3. Kirjoita seuraavat joukot luettelemalla niiden alkiot, jos mahdollista. Onko jokin joukoista tyhjä joukko?
HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I Seuraavat tehtävät liittyvät luentokalvoihin 1 14. Erityisesti esimerkistä 4 ja esimerkin
Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LOGIIKKA johdantoa
LOGIIKKA johdantoa LUKUTEORIA JA TO- DISTAMINEN, MAA11 Logiikan tehtävä: Logiikka tutkii ajattelun ja päättelyn sääntöjä ja muodollisten päättelyiden oikeellisuutta, ja pyrkii erottamaan oikeat päättelyt
KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet
KOODUSPLÄJÄYS Ohjelmoinnin perusteet Korttien merkinnät Korttien yläreunaan on merkitty, mitä taitoja ja ohjelmoinnissa käytettyjä rakenteita korteista oppii. Merkkien määrä ( 4) kuvaa kortin vaikeustasoa.
T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (opetusmoniste, lauselogiikka )
T-79.144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 opetusmoniste, lauselogiikka 2.1-3.5) 21 24.9.2004 1. Määrittele lauselogiikan konnektiivit a) aina epätoden lauseen ja implikaation
Loogiset konnektiivit
Loogiset konnektiivit Tavallisimmat loogiset konnektiivit ovat negaatio ei konjunktio ja disjunktio tai implikaatio jos..., niin... ekvivalenssi... jos ja vain jos... Sulkeita ( ) käytetään selkeyden vuoksi
Nimitys Symboli Merkitys Negaatio ei Konjuktio ja Disjunktio tai Implikaatio jos..., niin... Ekvivalenssi... jos ja vain jos...
2 Logiikkaa Tässä luvussa tutustutaan joihinkin logiikan käsitteisiin ja merkintöihin. Lisätietoja ja tarkennuksia löytyy esimerkiksi Jouko Väänäsen kirjasta Logiikka I 2.1 Loogiset konnektiivit Väitelauseen
1. Esitä rekursiivinen määritelmä lukujonolle
Matematiikan laitos Johdatus Diskrettiin Matematiikkaan Harjoitus 4 24.11.2011 Ratkaisuehdotuksia Aleksandr Pasharin 1. Esitä rekursiivinen määritelmä lukujonolle (a) f(n) = (2 0, 2 1, 2 2, 2 3, 2 4,...)
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.
Kombinatoriikka, kesä 2010 Harjoitus 1 Ratkaisuehdotuksia (RT (5 sivua Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. 1. Osoita, että vuoden
Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n
13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LUKUTEORIA johdantoa
LUKUTEORIA johdantoa LUKUTEORIA JA TODISTAMINEN, MAA11 Lukuteorian tehtävä: Lukuteoria tutkii kokonaislukuja, niiden ominaisuuksia ja niiden välisiä suhteita. Kokonaislukujen maailma näyttää yksinkertaiselta,
Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat
Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen
Algoritmit 1. Luento 10 Ke Timo Männikkö
Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot
Kenguru 2012 Student sivu 1 / 8 (lukion 2. ja 3. vuosi)
Kenguru 2012 Student sivu 1 / 8 Nimi Ryhmä Pisteet: Kenguruloikan pituus: Irrota tämä vastauslomake tehtävämonisteesta. Merkitse tehtävän numeron alle valitsemasi vastausvaihtoehto. Väärästä vastauksesta
T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (lauselogiikka )
T-79.3001 Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 2 (lauselogiikka 2.1 3.4) 5.2. 9.2. 2009 Ratkaisuja demotehtäviin Tehtävä 2.1 Merkitään lausetta φ:llä, ja valitaan atomilauseiden
5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
Määritelmä, alkuluku/yhdistetty luku: Esimerkki . c) Huomautus Määritelmä, alkutekijä: Esimerkki
Alkuluvut LUKUTEORIA JA TODISTAMINEN, MAA11 Jokainen luku 0 on jaollinen ainakin itsellään, vastaluvullaan ja luvuilla ±1. Kun muita eri ole, niin kyseinen luku on alkuluku. Määritelmä, alkuluku/yhdistetty
Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä
Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.
Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8
Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8 Tuntitehtävät 1-2 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 5- loppuviikon harjoituksissa. Kotitehtävät 3-4 tarkastetaan loppuviikon
Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin
Ohjausrakenteet. Valinta:
Ohjausrakenteet Luento antaa yleiskuvan siitä kuinka ohjelmassa suorittaan vaihtoehtoisia tehtäviä valintarakenteiden avulla ja kuinka samanlaisia ohjelma-askeleita toistetaan toistorakenteiden avulla
Algoritmit 1. Luento 1 Ti Timo Männikkö
Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017
Tietotyypit ja operaattorit
Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto
etunimi, sukunimi ja opiskelijanumero ja näillä
Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi
Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014
Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan
Ratkaisu: Käytetään induktiota propositiolauseen A rakenteen suhteen. Alkuaskel. A = p i jollain i N. Koska v(p i ) = 1 kaikilla i N, saadaan
HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 2 Ratkaisuehdotukset 1. Olkoon totuusjakauma v sellainen että v(p i ) = 1 kaikilla i N ja A propositiolause, jossa
(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =
JOHDATUS LUKUTEORIAAN (syksy 07) HARJOITUS 7, MALLIRATKAISUT Tehtävä Etsi seuraavien rationaalilukujen ketjumurtokehitelmät: (i) 7 6 (ii) 4 7 (iii) 65 74 (iv) 63 74 Ratkaisu Sovelletaan Eukleideen algoritmia
Java-kielen perusteita
Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan
13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
2017 = = = = = = 26 1
JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 2, MALLIRATKAISUT Tehtävä 1. Sovella Eukleiden algoritmia ja (i) etsi s.y.t(2017, 753) (ii) etsi kaikki kokonaislukuratkaisut yhtälölle 405x + 141y = 12. Ratkaisu
1. Kuinka monella tavalla joukon kaikki alkiot voidaan järjestää jonoksi? Tähän antaa vastauksen: tuloperiaate ja permutaatio
TOD.NÄK JA TILASTOT, MAA10 Kombinatoriikka Todennäköisyyksiä (-laskuja) varten tarvitaan tieto tapahtumille suotuisien alkeistapausten lukumäärästä eli tapahtumaa vastaavan osajoukon alkioiden lukumäärästä.
1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi
Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.
Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon
Java-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
Pikapaketti logiikkaan
Pikapaketti logiikkaan Tämän oppimateriaalin tarkoituksena on tutustua pikaisesti matemaattiseen logiikkaan. Oppimateriaalin asioita tarvitaan projektin tekemisessä. Kiinnostuneet voivat lukea lisää myös
Harjoitus 3 -- Ratkaisut
Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan =, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos
Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.
3. Muuttujat ja operaatiot Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi.. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit. Arvojen
11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet
Miten osoitetaan joukot samoiksi?
Miten osoitetaan joukot samoiksi? Määritelmä 1 Joukot A ja B ovat samat, jos A B ja B A. Tällöin merkitään A = B. Kun todistetaan, että A = B, on päättelyssä kaksi vaihetta: (i) osoitetaan, että A B, ts.
1 Aritmeettiset ja geometriset jonot
1 Aritmeettiset ja geometriset jonot Johdatus Johdatteleva esimerkki 1 Kasvutulille talletetaan vuoden jokaisen kuukauden alussa tammikuusta alkaen 100 euroa. Tilin nettokorkokanta on 6%. Korko lisätään
-Matematiikka on aksiomaattinen järjestelmä. -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi
-Matematiikka on aksiomaattinen järjestelmä -uusi tieto voidaan perustella edellisten tietojen avulla, tätä kutsutaan todistamiseksi -mustavalkoinen: asia joko on tai ei (vrt. humanistiset tieteet, ei
Toinen muotoilu. {A 1,A 2,...,A n,b } 0, Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun 1 / 13
2 3 Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin kun {A 1,A 2,...,A n,b } 0, jatkoa jatkoa 1 / 13 2 3 Edellinen sääntö toisin: Lause 2.5.{A 1,A 2,...,A n } B täsmälleen silloin
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu
Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on
4.3. Matemaattinen induktio
4.3. Matemaattinen induktio Matemaattinen induktio: Deduktion laji Soveltuu, kun ominaisuus on osoitettava olevan voimassa luonnollisilla luvuilla. Suppea muoto P(n) : Ominaisuus, joka joka riippuu luvusta
Python-ohjelmointi Harjoitus 5
Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,
Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?
Tenttiin valmentavia harjoituksia
Tenttiin valmentavia harjoituksia Alla olevissa harjoituksissa suluissa oleva sivunumero viittaa Juha Partasen kurssimonisteen siihen sivuun, jolta löytyy apua tehtävän ratkaisuun. Funktiot Harjoitus.
16. Ohjelmoinnin tekniikkaa 16.1
16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti
Juuri 11 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty
Kertaus K1. a) 72 = 2 36 = 2 2 18 = 2 2 2 9 = 2 2 2 3 3 = 2 3 3 2 252 = 2 126 = 2 2 63 = 2 2 3 21 = 2 2 3 3 7 = 2 2 3 2 7 syt(72, 252) = 2 2 3 2 = 36 b) 252 = 72 3 + 36 72 = 36 2 syt(72, 252) = 36 c) pym(72,
Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin
Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti
Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana
Muilla kielillä: English Suomi Pong-peli, vaihe 2 Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana Laitetaan pallo liikkeelle Tehdään kentälle reunat Vaihdetaan kentän taustaväri Zoomataan
MS-A0402 Diskreetin matematiikan perusteet
MS-A0402 Diskreetin matematiikan perusteet Osa 1: Joukko-oppi ja logiikka Riikka Kangaslampi 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kiitokset Nämä luentokalvot perustuvat Gustaf
Negatiiviset luvut ja laskutoimitukset
7.lk matematiikka Negatiiviset luvut ja laskutoimitukset Hatanpään koulu Syksy 2017 Janne Koponen Negatiiviset luvut ja laskutoimitukset 2 Negatiiviset luvut ja laskutoimitukset Sisällys 1. Negatiiviset
MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I
MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 2014 G. Gripenberg (Aalto-yliopisto) MS-A0402 Diskreetin matematiikan perusteetesimerkkejä,
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 26.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 26.9.2018 1 / 21 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa for-käskyn avulla ohjelman, joka toistaa haluttua
MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I
MS-A040 Diskreetin matematiikan perusteet Esimerkkejä, todistuksia ym., osa I G. Gripenberg Aalto-yliopisto 3. huhtikuuta 014 G. Gripenberg (Aalto-yliopisto) MS-A040 Diskreetin matematiikan perusteetesimerkkejä,
Sisällys. Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä. 2.2
2. Vuokaaviot 2.1 Sisällys aavioiden rakenne. aavioiden piirto symboleita yhdistelemällä. aavion osan toistaminen silmukalla. simerkkejä. 2.2 Vuokaaviot Graafinen kieli algoritmien kuvaamiseen. Muodostetaan
3. Muuttujat ja operaatiot 3.1
3. Muuttujat ja operaatiot 3.1 Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi. Operaattorit. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit.
MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 12.4.2016 Julkaiseminen sallittu vain koulun suljetussa verkossa.
KERTAUS Lukujono KERTAUSTEHTÄVIÄ K1. Ratkaisussa annetaan esimerkit mahdollisista säännöistä. a) Jatketaan lukujonoa: 2, 4, 6, 8, 10, 12, 14, 16, Rekursiivinen sääntö on, että lukujonon ensimmäinen jäsen
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
Predikaattilogiikkaa
Predikaattilogiikkaa UKUTEORIA JA TO- DISTAMINEN, MAA11 Kertausta ogiikan tehtävä: ogiikka tutkii ajattelun ja päättelyn sääntöjä ja muodollisten päättelyiden oikeellisuutta, ja pyrkii erottamaan oikeat
SELECT-lauseen perusmuoto
SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää
Johdatus logiikkaan I Harjoitus 4 Vihjeet
Johdatus logiikkaan I Harjoitus 4 Vihjeet 1. Etsi lauseen ((p 0 p 1 ) (p 0 p 1 )) kanssa loogisesti ekvivalentti lause joka on (a) disjunktiivisessa normaalimuodossa, (b) konjunktiivisessa normaalimuodossa.
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Surjektion käsitteen avulla kuvauksia voidaan luokitella sen mukaan, kuvautuuko kaikille maalin alkioille jokin alkio vai ei.
5.5 Surjektio Surjektion käsitteen avulla kuvauksia voidaan luokitella sen mukaan, kuvautuuko kaikille maalin alkioille jokin alkio vai ei. Määritelmä 5.5.1. Kuvaus f : X æ Y on surjektio, jos jokaisella
Ohjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 16.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 16.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon
Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi
Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa
11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if--lauseet. Orpo. Valintaa toisin: switch-lause. 11.2 Valintarakenteet Valintarakenteilla ilmaistaan formaalisti, kuinka algoritmin suoritus voi haarautua
Ratkaisu: Yksi tapa nähdä, että kaavat A (B C) ja (A B) (A C) ovat loogisesti ekvivalentit, on tehdä totuustaulu lauseelle
HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 3 Ratkaisuehdotukset 1. Olkoot A, B ja C propositiolauseita. Näytä, että A (B C) (A B) (A C). Ratkaisu: Yksi tapa
1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.
HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 3 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan muun muassa kahden joukon osoittamista samaksi sekä joukon
Prolog kielenä Periaatteet Yhteenveto. Prolog. Toni ja Laura Fadjukoff. 9. joulukuuta 2010
kielenä 9. joulukuuta 2010 Historia kielenä Historia Sovelluksia kehitettiin vuonna 1972 Kehittäjinä ranskalaiset Pääkehittäjä Alain Colmerauer Philippe Roussel programmation en logique Robert Kowalski
2 Raja-arvo ja jatkuvuus
Juuri 6 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 5.7.6 Raja-arvo ja jatkuvuus. a) Kun suorakulmion kärki on kohdassa =, on suorakulmion kannan pituus. Suorakulmion korkeus on käyrän y-koordinaatti
Harjoitustyön testaus. Juha Taina
Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida
Logiikka I 7. harjoituskerran malliratkaisut 19. - 23.3.07 Ratkaisut laati Miikka Silfverberg.
Logiikka I 7. harjoituskerran malliratkaisut 19. - 23.3.07 Ratkaisut laati Miikka Silfverberg. Olkoon L = {Lontoo, P ariisi, P raha, Rooma, Y hteys(x, y)}. Kuvan 3.1. kaupunkiverkko vastaa seuraavaa L-mallia
Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion.
Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa havainnollisesti vastaavuutta, joka liittää joukon X jokaiseen alkioon joukon Y tietyn alkion. Kuvaus eli funktio f joukolta X joukkoon Y tarkoittaa
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 7. Kombinatoriikka 7.1 Johdanto Kombinatoriikka tutkii seuraavan kaltaisia kysymyksiä: Kuinka monella tavalla jokin toiminto voidaan suorittaa? Kuinka monta tietynlaista
Lukion matematiikkakilpailun alkukilpailu 2015
Lukion matematiikkakilpailun alkukilpailu 015 Avoimen sarjan tehtävät ja niiden ratkaisuja 1. Olkoot a ja b peräkkäisiä kokonaislukuja, c = ab ja d = a + b + c. a) Osoita, että d on kokonaisluku. b) Mitä
3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö
3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö Yhtälön (tai funktion) y = a + b + c, missä a 0, kuvaaja ei ole suora, mutta ei ole yhtälökään ensimmäistä astetta. Funktioiden
Käyttäjän käsikirja WTN radiomajakka. Version: FIN180427
Version: FIN180427 Käyttäjän 1 käsikirja Sisällys 1 WTN-Radiomajakka Näytöt ja näppäimet... 3 2 Käynnistys ja toiminta-aika... 4 2.1 WTN-laitteen käynnistys... 4 2.2 WTN-laitteen sammutus... 4 2.3 Virransyöttö:...
Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä:
2. Vuokaaviot 2.1 Sisällys Kaavioiden rakenne. Kaavioiden piirto symbolta yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä: algoritmi oven avaamiseen vuokaaviona, keskiarvon laskeminen
Kaikkiin tehtäviin laskuja, kuvia tai muita perusteluja näkyviin.
Peruskoulun matematiikkakilpailu Loppukilpailu perjantaina 1.2.2013 OSA 1 Ratkaisuaika 30 min Pistemäärä 20 Tässä osassa ei käytetä laskinta. Kaikkiin tehtäviin laskuja, kuvia tai muita perusteluja näkyviin.