Elfogtam egy levelet: "Üdv. Köszönöm az eddigi segítségedet, de szeretném a segítséged kérni megint. Biztos furcsának fogod gondolni a kérdésem, meg hülyeségnek, de érdekel a dolog. Hisz hátha mûködik mivel ilyen egyszerû lenne. A lényeg, hogy ezeknél a rulett számítógépes játékoknál bizonyítottan, a számok nem véletlenül követik egymást. Meghatározott szisztémát követ az új szám, ami az elõtte lévõ 1.-2- számból kerül ki más alakban vagy valamilyen matematikai azonosságnak, mûveletnek, kifejezésnek, stb köszönhetõen. Nem igazán értek még sem a rulett programokhoz sem a programozáshoz, mind2-vel kapcsolatban kezdõ vagyok. Arra gondoltam, hogy ha a rulett program álrandom számokat generál egy bizonyos kezdõértékbõl, ami az elõtte lévõ 1.-2. szám, akkor ha egy másik programban ezt a számot megadom kezdõ értékként, és lefuttatok vele pár variációt(mondjuk 15öt) akkor a között a 15 random szám között amiknek ugyanaz volt a kezdõértékük ott kellene lennie nagy valószínûséggel annak a számnak amit majd a rulett program is "kitalálna", megjelenítene új számként. Szerinted ez mennyire butaság? Vagy más algoritmust használ mind2 program így lehetetlen lenne ezt meghatározni? Válaszod elõre is köszönöm, remélem nem gondolsz hülyének :D" Nos, ha profi a program, akkor egyedi véletlenszám-generálást végez. Persze ennek mûködését (már ha a véletlenszám-generálást a gépen végzi) némi visszafejtegetéssel (lásd: #267-es hozzászólásom utolsó bekezdése) ki lehetne silabizálni.
Ha ez valami online szolgáltatás, az is elképzelhetõ, hogy külsõ hardvert (lásd #270-es hozzászólásom) használnak, vagy valós eseményt (a valódi rulett-tárcsa alatt vannak érzékelõk) közvetítenek. Persze ezekben is lehet némi szabályszerûség, de matematikus legyen a talpán, aki ezt "visszafejti".
Itt láthattok az elõzõ hozzászólásomban említett hardverre egy példát.
BEGIN
writeln (randseed);
randomize();
writeln (randseed);
END.
Ennek a kimenete pár másodpercenkénti futtatás után (Free Pascal 2.4.0-ban fordítottam le, Linux alatt): # ./random 0 1323981023 # ./random 0 1323981024 # ./random 0 1323981025 # ./random 0 1323981026 Tehát a randomize az idõbõl generálja le a randseed értékét, a random ezt az értéket használja fel a véletlenszám generálásánál.
Ha neked ez nem tetszik, akkor neked kell megadnod a randseed értékét, amit generálhatsz bármibõl. Akár az idõbõl, egyedi algoritmus alapján; vagy mondjuk egy üres csatornára állított rádió kimenetét (ami fehérzajt fog szolgáltatni) kötöd rá analóg-digitál konverteren keresztül a párhuzamos portra és annak értékét olvasod le, stb...
A randseed-el mûködik, köszönöm. Viszont azt, hogyan tudnám beállítani, hogy ugyanazzal a kezdõértékkel ne csak azt az 1 számot dobja ki folyamatos frissítésnél, hanem mondjuk 10szeres kiíratásnál másik számot is kiadjon? Az idõ-vel kell valamit kezdeni vagy a válasz máshol keresendõ?
RYO21: Nem a Random fügvénnyel van Razputyn-nak baja, hanem a véletlengenerátor inicializálásával. Pascalban ezt a Randomize végzi, C-ben/C++-ban az srand.
Razputyn: ha jól emlékszem, neked a RandSeed nevû változóra lesz szükséged. A Randomize az aktuális idõbõl hozza létre a kezdõértéket - Itt láthatod visszafejtve, Assemblyben.
Read(x); y:=(Random(100)+x); Writeln(y);
Lehet, hogy zárójel nem kell. Rég pascaloztam már, így nem nagyon emlékszem rá. Lehet, hogy nem is mûködik az, amit írtam.
Sziasztok, szeretnék egy olyan programot készíteni a Turbo Pascallal, aminél megadok egy kezdõértéket, és az alapján ír ki random számokat. Olvastam, hogy a gép csak álvéletlen számokat tud generálni, a randomize parancs ad meg csak egy véletlen kezdõértéket ami alapján számolja a random parancs valamilyen algoritmus alapján a többi számot. Na most meglehetne azt oldani, hogy amit a randomize ad meg véletlen kezdõértéket, azt én adjam meg? Vagyis mondjuk randomnál beállítom, hogy 0-99-ig adhat random számot. A randomize generál egy számot ami alapján a random kiszámolja a "véletlen számot" na de hogy oldhatnám meg, hogy a randomize helyett én adjam meg azt a kezdõértéket. Remélem érthetõen írtam, és tudtok segíteni. A lényeg, hogy, nekem 0 és 99 között kell, amihez a Random(100)-kell. Ezt értem, nekem az kellene, hogy a randomize helyett mást használjak. Mert ha nem használok randomizet akkor mindig ugyanazokat adja ki. Na de én úgy szeretném, hogy én adok meg a randomize helyett egy kezdõértéket ami alapján számolja ki a random számokat 0 és 99 között. Köszi elõre is.
adott szöveget kell kiírni? write('-aposztrófok közé jön a szöveg a sima write az elõzõ után azonos sorba fojtatólagosan írja ki a szöveget-'); vagy writeln('-ez is az elõzõ kiírás után írja a szöveget, csak új sorba kedi el-');
ha egy változót is megszeretnél jeleníteni akkor a:=1 write('szöveg ',a,' szöveg');
program futtatásnál meg így néz ki: szöveg 1 szöveg
Üdv! Hogyan tudnám megoldani, hogy egy karakter vagy szám helyett több soros szöveget írjon ki a program?
Üdv!
segítséget szeretnék kérni, egy sorsoló programot szeretnék írni pascalban. Tehát tegyük fel beírok 4 szöveget/számot és akkor 2esével véletlenszerûen párosítja õket (csapatsorsoláshoz kéne).
Pl. 1-2 , 4-6
valami:=kiir(szamol(a, r1), r2), ahol kiir egy procedura szamol meg egy függvény?
Hogy tudnám ezt mûködõképesre megírni?
Mi ilyennel nem foglalkoztunk, rögtön szövegben lévõ mással meg magánhangzók számolásával kezdtük illetve másodfokú megoldóképlettel:D Meg elõtte átnéztünk különbözõ függvényeket(ord, succ, pred, anyámkínja).
Sziasztok engem egy feladat megoldása érdekelne: 1, Kétszínezés irányítatlan gráfban. Ezt onnan ismered fel, hogy a feladatod neve ketszin.x ahol x egy 1 és 20 közötti egész szám. Itt a megoldás egyrészt vagy a "kétszínezhetõ" vagy a "nem kétszínezhetõ" válaszból áll, másrészt az elsõ esetben az 1-es csúccsal azonos színû csúcsok közül a 20-nál kisebb sorszámúak felsorolása, a második esetben pedig egy legfeljebb 15 hosszú páratlan kör csúcsainak kiíratása ciklikus sorrendben. Ehhez van egy bemeneti file. Ami egy gráf éllistával megadva. Valaki tud segíteni? Elõre is köszönettel!
Üdv!
Még nagyon kezdõ vagyok, és lenne pár kérdésem.
Lehet valahogy random betû generátort csinálni? Szóval hogy meghatározott karakterekbõl álljon A-tól Z-ig? Randomszámgenerátort tudok csinálni, sõt random karaktert is (chr(random(255));. Csak így mindenféle karakterek szerepelnek, nekem pedig csak az abc betûi kellenének.
Illetve a másik kérdésem, hogy, hogy lehet azokat a spéci karaktereket legépelni (kiíratni)? Smiley és stb-re gondolok.
Lazarus totál meghalt... A tiéddel semmit sem csinál, az enyém viszont totál eltûnt. Kezd a tököm telelenni, nem elég, hogy én is béna vagyok, de erre még a program is rátesz egy lapáttal.
Nincs most idõm ezeket átnézni, bocs... itt a két függvény, amit én írtam régen. 10-bõl tetszõlegesbe, és tetszõlegesbõl 10-esbe (de 10-nél nagyobb sz.r-re nem mûködik):
function ten_to_base(n:longint; base:byte):longint; var q,r:integer; num,szorzo:longint; begin num:=0; szorzo:=1; while n>0 do begin r:=n mod base; n:=n div base; num:=szorzo*r+num; szorzo:=szorzo*10; end; ten_to_base:=num; end;
function base_to_ten(n:longint; base:byte):longint; var s:string; i,akt:byte; num:longint; code:integer;teszt:longint; begin num:=0; str(n,s); akt:=0; for i:=length(s) downto 1 do begin val(s,akt,code); num:=num+akt*pow(base,length(s)-i); end; base_to_ten:=num; end;
function ten2x( x,i : integer) : string; var j : integer; begin Result := '0'; if x=0 then exit; j := x mod i; if (x div i) > 0 then Result := ten2x((x div i), i) + aa[j+1] else Result := aa[j+1]; end;
function x2ten( const x : string ; i : integer) : integer; var j : integer; begin Result := 0; if x='' then exit; j := pos(uppercase(copy(x,length(x),1)),aa); if j<=0 then exit; if length(x)>1 then result := j-1 + i*x2ten(copy(x,1,length(x)-1),i) else result := j-1;
end;
Itt van még ez, na ezt még mûködésre sem tudom bírni. Totál hülye vagy én ehhez.
program konverter; uses crt; var be : real; bin : string;
Function forgat(s : string):string; var i : longint; tar: string; begin tar:=''; if length(s)>1 then begin for i:=0 to length(s)-1 do begin tar:=tar+copy(s,length(s)-i,1); end; end else tar:=s; forgat:=tar; end;
function hatvanyoz(alap : longint; kitevo : longint):longint; var i: longint; szam : longint; begin if kitevo=0 then hatvanyoz:=1; if kitevo=1 then hatvanyoz:=alap; if kitevo>1 then begin szam:=alap; for i:=1 to kitevo-1 do begin szam:=szam*alap; end; hatvanyoz:=szam; end; end;
function dec2bin(szam:real):string; var bintar : string; egesz : real; tizedes : real; begin bintar:=''; szam:=int(szam); repeat egesz:=int(szam/2); tizedes:=frac(szam/2); if tizedes>0 then begin bintar:=bintar+'1'; end else bintar:=bintar+'0'; szam:=egesz; until egesz<1; //bintar:=bintar+'1'; dec2bin:=forgat(bintar); end;
function bin2dec(szam:string):longint; var i : longint; szamolt : longint; begin szamolt:=0; for i:=0 to length(szam)-1 do begin if copy(szam, length(szam)-i, 1)='1' then szamolt:=szamolt+hatvanyoz(2,i); end; bin2dec:=szamolt; end;
begin clrscr; writeln('Kérek egy egész számot : '); readln(be); writeln(dec2bin(be)); writeln('Kérek egy bináris számot : '); readln(bin); writeln(bin2dec(bin)); end.
Magamtól nem megy, de ezt találtam, és mûködõképesre átírtam. Így lazarus alatt mûködik. Mit kell átalakítani ahhoz, hogy delphiben is mûködjön?
Azt hiszem ezt értem, holnap nekiállok majd. Elõször megpróbálom a fõprogamban, azt meg megcsinálni függvény ként.
Ami itt van, az tetszõlegesbõl tetszõlegesbe mûködik, viszont 10-esnél magasabbra nincs felkészítve (legalábbis ami programot én írtam). Ha csak 10-esbõl kettesbe kell, az tökegyszerû (megint csak másolgatok, nem én írtam):
"2.) 10esbol pedig tetszolegesbe ugy kell, hogy ciklikusan osztogatod a forrasszamot a szamrendszer alapjaul szolgalo szammal, es a maradek adja a kiirando karaktert.Minden egyes lepes utan a forrasszamot fel kell cserelni a forrasszam (1/szamrendszer alapja szam) szeresevel!"
Tehát minden számjegy értékét egy ord függvénnyel kell megnéznem, ez szorzódik a helyiértékével(pl 16^3), és utána ezt leosztani mondjuk 2-vel? Azt viszont nem tudom, hogy hogyan tudok számjegyrõl számjegyre menni.
Felveszed a számrendszer alapszámát (pl. nálad 9) (Pl. most "Alap"-ként jelölöm) Felveszed az 1-et. (pl. most "aktuális"-ként jelölöm) Felveszed a 0-t ("eredmény")
Veszed a legkisebb helyiértéken lévõ számot (legjobboldalibb számjegyet) ("szám")
Cikluskezdet: A "Szám"-ot valódi számmá alakítod. (A 48-as kód, az ugyebár 0, de pl. egy 16-os számrendszernél a 65-ös kód ugyebár "A", tehát 10-es.) A kapott számot megszorzod az "Aktuális" értékéve, az eredményt hozzáadod az "eredmény"-hez Az "aktuális"-t szorzod az "alap"-al. Veszed a jobbról következõ karakteres "számjegyet" -> Ez lesz az új "Szám" Visszamész a "cikluskezdet"-hez Ezt ismételgeted, amíg az összes számjegyen végig nem mentél.
Ezzel a bekért számod számolható formában van.
Most jön a másik számrendszerre váltás
Van a számod ("eredmény") Felveszed a számrendszer alapszámát ("alap") ez most nálad a 15.
Cikluskezdet: A számot ("eredmény") elosztod az "alap"-al. A maradékot átalakítod (0 érték -> 48-as kód, 10->A), és megjegyzed (tárolod) (jobbról ez lesz az 1., majd a következõ a 2. ... jegy). Az osztás eredménye lesz az "eredmény" Ha az eredmény nem nulla, akkor vossza a ciklus cikluskezdethoz."
Holnap tudok ebben segíteni, ha ismét a saját gépemnél leszek. Megmutatom hogy kell csinálni, ha nagyon nem megy, megkapod a teljes progit :D Csak írj még a topikba reggelig, hogy ne felejtsem el.
Sziasztok, segítség kéne a házimhoz. Pascalban kéne írnom egy programot, amivel számrendszerek között tudok átváltani, de gõzöm sincs, hogy hogyan csináljam meg. Neten sem nagyon találtam semmit, vagy amit találtam, azt nem tudom használni.
Mutatsz egy kódot?
Tudom, hogy ez nem Free Pascal fórum, de hátha tudtok seghíteni, mert olyan sehol nem találtam. Eredeti alapterv ilyen õsrégi ufó játékos korszakból jött, jobbról jönnek a ganék és ha veled egy oszlopba érnek game over némi nehezítés bele hogy ha egy sorban vagy velük és lenyomod a space-t akkor eltûnik jobb oldaról az "ufó"és még némi nehezítés bele (legalábbis a programíró részére) hogy véletlenszerûen dobálja jobbra az ufókatamik jelen esetben barna, sárga és egyéb színû karakterek lettek volna csak egy gondom van vele nem tudom megoldani hogy mindegyik karakter egyszerre mozogjon jobbról. Valaki tudna segíteni?
...mármint úgy értem: mindent megvalósítottak, amit a Turbo Pascal tud, sõt többet, és nagyon jó dokumentáció van hozzá
A FreePascal is jo egyebkent, mert most mar mindent implementaltak, amit a Pascal. Sajnos bug-os a fejlesztokornyezet, neha nem forditja le a programot, akkor ujra kell inditani.
Turbo Pascal 7. Keresd meg neten, ha nem találod, elküldöm. Felejtsd el a könyveket, teljesen feleslegesek, keress tutorialokat neten. A legfontosabb hogy gyakorolj, és tanulj meg algoritmikusan gondolkodni. Nyugodtan kérdezz itt amennyit akarsz, én mindig válaszolok, nagyon sokat programoztam pascalban.
Köszönöm, a prog-hu-s cikkek jók lesznek, plusz azóta én is keresgettem, és nagy nehezen találtam egy érthetõ e-könyvet... :) A fejlesztõi környezetet nem tudom még, melyiket használjam, bár a freepascal-org-ra gondoltam, "Free Pascal Compiler" néven. Még azt kérdezném, hogy ez jó-e, vagy sem, és ha nem, akkor melyik lenne a legmegfelelõbb WinXP-n :)
Sziasztok! Nem ismerem még se a Pascal-t, se a Turbo Pascal-t, most akarok elkezdeni programozni, és sokan ajánlották a Pascal-t mint kezdõ programozási nyelvet. (Késõbbiekben C és C++-al szeretnék foglalkozni) Azonban sehol nem találok a neten e-könyv formájában letölthetõ anyagot a Pascal nyelvrõl. Ebben szeretném segítségeteket kérni, egy könyvet, vagy forrást szeretnék kérni, amibõl a lehetõ legkönnyebben meg lehet tanulni a Pascal nyelvet. Elõre is köszönöm :-)
Nemtudjátok hogy lehet a Turbo Pascal minden funkcióját használni, fõleg a grafikus részt, 64 bites windows 7-esen, próbáltam a dosbox-ot de nem müködött.
jah igen a program itt egy 30 rekordból álló tömböt olvas be, a rekordok tartalmazzák az autók gyártási évét, összes futott km, és rendszámukat
A turbo pacalban egyes karakterek fontos jelentéssel rendelkeznek ezek:
; -sorokat zárunk le, fontos hogy a legtöbb sort lezárjuk, pl paraméterek és ciklusokat +,-,*,/ -ezek a mûveleti jelek az általános matematika elve alapján mûködtetik a programokat <,>,= -a válozók közti össze függését lehet meghatározni a programban a relációs jelekkel { } -ha valamiféle megjegyzést szeretnénk a programba fûzni, akkor kapcsos zárójelbe eszük, így azzal a program nem foglalkozik . -fontos jel a program végét jelzi : -változóknál alkalmazzuk meghtározásra, és a megjelenítésnél is lehet használni pl: write(változó:3:2) <-- ez azt jelenti hogy a tizedes vesszõ elött 3 számot majd a vesszõ után 2 számot jelenít meg := -változók érték adásához hazsnáljuk ( ) -kiíráshoz elkülönítéshez használjuk
Fontosab szavak a pacalban
begin, end -a program fõbb ciklusait, részeit beginnel kezdjük, majd az end szóval zárjuk, fontos hogy a end után ; álljon var -a variable azaz változó szó rövidítése, e után a szó után tudjuk megadni a változókat, és azok típusát uses crt -monitor használatot engedélyez clrscr -képernyõ törlés if -pontosan as "ha"-t jelenti cikluzst indítunk belõle else -máskülönben, az if fügyvény elágazását lehet irányítani for....to....do -ez egy számolást indít növekvõ sorrendben for....downto....do -az elõzõ ellentéte, tehát csökkenõ számolást hjt végre write -kiiratás a sorban ha a változót akaruk kiírni: pl: write(változó neve); ha szüveget akarunk, akkor azt ' közé kell írni pl: write('ezt a szöveget jelenítse meg'); ; -vel zárni kell writeln -ugyan azt csinálja mint az elõzõ, csak új sorba írja ki a kiírandó szöveget readln -gmbnyomásig megjelenítve tartja az adtokat readkey - két funciója van ezek: 1 gombnyomásig vár 2 (és ez a fontosabb!!!) kézi adat bevitel engedélyez, használata {legjobb emlékeim szerint ha nem jól tudom szólj} readln(változó neve); randomize -random adatokat ad meg, a program elején kell beírni, ;-vel zárni random -órajel szerinti ciklikusan változó adatokat ad meg a ciklusokban repeat....until -ismétel.... addig, ez a ciklust ismétli addig vagy teljesül, a feltétel, vagy nem :D inc - növeli a változó értékét, használata: inc(változó neve), asszem az ellentéte a dec, de nem fix :S procedure -alprogramot lehet képezni vele, könnyebb elkülönítés érdekében jó ha használja asz ember jobban átlátható lesz
változótípusok
elõször az egyszrûek: számok: byte - 0 <-> 255 integer - -32768 <-> +32768 longint - 4 byte-nyi hosszúságon képes számot megjeleníteni {az annyit tesz hogy 4*8=32 karakter tehát qrva sok } word - 0 <-> 65535 real - valós számok szöveg: char string boolean text
És az összetettek tömb egy dimenziós array[1..Elemszám] of adattípus több dimenziós array[1..sorokszama;1..oszlopokszáma] of adat típus rekordok megadása type azonosító=record {itt nincs pontos vesszõ} mezöneve1:adattípus; mezoneve2:adattípus; stb
Külsõ adatok behozatala elõször is kell egy text típusú változó {tváltozó} és egy szám változó {szváltozó} utána assign(tváltozó,'fájl'); - it az a lényeg hogy az f, változóhoz hozzá rendeli a filet, ha a program ugyan abban a mappában van mint a file akkor nincs baj, has másikbasn van, akkor meg kell addni az elérési utat reset(tváltozó); -ehhez nem took hhozzá fûzni kommenetet kell és kész readln(tváltozó,szváltozó); -ehez sem took mit hozzá fûzni kell és kész close(tváltozó) -beolvasás vége
nah és akkor egy kis példa program magyarázatokkal
program autokkkk; {program neve} uses crt; {monitor engedélyezés} type auto=record {a rekordok meghatározása} gyev:word; futkm:longint; rendszam:string[8]; end; var z:byte; {változók és a tömb megadása} kocsik:array[1..30] of auto;
procedure beolvas; { var i:byte; {ezzel a program részlettel begin kézzel adunk meg adatokat, clrscr; de ez nem kell nekünk most writeln('ird be a gyev , futkm, rendszamot! '); ez csak gyakorlás volt} for i:=1 to 10 do begin readln(kocsik.gyev); readln(kocsik.futkm); readln(kocsik.rendszam);
end;} {eddig} var i,N:byte; f:text; begin clrscr; Writeln('beolvasás fájlból'); {itt kezdõdik a fájlból történõ assign(f,'AUTO.TXT'); beolvasás} reset(f); readln(f,N); for i:=1 to N do begin readln(f,kocsik.gyev,kocsik.futkm,kocsik.rendszam); {ez adja meg az adatokat} delete(kocsik.rendszam,1,1); {mivel a txtbõl hoztuk az adatokat a rendszámból törölni kellett a szóközt} if i=15 then readln; writeln(kocsik.gyev:5,kocsik.futkm:8,kocsik.rendszam:8); end;
close(f); write(N); readln; end; {------------------------------------} procedure feladatkiir(szam:byte); {ez egy mellékes kis formalitás a begin megjelenítéshez} writeln('---- ',szam,'. feladat ----'); end; {------------------------------------} procedure legtobbkm; var i,maxos:byte; begin maxos:=1; for i:=2 to 30 do if kocsik.futkm>kocsik[maxos].futkm then maxos:=i;
writeln('a leg több km-t futott autó adatai: ',kocsik[maxos].gyev,' ',kocsik[maxos].futkm,' ',kocsik[maxos].rendszam); readln; end; {------------------------------------} procedure csokkeno; var i,j:byte; seged:auto; begin for i:=1 to 29 do begin for j:=i+1 to 30 do begin if kocsik.futkm<kocsik[j].futkm then begin seged:=kocsik[j]; Kocsik[j]:=kocsik; kocsik:=seged; end; end; end; for i:=1 to 30 do begin
writeln(kocsik.gyev:5,kocsik.futkm:8,kocsik.rendszam:8); if i mod 10=0 then readln; end; readln; end; {------------------------------------} procedure kettoszaz; var i:byte; begin i:=0; repeat inc(i); until kocsik.futkm>200000; writeln(i,'.kocsi a megfejtés, adatai: ',kocsik.gyev:5,kocsik.futkm:8,kocsik.rendszam:8);
end; {------------------------------------} procedure atlag; var i:byte; kor:integer;
begin kor:=0; for i:=1 to 30 do kor:=kor+(2010-kocsik.gyev); writeln(kor/30:8:3,' az autok atlag eletkora');
end; {------------------------------------} procedure osszeg60; var i:byte; km:longint; begin km:=0; for i:=1 to 30 do if (kocsik.gyev>1959) and (kocsik.gyev<1970) then km:=km+kocsik.futkm; writeln(km,' a 60-as ‚vekben gy rtottak ”sszes futottja');
end; {------------------------------------} procedure kisebb80; var i,j:byte; begin j:=0; for i:=1 to 30 do begin if kocsik.futkm<80000 then inc(j); end; writeln(j,' kocsi futott kevesebbet mint 80000km!!! XD :) :D XD');
end; {------------------------------------} {A-terv} procedure otvenelott; var i,j:byte; begin j:=0; for i:=1 to 30 do begin if (kocsik.futkm=50000) and (kocsik.gyev<1980) then inc(j); end; if j>=1 then writeln('van olyan tütü') else writeln('nincs olyan tütü');
end; {B-terv} procedure vane; var i,db:byte; tul:boolean; begin tul:=false; i:=0; repeat inc(i); if (kocsik.futkm=50000) and (kocsik.gyev<1980) then tul:=true; until (i<31) or (tul); if i=30 then writeln('van') else writeln('nincs');
Mivel most sem írtál semmi konkrétan, ezért feladom, így nem lehet segíteni. Mondom, a példalinkben ott van egy komplett program, amiben talán két sort kell kicserélni...
Azokat vágom,hogy Ciklus meg Változó! Csak ezt tanultuk utoljára ezt a fáljból való kiiratást ez nem megy:(
De mégis hol akadtál el? Nem írsz semmi konkrétat. Elolvastad amit linkeltem? Ott egy komplett példaprogram, gyakorlatilag csak a fájlnevet kell kicserélni benne........ mit nem értesz?
Egyáltalán mennyit értesz a pascalhoz, programozáshoz? Az alapok (ciklusok, változók) megvannak? Ha igen, ennek nem szabadna gondot okoznia. Nem akarok bunkó lenni, de ha ennyire nem megy akkor ne erõltesd az egészet.
Már ott elakadok beolvasás!Ezt kellene beolvasni txt fileból és kiíratni! Név Szept Okt Nov Dec Albert 3000 2800 2300 4100 Arany 3000 2900 3400 2900 Arva 3000 3800 2800 1700 Azsok 3000 3100 3300 2900
Ok!Köszi!Amit adtál jó !Thanks!
A lényeg ugyanaz, ha programozást tanulsz, akkor azzal fogsz továbbmenni, szóval semmi értelme "csalni". Itt egy jó kis leírás (gugli elsõ találat), ebbõl csak meg tudod csinálni.
Nem fakon vagyok ebbe a félévbe volt csak jó lenne ha nem ezen a szép Pascalon hasalnék el!!!
Ez a beugró a Tanárnál!Ezt ha nem alkotok valamit akkor...
Ha olyan fakon vagy ami programozás, akkor valószínûleg ezzel akarsz továbbmenni, szóval hidd el hogy semmi értelme átmenned úgy a tárgyon hogy nem tudsz megírni egy ilyen programot. Ha kötelezõ lenne, azt mondanám oké, hogy nem tudod magadtól megcsinálni, de így nem az.
Igen, értettem. Arra céloztam, hogy esetleg próbáld meg egyedül. Neten vannak tutorialok, állj neki, próbáld meg, és ha elakadsz, majd akkor segítünk, nem fogunk komplett házi feladatokat megírni, azt semmilyen fórumon nem tolerálják.
Helló! MOst kezdtem Pascalt tanulni és van egy nagy problémám...VAgyis nem olyan nagy csak sehogy sem boldogulok vele.
Az a helyzet, hogy nem tudfom használni a case of parancsot...
Azt írja ki, hogy Constant and CASE types don't match. Ezzel mit akar?
Szerintem a sima Turbo Pascal 7.0-át használd. Lehet, hogy FreePascal alatt nem mennek. Telepítsd fel a 7.0-ás Pascalt és azzal próbáld meg.
Én a mai gépeken szoktam használni a TP7-es fordítót. Ha más nem, próbáld úgy hogy megírod a kódot, pascalban csak compile, és aztán külön futtatod, nálam mûködik.
Sziasztok! Kábé tíz éve írtam egy rakás progit Pascal 7.0 nyelven. De a P4eseken ez már nem fut. A régi P2es meg ki tudja hol van már. FreePascal alatt hogyan kel futtatni? Lehet egyáltalán? Letöltöttem innenpatchokat de nem tudom mit kell velük csinálni, hogy újból fuussanek a régi progik.
Segítséget kérek! Gondolom, nem túl komplikált, ha valaki leírná mondjuk pontokba szedve. Köszönet!
"Van itt valaki? Egy kicsit kihalt a fórum XD " Van, de ez nem monológ, chat. Ez egy fórum. Ha segítséget akarsz, szedd össze a gondolataidat és kérdezz okosan.
Esetedben: mit szeretnél elérni, milyen forráskóddal próbálkoztál, milyen fordítóval (annak melyik verziójával), milyen operációs rendszeren, milyen hibaüzeneteket kaptál.