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

bookStructien Soveltaminen

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

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

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

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

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

Vaikuttaa siltä, että olet automatisoinut laskutoimitukset, mutta et ole saanut etua mukavuudessa tai nopeudessa. On hyvin hankalaa syöttää kemiallisen alkuaineen parametrit joka kerta, sitten kirjata tulos 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 näin 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":

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

question mark

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

Select the correct answer

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

Suggested prompts:

What is a structure in C and how do I define one?

Can you show an example of how to use a structure for chemical elements?

How does using structures improve code organization in this case?

bookStructien Soveltaminen

Pyyhkäise näyttääksesi valikon

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

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

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

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

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

Vaikuttaa siltä, että olet automatisoinut laskutoimitukset, mutta et ole saanut etua mukavuudessa tai nopeudessa. On hyvin hankalaa syöttää kemiallisen alkuaineen parametrit joka kerta, sitten kirjata tulos 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 näin 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":

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

question mark

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

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2
some-alt