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

Samankaltaiset tiedostot
ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmointi 1 C#, kevät 2014, tentti

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

Ohjelmointi 1 C#, kevät 2013,

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

1. Mitä tehdään ensiksi?

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin jatkokurssi, kurssikoe

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Python-ohjelmointi Harjoitus 2

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

Ohjelmointi 2, välikoe

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Harjoitus 5 (viikko 41)

Metodien tekeminen Javalla

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

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Ohjelmoinnin perusteet Y Python

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

Ohjelmointi 2 / 2010 Välikoe / 26.3

Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla:

Tietotekniikan valintakoe

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Tietorakenteet (syksy 2013)

Algoritmit 1. Demot Timo Männikkö

Harjoitustyö: virtuaalikone

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

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

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

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

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

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

7/20: Paketti kasassa ensimmäistä kertaa

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Ohjelmoinnin peruskurssi Y1

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

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

1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )

Ohjelmoinnin peruskurssi Y1

Harjoitus 3 (viikko 39)

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

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3 opettaja: Pasi Ranne

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Olio-ohjelmointi Syntaksikokoelma

Harjoitus 5 (viikko 41)

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3

Ohjelmoinnin peruskurssi Y1

Osoitin ja viittaus C++:ssa

Ohjelmoinnin perusteet Y Python

Jypelin käyttöohjeet» Miten saan peliin pistelaskurin?

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

8/20: Luokat, oliot ja APIt

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Ohjelmoinnin perusteet Y Python

13. Loogiset operaatiot 13.1

Ohjelmoinnin perusteet Y Python

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Ohjelmoinnin peruskurssi Y1

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Harjoitus 5 (viikko 48)

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Ohjelmointi 2 / 2011 Välikoe / 25.3

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmointi 1 Taulukot ja merkkijonot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

TAMPEREEN TEKNILLINEN YLIOPISTO

Transkriptio:

ITKP102 Ohjelmointi 1 C# 13.6.2014 1 / 5 Ohjelmointi 1 C#, kevät 2014, 2. uusintatentti Tentaattori Antti-Jussi Lakanen Valitse neljä tehtävää ja vastaa niihin. Keväällä 2014 kurssin tehneille lasketaan demohyvitykset tenttipisteisiin mukaan. Tee jokainen tehtävä omalle konseptiarkille! (Tämä tarkistuksen nopeuttamiseksi.) Kirjoittamasi luokat ja aliohjelmat pitää dokumentoida, kuten kurssilla on opetettu. NIMI: (Palautteita varten. Palauta kysymyspaperi valvojalle. Kysymykset tulevat kyllä myös nettiin, joten saat ne sieltä tentin jälkeen.) Tehtävä 1 (6 p.) 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,2pisin 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. Tehtävä 2 (6 p.) (a) Kerro mitä alla oleva pääohjelma tulostaisi ja pohdi miksi. (3 p.) inta=4; intb=5; doublec=6.0; doubled=8.0; Console.WriteLine(b/ a); Console.WriteLine(c/ d);

ITKP102 Ohjelmointi 1 C# 13.6.2014 2 / 5 Console.WriteLine(b% a); Console.WriteLine(b/ a- 1); (b) Vertaile muuttujatyyppejä stringja StringBuilderalla olevan pääohjelman avulla. Kirjoita muuttujien nimija nimi2 arvot kunkin rivin suorittamisen jälkeen. Mitkä ovat muuttujien arvot pääohjelman lopussa, miksi? (3 p.) stringnimi=""; nimi+="aku"; nimi+=""; nimi+="ankka"; nimi.replace("ankka","sorsa"); StringBuildernimi2=newStringBuilder(); nimi2.append("roope"); nimi2.append(""); nimi2.append("ankka"); nimi2.replace("ankka","sorsa"); Tehtävä 3 (6 p.) Alla on kuusi kohtaa joista jokaisesta saa yhden pisteen. Vastaa kohtiin lyhyesti enintään muutamalla virkkeellä. 1. Mitä eroa on operaattoreilla ==ja =? Anna molemmista sopiva käyttöesimerkki. 2. Mikä on return-lause ja mihin sitä käytetään? 3. Mitä eroa on while ja do-while -silmukoilla? 4. Olkoon inta=3; intb=5; Mikä on lausekkeen b%a<b-aarvo? 5. Paljonko on 28 / 6 C#:ssa? Entä 28 % 6? 6. Mitä eroa ja mitä yhteistä on dynaamisella tietorakenteella (lista) ja staattisella tietorakenteella (taulukko)?

ITKP102 Ohjelmointi 1 C# 13.6.2014 3 / 5 Tehtävä 4 (6 p.) Vastaa molempiin kohtiin. a) Tee funktio, joka laskee desimaalilukuja sisältävän taulukon alkioiden keskiarvon. (3 p.) b) Tee funktio, joka palauttaa parametrina annetun merkkijonon käännettynä. Esimerkiksi kutsu Console.WriteLine(KaannaJono("Tietotekniikka"));tulostaisi akkiinketoteit Mitään valmista metodia ei kääntämiseen saa käyttää. Ylimääräisten olioiden luomisesta tulee miinuspisteitä. (3 p.) Tehtävä 5 (6 p.) Tee ohjelma, joka kysyy käyttäjältä luvun, ja tekee sen määrän kokonaisarvoisia satunnaislukuja välille [1, 99999] ja laskee sitten kunkin numeron 1-9 prosentuaalisen esiintymisosuuden luvun ensimmäisenä numerona. Alla esimerkki ohjelman käytöstä. Montakolukuatehdään? 50000 Arvottiin50000lukuaväliltä1-99999, jasainseuraavatprosenttiosuudetarvottujen lukujenensimmäisistänumeroista: [1] 11,074% [2] 11,338% [3] 10,92% [4] 11,254% [5] 11,192% [6] 11,07% [7] 11,136% [8] 11,026% [9] 10,99% Poikkeuksellisesti XML-kommentteja ei tarvitse kirjoittaa. Tehdään myös oletus, että käyttäjä todella antaa positiivisen kokonaisluvun oikeassa muodossa.

ITKP102 Ohjelmointi 1 C# 13.6.2014 4 / 5 Vinkki: Randomrnd=newRandom(); intluku=rnd.next(/*parametrit*/); Random.Next-funktion dokumentaatio liitteenä. Vinkki 2: Voit käyttää oheista funktiota ensimmäisen numeron ottamiseen luvusta. ///<summary> /// Antaakokonaisluvunensimmäisennumeron. ///</summary> /// <paramname="luku">kokonaisluku</param> /// <returns>ensimmäinennumero</returns> publicstaticintannaeka(intluku) inti=math.abs(luku); while(i>=10) i/=10; returni; Ja kutsu funktiota seuraavasti. intluku=42; intekaluku=annaeka(luku);// ekaluku==4 arvio omasta pistemäärästä (1-6 + bonus): Huomautus Muistithan, että tässä tentissä piti tehdä enintään neljä tehtävää. Jos palautat viisi tehtävää, niin korkeimman pistemäärän saanut tehtävä hylätään. Palauta lunttilappu tutkimustarkoituksiin Ystävällisesti pyydän, että palauttaisit valvojalle myös lunttilapun jättäessäsi tenttipaperit. Jos palautat lunttilapun, niin suostut että sitä voidaan käyttää tutkimustarkoituksiin -- luonnollisesti nimettömänä ja ilman tunnistetietoja. Voit jättää myös lapun palauttamatta ja ottaa sen mukaasi tenttisalista. Kirjoita lunttilappuun nimesi, jotta siitä olisi enemmän hyötyä tutkimusmielessä.

ITKP102 Ohjelmointi 1 C# 13.6.2014 5 / 5 Vinkit Random.Next Satunnaisen kokonaisluvun väliltä 1-10 saat tehtyä seuraavasti. Randomr=newRandom(); intminimi=1; intmaksimi=10; intsatunnainen=r.next(minimi, maksimi+1); Huomaa, että jälkimmäisen parametrin luku on eksklusiivinen. Toisin sanoen, se luku ei kuulu arvottavien lukujen joukkoon, ja siksi yllä olevassa esimerkissä on kirjoitettu maksimi+1. % (jakojäännös) -operaattori Jakojäännösoperaattori % laskee jakojäännöksen, joka saadaan kun merkin vasemmalla puolella oleva luku jaetaan oikealla puolella olevalla luvulla. Alla esimerkki. publicclasstentti Console.WriteLine(5% 2); // tulostaa: 1, koska5/2on2, jää1 Console.WriteLine(4% 2); // tulostaa: 0 Console.WriteLine(11% 7); // tulostaa: 4 Console.WriteLine(11% 11);// tulostaa: 0