Ad argvmentvm transi
Topos Uranos

Svmmarivm

Programma imperativvm eventvm svvm non semel compvtat: per gradvs evm constrvit, valores intermedios servans et mvtans. Haec lectio locvm considerat vbi servantvr, variabilem, qvae est cella memoriae cvm nomine, genere et valore. Docet qvomodo vncis cvrvis declaretvr et initialisetvr, et cvr vnci cvrvi forma praelata sint; qvomodo valor eivs per assignationem mvtetvr, cvivs signvm = non significat qvod in mathematica significat; qvomodo statvs programmatis, id est valor omnivm variabilivm eivs qvoqve momento, tabvla vestigii perseqvendvs sit; qvomodo nomina eligantvr qvae dicant qvid variabilis servet; et qvomodo vitetvr error hvivs stadii tacitissimvs: variabilem legere cvi nvmqvam valor datvs est, qvod in C++ est modvs agendi indefinitvs.

Proposita discendi

  1. Variabiles vncis cvrvis declarare et initialisare, et in programmate dato initialisationem ab assignatione distingvere.
  2. Statvm programmatis assignationvm svccessivarvm tabvla vestigii manv perseqvi, et sic exitvm eivs praedicere.
  3. Nomina Anglica eligere qvae dicant qvid qvaeqve variabilis servet, secvndvm regvlas lingvae et praecepta cvrsvs.
  4. Explicare cvr variabilem non initialisatam legere modvs agendi indefinitvs sit, id in programmate agnoscere et semper initialisando praevenire.

Variabilis vt cella

In lectione A problemate ad algorithmvm algorithmi litteris vt qq et rr scripti svnt, qvae valorem vnvm et deinde alivm accipiebant: «rr valorem r−br - b accipit». In mathematica littera valorem fixvm, qvamvis ignotvm, designat; in algorithmo contra locvm designat cvivs contentvm mvtatvr. Programma C++ eodem eget, idqve a memoria compvtatri obtinet.

Memoria principalis est longa svccessio octetorvm, qvisqve cvm nvmero ordinis svi, sva inscriptione. Variabilis est portio illivs memoriae cvi programma nomen et genvs dat. Habet igitvr qvattvor attribvta:

  1. nomen, qvo programma eam designat (count, price);
  2. genvs, qvod statvit qvos valores servare possit, qvot octetos occvpet et qvas operationes admittat: int nvmeros integros servat, double nvmeros cvm digitis decimalibvs;
  3. valorem, qvem dato momento servat, qvi mvtari potest dvm programma agitvr;
  4. locvm in memoria, qvem compilator et systema eligvnt et qvem programma fere nvmqvam scire debet.

Imago qvam retinere expedit est cellae: nomen svpra scriptvm, valor intvs. Genvs est magnitvdo et forma cellae; cella generis int 2.5 non capit, sicvt locvlvs epistvlarvm sarcinam non capit. Figvrae hvivs lectionis statvm programmatis sic delineant, et post qvamqve sententiam itervm delineant.

Genvs magnitvdinem statvere videri potest: operator sizeof nvmervm octetorvm reddit qvos variabilis avt genvs occvpat.

Programma in C++
#include <print>​int main(){    const int count{12};    const double price{4.5};    std::println("count occvpat {} octetos", sizeof(count));    std::println("price occvpat {} octetos", sizeof(price));}
Exitvs
count occvpat 4 octetosprice occvpat 8 octetos

Genvs int hic 4 octetos occvpat, et double 8. Hi nvmeri non in omnibvs systematibvs iidem svnt, et ex eis pendet qvot valores distincti in qvoqve genere capiantvr; lectiones Nvmeri integri eorvmqve repraesentatio et Nvmeri virgvlae flvitantis id considerabvnt. Hic essentiale svfficit: genvs variabilis cvm declaratvr statvitvr nec vmqvam mvtatvr; qvod mvtatvr est valor eivs.