W32 ohjelmoinnin arviointitesti
Mureakuha
Osaatko Windows-ohjelmoinnin? Tee testi ja tutki omat taitosi. Vastauksissa voi olla useitakin oikeita vaihtoehtoja. Tarkista tulos sivun lopusta.
A. Mitä tarkoittaa graafinen käyttöliittymä (Graphical User Interface, GUI)?
- Paljon kuvia sisältävä ohjelmaikkuna.
- Suurelta osin hiirellä tehtävää ohjelmointia.
- Merkkipohjaisen käyttöliittymän vastakohta.
- Suurelta osin hiirellä toimiva ohjelmien käyttömahdollisuus.
B. Windows-ohjelmien käyttöliittymä koostuu kontrolleista eli painikkeista, listoista, valikoista jne. Mitkä seuraavista väittämistä pitävät paikkansa?
- Kontrollien toiminnallisuus joudutaan ohjelmoimaan kokonaan itse, mutta projektiin voidaan kopioida Microsoftin tekemää valmista koodia. Haluttaessa kontrollin toimivan jollain tietyllä tavalla, voidaan väärä koodi poistaa ja kirjoittaa tilalle uusi.
- Kontrolli toimii ikkunan syöttölaitteena. Kontrolli sulkee sisäänsä tiedon miten se piirretään, miten se reagoi käyttäjän toimintoihin jne.
- Kontrolleja käytetään, koska Windows on suunniteltu toimimaan niiden kautta. Ilman valmiita kontrolleja on erittäin vaikeaa ellei mahdotonta tehdä Windows-ohjelmaa.
- Kontrolleja käytetään ainostaan niiden yleisyyden takia, vaikka ne vaikeuttavatkin ohjelmointia.
C. Jokaisen käyttöjärjestelmän tärkeä osa on kernel. Mikä on kernelin tehtävä?
- Kernel on käyttöjärjestelmän grafiikkamoottori, joka hoitaa ohjelmien piirtämisen ja päivittämisen näyttölaitteelle.
- Kernel on käyttöjärjestelmän ydin, joka hoitaa tärkeimpiä toimintoja kuten muistin- ja tiedostonhallinnan.
- Kernel muuntaa käyttäjän ruudulla tekemät toiminnot vastaamaan oikeita, käyttöjärjestelmän muistinvaraisia tietorakenteita.
- Kernel on muistivarasto, jonne käyttöjärjestelmä tallettaa ohjelman tuottamaa tietoa ja josta ne myöhemmin voidaan hakea käyttöön.
D. Mikä on ohjelmointirajapinta (Application Programming Interface, API)?
- Graafinen liittymä Windows-käyttöjärjestelmään.
- Ohjelmoijan luoma liityntä käytössä olevaan tietoon.
- Ohjelmointiliittymä Access-tietokantaan.
- Ohjelmointiliittymä Windows-käyttöjärjestelmään.
E. Windows toimii sanomaperusteisesti. Mitä tämä tarkoittaa?
- Windows lähettää ohjelmalle sanoman, jossa kerrotaan miten ohjelman tulee vastata, kun käyttäjä antaa toimintakäskyn.
- Käyttöliittymä synnyttää sanomia, joilla voidaan ohjata kerneliä.
- Kontrollien toimintaa voidaan ohjata lähettämällä niille haluttuja sanomia.
- Windows-käyttöjärjestelmän osat toimivat sisäisesti sanomilla, joita ohjelmoija ei pysty kontrolloimaan mitenkään.
F. Windows on moniajokäyttöjärjestelmä. Miten moniajo (multitasking) toimii?
- Käynnissä olevia ohjelmia suoritetaan vuorotellen yksi sanoma kerrallaan.
- Käynnissä olevia ohjelmia suoritetaan vuorotellen yksi käsky kerrallaan.
- Jokaisen ohjelman täytyy itse myöntää lupa käyttöjärjestelmälle suorittaa toista ohjelmaa jos moniajoa halutaan tukea.
- Windows varaa aikaviipaleen jokaista käynnissä olevaa ohjelmaa kohti ja ajaa ohjelmia vuorotellen riippumatta ohjelmien kirjoitustavasta.
G. Windows tukee myös säikeitä (threads). Mitkä seuraavista väittämistä ovat tosia?
- Windows-ohjelma voi jakaa itsensä useaan, näennäisesti yhtä aikaa toimivaa osaan eli säikeeseen.
- Windows suorittaa jokaista ohjelmointikäskyä itsenäisesti omassa säikeessään.
- Säikeitä luomalla Windows voi pakottaa prosessorin suorittamaan useita konekielikäskyjä rinnakkain.
- Kun ohjelmaa ajetaan säikeessä, sitä ei pysty pysäyttämään, eikä siihen pysty muutoinkaan vaikuttamaan ennen kuin ohjelma itse suoriutuu loppuun.
H. Windows käyttää virtuaalimuistina (virtual memory) heittovaihtotiedostoa (swap file) keskusmuistin tukena. Mitkä seuraavista muistin käsittelyä koskevista väittämistä pitävät paikkansa?
- Windows-ohjelman käytössä oleva muistin määrä on sama kuin mikä vapaana olevan keskusmuistin ja levytilan määrä on.
- Windowsilta ei voi loppua muisti kesken mikäli järjestelmässä vain on tarpeeksi keskusmuistia ja levytilaa.
- Windows huolehtii muistin riittävyydestä siirtämällä heittovaihtotiedostoon keskusmuistissa olevan käyttämättömän tiedon.
- Windows-ohjelmia voidaan ajaa sekä heittovaihtotiedostossa, että keskusmuistissa.
I. Mitä tarkoittaa dynaaminen kirjasto (Dynamic-Link Library, DLL)?
- C-kielinen koodi koostuu .h-päätteisistä tiedostoista, joista on koottu koodikirjastoja ja josta koodia myös käytetään.
- C++-kielisestä koodista koottu oliokirjasto, josta olioita myös käytetään.
- Windows-käyttöjärjestelmän mukana tulee joukko tiedostoja, joissa Windowsin tukemien toimintojen koodi sijaitsee ja josta niitä myös ohjelmallisesti käytetään.
- Windowsin tukemat kontrollit on koottu kontrollikirjastoon, josta niitä myös ohjelmallisesti käytetään.
J. Mitä tarkoittaa luokkakirjasto (class library)?
- C-kielinen koodi koostuu .h-päätteisistä tiedostoista, joista on koottu koodikirjastoja ja josta koodia myös käytetään.
- C++-kielisestä koodista koottu oliokirjasto, josta olioita myös käytetään.
- Windows-käyttöjärjestelmän mukana tulee joukko tiedostoja, joissa Windowsin tukemien toimintojen koodi sijaitsee ja josta niitä myös ohjelmallisesti käytetään.
- Windowsin tukemat kontrollit on koottu kontrollikirjastoon, josta niitä myös ohjelmallisesti käytetään.
K. Microsoftilla on oma MFC-luokkakirjastonsa. Mitä lyhenne MFC tarkoittaa?
- Microsoft For C++.
- Microsoft Foundation Classes.
- Microsoft Formatting Controls.
- Microsoft Finished Components.
L. Kuinka montaa sanomaa ja API-funktiota Windows hyödyntää?
- Noin 20 sanomaa ja 100 API-funktiota.
- Noin 200 sanomaa ja 1000 API-funktiota.
- Noin 2000 sanomaa ja 10000 API-funktiota.
- Enemmän kuin haluan tietää ja jaksan muistaa.
Vastaukset: A. 3 ja 4 B. 2 ja 3 C. 2 D. 3 ja 4 E. 1 ja 3 F. 4 G. 1 H. 1 ja 3 I. 3 J. 2 K. 2 L. 2 ja 4
Kopio lisenssistä (englanniksi) löytyy täältä.
Alkuperäinen (c) Petteri Hämäläinen
