Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Structien Soveltaminen | Johdanto Rakenteisiin
C-Rakenteet

Structien Soveltaminen

Pyyhkäise näyttääksesi valikon

Ohjelmien suunnittelussa erittäin tärkeä vaihe on hallittavan datan esitystavan valinta.

Esimerkiksi haluat kirjoittaa yksinkertaisen ohjelman, joka automatisoi atomin neutronien lukumäärän laskemisen.

A-Z

Missä N on neutronien lukumäärä, A on alkuaineen massaluku ja Z on protonien lukumäärä. Funktio neutronien lukumäärän laskemiseen C:ssä näyttäisi tältä:

int NeutronCount(float A, int Z)
{
	int N = A - Z;
	return N;
}

Tämän funktion käyttämiseksi täytyy määritellä suuri määrä muuttujia jokaisen kemiallisen alkuaineen ominaisuuksille ilman, että menee sekaisin.

Laskutoimitukset on automatisoitu, mutta et ole saanut etua käytännöllisyydessä tai nopeudessa. On hyvin hankalaa syöttää kemiallisen alkuaineen parametrit joka kerta, sitten kirjata tulos ylös jonnekin jne.

char firstElementName[3];
int firstElementAtomicNum;
int firstElementValency;
double firstElementMass;

char secondElementName[3];
int secondElementAtomicNum;
int secondElementValency;
double secondElementMass;

char thirdElementName[3];
int thirdElementAtomicNum;
int thirdElementValency;
double thirdElementMass;

Ja niin edelleen vielä 118 kemialliselle alkuaineelle.

"Olisi hienoa, jos suosikkikielessäni C:ssä olisi mekanismi monimutkaisen datan kuvaamiseen ja käsittelyyn", ajattelit.

Kuvataan visuaalisesti tuleva rakenne, joka kuvaa minkä tahansa kemiallisen alkuaineen, esimerkiksi piin "Si":

kemiallinen alkuaine

Tämä on varsin kätevää. Sen sijaan, että loisit joukon erillisiä muuttujia, voit määritellä rakenteen, joka sisältää kaikki kentät. C-kielessä kaikki tarvittava tähän on jo olemassa.

question mark

Miksi on hankalaa laskea neutronien määrä käyttämällä erillisiä muuttujia jokaiselle alkuaineelle?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 1. Luku 2
some-alt