• Ei tuloksia

+= RRRRR Olio-ohjelmointi HYV6SN 1.välikoe 18.10.2007

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "+= RRRRR Olio-ohjelmointi HYV6SN 1.välikoe 18.10.2007"

Copied!
3
0
0

Kokoteksti

(1)

Olio-ohjelmointi HYV6SN 1.välikoe 18.10.2007

1. Tee ohjelma, joka laskee kahden rinnankytketyn vastuksen resistanssin kun ohjelmalle syötetään vastusten arvot ohmeina. Rinnankytkennän resistanssi saadaan kaavasta: (5 p)

2 1

2 1

R R

R R R

= +

#include <iostream>

using namespace std;

int main() {

float R1,R2;

cout << "Anna vastusten arvot "<< endl;

cin >> R1 >> R2;

cout << "Kokonaisresistanssi on " << R1*R2/(R1+R2);

return 0;

}

2. Tee ohjelma, joka tutkii onko käyttäjän antama merkkijono palindromi, eli sama merkkijono nurinpäin (esimerkiksi saippuakauppias). (5 p)

#include <iostream>

#include <algorithm>

using namespace std;

int main() {

string s1;

cout << "Anna merkkijono" << endl;

cin >> s1;

string s2=s1;

reverse(s1.begin(),s1.end());

if (s1 == s2)

cout << "On palindromi" << endl;

else

cout << "Ei ole palindromi" << endl;

return 0;

}

(2)

3. Tee ohjelma, joka lajittelee käyttäjän syöttämät kokonaisluvut

suuruusjärjestykseen. Syötettävien lukujen määrää ei tiedetä etukäteen. (5 p)

#include <iostream>

#include <vector>

using namespace std;

int main() {

vector <int> luvut;

vector <int>::iterator it;

int luku;

do {

cout << "Luku ?" << endl;

cin >> luku;

if (luku > 0)

luvut.push_back(luku);

} while (luku>0);

sort(luvut.begin(),luvut.end());

for (it=luvut.begin();it!=luvut.end();it++) cout << *it << endl;

return 0;

}

4. Mitkä ovat muuttujien 1, 2, 3, 4 ja 5 arvot a. Ensimmäisen funktiokutsun jälkeen b. Toisen funktiokutsun jälkeen ?

(0.5 p / oikea vastaus).

Vihje:

Muuttujalla ei välttämättä ole arvoa ollenkaan…

Muuttuja 1 on globaali muuttuja. Se näkyy funktioon f. Arvoa kasvatetaan funktiossa f lauseella ::i++; Ensimmäisen kutsun jälkeen arvo on siis 1 ja toisen kutsun jälkeen 2.

Muuttuja 2 on pääohjelmassa määritelty paikallinen muuttuja. Muuttuja viedään viittausparametrin kautta funktioon f(&i) , joten funktio pystyy muuttamaan sen arvoa. Ensimmäisen kutsun jälkeen arvo on 2 ja toisen 3.

Muuttuja 3 on funktiossa f määritelty paikallinen muuttuja. Sitä ei ole olemassa pääohjelman suorituksen aikana, joten sillä ei ole arvoa kummassakaan

tapauksessa.

Muuttuja 4 on funktiossa f määritelty

staattinen muuttuja

. Se on olemassa koko ohjelman suorituksen ajan kun se on ensimmäisen funktiossa käynnin

yhteydessä luotu. Funktiossa sen arvoa kasvatetaan, joten ensimmäisen kutsun jälkeen arvo on 4 ja toisen jälkeen 5.

Muuttuja 5 on itse asiassa pääohjelman muuttujan i (Muuttuja 2) aliasnimi, koska kyseessä on viittausparametrillinen funktiokutsu. Muuttuja k on kuitenkin

funktion paikallinen muuttuja, joten sillä ei ole arvoa pääohjelmassa.

(3)

Muuttujien arvot

1 2 3 4 5

Ensimmäisen kutsun jälkeen1 2 * 4 *

Toisen kutsun jälkeen 2 3 * 5 *

* = Ei ole arvoa

#include <iostream>

using namespace std;

int i=0; //Muuttuja 1 void f(int &);

int main() {

int i=1; //Muuttuja 2 f(i);

//Muuttujien arvot a)-kohdassa ? f(i);

//Muuttujien arvot b)-kohdassa ? return 0;

}

void f(int &k) {

int i=2; //Muuttuja 3

static int j=3; //Muuttuja 4 i++;

j++;

::i++;

k++; //Muuttuja 5 }

Viittaukset

LIITTYVÄT TIEDOSTOT

Kahta

jolle syötetään kaksi kokonaislukua, ja joka palauttaa toden, jos luvut ovat samat, ja epätoden, jos ne eivät ole samoja.. Tee myös pääohjelma, jonka avulla voit testata

Tee ohjelma, joka sisältää laatikko-luokan. Luokan tietojäseninä ovat laatikon syvyys, leveys ja korkeus. Toteuta luokkaan muodostin, jonka avulla olio voidaan alustaa. Toteuta

Arvoa kasvatetaan funktiossa f lauseella ::i++; Ensimmäisen kutsun jälkeen arvo on siis 1 ja toisen kutsun jälkeen 2.. Muuttuja 2 on pääohjelmassa määritelty

Tee luokkiin tarvittavat muodostimet sekä metodit, joiden avulla voit laskea

Tytin tiukka itseluottamus on elämänkokemusta, jota hän on saanut opiskeltuaan Dallasissa kaksi talvea täydellä

Explain the reflection and transmission of traveling waves in the points of discontinuity in power systems2. Generation of high voltages for overvoltage testing

Explain the meaning of a data quality element (also called as quality factor), a data quality sub-element (sub-factor) and a quality measure.. Give three examples