Operatorul de atribuire 1

Pe pagina Introducere, în Pascal, și interesul în bancă, am considerat programe simple scrise în Pascal în mediul PascalABC.Net. Acolo vom efectua operații aritmetice pe numere, și apoi le îndepărtează cu ajutorul operatorului scrie (sau writeln). Dar noi nu folosim foarte des apar în programarea operatorului - alocarea. Deci, acolo este - alocarea?







Luați în considerare unele dintre variabilele M și N, au o anumită valoare, să zicem, M = 12, N = 34. Pentru fiecare dintre aceste cantități computerul alocă locația de memorie separată reprezentând un număr de celule sau biți (1 bin = 1 bit). Mai multe numere (sau alt tip de date) nu pot fi stocate în aceeași locație de memorie pentru același motiv pentru care doi litri de apa nu poate încăpea într-un litru.

De foarte multe ori este necesar să se asigure că valoarea lui M, egală cu 12 a fost eliminată, iar în schimb a devenit egală cu valoarea variabilei N, care este, 34. Ce face un calculator? El găsește o locație de memorie în cazul în care valoarea „ascunsă“ N, ea copii (numărul 34) este returnat la locul de depozitare M (egal cu 12), indeparteaza si introduce o nouă valoare, adică 34. Ca rezultat, M = 12 M = transformat într- 34.

Assignment - o înregistrare de date în porțiunea de memorie alocată valorile M, datele care sunt stocate într-o altă porțiune de memorie de calculator în care valoarea lui N. înregistrate







Atribuirea este scris ca M: = N. ceea ce înseamnă că valoarea N este transferată la M. se pune întrebarea în mod natural: ce sa întâmplat cu valoarea N? Nimic, doar un fel de „comun“ cu valoarea variabilei M, un sine nu sa schimbat. Uneori, nou-veniți în programare cred că valorile variabilelor M și N se schimbă, dar nu este. Pentru a ilustra acest fenomen, ia în considerare problema:

Sarcină. Numerele date: M = 12, N = 34. Modificați valorile inversate.

Trebuie să alocați un număr de M 34 și 12 atribuie un număr N (vice-versa). Foarte des, programatori novice a scrie acest lucru:

În prima linie de cod este atribuit M N, adică, M: = 34. În al doilea rând N este atribuit M, dar ultima variabilă nu este egal cu 12, astfel cum a schimbat valoarea sa în linia anterioară la 34. Prin urmare, cele două variabile sunt egale 34. Pentru a demonstra scrie cod completă care trebuie să fie rescris în mediul de programare PascalABC.Net:

Porniți programul de execuție; când vi se solicită, de tip M 12, pentru a intra în N 34 și apăsați Enter. Dacă este făcută corect, ar trebui să vedeți:

Introduceți numărul de M și N:
M = 12
N = 34
rezultat:
M = 34 N = 34

După cum puteți vedea din ultima linie, nu e ceea ce ne dorim - pentru a schimba valorile M și N sunt inversate.

Pentru a obține rezultatul corect, este necesar să se stabilească valoarea inițială a variabilei M, de exemplu, s: = M ( „Remember“ M scriind valoarea din variabila s). Ca rezultat, vom atribui numărul N nu este variabila M, care a schimbat deja, și de a folosi egală cu valoarea lui:

În conformitate cu cele mai recente modificări, programul precedent va fi:

Rescrie programul în PascalABC.Net și executați (butonul F9 de pe tastatură). În cazul în care răspunsul este aceasta:

Introduceți numărul de M și N:
M = 12
N = 34
rezultat:
M = 34 N = 12

programul funcționează corect. După cum se vede în ultimul rând, valorile întregi M și N interschimbate.

div> .uk-panel „>„date-uk-grid-marja>