b'\n_START_ARTICLE_\nZmienna nak\xc5\x82adana\n_START_PARAGRAPH_\nZmienna nak\xc5\x82adana, _NEWLINE_zmienna absolutna, _NEWLINE_nak\xc5\x82adanie zmiennych \xe2\x80\x93 konstrukcja programistyczna dost\xc4\x99pna w okre\xc5\x9blonym j\xc4\x99zyku programowania lub w jego konkretnej implementacji, umo\xc5\xbcliwiaj\xc4\x85ca deklarowanie r\xc3\xb3\xc5\xbcnych zmiennych, w tym samym obszarze pami\xc4\x99ci (dok\xc5\x82adnie w tym samym, lub w wybranym fragmencie wsp\xc3\xb3lnym). Takie post\xc4\x99powanie umo\xc5\xbcliwia odwo\xc5\x82ywanie si\xc4\x99 do danej zawartej w pami\xc4\x99ci na wiele sposob\xc3\xb3w, tzn. r\xc3\xb3\xc5\xbcn\xc4\x85 interpretacj\xc4\x99 ci\xc4\x85gu bit\xc3\xb3w zawartych w tym obszarze lub fragmencie pewnego obszaru. W ten spos\xc3\xb3b danej zapisanej w pewnym obszarze pami\xc4\x99ci mo\xc5\xbcna przypisa\xc4\x87 kilka r\xc3\xb3\xc5\xbcnych typ\xc3\xb3w danych.\n_START_SECTION_\nCel stosowania zmiennych nak\xc5\x82adanych\n_START_PARAGRAPH_\nJak podano wy\xc5\xbcej taka konstrukcja umo\xc5\xbcliwia odwo\xc5\x82ywanie si\xc4\x99 do danej zawartej w pewnym obszarze (lub fragmencie obszaru) pami\xc4\x99ci jak do danych r\xc3\xb3\xc5\xbcnych typ\xc3\xb3w._NEWLINE_Przyk\xc5\x82ad w j\xc4\x99zyku Turbo Pascal (wsp\xc3\xb3lny fragment obszaru pami\xc4\x99ci):_NEWLINE_var lancuch:string[5];_NEWLINE_    dlugosc:byte absolute lancuch;_NEWLINE_W powy\xc5\xbcszym przyk\xc5\x82adzie zmienna dlugosc, typu ca\xc5\x82kowitoliczbowego do d\xc5\x82ugo\xc5\x9bci 1 bajt, zostanie umieszczona pocz\xc4\x85wszy od tego samego adresu, co zmienna lancuch typu \xc5\x82a\xc5\x84cuchowego, od d\xc5\x82ugo\xc5\x9bci 5 znak\xc3\xb3w (zmienna taka zajmuje 6 bajt\xc3\xb3w). Je\xc5\xbceli w kodzie \xc5\xbar\xc3\xb3d\xc5\x82owym zostanie u\xc5\xbcyte odwo\xc5\x82anie do danej zawartej w pami\xc4\x99ci pod tym adresem, poprzez identyfikator lancuch, to data taka zostanie zinterpretowana jak \xc5\x82a\xc5\x84cuch znak\xc3\xb3w, o d\xc5\x82ugo\xc5\x9bci zgodnej z liczb\xc4\x85 zapisan\xc4\x85 w pierwszym bajcie pami\xc4\x99ci zmiennej lancuch. Je\xc5\xbceli natomiast takie odwo\xc5\x82anie nast\xc4\x85pi za pomoc\xc4\x85 zmiennej na\xc5\x82o\xc5\xbconej dlugosc, to nast\xc4\x85pi odwo\xc5\x82anie tylko do fragmentu tego obszaru pami\xc4\x99ci (pierwszego bajta), w kt\xc3\xb3rym przechowywana jest przez implementacj\xc4\x99, d\xc5\x82ugo\xc5\x9b\xc4\x87 aktualna \xc5\x82a\xc5\x84cucha znak\xc3\xb3w, i zgodnie z oczekiwaniami dana taka, kt\xc3\xb3ra zostanie zinterpretowana jako dana liczbowa, pozwoli zbada\xc4\x87 programi\xc5\x9bcie aktualn\xc4\x85 d\xc5\x82ugo\xc5\x9b\xc4\x87 \xc5\x82a\xc5\x84cucha. Ponadto przypisuj\xc4\x85c takiej danej now\xc4\x85 warto\xc5\x9b\xc4\x87 mo\xc5\xbcna dokona\xc4\x87 szybkiego obci\xc4\x99cia \xc5\x82a\xc5\x84cucha._NEWLINE_Przyk\xc5\x82ad w j\xc4\x99zyku Turbo Pascal dla danych zadeklarowanych wy\xc5\xbcej \xe2\x80\x93 obci\xc4\x99cie \xc5\x82a\xc5\x84cucha:_NEWLINE_lancuch:="Alamo"; writeln(lancuch); { wypisanie s\xc5\x82owa "Alamo" }dlugosc:=3; writeln(lancuch); { wypisanie s\xc5\x82owa "Ala" }_NEWLINE_Taki spos\xc3\xb3b post\xc4\x99powania umo\xc5\xbcliwia\xc4\x87 mo\xc5\xbce (o ile implantacja nie dokonuje odpowiedniej kontroli, b\xc4\x85d\xc5\xba kontrol\xc4\x99 tak\xc4\x85 mo\xc5\xbcna wy\xc5\x82\xc4\x85czy\xc4\x87 odpowiedni\xc4\x85 dyrektyw\xc4\x85 kompilatora) "wyd\xc5\x82u\xc5\xbcenie" \xc5\x82a\xc5\x84cucha znak\xc3\xb3w i rozci\xc4\x85gni\xc4\x99cia go na dane zawarte w pami\xc4\x99ci za zmienn\xc4\x85 lancuch. Korzystanie jednak w programowaniu z takich efekt\xc3\xb3w ubocznych, zdecydowanie nie jest jednak zalecane przez literatur\xc4\x99 przedmiotu._NEWLINE_Innym, prostym przyk\xc5\x82adem nak\xc5\x82adania zmiennych, jest implementacja w Turbo Pascalu niedost\xc4\x99pnego mechanizmu zawartego w j\xc4\x99zyku C, traktowania danych znakowych jak liczb ca\xc5\x82kowitych, bez u\xc5\xbcycia konwersji lub funkcji standardowej._NEWLINE_Przyk\xc5\x82ad w j\xc4\x99zyku Turbo Pascal (wsp\xc3\xb3lny ca\xc5\x82y obszar \xe2\x80\x93 dok\xc5\x82adne na\xc5\x82o\xc5\xbcenie zmiennych):_NEWLINE_var znak:char;_NEWLINE_    kod:byte absolute znak;\n_START_SECTION_\nSposoby realizacji\n_START_PARAGRAPH_\nW r\xc3\xb3\xc5\xbcnych j\xc4\x99zykach programowania, b\xc4\x85d\xc5\xba ich implementacjach, dost\xc4\x99pne s\xc4\x85 r\xc3\xb3\xc5\xbcne mechanizmy, umo\xc5\xbcliwiaj\xc4\x85ce realizacj\xc4\x99 nak\xc5\x82adania zmiennych, o r\xc3\xb3\xc5\xbcnych mo\xc5\xbcliwo\xc5\x9bciach i sposobach realizacji.\n_START_SECTION_\nInne konstrukcje\n_START_PARAGRAPH_\nW Fortranie 77 nak\xc5\x82adanie zmiennych realizowane jest przez instrukcj\xc4\x99 EQUIVALENCE. Instrukcja ta jest instrukcj\xc4\x85 biern\xc4\x85. Posta\xc4\x87 instrukcji:_NEWLINE_EQUIVALENCE (lista_zmiennych_1) [,(lista_zmiennych_2)[...]]_NEWLINE_Ka\xc5\xbcda z list zmiennych definiuje jeden wsp\xc3\xb3lny obszar, w kt\xc3\xb3rym rozmieszczone zostan\xc4\x85 zmienne wyspecyfikowanie na danej li\xc5\x9bcie. Elementy listy s\xc4\x85 rozdzielone przecinkami._NEWLINE_Przyk\xc5\x82ad \xe2\x80\x93 zdefiniowane trzech obszar\xc3\xb3w nak\xc5\x82adania zmiennych:_NEWLINE_EQUIVALENCE (A, B, C),(TEST, LITERA), (FA, FX, FY, ZK)'