Ohjelmointi 1 C#, kevät 2013,

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

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

Ohjelmointi 1 C#, kevät 2014, tentti

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmointi 2 / 2010 Välikoe / 26.3

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Harjoitus 6 (viikko 42)

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

Ohjelmointi 2, välikoe

Pisteytys: Eri kommentointitavat tiedetty: 0,5 pistettä, jos puuttuu niin ei voinut saada täysiä pisteitä.

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset

Java-kielen perusteet

Metodien tekeminen Javalla

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

13. Loogiset operaatiot 13.1

Harjoitus 5 (viikko 41)

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Apuja ohjelmointiin» Yleisiä virheitä

Java-kielen perusteet

7. Näytölle tulostaminen 7.1

Java-kielen perusteet

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

812336A C++ -kielen perusteet,

Ohjelmointiharjoituksia Arduino-ympäristössä

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Tietotekniikan valintakoe

Olio-ohjelmointi 2. välikoe HYV5SN

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

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

7/20: Paketti kasassa ensimmäistä kertaa

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Harjoitus 5 (viikko 41)

ITKP102 Ohjelmointi 1 Tentti

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

20. Javan omat luokat 20.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Java-kielen perusteita

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Ohjelmointi 2 / 2011 Välikoe / 25.3

Ohjelmoinnin perusteet Y Python

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Harjoitus 5 (viikko 48)

JavaScript alkeet Esimerkkikoodeja moniste 2 ( Metropolia)

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Tietorakenteet (syksy 2013)

1. Omat operaatiot 1.1

1. Mitä tehdään ensiksi?

Olio-ohjelmointi Syntaksikokoelma

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

13. Loogiset operaatiot 13.1

Ohjelmoinnin perusteet Y Python

Harjoitus 6 (viikko 42)

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Ohjelmoinnin jatkokurssi, kurssikoe

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

17. Javan omat luokat 17.1

Ohjelmoinnin perusteet Y Python

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Harjoitus 4 (viikko 47)

Ohjelmointi 1 Taulukot ja merkkijonot

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Taulukot. Jukka Harju, Jukka Juslin

Harjoitus 3 (viikko 39)

Javan perusteita. Janne Käki

Ohjelmoinnin peruskurssi Y1

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

17. Javan omat luokat 17.1

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Ohjelmoinnin perusteet Y Python

1 Tehtävän kuvaus ja analysointi

Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia?

9. Periytyminen Javassa 9.1

Algoritmit 1. Demot Timo Männikkö

811120P Diskreetit rakenteet

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

TIEA341 Funktio-ohjelmointi 1, kevät 2008

Vaihtoehtoinen tapa määritellä funktioita f : N R on

811120P Diskreetit rakenteet

58131 Tietorakenteet ja algoritmit (syksy 2015)

C:\MyTemp\ohj1\ohjdemot\k2012\demot\vastaukset\demo11\PP1\TokaPisin.cs 1 using System; 2 using System.Collections.Generic; 3 using System.

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Seuraavassa on esimerkki for-, while- ja do-while -lauseesta:

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

Transkriptio:

Ohjelmointi 1 C#, kevät 2013, 19.4.2013 (English versions of the questions can be requested from the supervisor. Englanninkieliset kysymykset saa pyytämällä tentin valvojalta.) Tentti (yliopisto opiskelijat) / toinen välikoe (lukiolaiset). Tentaattori Antti Jussi Lakanen. Tässä tentissä saa olla omia muistiinpanoja yhden arkin verran. Tentin valvojalla on oikeus tarvittaessa tarkastaa muistiinpanot (esimerkiksi tilanteessa, jossa tenttijä tekee kerralla enemmän kuin yhden tentin). Yliopisto opiskelijoille Vastaa kaikkiin kysymyksiin (bonuksiin ei ole pakko vastata). Kokeesta voi saada enintään 24 pistettä (+ mahdolliset bonuspisteet). Päästäkseen läpi on saatava 12 pistettä. Lukiolaisille Valitse kaksi haluamaasi tehtävää ja ratkaise ne. Kokeesta voi saada enintään 12 pistettä (+ mahdolliset bonuspisteet). Päästäkseen läpi välikokeesta on saatava kuusi pistettä. Kaikille Demohyvitykset lasketaan tenttipisteiden päälle, ja sitten katsotaan tuleeko tarvittavat pisteet täyteen. Tenttiaika on 4 tuntia. Tentin lopussa on vinkkejä ja käyttöesimerkkejä C# kielen metodeista. Voit soveltaa niitä vastauksiisi. Kirjoittamasi luokat ja aliohjelmat pitää dokumentoida, kuten kurssilla on opetettu. ComTest testien kirjoittaminen ei ole pakollista, mutta siitä voi saada lisäpisteitä, mikäli tehtävässä on niin sanottu. Jos vastauksessa tarvitset jotakin funktiota.net APIsta (.NET kirjasto) etkä muista tarkkaan mikä oli funktion/metodin nimi, niin kirjoita funktion esittely parametreineen ja kommentti siitä, mitä sen pitäisi tehdä. Luonnollisesti et saa itse keksiä funktiota, joita ei ole olemassa (jos itse myös toteuta niitä).

Tehtävä 1 (6 p.) Tee alla olevaa dokumentaatiota vastaava ja ComTest testitapaukset täyttävä funktio. Dokumentaatiota ei tarvitse kirjoittaa uudestaan vastauspaperille. Kirjoita kuitenkin funktion esittelyrivi uudestaan. /// <summary>funktiopalauttaa, voikoannettua /// lukujonoa(jokaonannettumerkkijonona) /// käyttämällämuodostaaannetunmerkkijonon. /// IlmiöontuttuennustavastaT9-tekstinsyötöstä. Yksinkertaisuudenvuoksityydytään /// käyttämäänsuuraakkosiajavainosaaerikoismerkeistä. Lisäksiotetaanmukaanvain /// aakkoseta-z, eisiisesimerkiksiskandeja. </summary> /// <paramname="merkit">string-taulukko; Yhdenalkionmerkit kuuluvatyhteen.</param> /// <paramname="numerot">lukujono, jokasisältääjononlukuja0-9.</param> /// <paramname="jono">tutkittavajono</param> /// <returns>voikoannetustalukujonosta(numerot) muodostaahalutunjonon(jono) /// annettuamerkistöä(merkit) käyttäen.</returns> ///<example> /// <prename="test"> /// String[]merkit="",".-!?","ABC","DEF","GHI","JKL","MNO", /// "PQRS","TUV","WXYZ"; /// Merkit.T9(merkit,"26884","ANTTI") ===true; /// Merkit.T9(merkit,"26884","BOTTI") ===true; /// Merkit.T9(merkit,"26884","DOTTI") ===false; /// Merkit.T9(merkit,"268844","BOTTI") ===false; /// Merkit.T9(merkit,"26884","BOTTII") ===false; /// Merkit.T9(merkit,"222","ABC") ===true; /// Merkit.T9(merkit,"26884158774","ANTTI-JUSSI") ===true; /// Merkit.T9(merkit,"56752073528226073727255621", "KOSKAPELATAANPESAPALLOA?") ===true; /// Merkit.T9(merkit,"","") ===true; /// Merkit.T9(merkit,"","A") ===false; /////(BONUS: 1p.: joseiolenumero, palautetaanhetifalse) /// Merkit.T9(merkit,"a","A") ===false; ///</pre> ///</example> publicstaticboolt9(string[] merkit, Stringnumerot, Stringjono) // toteutafunktio

Tehtävä 2 (6 p.) Alla on kuusi kohtaa, joista jokaisesta saa enintään yhden pisteen. Vastaa enintään muutamalla virkkeellä. 1. Mainitse neljä tapaa, jolla C# kielessä voidaan kasvattaa int tyyppiseen kokonaislukumuuttujan arvoa yhdellä. 2. Mitä eroa on operaattoreilla ==ja =? 3. Mikä on muuttujan narvo lauseen doublen=(7%3)*(4+6)/3; jälkeen? Entä jos lauseke olisi ilman sulkuja? 4. Mitä! operaattorilla tehdään? Anna käytännön esimerkki. 5. Mikä on return lause ja mihin sitä käytetään? 6. Olkoon inta=3; intb=5; Mikä on lausekkeen b% a<b- aarvo? Tehtävä 3 (6 p.) (a) (b) Määrittele rekursio. (1 p.) Fibonaccin lukujono määritellään seuraavasti: 1. Kaksi ensimmäistä lukua Fibonaccin lukujonossa ovat 0 ja 1. 2. Jokainen seuraava luku on kahden edellisen luvun summa. Toisin sanoen, F 0 = 0, F 1 = 1, F n = F n 1 + F n 2 Kirjoita sekä rekursiivinen funktio että iteratiivinen funktio (käyttäen silmukoita) Fibonaccin lukujonon n:nnen luvun laskemiselle. Funktiot eivät saa tulostaa mitään. Voit olettaa, että funktio ei ole määritelty negatiivisilla luvuilla. Oletetaan myös, että int tyypin lukualue on tässä riittävä. Luokkaa ei tarvitse kirjoittaa, pelkät funktiot (ja dokumentaatiot) riittää. (5 p.)

Tehtävä 4 (6 p.) (a) Mitä alla oleva ohjelma tulostaa ja miksi? Perustele. (3 p.) usingsystem; usingsystem.text; publicclasstulostus publicstaticvoidmain(string[] args) StringBuildersb=newStringBuilder("Antti"); LisaaLoppuun(sb,"-Jussi"); sb.append(" Lakanen"); Console.WriteLine(sb.ToString()); Strings="Antti"; LisaaLoppuun(s,"-Jussi"); s+=" Lakanen"; Console.WriteLine(s); publicstaticvoidlisaaloppuun(stringjono, Stringlisattava) jono+=lisattava; publicstaticvoidlisaaloppuun(stringbuilderjono, Stringlisattava) jono.append(lisattava); (b) Toteuta funktio, joka antaa int taulukon pisimmän laskevan osajonon pituuden. Esimerkki: Taulukon joka sisältää kokonaisluvut 5, 3, 4, 4, 2, 0, 1, 2, 3, 3, 2 pisin laskeva osajono (yhtäsuuruus riittää) on 4, 4, 2, 0, ja sen pituus on 4. Huomaa, että funktion pitää palauttaa nimenomaan löydetyn osajonon pituus. (3 p.) Bonus: Asiaankuuluvat ComTest testit. (+ 1 p.)

Vinkit / Tips String.Length Property Gets the number of characters in the current String object. Property Value Type: System.Int32 The number of characters in the current string. Example // SampleforString.Length usingsystem; classsample publicstaticvoidmain() stringstr="abcdefg"; Console.WriteLine("1) Thelengthof'0' is1", str, str.length); Console.WriteLine("2) Thelengthof'0' is1","xyz","xyz".length); /* Thisexampleproducesthefollowingresults: 1) Thelengthof'abcdefg' is7 2) Thelengthof'xyz' is3 */ int.parse Method (String) Converts the string representation of a number to its 32 bit signed integer equivalent. Parameters s Type: System.String A string containing a number to convert. Return Value Type: System.Int32 A 32 bit signed integer equivalent to the number contained in s.

String.IndexOf Method (Char) Reports the zero based index of the first occurrence of the specified Unicode character in this string. Parameters c Type: System.Char A Unicode character to seek. Return Value Type: System.Int32 The zero based index position of value if that character is found, or 1 if it is not. Char.IsDigit Method (Char) Indicates whether a Unicode character is categorized as a decimal digit. Parameters c Type: System.Char The Unicode character to evaluate. Return Value Type: System.Boolean trueif a decimal digit; otherwise, false. Example usingsystem; publicclassisdigitsample publicstaticvoidmain() charch='8'; Console.WriteLine(Char.IsDigit(ch)); Console.WriteLine(Char.IsDigit("samplestring", 7)); // Output:"True" // Output:"False"