160 likes | 425 Views
Ohjelmassa tänään. Algoritminen ongelmanratkaisu Algoritmin määritelmä Algoritmin vaatimukset Algoritmin esittäminen. Algoritminen ongelmanratkaisu. Ongelmanratkaisun vaiheet: G. Polya 1945:. Tehtävä. Päättele järjestys, kun vain voittajan ennustus oli oikea: A:n mielestä B voittaa
E N D
Ohjelmassa tänään • Algoritminen ongelmanratkaisu • Algoritmin määritelmä • Algoritmin vaatimukset • Algoritmin esittäminen
Algoritminen ongelmanratkaisu Ongelmanratkaisun vaiheet: G. Polya 1945:
Tehtävä • Päättele järjestys, kun vain voittajan ennustus oli oikea: • A:n mielestä B voittaa • B:n mielestä D jää viimeiseksi • C veikkasi A:ta kolmanneksi • D yhtyi A:n arvaukseen
Ongelmanratkaisun menetelmät ”Jalka oven väliin” • Peruutetaan valmiista ratkaisusta alkutilaan • Haetaan samankaltainen ongelma, joka on • Helpommin ratkaistava • Jo ratkaistu
Mikä on algoritmi? • Joukko yksikäsitteisiä toimenpiteitä, joita seuraamalla voidaan ratkaista jokin tietty ongelma • Äärellinen joukko täsmällisiä, suoritettavissa olevia ohjeita, jotka ohjaavat päättyvää tehtävänsuoritusta (Brookshear)
Algoritmin vaatimukset • Yleisyys • Deterministisyys • Tuloksellisuus • Oikeellisuus • Terminoituvuus • Syöte • Tehokkuus
Algoritmin esitystavat • Kieli vai kaavio? Celsius Fahrenheit: Kerro lämpötilalukema Celsiusasteissa yhdeksällä ja jaa tulo viidellä. Lisää vielä tulokseen 32
Kirjoita paperille lukujono Laita muistiin ensimmäinen luku Toista kunnes luvut jonossa loppuvat vertaa seuraavaa lukua muistissa olevaan jos suurempi, laita se muistiin 5,8,1,3,9,4,7,6 Algoritmin esitystavat • Kieli vai kaavio?
Ota suorakaiteen muotoinen paperi Taita se kahtia leveyssuunnassa Taita vielä leveyssuunnassa kahtia ja avaa taitos Ota taitoksen nurkasta kiinni ja taita se keskiviivalle alaviistoon; tee sama toiselle nurkalle Taita alareunan jäljelle jäänyt paperi ylöspäin edellisten taitosten päälle; toista toiselle puolelle Algoritmin esitystavat Kieli vai kaavio?
Avaa saatu kolmio alhaalta ja paina kolmion alakulmat vastakkain Taita saadun neliön alakulma ylös; toista toiselle puolelle Avaa taas saatu kolmio alhaalta ja paina alakulmat vastakkain Ota kiinni neliön yläkulman päälimmäisistä nurkista ja vedä erilleen Algoritmin esitystavat Kieli vai kaavio?
Kieli • Luonnollinen kieli • Formaali kieli • Syntaksi • Semantiikka • Pragmatiikka • Pseudokoodi
Kaavio • Kuva • Käsitekartta • Vuokaavio • Automaatti/tilakone
Tilakone/Automaatti muut muut muut muut muut A H K U K K A U U muut=kirjaimet, joita ei tilassa ole mainittu