- One mobilszolgáltatások
- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy S23 Ultra - non plus ultra
- A Galaxy S26-tal együtt késik a One UI 8.5
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 14T - nem baj, hogy nem Pro
- Yettel topik
- Samsung Galaxy S24 - nos, Exynos
Új hozzászólás Aktív témák
-
válasz
Csucsy1991
#2331
üzenetére
Hali!
Úgy látom ezek szerint az alapokkal is gondod van, de nem baj, ezért van ez a fórum, hogy lehessen kérdezni...
Egy kis elmélet az elején(tényleg nagyon dióhéjban):
A DINAMIKUS VÁLTOZÓK=MUTATÓK vagy angolul POINTEREK
Turbo Pascalban a dinamikus változók az ugynevezett HEAP-ben tárolódnak, magyarul ha jól emlékszem HALOM vagy HALOMTERÜLET néven említik a szakkönyvek.MAXAVAIL függvény: a legnagyobb összefüggő blokk méretét adja vissza a HEAP-ben.
NEW függvény: létrehoz a HEAP-ben egy dinamikus változót és a címét elhelyezi benne
DISPOSE függvény: felszabadítja a dinamikus változót a HEAP-benMindezek után a program, ami egy 4 integer tárolására alkalmas tömböt tölt fel ill. ír ki, dinamikus változó(POINTER) segítségével.(persze a TOMB_MERETE konstans módosításával más méretű tömb is kezelhető)
program pointer1;
uses
Crt;
const
TOMB_MERETE=4;
Type
tomb = array[1..TOMB_MERETE] of Integer;
tombptr = ^tomb;
var
i:integer;
MyTombPtr:tombptr;
begin
ClrScr;
Writeln('Dinamikus valtozo(POINTER) hasznalata. 1 pelda');Writeln;
Writeln('A tomb elemeinek szama: ',TOMB_MERETE,' db integer');
Writeln('A tomb merete byte-ban: ',sizeof(tomb));
Writeln('A tomb meretenek megfelelo hely lefoglalas a HEAP-ben');
{ellenőrizzük, hogy van-e elég szabad hely a HEAP-ben a tömb számára}
if maxavail<sizeof(tomb) then
begin
Writeln('Nincs elegendo hely a tomb szamara a HEAP-ben, a program ENTER-re kilep...');
Readln;
Halt;
end;
{helyet foglalunk a tömb számára}
New(MyTombPtr);
Writeln;
Writeln('A tomb elemeinek beolvasasa');
for i:=1 to TOMB_MERETE do
begin
Write('Kerem a tomb ',i,'. elemet: ');
Readln(MyTombPtr^[i]);
end;
Writeln;
Writeln('A tomb elemeinek kirasa');
for i:=1 to TOMB_MERETE do
begin
Writeln('A tomb ',i,'. eleme: ',MyTombPtr^[i]);
end;
{felszabadítjuk a korábban lefoglalt helyet}
Dispose(MyTombPtr);
Writeln;
Write('A program ENTER-re kilep...');
Readln;
end.Remélem, ez a példa segít megérteni a MUTATÓK vagy POINTER fontosságát, illetve azok használatának egyszerűségét...
Fire.
-
válasz
Csucsy1991
#2329
üzenetére
Hali!
Igen igazad van, a "hagyományos" STACK kezelés(Assembly, Pascal C, stb) az LIFO elven működik.(amit utoljára tettél be, ahhoz férsz hozzá elöször).
Assemblyben így
push eax ebx ecx edx
pop edx ecx ebx eaxA FIFO speciális veremkezeléseknél használják, csak a nyagy rohanásban nem fogalmaztam egyértelműen.
Küldtem privet(a priv az a privát üzenetet jelenti)
Fire.
-
válasz
Csucsy1991
#2327
üzenetére
Hali!
Sejtettem, hogy erre gondolsz, csak gondoltam megkérdem a biztonság kedvéért...
(Amúgy a FIFO(First In First Out) tipikusan a VEREM(STACK) kezelésnél alkalmaznak, többekközt)Azonban, hibás a gondolatmeneted...
Most rohannom kell, de délután leszek, akkor kifejtem hogy miért is...
Egyébként a pascal programrészletek, még egész rendben is vannak....
Fire.
-
válasz
Csucsy1991
#2325
üzenetére
Hali!
Értem, és nem értem...
Nem írtad, hogy matematika szakon vagy, vagy csak egy egyszerű algoritmus kellene...
Küldj privet, mert ebből szerintem, senki nem fogja megérteni...(aki esetleg megérti tökéletesen, attól elnézést)Fire.
UI: kellene, hogy mégis milyen PASCAL-ban dolgozol
Új hozzászólás Aktív témák
- One mobilszolgáltatások
- Milyen autót vegyek?
- Fizika topic
- Spórolós topik
- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- gban: Ingyen kellene, de tegnapra
- Győr és környéke adok-veszek-beszélgetek
- GoodSpeed: Kell-e manapság egérpad vagy sem?
- Béta iOS-t használók topikja
- További aktív témák...
- Lenovo ThinkPad X1 YOGA 3. 2in1 14"FHD TOUCH i5-8250U 8GB DDR4 ,250GB SSD Win11 27%ÁFÁS, ÜZLETBŐL
- ASUS VG248 24 165HZ
- Apple Airpods Pro 2 megkímélt usb -c
- DELL LATITUDE 7275 2in1 12.5" IPS Win10 TABLET/NOTEBOOK 8G/256GB ÜZLETBŐl, GARANCIÁVAL
- LG Gram 16 i7-1165G7 / 16GB RAM / 512GB SSD / 2.5K kijelző
- Bomba ár! Dell Latitude E5440 - i5-4GEN I 4GB I 320GB I 14" I HDMI I Cam I W10 I Gari!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 15 Plus 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3355, 100% Akkumulátor
- BESZÁMÍTÁS! ASUS B760M i9 12900K 32GB DDR4 1TB SSD RTX 3080 10GB ZALMAN S2 TG A-Data 750W
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



