IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @637
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Chcete darček pre svoje dieťa

Odpovedzte na otázky a vyhrajte! LEGO duplo 2 krát deňne do konca mesiaca www.duplo.lego.com

Spoločnosti Online s.r.o.

Ponúkame čisté spoločnosti. Obchodný register vybavíme za vás! www.spolecnostionline.cz

NIVEA proti celulitíde

Rad Q10 plus pre viditeľne pevnú a hladkú pokožku už za dva týždne. www.NIVEA.sk

Zhoď nadbytočné kilogramy

Rýchlo. Jednoducho. Trvalo. Za pomoci naturálnych produktov ! www.janinblog.com

Zaregistruj sa!

Tvoj názor stojí peniaze. Vyplňte dotazník a zarobte si! www.marketagent.com

Pascal , "Dotaznik"

Zaslať odpoveď
AutorSpráva
KoskO
Užívateľ
Užívateľ

Založený: 12.01.2012
Príspevky: 419
Bydlisko: Martin

PríspevokZaslal: Ne 12.02.12 18:35Odpovedať s citátomNávrat hore

Ahoj, ako ulohu som dostal spraviť dotazník alebo niečo na ten štýl a mal som použiť príkazy CASE a IF.
Spravil som niečo takéto no hádže mi to error, neviete v čom môže byť chyba?
kód:
program dotaznik;
uses crt;
label navrat;
var i:integer;
      odpoved,volba:char
begin
clrscr;
write('Vitajte v mojom dotazniku');
readln;
navrat:
writeln('čo by ste zmenili na našej škole');
writeln('a)nič, je to fajn');
writeln('b)pár maličkostí, ale inak nič');
writeln('c)Všetko, je to tu hrozne');
readln(odpoved);
CASE odpoved OF
'A','a' : begin
write('Otvor oči...');
readln;
goto navrat;
end;
'B','b': begin
write('robíš si srandu??' );
readln;
goto navrat;
end;
'C','c' : write('Super, môj človek');
ELSE begin
write('Nevies citat? Iba a/b/c');
readln;
goto skok;
end;
end;
readln;
clrscr;
write('Uspešne si to dokončil, chceš si to zopakovať? A/N');
IF (volba='a') OR (volba='A') then goto navrat else write('zbohom');
readln;
end.

dakujem

_________________
CPU:AMD Athlon 64 X2 4200+;2,5GHz;MB:MSI MS-7369; RAM:1GB GoodRam;VGA:AMD Radeon HD6570; PSU:Fortron FSP350-60APN; HDD:Samsung HD161HJ;Monitor:BenQ GL950AM
Zobraziť informácie o autoroviOdoslať súkromnú správu
F3RY
Napomenutý užívateľ
Napomenutý užívateľ

Založený: 23.12.2010
Príspevky: 522
Bydlisko: C:\Program Files\Poprad
Vek: 18

PríspevokZaslal: Ne 12.02.12 19:41Odpovedať s citátomNávrat hore

Rozumies tomu kodu? Neviem naco je tam to goto, zbytocne komplikovane. Vyuziva sa to pre udavanie pozicie kurzora. Zbezne som to pozrel a zda sa mi vsetko v poriadku az na 3 riadok od konca. Nenacitavas vstup.
V pascale ti ukazuje poziciu riadka v ktorom ma chybu.

_________________
HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia

Radšej budem nenávidený za to kto som, ako milovaný za to kto nie som ! - Kurt Cobain

Naposledy upravil F3RY dňa Ne 12.02.12 19:42, celkom upravené 1 krát.
Zobraziť informácie o autoroviOdoslať súkromnú správuSkype
nBXXL
Užívateľ
Užívateľ

Založený: 27.12.2008
Príspevky: 978
Bydlisko: Nové Zámky, Slovensko
Vek: 18

PríspevokZaslal: Ne 12.02.12 19:42Odpovedať s citátomNávrat hore

Niesom jasnovidec, a predpokladám, že žiadneho tu ani nenájdeš.. preto, keď chceš svoj kód ukazovať iným, a chceš aby sa v ňom vyznali, dodržiavaj nasledovné zásady:
1. odsádzaj kód, tak aby bolo jasné, čo patrí do ktorého bloku (bloky sú napr. begin-end, case-end, atď) napr. takto:
kód:
begin;
  writeln(blabla);
end;

kód:
case a of
  'A','a': begin
              writeln(blabla);
           end;
end;

2. nepoužívaj GOTO, je to prežitok z doby basicu a podobných jazykov, strašne to zneprehľadňuje kód, môže spôsobiť ťažko nájditeľné chyby.. náhradou GOTO sú funkcie a procedúry

A teraz k hľadaniu chýb: je dobré naučiť sa chyby si hľadať sám, pretože na chybách sa človek učí, a pokiaľ budeš čakať, kým ti tvoju chybu niekto nájde, tak strácaš drahocenný čas.. a pri väčších projektoch ti už nikto v tvojom kóde chyby hľadať nebude.. Tu je niekoľko tipov:

1. tvoj kompilátor/IDE ti vždy okrem chyby napíše aj jej znenie a jej umiestnenie, z toho by si mal byť schopný pochopiť o akú chybu sa jedná, pokiaľ to nedokážeš, tak aspoň keď žiadaš o pomoc, uveď tieto údaje, nech to ostatní nemajú ťažšie..
2. keď si hľadáš chybu, skús sa zamyslieť nad tým, že čo tvoj program robí, ja chápem, že je to ťažké, obzvlášť pokiaľ používaš veľakrát goto a case, ale v takomto malom programe je to ešte relatívne jednoduché.. mne napr. na prvý pohľad bije do očí riadok goto skok, vzhľadom na to, že žiadny label s menom skok nikde nemáš..

AD F3RY: goto nie je to isté, čo gotoxy, gotoxy sa používa na presun kurzora, goto sa používa na skok v rámci programu, je to stará praktika pochádzajúca s prehistorických jazykov ako basic a fortran, dnes sa to už nepoužíva a myslím, že ani nevyučuje..

a áno, je tam viac chýb, z ktorých jedna je tá, že premennú voľba nenačítava zo vstupu..

_________________
PC: MB: ASUS K8V SE Deluxe; CPU: AMD Athlon 64 2800+ 1.8GHz; GPU: Sapphire Radeon X1950GT AGP (500/600); RAM: Kingston 1GB DDR400 CL3 + A-Data 256MB DDR400 HDD: Western Digital 20 + 200GB; Monitor: LG 771E (17" CRT, stary ale dobry, aj ked trochu tmavy); PSU: Rexpower PZ-400W; OS: Windows 7 32-bit + ArchLinux 32-bit

NB: Asus K53SJ-SX093: i3-2310M + GT520M Optimus + 4GB RAM + Win7 64-bit + ArchLinux 64-bit
Zobraziť informácie o autoroviOdoslať súkromnú správuSkype
KoskO
Užívateľ
Užívateľ

Založený: 12.01.2012
Príspevky: 419
Bydlisko: Martin

PríspevokZaslal: Ne 12.02.12 19:50Odpovedať s citátomNávrat hore

ach ano, uz to mám, problém bol v tom skok. Tam som sa pomýlil.. A este k tomu goto, aká je teda adekvátna náhrada za príkaz goto?

_________________
CPU:AMD Athlon 64 X2 4200+;2,5GHz;MB:MSI MS-7369; RAM:1GB GoodRam;VGA:AMD Radeon HD6570; PSU:Fortron FSP350-60APN; HDD:Samsung HD161HJ;Monitor:BenQ GL950AM
Zobraziť informácie o autoroviOdoslať súkromnú správu
killer
Skúsený užívateľ
Skúsený užívateľ

Založený: 08.08.2009
Príspevky: 9897
Bydlisko: Martin

PríspevokZaslal: Ne 12.02.12 20:18Odpovedať s citátomNávrat hore

nBXXL napísal:
náhradou GOTO sú funkcie a procedúry


Funkcie a procedúry
samoštúdium...hodne zdaru

_________________
PCFórum Summer Session 2012
Formulár k predbežnej účasti nájdete v téme
Když neco rozeberem, tak leda buldozerem! \o/
Zobraziť informácie o autoroviOdoslať súkromnú správuJabberZobraziť autorove WWW stránky
F3RY
Napomenutý užívateľ
Napomenutý užívateľ

Založený: 23.12.2010
Príspevky: 522
Bydlisko: C:\Program Files\Poprad
Vek: 18

PríspevokZaslal: Ne 12.02.12 20:21Odpovedať s citátomNávrat hore

Aka nahrada? To goto tam pisat nemusis. Preto som sa ta pytal, ze ci vies ako to funguje. Mas tam vetvenie, cize ak sa podmienka splni, vypise text a program pokracuje dalej. Mas to zbytocne zdlhave a neprehladne. V case of uved iba podmienky. Usetris si begin/end, kedze za jednym prikazom to pisat nemusis a readln ti staci napisat raz po skonceni podmienky.


nBXXL napísal:

AD F3RY: goto nie je to isté, čo gotoxy, gotoxy sa používa na presun kurzora, goto sa používa na skok v rámci programu, je to stará praktika pochádzajúca s prehistorických jazykov ako basic a fortran, dnes sa to už nepoužíva a myslím, že ani nevyučuje..

Vdaka viem, ze to nieje gotoxy, ale na co sa to goto pouziva som nemal ani sajnu.

_________________
HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia

Radšej budem nenávidený za to kto som, ako milovaný za to kto nie som ! - Kurt Cobain
Zobraziť informácie o autoroviOdoslať súkromnú správuSkype
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd