maanantai 2. lokakuuta 2017

Ohjelmoinnin perusteet, pohdinta harjoituksia, 2.Kurssipaiva

1 Etsi ja nimeä kolme erilaista lajittelu-algoritmia
Esimerkkejä lajittelu algoritmeista: Pikalajittelu, kekolajittelu ja laskentalajittelu.

o    Mihin ihmeeseen tarvitaan kolmea (tai useampaa) algoritmia jotka tekevät samaa asiaa? Valittu algoritmi riippuu siitä, millaisen tiedon käsittelyyn sitä tarvitaan, mitä kriteereitä tekemiselle asetetaan.
o    C#-ohjelmointikielessä on lista-luokalla valmis Sort-rutiini. Mitä em. algortimeista luulet Sort-rutiininin käyttävän? Kekolajittelu voisi sopia tähän tehtävään, mutta lajittelualgoritmeista löytyisi varmaan sopivampikin vaihtoehto.


2 Etsi seuraavat käsitteet verkosta tai kirjallisuudesta, ja suomenna ja selitä ne lyhyesti
o    Class=Luokka. Olio-ohjelmoinnin elementti, jonka sisällä on olio. Luokka tarjoaa metodeja, joiden avulla luokan sisäistä tietoa päästään muuttamaan. Luokalla voi olla julkisia ominaisuuksia tai sisäisiä metodeja
o    Object=Ohjelman ajon aikainen elementti, joka on tehty luokasta.
o    Interface=Rajapinta, jonka välityksellä kaksi tai useampi tekijä voi kommunikoida.
o    Exception=Poikkeus. Ajonaikainen ongelmatilanne tai odottamaton tapahtuma
3 Kuvaa C#-ohjelmointikielen ja SQL-kyselykielen toimintaa ja eroavaisuuksia.
o    Mitä huomaat?

SQL: tiedonmäärittely- ja käsittelykieli relaatiotietokantojen käsittelyyn, C# olio orientoitunut ohjelmointikieli. C# periaatteessa vertautuu SQL:ään, silla molemmissa vastaanotetaan tietoa ja tiedon käsittelylle annetaan määritteitä.

4 Lue vuoden 1982 artikkeli ”Real Programmers Don't Use PASCAL”
o    Artikkeli löytyy täältä:  http://www.ee.ryerson.ca/~elf/hack/realmen.html
o    Millaisesta maailmasta teksti kertoo?
o    Mitkä kuvatuista asioista ovat pysyneet samoina? Mitkä muuttuneet?
Artikkeli antaa kyynisen ja sarkastisen kuvan ohjelmoinnista. Tosi koodarit kayttaa tekstieditoria ja heksalukuja, olio-ohjelmointi on huijaamista. Peruskouluissa opetetaan ohjelmoinnin perusteita ja käytetään laskimia. EI ole minusta laiskaa vaan nykyisen teknologian ja kehityssuunnan hyödyntämistä. Toki ”tosikoodarin” työkaluja käytetään vielä tänä paivanakin, tekstieditoria esimerkiksi. Artikkeli kuvastaa aikaa, jolloin tietokoneen kanssa aloitettu superkehitys oli vasta alkutekijöissään, artikkelin kirjoittaja tuskin osasi kuvitella mihin suuntaan ohjelmointi menee ja miten paljon monimutkaisempia ja suurempia kokonaisuuksia nykyisin voidaan tehdä ohjelmoinnilla.

Ei kommentteja:

Lähetä kommentti