Tietotekniikan valintakoe

Samankaltaiset tiedostot
Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN TIETOTEKNIIKAN II KILPAILU

Datatähti 2019 loppu

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Valintakoepisteet ja opintomenestys vuosina

ITKP102 Ohjelmointi 1 (6 op)

Kirjoita ohjelma jossa luetaan kokonaislukuja taulukkoon (saat itse päättää taulun koon, kunhan koko on vähintään 10)

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

Yhteydettömän kieliopin jäsennysongelma

Algoritmit 2. Luento 13 Ti Timo Männikkö

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Pinoautomaatit. Pois kontekstittomuudesta

811120P Diskreetit rakenteet

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

1. Universaaleja laskennan malleja

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

Laskennan rajoja. Sisällys. Meta. Palataan torstaihin. Ratkeavuus. Meta. Universaalikoneet. Palataan torstaihin. Ratkeavuus.

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Automaatit. Muodolliset kielet

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Task list Submit code Submissions Scoreboard View queue Edit contest

811120P Diskreetit rakenteet

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Topologia Syksy 2010 Harjoitus 4. (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N,

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

Harjoitustyön testaus. Juha Taina

811120P Diskreetit rakenteet

Ohjelmointi 1 C#, kevät 2013,

Tehtävä 2: Säännölliset lausekkeet

Ohjelmointi 1 C#, kevät 2014, 2. uusintatentti NIMI:

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä


Lisää pysähtymisaiheisia ongelmia

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Metodien tekeminen Javalla

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

Algoritmit 2. Luento 13 Ti Timo Männikkö

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

S BAB ABA A aas bba B bbs c

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:

Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 6. maaliskuuta 2012 TIETOTEKNIIKAN LAITOS.

Ohjelmointi 1 C#, kevät 2013, 2. tentti

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS.

Ohjelmoinnin jatkokurssi, kurssikoe

Harjoitustehtävien ratkaisut. Joukko-opin harjoituksia. MAB1: Luvut ja lukujoukot 2

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Ohjelmoinnin peruskurssi Y1

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016

Turingin koneen laajennuksia

5. Jos x < 1 2,niin x x 1 on aina. , 1] b) pienempi kuin Yhtälön 3 3 x +3 x =4ratkaisujenlukumääräon a) 0 b) 1 c) 2 d) enemmän kuin 2.

Datatähti alkukilpailu

Ohjelmoinnin perusteet, 1. välikoe

Attribuuttikieliopit

Harjoitustehtäväkierros 1

Python-ohjelmointi Harjoitus 2

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi.

Kenguru 2019 Ecolier 4. ja 5. luokka

1. Olio-ohjelmointi 1.1

Algoritmit 1. Luento 1 Ti Timo Männikkö

Ohjelmoinnin perusteet Y Python

Algoritmit 2. Luento 12 To Timo Männikkö

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Ohjelmoinnin perusteet Y Python

4 Yleinen potenssifunktio ja polynomifunktio

Transkriptio:

Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan kuin kahteen tehtävään, jätetään arvostelussa paras vastaus huomioimatta. Tehtävä. Ohjelmointitehtävä. Sanaa aliohjelma käytetään alla samassa merkityksessä kuin joissakin ohjelmointikielissä käytettyjä sanoja metodi ja funktio. Tehtävässä tulee kirjoittaa aliohjelmat alla oleville kolmelle kysymykselle. Aliohjelmiin on tiedot välitettävä parametrien avulla. Laskettu arvo palautetaan aliohjelman arvona. Sallittuja kieliä ovat kaikki yleisesti käytössä olevat ohjelmointikielet, esimerkiksi Basic, C, C++, C#, Fortran, Java, Pascal, Perl, Python ja Ruby. Nimeä käyttämäsi kieli. Mitään valmiita aliohjelmia tai ohjelmakirjastoja ei saa käyttää. Alla on esimerkki Java-kielisestä aliohjelmasta, jolle annetaan kaksi kokonaislukuparametria a ja b ja joka palauttaa näistä suuremman. Jos parametrit ovat yhtä suuria, niin palautetaan tämä yhtä suuri arvo. public static int suurempi(int a, int b){ if (a > b) { return a; return b; Seuraavassa on toinen esimerkki Java-kielisestä aliohjelmasta. Aliohjelma laskee kokonaislukutaulukon positiivisten alkioiden summan ja palauttaa sen. public static int summaapositiiviset(int[] taulu){ int summa = ; for (int i = ; i < taulu.length; i++) { if ( taulu[i] > ) { summa = summa + taulu[i]; return summa; Kysymykset ovat seuraavalla sivulla. /6

Kysymys.a) Aliohjelmalle annetaan kaksi kokonaislukuparametria a ja b ja se palauttaa kokonaislukuarvon. Kirjoita aliohjelma, joka palauttaa arvon a, jos molemmat parametrit ovat positiivisia. Muuten palautetaan arvo. Palautetaan myös, jos jompikumpi luvuista on. (5 pistettä) Kysymys.b) Aliohjelmalle annetaan parametrina kokonaislukutaulukko ja se palauttaa kokonaislukuarvon. Kirjoita aliohjelma, joka palauttaa arvon, jos parametrina olevan kokonaislukutaulukon kaikki alkiot ovat samanmerkkisiä. Muuten palautetaan. Palautetaan myös, jos yksikin taulukon alkioista on. (8 pistettä). Kysymys.c) Aliohjelmalle annetaan parametrina kokonaislukutaulukko ja se palauttaa kokonaislukuarvon. Aliohjelma palauttaa pisimmän taulukosta löytyvän aidosti nousevan osajonon pituuden. Esimerkiksi jos taulukon alkiot ovat 2, 3, 4,, 2,,, 2, 5, 5, 7, niin palautetaan 4 (eli,, 2, 5 muodostavat 4 lukua pitkän aidosti nousevan osajonon). (2 pistettä) 2/6

Tehtävä 2. Aineistotehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään viisi kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta ei vastaajalta oleteta. Eräs yksinkertaisimmista laskennan malleista on niin sanottu äärellinen automaatti. Tällainen laite lukee syöttöä ja muuttaa tilaansa sen mukaisesti. Syötteen ajatellaan tässä koostuvan /-jonosta, toisin sanoen bittijonosta. Itse automaatti on helpointa esittää tilojen ja tilasiirtymien avulla. Alla on kuva äärellisestä automaatista, jonka avulla voidaan testata, onko syötön -bittien määrä parillinen. A B Automaatissa on kaksi tilaa, A ja B, ja kaaret kuvaavat tilasiirtymiä. Kaariin on merkitty millä bitillä ( tai ) siirtymä tehdään. Esimerkiksi, jos automaatti on tilassa A ja seuraava syöttöbitti on, niin pysytään tilassa A. Syötteellä puolestaan siirrytään tilasta A tilaan B. Vastaavasti tilasta B siirrytään -bitillä tilaan A ja -bitillä pysytään tilassa B. Tilat luokitellaan hylkääviin ja hyväksyviin, joita molempia voi automaatissa olla useita. Esimerkin A-tila on hyväksyvä, koska tilaa esittävällä ympyrällä on kaksinkertainen reunus. Tila B on hylkäävä, koska sitä esittävällä ympyrällä on yksinkertainen reunus. Automaatin ajatellaan vastaavan myöntävästi, jos se on koko syötteen luettuaan hyväksyvässä tilassa. Aloitustila merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Annetaan esimerkin automaatille syöte. Ensimmäisenä syötteessä siis annetaan ja se ei aiheuta siirtymää tilasta A. Seuraavaksi syötteessä annetaan l ja se aiheuttaa siirtymän tilaan B. Viimeisenä syötteessä annetaan toinen ja se aiheuttaa siirtymän tilasta B takaisin tilaan A, joka on hyväksyvä. Syöte siis hyväksytään. Jos syötteenä on, niin se hylätään. Kolme ensimmäistä bittiä ovat samoja kuin yllä ja niiden jälkeen ollaan tilassa A. Viimeinen siirtää automaatin tilasta A tilaan B. Esitetty automaatti siis hyväksyy bittijonot, joissa on parillinen määrä -bittejä. Automaatissa voi tietenkin olla useampia tiloja ja myös hyväksyviä/hylkääviä tiloja voi olla useita. Nimensä mukaisesti automaatin tilojen määrä on kuitenkin oltava äärellinen. Kysymykset ovat seuraavalla sivulla. 3/6

Kysymys 2.a) Mitkä seuraavista nelibittisistä bittijonoista alla oleva automaatti hyväksyy ja mitkä se hylkää? Tutkittavat bittijonot ovat,, ja. (4 pistettä) A B C D Kysymys 2.b) Anna kaksi esimerkkiä bittijonoista, jotka alla oleva automaatti hyväksyy ja kaksi esimerkkiä bittijonoista, joita alla oleva automaatti ei hyväksy. (4 pistettä) A B C Kysymys 2.c) Tee automaatti, joka hyväksyy bittijonot, joiden kaksi viimeistä bittiä ovat - bittejä. (5 pistettä) Kysymys 2.d) Tee automaatti, joka hyväksyy kaikki sellaiset bittijonot, joissa ei esiinny bittijonoa. (6 pistettä) Kysymys 2.e) Tee automaatti, joka hyväksyy bittijonot, joissa esiintyy sekä bittijono että bittijono. (6 pistettä) 4/6

Tehtävä 3. Logiikkatehtävä. Professori järjestää erikoisen kokeen kolmelle opiskelijalleen. Opiskelijat Anna, Emma ja Iida kutsutaan huoneeseen, jossa professori näyttää heille neljä punaista tarralappua ja neljä sinistä tarralappua. Sitten professori liimaa jokaisen opiskelijan otsaan kaksi näistä tarralapuista. Opiskelijat näkevät kahden muun opiskelijan otsassa olevat tarralaput, mutta eivät omia tarralappujaan. Professori piilottaa kaksi jäljelle jäänyttä tarralappua siten, että opiskelijat eivät tiedä, minkä värisiä ne ovat. Tämän jälkeen professori kysyy vuoronperään kultakin opiskelijalta, tietääkö tämä omassa otsassaan olevien tarralappujen värit. Kaikkien opiskelijoiden päättelykyky on niin hyvä, että he osaavat päätellä värit heti, kun heillä on siihen riittävästi tietoa. Kaikki myös puhuvat aina totta. Professori toistaa edellä kuvatun kokeen viisi kertaa samalla tavalla. Kokeiden kulkua on selitetty seuraavissa kohdissa. Vastaa kussakin kohdassa esitettyyn kysymykseen ja perustele vastauksesi. Arvostelu: Jokaisessa kohdassa oikeasta vastauksesta saa kaksi pistettä ja oikeasta perustelusta saa kolme pistettä. Jotta perustelu olisi riittävä, siitä on käytävä ilmi, miksi vastauksessa annettu värivaihtoehto on oikein ja miksi mikään muu värivaihtoehto ei voi olla oikein. Kysymys 3.a) Ensimmäisessä kokeessa Anna näkee, että Emmalla on kaksi sinistä tarralappua ja Iidalla on kaksi sinistä tarralappua. Professori kysyy ensin Annalta, tietääkö tämä omien tarralappujensa värit. Anna vastaa: Tiedän! Minkä väriset tarralaput Annalla on? Perustele vastauksesi. (5 pistettä) Kysymys 3.b) Toisessa kokeessa Anna näkee, että Emmalla on kaksi punaista tarralappua ja Iidalla on kaksi sinistä tarralappua. Professorin kysymykseen Anna vastaa: En tiedä. Sitten professori esittää kysymyksensä Emmalle, joka vastaa: Tiedän! Minkä väriset tarralaput Annalla on? Perustele vastauksesi. (5 pistettä) Kysymys 3.c) Kolmannessa kokeessa Anna näkee, että Emmalla on kaksi sinistä tarralappua ja Iidalla on kaksi punaista tarralappua. Professorin kysymykseen Anna vastaa: En tiedä. Myös Emma vastaa: En tiedä. Sitten professori esittää kysymyksensä Iidalle, joka vastaa: Tiedän! Minkä väriset tarralaput Annalla on? Perustele vastauksesi. (5 pistettä) Kysymys 3.d) Neljännessä kokeessa Anna näkee, että Emmalla on kaksi punaista tarralappua ja Iidalla on kaksi sinistä tarralappua. Professori esittää kysymyksensä, johon Anna vastaa: En tiedä. Sitten Emma vastaa: En tiedä. Sen jälkeen myös Iida vastaa: En tiedä. Professori aloittaa uuden kysymyskierroksen ja kysyy uudestaan Annalta, tietääkö tämä nyt omien tarralappujensa värit. Anna vastaa: Tiedän! Minkä väriset tarralaput Annalla on? Perustele vastauksesi. (5 pistettä) 5/6

Kysymys 3.e) Viidennessä ja viimeisessä kokeessa Anna näkee, että Emmalla on kaksi sinistä tarralappua, ja Iidalla on yksi punainen ja yksi sininen tarralappu. Professorin kysymykseen Anna vastaa: En tiedä. Samoin Emma vastaa: En tiedä. Sen sijaan Iida vastaa: Tiedän! Minkä väriset tarralaput Annalla on? Perustele vastauksesi. (5 pistettä) 6/6