obliczanie adresow tablic, szkola, jezyki formalne i metody kompilacji


Jeśli mamy tablice tab[x][y] oraz strukture:

struct{

char a,b; //char to 1 bajt

int c //int to 4 bajty

}

A chcemy obliczyc adres jakiejs komorki, np &tab[z][w] to liczymy w nastepujacy sposob:

=wartość_poczatkowa + (z*y+w)*rozmiar_struktury.

Rozmiar_struktury jest rowny sumie WIELKKOSCI wszystkich elementow znajdujących się w tej strukturze. Czyli 2x1(char) + 1x4(int)

wartość_poczatkowa=zawsze jest podana.

100 + (z*y+w)*6.

POWYZSZY PRZYKŁAD OPISUJE OBLICZANIE DLA PIERWSZEGO ELEMENTU.

Dla ostatniego elementu takiej tablicy obliczanie jest analogowe, z jednym wyjątkiem, musimy do tego wyniku dodac jeszcze rozmiar struktury (calej) pomniejszonej o 1.

Wiec korzystając z tych założeń, adres koncowy to:

100 + (z*y+w)*6 + 5.

Jeśli zas chodzi o takie przypadki, gdzie jest tab[x][y].a, wówczas jest to troche inaczej liczone.

ADRES POCZATKOWY:

100 + (z*y+w)*6+rozmiar_struktury

// rozmiar_struktury - ale tylko dla wart a. Literal a znajduje się na pierwszym miejscu w strukturze, wówczas wartość jest rowna 0 i nic się nie dodaje. Jeśli zamiast `a' będzie `b', wówczas dodajemy wielkość struktury o jeden mniejszej (czyli wielkość spod `a'). Analogicznie, jeśli będzie `c', wówczas dodajemy SUME wszystkich rozmiarow oprocz rozmiaru dla `c'.

Zatem dla przykładu: tab[x][y].c, obliczamy:

100 + (z*y+w)*6+2

ADRES KONCOWY DLA POWYZSZEGO PRZYKLADU;

tab[x][y].c

100 + (z*y+w)*6+(rozmiar struktury dla c - 1)

100 + (z*y+w)*6+(1+1+4-1)= 100 + (z*y+w)*6+5

Mam nadzieje, ze nie popełniłem jakiejs gafy i przyda Ci się ta teoria. Pozdrawiam. W razie co brac studencka pomoze w potrzebie ;)



Wyszukiwarka

Podobne podstrony:
JFiMK MEGA PACK, szkola, jezyki formalne i metody kompilacji
BPMN Języki Formalne i Kompilatory
Języki formalne minimalizacja akceptorów RSid 22937
POLSKIE?DANIA NAD JĘZYKIEM?MILIJNYM I ICH METODY, TEKST A ZDANIE, WARUNKI TEKSTOWOŚCI
TPPK II tablica, Szkoła, Semestr 6, Technologia pasażerskich przewozów kolejowych II
Języki formalne, minimalizacja akceptorów RS
SZKOŁA 2011 2012, Metodyka pracy opiekuńczo-wychowawczej w szkole
szkoła podstawowa - podstawa, Metodyka
pamiec długotrwała i krotkotrwała, Nauka, Języki, Deutsch, Metodyka
Jezyki formalne NAS DASid 22940 Nieznany
[ mroko ] [jezyki formalne] [zadanie 2 z 12 15c
Tworzenie korespondencji seryjnej i seryjnego adresowania, Informatyka szkoła podstawowa - ćwiczenia
Jezyki formalne Mooreid 22952 Nieznany
Języki formalne zaliczenie wykładów sciaga, Studia, pozostałe materiały
tablice, Szkoła, Technikum Elektroniczne, szkoła II TA 2012;2013, cyfrówka
Obliczenia VII spalanie, ==SZKOŁA==, Gospodarka odpadami komunalnymi
3 ANALITYCZNE METODY OBLICZANIA PŁYWÓW

więcej podobnych podstron