• Ei tuloksia

Nimi: TLP533 Lausekielinen ohjelmointi 1 HYV5SN Vastaa tähän paperiin. Kirjoita vastauksesi selkeästi tekstaamalla ja sisentäen ohjelmalohkot.

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Nimi: TLP533 Lausekielinen ohjelmointi 1 HYV5SN Vastaa tähän paperiin. Kirjoita vastauksesi selkeästi tekstaamalla ja sisentäen ohjelmalohkot."

Copied!
4
0
0

Kokoteksti

(1)

Nimi:

TLP533 Lausekielinen ohjelmointi 1

HYV5SN

Vastaa tähän paperiin. Kirjoita vastauksesi selkeästi tekstaamalla ja sisentäen ohjelmalohkot.

1. Tee C-kielinen ohjelma, joka kysyy käyttäjältä lompakossa olevan rahamäärän ja lihapiirakan hinnan. Ohjelma tutkii, onko käyttäjällä varaa ostaa lihapiirakka. Jos on, ohjelma ilmoittaa, kuinka paljon lompakkoon jää vielä rahaa. Muuten ohjelma kehottaa käyttäjää paastoamaan. Käytä vain kahta muuttujaa. Älä vähennä

lompakon sisältöä, ellet voi ostaa lihapiirakkaa. (6 p)

#include <stdio.h>

void main(void) {

float rahaa;

float hinta;

printf("Paljonko on rahaa ? ");

scanf("%f",&rahaa);

printf("Paljonko lihis maksaa ?");

scanf("%f",&hinta);

if (rahaa<hinta) {

printf("Ei tarpeeksi fyffee ! Paastoa.\n");

} else {

printf("Ostit lihiksen. Rahaa jää %.f eeroa.\n",rahaa- hinta);

} }

(2)

2. Merkkijonojen käsittely C-kielellä. (6 p)

a. Kirjoita C-kielinen ohjelma, joka kysyy ja tulostaa merkkijonon. (2 p) b. Miten ohjelmassa saadaan selville merkkijonon pituus ? (1 p)

c. Miten saadaan selville isojen / pienten kirjainten lukumäärä ? (1 p) d. Miten kaikki merkit muutetaan isoiksi / pieniksi kirjaimiksi ? (1 p) e. Miten merkit tulostetaan käänteisessä järjestyksessä ? (1 p)

#include <stdio.h>

#include <string.h>

#include <ctype.h>

void main(void) {

int n,i;

int isot=0,pienet=0;

char isoMjono[20]="",pieniMjono[20]="";

//a)

char mjono[20];

printf("Anna merkkijono ");

gets(mjono);

//b)

n=strlen(mjono);

//c)

for (i=0;i<n;i++) {

if (isupper(mjono[i]))

isot++;

if (islower(mjono[i]))

pienet++;

}

//d)

for (i=0;i<n;i++) {

isoMjono[i]=toupper(mjono[i]);

pieniMjono[i]=tolower(mjono[i]);

}

//e

for (i=n-1;i>=0;i--) {

printf("%c",mjono[i]);

}

printf("Pituus on %d\n",n);

printf("Isoja %d \n",isot);

printf("Pieniä %d \n",pienet);

printf("Isona %s\n",isoMjono);

printf("Pienenä %s\n",pieniMjono);

}

(3)

3. Ohessa on eräs harjoituksissa käsitelty C-kielinen ohjelma. Ohjelmaan on lipsahtanut useitakin virheitä. Etsi niin monta kuin pystyt, jokainen oikea virhe tuottaa 1 pisteen (maksimissaan 6 p).

#include <stdio.h>

#include <string.h>

int SyotaLuku(void);

int LaskeYhteen(int,int);

void Tulosta(int);

int main(void) {

int x,y,z;

x=SyotaLuku();

y=SyotaLuku();

z=LaskeYhteen(x,y);

Tulosta(z);

return 0;

}

int SyotaLuku(void) {

int luku;

printf("Anna luku\n”);

scanf("%d",&luku);

return luku;

}

int LaskeYhteen(int x,int y) {

return x+y;

}

void Tulosta(int z) {

printf("Summa on\n",z);

}

(4)

4. Kirjoita C-kielinen ohjelma, joka laskee sylinterin tilavuuden, kun käyttäjä antaa pohjan säteen r ja sylinterin korkeuden h . Sylinterin tilavuus lasketaan kaavalla

h r V = π

2

Toteuta ohjelma siten, että se toimii silmukassa eli tilavuuksia lasketaan niin kauan kuin säde ja korkeus molemmat ovat positiivisia ja laskenta loppuu kun jompikumpi tai molemmat ovat negatiivisia. Kirjoita tietojen syöttö, tilavuuden laskenta ja tulostus omiksi funktioikseen. (6 p)

#include <stdio.h>

#define pii 3.141592

float syotto(char []);

float tilavuus(float,float);

void tulostus(float);

void main(void) {

float r,h,V;

do {

r=syotto("Anna sade ");

h=syotto("Anna korkeus ");

V=tilavuus(r,h);

tulostus(V);

} while (r > 0 && h > 0);

}

float syotto(char mjono[]) {

float luku;

printf("%s ",mjono);

scanf("%f",&luku);

return(luku);

}

float tilavuus(float r,float h) {

return(pii*r*r*h);

}

void tulostus(float V) {

printf("Tilavuus on %.2f\n",V);

}

Viittaukset

LIITTYVÄT TIEDOSTOT

B) Toinen tai molemmat valitsevat ei. Pysyttekö Mäntsälässä?.. Dia 11 Molemmat vastaavat B) Ei. Vastaako Kosola

Koska SPV ei ollut täysin itsenäinen, vaati Fed vuonna 1996, että pankit voisivat alentaa pääomavaatimuksiaan vain, jos kaikki riskit olisivat poistetut (Tett 2009)..

Kirjoitus synnytti ankaria vastalauseita, joiden mukaan tutkimus joko oli kumonnut nuo väitteet tai ne eivät ainakaan olleet toteen näytettyjä ja kirjoittajat siksi

raan tai vinottain, niin että kaikki kahdeksan lähiruutua ovat yhtä todennäköisiä. Millä todennäköisyydellä piste on kolmen askeleen jälkeen j (llleen

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

Toteuta ohjelma siten, että se toimii silmukassa eli tilavuuksia lasketaan niin kauan kuin säde ja korkeus molemmat ovat positiivisia ja laskenta loppuu kun jompikumpi tai

Luo johdettu luokka: Talo, joka perii rakennuksen ja ylläpitää tietoja makuuhuoneiden ja kylpyhuoneiden lukumääristä.. Luo johdettu luokka: Toimisto, joka perii rakennuksen