Új hozzászólás Aktív témák
-
bedohazi
aktív tag
koszonom gyuri es vz 12.
A folder nevebol a szokozt kitorultem, de nem tuntek el meg sem az indulaskor elojovo szovegek, es a gafikus uzemmod sem megy. Ha jol emlekszek, akkor eddig a pascal abba a sorba jelzett hibat, ahol az eleresi utvonal volt megadva(teheat hogy nem talalja), most meg az Uses graph; sorba jelez hibat, azzal az uzenettel "Error 15": File not found (GRAPH.TPU)., tehat itt sem stimmel valami
Ha lenyitom az optionst, majd a Directories...-ra klikkelek, ott az Unit directories-sornal azt irja hogy c:\programs\tp7\bgi. s azert mert azt hiszem a sulibol hoztam el a pascalt es ott ez volt az utvonal. En ezt is javitottam D:\Turbopascal\tp7\units-ra de ugyse megy.
Ugancsak az options, Directories...-nal van egy olyan sor is hogy EXE & TPU directory. Ide is beirtam, hogy D:\Turbopascal\tp7\units, immar mindaket sor be van irva de Igyse megy.
A nagy es kisbetuk szamitanak-e valamit? Valakinek meg valami otlete? -
Gyuri16
senior tag
válasz
bedohazi #2397 üzenetére
elso problemaval meg nem talalkoztam, google ezt tanacsolja:
[link]
egy probat megera grafikara: annak a konyvtarnak a neve kell, ahol a *.bgi fajlok vannak (pl EGAVGA.BGI). ha ez nincs ott, nem fog mukodni. (biztonsag kedveert megprobalnam olyan konyvtarba tenni, ahol nincs szokoz az eleresi utban)
esetleg, ha meguntad a szivast a regi pascallal kiprobalhatod a freepascalt, gyorsan utananeztem, elvileg a grafikus dolgokat is ugyanugy tamogatja.
-
bedohazi
aktív tag
Helo!
Az a problemam lenne a turbo pascal 7-el kapcsolatban(nem tudom honnan toltottem, lehet sulibl hzotam haza), hogy amikor raklikkelek a desktopon levo ikonra(ami ugye a C: meghajton van, de maga a program a D:-n), akkor nyomban indul is az pascal de egy par tizedmasodpercig fekete hatteren ezt irja ki: Cannot load VDM IPX/SPX support, ez nagyon hamar eltunik, csak print scrennel tudtam lekapni h mit is ir, majd ezutan bejon a pascal szurke hattere kicsi fekete pontokkal, aval a kis "Error" cimu ablakocskaval amin azt irja hogy Invalid file name or exstension. Ez mind egy masodperc allatt torteni kb.
Ekkor az error ablakon klikkelek az okera, eltunik az ablak s mar mindent tudok csinalni, uj oldalt nyitani, change-direlni stb, csak zavarnak ezek a szovegek , mert suliban az ikonra klikkeles utan egybol a szurke hatter fogad s mar nyithatom is az uj oldalt. Miert lehet ez?
A masik dolog meg az, hogy megadom a pontos eleresi uatat a grafikus uzemmod hasznalatahoz, megis azt irja ki, hogy nem talalja. A pascalom helyez a gepen a kovetkezo:
D:\Turbo Pascal\tp7\ es a programba igy irtam be a megadasi sort:
inithgraph(gd,gm,'D:\Turbo Pascal\tp7\bgi'); es valamiert nem talalja meg. Annyi ptobaltam meg, hogy a D-n a Turbo Pascal Foldrbol a az egesz Tp7 foldert atmasoltam a C-re, de akkor amikor inditani akartam a C-rol meg a pascal se indult el, valami olyasmit irt ki, hogy a szovegbe benne volt "Turbo Pascal" szavak, marmint foldernak a neve.
Valaki tud magyarazatot mi lehet a baj?
suliban igy van: inithgraph(gd,gm,'C:\programsl\tp7\bgi'); es igy mukszik, s nalam csak a meghajto betujelenekes az utana kovetkezo foldernek van mas neve?? -
Chy
csendes tag
Köszönöm a segítséget, próbálkozom!!!
-
Gyuri16
senior tag
csinalsz egy boolean tombot, ami ugyanakkora mint a kutyas tombod. inicializalod true ra az egeszet. vegigmesz a kutyakon, es amelyik nem jut tovabb annak az indexet falsera allitod az uj tombben. kesobb amikor a pontokat szamolod csak azokat az indexeket nezed,amelyeknel true van a segedtombben.
-
Chy
csendes tag
Köszönöm szépen a segítséget!!!!
Még azon gondolkozom, hogy hogy tudom a programomban megoldani, hogy az a kutya, amelyik nem éri el a minimum szintet, kiessen???
az ötleted a 2. kérdésemre, az nagyon tetszett, sokat gondolkoztam rajta, de nem villant be az a logikai változós megoldás!
pedig csak festett szőke nő lennék...Húú, és még hátra van az egésznek a megvalósítása programban...
-
Gyuri16
senior tag
1. a versenyben csak azok a kutyat ernek el helyezest, amelyek minden kategoriaban elerik a minimalis ponthatart. tehat eloszor ki kell ejtened azokat, akik ez alatt vannak. az nincs leirva, hogy hogyan szamoljak az osszesitett pontokat, ezert feltetelezem, hogy csak ossze kell adni a kutya pontjait az osszes kategoriabol.
2. megtalaltad azt a kutyat, amelyiknek e legnagyobb az osszesitett pontszama. ezutan vegigmesz az osszes kategorian, es megnezed kinek van ott a legtobb pontja (ujabb maximum kereses a kategorian belul). ha valamelyik kategorian belul az osszesitett nyertese a legjobb akkor a programod NEM valasszal visszater. ha minden kategoriaban van nagyobb pontszamu kutya akkor pedig IGEN.
esetleg csinalhatod ugy is, hogy megjegyzed a nyertes kutya pontszamat az adott kategorian belul, es aztan vegigmesz az oszes versenyzon, es ha van nagyobb pontszamu akkor mesz a kovetkezo kategoriara -
Chy
csendes tag
Sziasztok!
Nem vagyok profi programozó, a beadandómhoz kérnék segítséget. A feladat a következő:Egy N résztvevőjű kutyaszépségversenyen M különböző szempont szerint pontoznak minden kutyát, s az eredményt a KUTYA(N,M) mátrix tartalmazza. Minden szempont alapján maximum MAX(I) pont adható (nem negatív egész szám). Az összetett versenyből automatikusan kiesik az a kutya, amely valamelyik kategóriában nem éri el a
kategóriánként megadott alsó ponthatárt (MIN(I)). Készíts Pascal programot, amely eldönti, van-e olyan kutya, amely abszolút győztes lett, de minden kategóriában van nála jobb!
1. kérdés:
Itt, ha a feladatot jól értelmezem, kutyánként szummáznom kell a pontszámokat, majd keresnem kell egy maxot. Vagy előtte még ki kellene ejtenem azokat, akik nem érték el a MIN(I)-t?
2. kérdés:
Ha max-kiválasztással megvan az abszolút győztes, akkor hogy nézem meg, hogy minden kategóriában van-e nála jobb???Köszönöm előre is, ha valakinek van ötlete!!!
-
Lorenz
csendes tag
válasz
Zoleee93 #2389 üzenetére
Szia,
Lehet, hogy kicsit későn válaszolok...
Nem nagyon értem a problémádat, ezért lehet, hogy nem kapsz egyenes választ.
Nekem is Win 7 Ultimate-em van, és ugyanúgy nem engedi használni az altgr+t-t... automatikusan kicsiben indul. Nekem csak DOSBox-szal futott, azzal próbáld meg, szerintem menni fog.Remélem segítettem!
Üdv,
Lorenz -
Zoleee93
csendes tag
Sziasztok! Van pascalos házim, és már ott elakadtam, hogy nem veszi az altgr+,-t és nem ír ;-t ... Itt látja pedig, de a pascal nem. magyaron van a billzet, területi/nyelvi beállítások szintúgy magyaron. De egyszerűen semmi. Mit tegyek? Win 7 ultimate
-
Gyuri16
senior tag
válasz
halesz89 #2386 üzenetére
a writeln kiirja a parametereket es uj sort kezd. ha a tobbi kiiratast is eltolva akarod akkor minden sort odebb kell tolnod. ezt csinalhatod ugy, hogy minden kiiratas ele teszel egy gotoxy-t, vagy hasznalod a window eljarast. ez annyit csinal, hogy atdefinialja az koordinatarendszer nullpontjat illetve a kepernyo nagysagat. parameterkent egy teglalapot kell neki megadni, es utana azon a teglalapon belul fogsz dolgozni (a teglalap bal felso pontja lesz az uj rendszer 1,1es pontja). miutan rajzoltal "kikapcsolni" ugy tudod, hogy meghivod az eljarast az eredeti felbontassal (azt nem art elmenteni a windmaxX es windmaxY valtozokbol az elso window hivas elott)
-
halesz89
csendes tag
Sziasztok tudom remélem tudtok segíteni elkezdtem tanulni a pascal nyelvet itt [link] és elakadtam az első feladatnál megírtam a programot, az ábra egy ház, a kirajzolása külön eljárásban van amit úgy hívok meg, de előtte ugye ott van a random gotoxy és az a baj hogy csak az első sorra veszi ezt, első csillag oda random helyre kerül de alatta marad az alaphelyen..Itt a program kódja amúgy free pascalt használok.:
program Kepernyovedo;
uses crt;
var c:char;procedure abra;
begin
writeln(' *');
writeln(' ***');
writeln('*****');
writeln('* *');
writeln('* *');
writeln('* *');
writeln('******');
end;begin
repeat
clrscr;
gotoxy(random(75)+1,random(24)+1);
abra;
delay(500);
clrscr;
until keypressed;
c:=readkey;
end. -
Gyuri16
senior tag
válasz
jagello #2376 üzenetére
elso:
var
a,b,e,tmp: integer;
begin
write('Add meg a kocka elhosszat: ');
readln(e);
write('Add meg a papirlap a oldalhosszat: ');
readln(a);
write('Add meg a papirlap b oldalhosszat: ');
readln(b);
if (a>b) then
begin
tmp:=a;
a:=b;
b:=tmp;
end;
if (a>=3*e) and (b>=4*e) then
writeln('Elkeszitheto')
else
writeln('Nem keszitheto el');
end.az elso resz a beolvasas. masodik elintezi, hogy az a valtozoban legyen a kisebb oldal a b-ben pedig a nagyobb. vegen osszehasonlitas.
masodik:
const
max = 15;
var
szamok: array [1..max] of integer;
c,i: integer;
begin
c:=0;
writeln('Add meg a(z) ',max,' szamot');
for i:=1 to max do
readln(szamok[i]);
for i:=2 to max-1 do
if (szamok[i]>szamok[i-1]) and (szamok[i]>szamok[i+1]) then
c:=c+1;
writeln('A lokalis maximumok szama: ',c);
end.ehhez a koritest megirtam privatban valaszkent a kerdesedre. remelem segit
-
Gyuri16
senior tag
válasz
borsodika #2382 üzenetére
azt kerdeztem, hogy milyen algoritmust tanultatok, hogy azzal mutassam meg ezt a peldat, de mindegy. megirtam a szerintem legegyszerubbet,
a kod:
uses crt;
const
max = 14;
var
nevek: array [1..max] of string;
i, j, m: integer;
tmp: string;
begin
clrscr;
for i:=1 to max do
begin
writeln('Add meg a kovetkezo nevet:');
readln(nevek[i]);
end;
for i:=1 to max do
begin
m:=i;
for j:=i to max do
if nevek[j]<nevek[m] then
m:=j;
tmp:=nevek[m];
nevek[m]:=nevek[i];
nevek[i]:=tmp;
end;
clrscr;
for i:=1 to max do
begin
writeln(nevek[i]);
if i mod 5 = 0 then
begin
readln;
clrscr;
end;
end;
end.az elso resz a beolvasas, azon nincs mit magyarazni.
a masodik maga a sorbarendezes. ez ugy mukodik, hogy megkeresi a tombben a legkisebb elemet, es ezt kicsereli az elsovel. ezutan ismet keresi a legkisebb elemet, de az elsot mar nem veszi figyelembe. ha megtalalta akkor kicsereli a masodik elemmel. igy megy tovabb. a tomb mindig ket reszre van osztva, egy ami mar sorba van rendezve (ez a tomb eleje) es ami meg nem. a kulso ciklus minden iteracioja noveli a sorbarendezett reszt egyel. itt olvashatsz errol bovebben: [link] vannak ott animalt kepek, azokat nezd meg, segit megerteni a mukodeset
az utolso resz a kiiratas. ez is egyszeru, csak azt kell figyelni, hogy ha az elem sorszama oszthato ottel, akkor varjunk egy enterre es toroljuk a kepernyot.
-
Gyuri16
senior tag
válasz
borsodika #2380 üzenetére
mint irtam az elso feladat megoldasa ugyanaz mint a masodike.
a harmadikhoz: be tudsz olvasni neveket egy tombbe? megnezted milyen sorbarendezesi algoritmusokat tanultatok? (van valamilyen fuzeted vagy konyved?)
tudok neked irni sorbarendezest sok felet, de ha tanultatok es ott van valahol leirva neked, akkor nincs ertelme (ezeket nem megirni nehez, hanem megerteni. hiaba irom le neked, ha te nem fogod tudni erettsegin megcsinalni). mivel sok ilyen algoritmus van, nem vagyok benne biztos melyiket tanultatok. probald meg megirni legalabb a beolvasas reszt, es nezz utana melyik sorbarendezest kellene tudnod. kesobb majd segitek megirni (nekem is tanulnom kell, de este majd ranezek). -
borsodika
őstag
válasz
Gyuri16 #2378 üzenetére
A szultánosnak kezdtem most neki, megtaláltam hozzá a javítási útmutatót de még így is felfoghatatlan számomra. Ez 1 2006-os emelt szintű érettségi feladat:
Értékelési útmutató:
a) Változó deklarálás (vektor[1..400]:logikai) .................................... 2 pont
b) Inicializálás...................................................................................... 2 pont
c) Külső ciklus ..................................................................................... 2 pont
d) Belső ciklus ..................................................................................... 2 pont
e) Ellenőrzés – kiíratás ........................................................................ 2 pont -
-
jagello
csendes tag
sziasztok lenne egy nagy bajom év vége előtt állok és van 2db program amihez lövésem sincs hogy kezdjek tudnátok segíteni nekem?KÉRLEK köszönöm
2. feladat
Készítsen programot, amely beolvassa egy kocka e él hosszát, valamint egy papírlap a és b
oldalhosszait, majd meghatározza, hogy a kocka elkészíthető-e az a*b méretű téglalap alakú
papírból! Ha a kocka elkészíthető, a program jelenítse meg az „ELKÉSZÍTHETŐ”, ha nem,
akkor a „NEM KÉSZÍTHETŐ EL” szöveget a képernyőn! A két szöveg közül természetesen
csak az egyiket szabad megjeleníteni!
Definíció: Egy kockát egy téglalap alakú papírból elkészíthetőnek nevezünk, ha a papír
rövidebb oldala legalább 3*e, a hosszabb oldala pedig legalább 4*e hosszúságú.3. feladat
Készítsen programot, amely egy méréssorozat eredményeiként adódó –1000 és 1000 közé eső
számokat tárol egy tömbben (15 darabot, melyeket a billentyűzeten keresztül ad meg a
felhasználó), majd meghatározza és képernyőre írja, hogy hány lokális csúcs volt a
méréssorozatban! Egy elemet lokális csúcsnak nevezünk, ha nagyobb a közvetlenül előtte és
közvetlenül mögötte álló elemnél. Az első és az utolsó elem nem lehet lokális csúcs, mivel
nincs őket megelőző, ill. követő elem. -
Gyuri16
senior tag
válasz
borsodika #2374 üzenetére
ebben tobb hiba is van, ugy nez ki nem vagy tisztaban a pascal szintaxisaval. tomboket [] zarojelekkel indexeljuk, for ciklust egeszet ki kell irni, nem csak a valtozot.. itt van nagyjabol kijavitva kommentekkel, nem futtattam, szoval lehet meg benne hiba, de egy fokkal jobb
Program kodolas;
uses crt;
const
n=400; {konstans definialasa}
var
i,j:integer;
b: array[1..n] of boolean; {b egy tomb}
Begin
for i:=1 to n do { ide nem kell pontosvesszo es a for-t oda kell irni }
b[i]=false; {tombot kockas zarojellel indexelsz}
{ Writeln b(i)
End;
Begin ez a harom sor nem kell }
for i:=1 to n do {ismet for es pontosvesszo}
begin {ide kell begin, hosszabb ciklusmag kovetkezik}
j:=0;
while j+i<=n do {while ciklus kell}
begin
j:=j+i;
b[i]:=not b[j]; {szinten tomb + negalasra not valo }
end;
End;
for i:=1 to n do { for ciklus}
Begin
if b[i] then {tomb [] }
writeln(i:4); {kiiratas}
End;
End.most, hogy jobban megneztem ezt a feladatot latom, hogy ez a kettes megoldasa..
-
borsodika
őstag
válasz
Gyuri16 #2373 üzenetére
Az első valamennyire megvan de sajnos a write-okat nem tudom hol helyezzem el és még tuti más hiba is lesz, előre is köszönöm a segítséget
Program kodolas;
uses crt;
var b,i,j:integer;
Begin
i:=1 to n do;
b(i)=false;
Writeln b(i)
End;
Begin
i:=1 to n do;
j:=0;
j+i<=n
j:=j+i
b(i):=(b(j))
End;
Begin
i:=1 to n do;
if b(i) then KI(i:4)
End;
End. -
Gyuri16
senior tag
válasz
borsodika #2370 üzenetére
az elso feladatban kell irnod egy eljarast kiiratasra, semmi mast nem kell csinalnia, mint a parameterkent kapott erteket kiirni a kepernyore. write pont ezt csinalja, neked csak kore kell raknod egy masik eljarast.
masodik:
inicializalsz egy 400 elemu boolean tombot false-ra. ez azt jelenti, hogy mind a 400 ajto zarva van. ezutan ket beagyazott ciklusra van szukseged. a kulso 1-tol 400-ig megy (ez a valtozo legyen i). azt szamolja, hogy milyen kulonbseggel kell az ajtokat nyitni/csukni.
a belso ciklusvaltozo i-tol kezdodik (ez legyen j), es minden iteracioval i-vel novekszik ameddig el nem eri a 400-at. a ciklus magja a j-edik ajtot nyitja/csukjaharmadik:
beolvasod a neveket a tombbe. sorba kell oket rendezni, erre sok algoritmus van, nem tudom melyiket tanultatok, de szerintem ha van valamilyen fuzeted, vagy konyved akkor benne van. pascalban a stringeket ossze lehet hasonlitani ugyan ugy mint a szamokat (=, >, < operatorokkal). tehat fogod a sorbarendezo algoritmust, es stringekre hasznalod. itt van ket egyszeru algoritmus leirasa: [link] [link]
ha a sorbarendezes megvan, akkor mar csak ki kell iratni, minden otodik sort ugy talalod meg, hogy a sor szama oszthato ottel (mod operator) -
borsodika
őstag
Sziasztok!
Most lesz 1 záró vizsgám tp-ből és van 3 feladat amit nem tudok megcsinálni. Valaki tudna ebbe segíteni? Nagyon hálás lennék érteA feladatok ezek lennének:
1.Feladat:Kódolja az alábbiakban megadott algoritmust Pascal !
Ki(x:y) eljárás X szöveges, ill. szám kifejezés értékét írja ki a szabványos kimenetre
(általában a képernyőre) az aktuális karakterpozíciótól! Az aktuális karakterpozíció a
legutoljára kiírt érték mögötti hely. A :y arra vonatkozik, hogy egy-egy érték kiíratása hány
karakteren történjen.
A Nem(L) az L logikai érték tagadása. Amennyiben az alkalmazott nyelv nem rendelkezik
Logikai típussal, használjon helyette egész típusú változót, ahol 0-Hamis, 1-Igaz!
A ’:=’ művelet (legyen egyenlő) az értékadás, ahol a bal oldali változó felveszi a jobb
oldalon lévő kifejezés értékét.Konstans
n=400
Változók:
b:VEKTOR(1..n):Logikai
i,j:Egész Szám
Program eleje
Ciklus i:=1 től n-ig 1-esével
b(i):=Hamis
Ciklus Vége
Ciklus i:=1 től n-ig 1-esével
j:=0
Ciklus amíg j+i<=n
j:=j+i
b(j):=Nem(b(j))
Ciklus Vége
Ciklus Vége
Ciklus i:=1 től n-ig 1-esével
Ha b(i) akkor KI(i:4)
Ciklus Vége
Program Vége2.Feladat
Török szultán
A Török szultán születésnapján gyönyörű ajándékot kapott. Annyira megörült, hogy rögtön
valami jót akart cselekedni. Leküldte hát 400 fős szolgaseregének első szolgáját a börtönbe.
Meghagyta neki, hogy mind a 400 cella ajtaját nyissa ki. Lett is nagy riadalom. A börtönőrök
rettegtek. Ha szabadon engedik a rabokat, és őfelsége kedve változik, fejüket veszi. Leült hát
négyszáz őr a négyszáz nyitott cella elé. Teljesítették is a szultán parancsát, de a rabokat sem
engedték szabadon. Igazuk lett. A szultán megharagudott, mert a következő ajándék nem
tetszett. Leküldte a második szolgát. Azt parancsolta, minden második ajtót zárjon be.
Kisvártatva meggondolta magát, és leküldte a harmadik szolgát, hogy minden harmadik ajtót
nyissa ki, ha zárva van, és zárja be, ha nyitva van. Majd leküldte a negyedik szolgát, hogy
minden negyedik ajtón változtasson. Aztán az ötödiket, hatodikat… és így tovább egészen
addig, míg az utolsó, a 400. szolgának azt parancsolta: Menj le és a 400. cellát nyisd ki, ha
zárva van, De ha nyitva lenne, akkor zárd be. Így is lett. Azzal a szultán nyújtózott egyet, és
lefeküdt aludni.
A börtönparancsnok tudta, aznap már több parancs nem jön, és a szultán soha nem vonja
vissza azokat a parancsait, amit előző nap adott. Szabadon engedte hát azokat, akiknek a
cellája nyitva volt. Kiket is?
Az ön által ismert programnyelven készítsen programot mely, szimulálja a fenti
eseményeket, és végül megadja mely cellák ajtaja lesz nyitva a végén!3.
Készítsen programot az alábbi feladat megoldására!
Adott egy névsor egy 14 elemű vektorban. Kérje be a neveket, majd írassa ki a
képernyőre ABC sorrendben, külön-külön sorba, úgy, hogy minden 5. név után várakozik
egy gombnyomásra! Ezután tiszta képernyőn listázza a következő sorozatot. Minden név
elé írjon egy listázási sorszámot! -
bedohazi
aktív tag
ezaz..
koszi, kiprobaltam és megy, megmentettel ..
-
Gyuri16
senior tag
válasz
bedohazi #2367 üzenetére
meg tudsz nyitni egy fajlt, es irni bele valamit? write amivel kiirod a szamokat, writeln pedig uj sort csinal
mellekatlo ha jol sejtem az ami a bal also sarokbol a jobb felsobe megy?
a te ciklusod feleslegesen vegigmegy az egesz matrixon, igy efektivebb, es talan egyszerubb is:max:=a[1,4];
for i:=2 to 4 do
if max < a[i,4-i+1] then max:=a[i,4-i+1];amugy a tied jol nez ki, viszont a maxot nem a[1,1]el kellene inicializalni, hisz az a bal felso elem, hanem a[1,4]el.
-
bedohazi
aktív tag
Igy ertem ahogy leirtad, de meg mostsem tudom hogyan kell megirjam hogy kezdjen uj sort....
Es ahhoz hogy a mellakatlon a legnagyobbbat megkeresse a kovetkezot irtam:
max:=a[1,1];
for i:=1 to 4
for j:=1 to 4 do if(i=n+1-j) and(a[i,j]>max) then max:=a[i,j];
Ezzzel nem a legnagyobb elemet irja aki a mellekatlobol hanem csak azt az elemet amelyik a jobb felso sarokba van. Viszont ha a do utan a feltetelt kijavitom ....do if(i=j) (tehat a foatlon keresse a legnagyobbat), akkor mukodik. Itt mi lehet a baj.? Ha a max kezdoertekenek a[1,1]-et adok akkor a legelso erteket, s ha a[2,1]-et akkor az egyel alatta levo erteket irja ki maxnak, tehat hogy adjam a kezdoerteket a maxnak hogy rendesen keresse meg a legnagyobb elemet? -
Gyuri16
senior tag
válasz
bedohazi #2365 üzenetére
egesz programot helyetted nem fogjuk megirni. ha mar nagyjabol megvan minden, akkor miert kered, hogy az osszes feladatot csinaljuk meg?
a kiiratashoz:
csinalsz egy for ciklust 1-tol 16-ig, es kiirod a szamokat sorban, ha a ciklusvaltozod oszthato 4-gyel, akkor uj sort kezdesz. egyszeru -
bedohazi
aktív tag
Sziasztok
Segitsegk kellene a kovetkexo programmal kapcsolatba. Nem ez az elso programom, de megis elakadtam. Nagyjabol megvan minden de pl nem tudom hogy kell egy allomanyba ugy beirni 16 szamot hogy az 4 sorba legyen(1sor-4szam). Halas lennek ha valaki leirni teljesen, mukodokepesen mind a negy prgramot(4-alpont-4 kulon progrm akell legyen).
Ime tehat a feladat:a.) Irj progit, amely beolvas 16 db. 100-nal kiseeb szamot es letrehozza az adat.in-allomanyt.
Ennek 4 sora tartalmazza a 16 szamot(1sor-4szam).
b.) Irj programot, amely megadja az adat.in-allomanyban levo matrix mellekatlojanak
legnagyobb elemet.
c.) Irj pgorit, amely meghatarozza az adat.in-allomanyban levo szuperprimszamok szamat
(tehat hogy hany db. van belole). (Szuperprimszam=olyan primszam amely legalabb
ketjegyu, es a szam foditottja is primszam).
Ez lenne a feladat, erlek segitsetek -
-
Marked
tag
válasz
Gyuri16 #2362 üzenetére
Kössz. Sokat segítettél, sikerült megcsinálnom, viszont a program, amit leírtál, nemigen működött. Ha az első elemet kérem le, kiadja, hogy 200, ha a másikat, akkor 300. Minden más elem az előző két elem négyzetösszegének a gyöke. Teszteltem, működik. Íme a programkód lényeges része:
FUNCTION Sorozat(X: Longint): Real;
Begin
If X>2 then Sorozat:= SQRT(( sorozat(X-1) * sorozat(X-1) ) + ( sorozat(X-2) * sorozat(X-2) ))
else begin
if X=2 then Sorozat:=300
else Sorozat:=200
end;
End;BEGIN
ClrScr;
WriteLn(Sorozat(3));
ReadKey;
END. -
Gyuri16
senior tag
ilyen egyszeru fuggveny szamolasnal celszeru felirni matikusan mit is akarsz. legyen f(n) a fuggveny, ami visszaadja a sorozat n-edik elemet. formalisan valahogy igy nez ki:
f(1) = 200
f(2) = 300
f(n) = f(n-2)^2 + f(n-1)^2 <- ha n>2a pascalos fuggveny ami ezt szamolja nagyjabol igy fog kinezni:
megnezi hogy n<=2 ha igen akkor tudod az eredmenyt (200/300), ha nem akkor rekurzivan meghivod ugyanazt a fuggvenyt kisebb parameterekkel (n-2, n-1) es az eredmenyt behelyettesited a kepletbe. mivel minden egyes hivasnal kisebbek lesznek a parameterek ezert veges idoben megkapod a valaszt.pascalban ez konkretan igy nezne ki:
function f(n: integer):integer;
begin
if (n = 1) then
Result:=200;
if (n = 2) then
Result:=300;
if (n>2) then
Result:=Sqr(f(n-2)) + Sqr(f(n-1));
end;(nem futtattam le, szoval nezd at, remelem legalabb szintaktikailag eltalaltam)
na most, hogy ez miert is mukodik. amikor eler a program a keplethez ahol az n-edik elemet szamolja, akkor szuksege van a ket kisebb elemre a sorozatbol. mivel tudja, hogy a fuggveny ezt a sorozatot szamolja meghivja a kivant parameterekkel. leirom az f(4) hogyan fut le:
f(4) = f(2)^2 + f(3)^2
meghivodik az f(2)
f(2) = 300;
visszater az f(2) most az f(4) ben vagyunk a + jelnel
meghivodik az f(3)
f(3) = f(1)^2 + f(2)^2
meghivodik az f(1)
f(1) = 200
visszater az f(1), f(3) ban vagyunk a + jelnel
meghivodik az f(2)
f(2) = 300
visszater az f(2), f(3) ban vagyunk, a keplet vegen, megvan az eredmeny
visszater az f(3), f(4)ben vagyunk, megvan az eredmeny
vegeremelem nem zavartalak meg jobban ossze
annyit meg hozzatennek, hogy erre a feladatra nem ez a legefektivebb megoldas, mivel ahogy latod a peldaban az f(2) tobbszor is meg van hivva, pedig eleg lenne egyszer, akar egy egyszeru ciklussal szamolni az elemeket elsotol felfele (mindig az utolso kettot kell megjegyezni)
-
Marked
tag
Én még új vagyok a "szakmában", most tanuljuk suliban a pascalt. Egyenlőre csak egy valamit nem értek, mégpedig a rekurzív programokat. Pl. a feladat a következő: egy sorozat, melynek első tagja 200, második 300, fixen. Minden más tag az előző két tag négyzetösszege. Hálás lennék, ha valaki el tudná magyarázni köznyelven és/vagy leírni pascalban is.
Ennyit tudok: bármely tagot is akarjuk kiszámítani, mindig vissza kell vezetnie az első 2re, ami megvan adva. Nem tömb, mert végtelen elemű sorozat. A főprogramban kell meghívi, pl:FUNCTION Sorozat(X: Integer):Integer;
IF ????????????????BEGIN
Sorozat(5); <- a sorozat 5-ödik elemét szeretném megtudni
END.Előre is kössz.
-
kozmi55
tag
Melyik függvénnyel lehet pascalban megkapni egy szöget(fokokban), ha ismerjük a szög cosinusát?
-
Balákka
tag
válasz
Csakénvagyok #2358 üzenetére
kizárólag pascalban lehetett (házi volt a suliban)
de sikerült nagynehezen megoldani.
bevallom a filekezelés nem az erősségem -
Csakénvagyok
őstag
válasz
Balákka #2357 üzenetére
Nem tudom mennyire volt hasznos így szövegesen leírva, de régen kódoltam már, Pascalban meg mégrégebben és nem volt kedvem utánajárni a sintax után.
Én így csináltam volna ha mindenképp pascalban kellene megoldani. De ott van a delphi is, rátolsz egy SQL adatbázist, ott az insert meg a delete egy sor és direkt adtabázissal dolgozol, nem kel külön generálni textből.
-
Balákka
tag
köszi
-
Csakénvagyok
őstag
válasz
Balákka #2355 üzenetére
Kihozhatod az egész filet a RAMba. , de minek. Read/Write-ra megnyitod, első karaktertől kezdve eggyenként beolvasod, ha eggyezik hozod a következét és a másodikkal összehasonlítod, ha nem az elsővel. Ha vége az összehasonlítgatásnak (elfogytak a szó karakterei és TAB következik) megvan a szó. Ha nem ez egy másik szó, és fojtatod a keresést a legutóbbi beolvasott karaktertől. Ha megvan a szó a következő karaktertől kezdve lépteted visszafele a karaktereket a keresett szó+1 karakterrel, addig míg csak elérsz az EOF karakterig.
-
Balákka
tag
válasz
Csakénvagyok #2354 üzenetére
de ahhoz kellene egy tömb amiben letárolom az összes rekordot nem?
-
Balákka
tag
segítségre lenne szükségem!
egy szótárprogramot kell készítenem amiben lehet keresni eszperantó szót, lehet keresni kifejezést, hozzáadni uj szót illetve törölni már meglévő kifejezést.
a problémát csak a törlés jelent nekem
hogyan lehetne törölni?
van egy txt fájlom amibe soronként van kifejezés tabulátorral elválasztva
pl: mano [chr(9)] kéz
és van egy dat fájl amit ebből a szöveges állománybol generáltam
ha tud valaki szivesen veszem ha ad ötletet -
Balákka
tag
nekem a harmadik feladatra a megoldásom:
_____________________________________________________________________
program harmas;
uses crt;
var a,b:integer;
function hatv(alap:integer;kitevo:integer):longint;
begin
hatv:=1;
for cv:=1 to kitevo do begin
hatv:=hatv*alap;
end;
end;
begin
clrscr;
writeln('kérem az alapot');
readln(a);
writeln('kérem a kitevőt');
readln(b);
writeln(hatv(a,b));
readln;
end.
______________________________________________________________________én free pascalban fordítottam a programot, lehet eltérés turbo pascalban ha hiba van szolj és megpróbálok segíteni
-
klambi
addikt
ebben kellene segíteni, ha tudtok?!
[link] -
jolti05
őstag
válasz
Gyuri16 #2348 üzenetére
Középsuli, egy éves okj képzés, sosem tanultam semmilyen programnyelvet.
Guglit használtam először, mielőtt írtam ide, a 2. link alatt található feladatok közül meg is csináltam az első -azt hiszem- ötöt, utána már nem igazán mentEszem valamit, aztán elgondolkodom kicsit a kapott feladaton
Viszont kötelességem szólni, nekem nem osztottak logikát
-
Gyuri16
senior tag
válasz
jolti05 #2347 üzenetére
[link]
pl rogton az elso: [link]
leginkabb ilyen beker egy szamot/stringet es csinal vele valami egyszerut tipusu feladatok, megoldasok is vannak
masodik talalat egy bme-s oldal, ott is vannak egyszeruk, megoldas sajna nincs (ha valami konkrettal kell segitseg ird ide, aztan valamit osszedobunk)nem irtad milyen iskola, ha kozep akkor az elso szerintem eleg lehet.
egy klasszikus pelda csak neked (bar nem hiszem ilyen tipusu lesz dolin..): legyen ket egesz szamu valtozod, csereld meg a tartalmukat ugy, hogy ne hasznalj fel segedvaltozot (tehat elejen a=5 b=6 csinalsz valamit es ilyen lesz: a=6 b=5) -
jolti05
őstag
Sziasztok.
Egy egyszerű kérdésem lenne. Hol találhatok egyszerű feladatokat neten, abszolúte kezdőknek? Holnap írunk Pascal-ból, de szerintem nem elég, ha átolvasom a füzetem, mert egy darab feladat sincs benne
Köszi! -
apoo
csendes tag
Nagyon nagy szívességet szeretnék kérni! Aki meg tudja nekem oldani ezt a feladatot annak nagyon megköszönném!
Nagyon sokat bajlódtam vele, és nem tudom hogy álljak neki. Pascalban kellene megoldani egy feladatot: Egy N résztvevőjű kutya -szépségversenyen M különbözö szempont szerint pontoznak minden kutyát. Az eredményeket a KUTYA(N,M) mátrix tartalmazza. Minden szempont alapján maximum MAX(I) pontot adhatnak (a pontszámok nem negativ egész számok lehetnek, 1<=I<=M). A versenyből automatikusan kiesik az a kutya amelyik valamely kategoriában nem éri el az also ponthatárt ( ALSO(I), 1<=I<=M )
Döntsük el van-e olyan kutya, amelyik valamelyik szempont szerint tökéletes!
PLEASE, valaki segítsen!!
-
tomy_cz
senior tag
Sziasztok!
Egy kis segítségre lenne szükségem, kiindulási pontra, hogy lehetne megcsinálni azt hogy adott egy pénzösszeg és kerekíteni a bolti számlázás szerint.
Lehet egyszerű, de kezdő vagyok és örülnék ha lenne valakinek ötlete.Üdv.
-
Gyuri16
senior tag
lancolt listara leiras (nem olvastam de jol nez ki):
[link]
i/o errort most hirtelen nem tudom hogyan kell kezelni, de legegyszerubb az lesz, ha charokat (vagy stringet) olvasol be, es megnezed hogy szam e, ha igen akkor atalakitod szamra, ha nem akkor kiirsz valami hibat. -
dany27
őstag
válasz
Gyuri16 #2341 üzenetére
oks
akkor szentem a láncolt listat fogom választani.
Kössz a segítséget!
Csak ezt még nem igazából értem mivel ilyent még nem használtam.
Azt hogy tudom elérni h a progi ne lépjen ki ha szerencsétlen júzer mondjuk betűt ír a szám helyet?? Valami beviteli maszk kéne ha tud ilyesmit a pascal. -
Gyuri16
senior tag
turbo pascalban ha jol emlekszem nincsenek dinamikus tombok. freepascalban talan es delphiben biztos vannak. ugy mukodik ahogy irtad, deklaralsz egy tombot a:array of bytes aztan setlength parancsal valtoztathatod a hosszat. jo tudni viszont, hogy ez nem egy tul efektiv dolog (mondjuk linkedlisthez viszonyitva), mert amit a setlenght csinal az az, hogy letrehoz egy teljesen uj tombot (lefoglalja neki a helyet) es a regibol atmasol annyit bele amennyi belefer. tehat nem a tombot nagyobbitja meg, hanem letrehoz egy ujat es oda atmasolja a regit
neked kell eldonteni mit hasznalsz konkret feladat fugvenyeben, lancolt listat, dinamikus tombot (ami valoszinuleg turbo pascalban nem megy), vagy Fire/SOUL/CD megoldasat (getmem/freemem) -
cucka
addikt
Ezt a láncolt lista nevű adatszerkezettel tudod megcsinálni (angolul linked list).
Kb. arról van szó, hogy létrehozol egy struktúrát, aminek egyik része maga az adat, a másik része pedig egy mutató a következő elemre. A programban csak egy mutatót kell előre létrehozni, ami a lista első elemére mutat, ebből indulva be tudod járni az egész listádat. -
dany27
őstag
válasz
Fire/SOUL/CD #2337 üzenetére
és ezzel megtudom azt csinálni ha mondjuk a júzer csak X darab integert akar bevinni akkor csak x hely foglalódik le?
Mert pont ez a cél h mindíg csak annyi foglalódjon le amennyi épp kell! -
Hali!
Turbo Pascalban van lehetőség un. általános pointer létrehozására, így:
p:pointerEbben az esetben nincs a pointernek típusa, ez miatt azonban a NEW nem használható, helyette a getmem ill. freemem fügvényeket alkalmazzák.
pl egyszerűen ha 2k adatot akarsz lefoglalni(aztán felszabadítani), akkor így csináld
getmem(p, 2048)
freemem(p, 2048)ha 2048 darab integer számára akarsz létrehozni tömböt dinamikusan, akkor meg így
getmem(p, 2048*sizeof(integer))
freemem(p, 2048*sizeof(integer))ha 2048 saját típusú tömböt(record) akarsz létrehozni
getmem(p, 2048*sizeof(MY_NOT_PASCAL_RECORD))
freemem(p, 2048*sizeof(MY_NOT_PASCAL_RECORD))
(ebben az esetben nem a típusosan deklarált record-ot értem, hisz akkor felesleges lenne nem típusos pointert létrehozni, hanem arra hogy van 50 elemű tömb egy példánya, és a programozó tudja, hogy az első 10 elem a vezetéknév, a második 10 elem a keresztnév, a többi meg a lakcím pl)Azt, hogy hány elemű tömböt ill. milyen adatokat tartalmazó tömböt hozol létre az a program dolga(meg a programozóé
(tehát nem kell deklarálni)
Fire.
UI: persze, hogy van-e elég memória a foglaláshoz, azt elötte illik ellenőrizni illetve lekezelni a hibát. A getmem hibával leáll ha nincs elég memória a foglaláshoz...
-
dany27
őstag
hi
egy olyan kérdésem lenne hogy hogy tudok létrehozni dinamikus tömböt??
magát a deklarálását azt tudok csak azt nem hogy hogyn tudom azt megcsinálni hogy menet közbe határozom meg hogy mekkora legyen.
Jó persze én sem vagyok hülye úgy gondolom hogy még mielőtt dolgoznék vele kiderülne hogy mekkora kell.
pl.: a:array[1..n] of byte;
de ez csak úgy müxik ha az n-t konstansként deklarálom.Hogy tudom ezt megcsinálni akkor??
-
Csucsy1991
csendes tag
válasz
Fire/SOUL/CD #2332 üzenetére
Koszonom szepen
-
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.
-
Csucsy1991
csendes tag
válasz
Fire/SOUL/CD #2330 üzenetére
ha tudsz akk legyszi irj nekem egy programot, amely beolassa majd kiirja egy sor elemit es dinamikus valtozokat hasznal.
-
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.
-
Csucsy1991
csendes tag
válasz
Fire/SOUL/CD #2328 üzenetére
A sor hasonlit a veremhez,csak ott lifo van vagyis last in fisrt out, a sornal pedig fist in first out. igy irja a tankonyvben. Akkor tudnal legyszives segiteni? Egy olyan feladat kene, amihez a sort kene hasznalni dinamikus valtozokkal,barmilyen egyszeru lehet, nem szamit, lenyeg,hogy legyen...legyszives, ha tudssz akkor irj nekem egy programot, ilyen sorost, kerlek.
-
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.
-
Csucsy1991
csendes tag
válasz
Fire/SOUL/CD #2326 üzenetére
Tudom, h erthetetlen, mert mergemben probaltam irni...igen, matek-info szakon vagyok, es turbo pascalban dolgozunk. nem tudom, hogy mit jelent az,hogy prive, de begepelem a sor meghatarozasat,hatha megerted. A sor szo hallatan a bevasarlaskor idonkent kialakulo varakozasi sor jut eszunkbe, ahol a sor elejen allo vasarlot szolgaljak ki elsonek, az utoljara erkezett vasarlo pedig a sor vegere all. A sor tipusu adatszerkezet mukodesi elve hasonlo: uj elmet csak a sor vegere lehet helyezni, es csak a sor elejen levo elemet lehet kiemelni( Fist In First Out). Programozasi szempontbol a sor statikus abrazolasat szinten tomb segiotsegevel valosithatjuk meg. Ket alapveto muvelettel talakozunk: uj elem elhelyezese a sorba, es a sor elejen levo elem kiemelese. A muveletek elvegzese erdekeben szukseges az elso es az utolso elem helyzenek( elsoelem,utolsoelem) es annak megorzese, hogy hany elem fer el a sorbe(max).
Uj elem helyzese a sorbe:if utolsoelem=max then
writeln('tulcsordulas')
else begin inc(utolsoelem)l
s(utolsoelem):ujelem
end;
A sor elejen levo elem kiemelese:is elsoelem=utolsoelem+1 then
writeln('alulcsordulas')
else begin
elem:=s(elsoelem);
inc(elsoelem)
end;remelem,hogy ih\gy majd mergerted. ha tudsz akk legyszi irj igy egy feladatot, nagyon surgos lenne.
-
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
-
Csucsy1991
csendes tag
Sziasztok! Lenne egy nagy keresem. Ha valaki lenne kedves segiteni akkor nagyon halas lennek. Vna egy hazink infobol, azt kene valaki, akit udja megcsinalni, mert nekem nem megy, de meg nagyobb baj, hogy az a hazi, hogz talaljunk ki egy soros feladatot dinamikus valtozokkal(pascalban) es oldjuk meg. ez a sor, egy tomb, olyan mint egy tomb, ol. a tan ugy magyarzat, hogy olyan,mint a boltban a sor, aki elsore bement, az fog elsore tavozni, s aki utoljara ment be az fog utoljara elmenni. ha valaki tudna segiteni(akar egy peldat is elkuldok mail0ben h megertse) az legyszi irtjon itt vagy az e-mail cimem-re:bardoczandrea@yahoo.com. NAGYON SURGOS LENNE!!!![B][/B]
-
Korcsii
őstag
válasz
Fire/SOUL/CD #2323 üzenetére
nagyon köszönöm, működik
-
válasz
Korcsii #2321 üzenetére
Hali!
Igen, én DOSBOX-ot használok, Vista x64 alatt is kifogástalanul működik.
Innen letöltheted: [DOSBOX 0.72 - Win32 Installer]Fire.
-
Korcsii
őstag
vista 64 bit alatt valahogy működésre lehet bírni a jó öreg pascal barátunkat?
-
Fregor
csendes tag
Hogyan kezdjem?Meg van a 7.0 könyvem és a gyakorló könyvem. Átolvastam és szeretnék vele tovább lépni de megakadtam!az alapelveket értem,használni úgy tudom ,ha van egy problémám és megkeresem reá a választ!A 3d-s problémámra csak egy példaprogramot találtam de az sajnos csak vonalakat fest, majd törli.képekkel nem értem hogy kell csinálni?
-
Fregor
csendes tag
Sziasztok!
nagyon új vagyok a tp tanulásában, ezért érdeklődöm, hogy milyen lehetőségei, korlátai vannak?!
1024*768 as felbontásban tudok írni, tudok 16 színes bitképeket beleírni.
Szeretnék viszont több színű képeet beilleszteni!
hogy tudok 3d-re írni? -
PazsitZ
addikt
válasz
-=Sziszi=- #2308 üzenetére
Prímszám keresésnél elég a szám gyökéig vizsgálni az osztóit, ha addig nem talál akkor prím.
Legközelebb használd a kód gombot, hogy olvashatóbb legyen a kódod.
-
-=Sziszi=-
aktív tag
Hali Mindenkinek
Nagyon érdekelt mindig is a programozás, így hát belefogtam most hogy van sok időmRégen tanítottak valamit középsoliban, de az lfasz se volt.
Önbizalommal telve vágtam bele, hogy először egy kis pascal, hogy megismerjem az alapokat és utána megyek tovább.(Cél C++).
Jelezném tudom, hogy olyan keveset tudok, hogy az semmi, de hát igyekszem.
Ennek tudatába nézzétek ezt a progit amit teljesen magamtól írtam.
Prím számokat keres. Egyenlőre csak egy ciklusmag féle, majd ki akarom bővíteni, hogy elegánsabban nézzen ki, meg hogy meg lehessen határozni a tartományt amiben keres stb.
Íme az alkotásprogram primszam;
uses crt;
var a,b,maradek:longint;
enter:string;
valasz:boolean;
begin
repeat
begin
clrscr;
writeln('Prˇmsz mok keres‚se');
write('Keres‚s indˇt sa(ENTER)');
readln(enter);
valasz:=enter='';
end;
until valasz;
for a:=2 to 32000000 do
begin
b:=1;
begin
begin
repeat
b:=b+1;
if b<=a then
begin
maradek:=a mod b;
end;
until maradek=0;
end;
if a<>b then
else
writeln('Prim sz m:',a);
end;
end;
readln;
end.Biztos hogy lehet egyszerűbben, de még a moduláris programozásnál sem tartok a témában. Remélem jól számol a progi. Ha van valami észrevételetek, hogyan lehetne egyszerűbb, elegánsabb szívesen fogadom.
Üdv Szisz
-
banan01
csendes tag
Sziasztok! Én is most kezdem a TP-t. Első kis programocskám a következő lenne: Kérdés, rá 4 válaszlehetőség. Ha a jó válasz betűjelét írom kapok pontot, ha a rossz jelét, akkor nem. Viszont nem sikerül megoldanom. Vagy mindig kapok pontot, bármit is írok, vagy sohasem. Fogalmam sincs mi lehet a hiba. Minden segítséget előre is köszönök!
-
No-kia
addikt
válasz
Fire/SOUL/CD #2304 üzenetére
igen az elsőt tudom , régebben már tanultam programozni csak gondoltam felelevenítem a tudást, a másodikkal megoldódott, köszönom
-
Hali!
Két dologra tudok gondolni. Az egyik, hogy helytelen karaktereket használsz a fájlnévben, itt még a régi DOS-os szabályokat célszerű követni, azaz angol ABC betűi ill. max 8 karakter a fájlnév és 3 karakter a kiterjesztéshez.
A másik, hogy az OPTION/DIRECTORIES/EXE & TPU DIRECTORY nincs beállítva, vagy olyan helyre mutat, amit nem tud megnyitni (pl nem létezik olyan könyvtár stb)
Fire.
-
No-kia
addikt
folyton azt írja ki ha disk-re rakom hogy invalid fájlnév
-
No-kia
addikt
helo! én most kezdtem el ismerkedni a pascallal és az lene a kérdésem hogy hogy tudok exe fájlt csinálni a pas ból?
Új hozzászólás Aktív témák
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Apple iPhone 11 Pro 64GB, Kártyafüggetlen, 1 Év Garanciával
- AZONNALI SZÁLLÍTÁSSAL Eladó Windows 8 / 8.1 Pro
- KIÁRUSÍTÁS - HP Elite / ZBook Thunderbolt 3 docking station (akár 2x4K felbontás)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest