tak tam daj real a uprav vytup
napr
(y:0:2)
pascal DU
-
caesar1987
Addict
- Príspevky: 3001
- Registrovaný: 02 okt 2005, 0:57
- Bydlisko: Nové Zámky
- Kontaktovať používateľa:
-
daniel.daniel
Medium Star
- Príspevky: 483
- Registrovaný: 30 jan 2005, 16:39
- Bydlisko: NO / BA
Re: pascal DU
Ahojte mohol by mi niekto poradit? Mam spravit test v pascle. budem mat 100 otazok ku kazdej 4 odpovede a nieviem ako to mam dat do tych konštánt (const, array, alebo record)? Mohol by mi to niekto načrtnúť ako to mam zapísať? Ďakujem.
Re: pascal DU
100 otázok a na každú 4 odpovede? V pascale? úúf 
Osobne by som to možno skúšal tak, že otázky do poľa stringov, a správne odpovede do poľa znakov. Teda napr:
A potom v cykle od 1 do sto vypísal všetky zaradom a kontroloval, že ak sa stlačená odpoveď na otázku i rovná odpoved, tak je správna, inak nie.
Aj keď neviem, či som napísal to čo chceš, lebo takáto úloha sa mi zdá hlúpa
// A stačí, keď prísp. napíšeš do jednej, alebo svojej osobitnej témy, nemusíš ho písať 2x.
Osobne by som to možno skúšal tak, že otázky do poľa stringov, a správne odpovede do poľa znakov. Teda napr:
Kód: Vybrať všetko
var otazka : array[1..100] of string;
odpoved : array[1..100] of char;
begin
otazka[1] := "Otazka 1, moznosti:";
otazka[2] := "Otazka 2, moznosti:";
.
.
otazka[100] := "Otazka 100, moznosti:";
odpoved[1] := 'a';
odpoved[2] := 'c';
.
.
odpoved[100] := 'b';
end.
Aj keď neviem, či som napísal to čo chceš, lebo takáto úloha sa mi zdá hlúpa
// A stačí, keď prísp. napíšeš do jednej, alebo svojej osobitnej témy, nemusíš ho písať 2x.
Re: pascal DU
Pozrime sa na to trocha "objektovo":
Vyhodou je ze teraz mozes Random generovat Testy a cele to bude viac konzistentne ...
+ okrem random vygenerovanych otazok mozes este random poprehadzovať odpovede a vzdy budes vediet ktora je spravna
// pascal si nepamatam pouzil som na syntax http://www.learn-programming.za.net/pro ... arn07.html
Kód: Vybrať všetko
//....
Type
Odpoved = Record
isSpravna: Boolean;
text: String;
end;
Type
Otazka = Record
odpovede: array[1..4] of Odpoved;
text: String;
end;
var otazky: array[1..100] of Otazka;
yourChoice: char;
begin
//inicializovat otazky
otazky[0].text := "Je programovanie super ?";
otazky[0].odpovede[0].text := "Ano suhlasim.";
otazky[0].odpovede[0].isSpravna := true;
otazky[0].odpovede[1].text := "Trocha ale neviem to.";
//...
// ...+ okrem random vygenerovanych otazok mozes este random poprehadzovať odpovede a vzdy budes vediet ktora je spravna
// pascal si nepamatam pouzil som na syntax http://www.learn-programming.za.net/pro ... arn07.html
Re: pascal DU
dakujem to som chcel len ked mam:
var otazky: array[1..100] of Otazka;
program mi vypíse chybu: structure too large
var otazky: array[1..100] of Otazka;
program mi vypíse chybu: structure too large
Re: pascal DU
hmm tak nejake obmedzenie pascalu predpokladam že to nezvlada jeho chapanie
mozes Otazka.odpovede zmenit z typu Odpoved na typ Integer a tam budes mat iba ulozene ktora odpoved z pola odpovede(var odpovede: array[1..x00] of Odpoved;) ktomu prislucha ale to už nema táký efekt alebo v linku ktory som tam pastol chod uplne dole a na kapitolu Pointers netušim čo tam je ale skusil by som to cez pointer v Cčku spravit ...
edit: ešte ma napadlo že sa mu možno nepáči ten string neviem ako to ma riešene mozno keby nahradiš za pole Charov by to išlo
edit2: asi to bude tym stringom lebo hranica je "69700 bytes" pre data strucure a ked tam ma byt 100* (sizeOf(string) + 4*(sizeOf(string) + sizeOf(Boolean))) tak to asi presiahne toto číslo
mozes Otazka.odpovede zmenit z typu Odpoved na typ Integer a tam budes mat iba ulozene ktora odpoved z pola odpovede(var odpovede: array[1..x00] of Odpoved;) ktomu prislucha ale to už nema táký efekt alebo v linku ktory som tam pastol chod uplne dole a na kapitolu Pointers netušim čo tam je ale skusil by som to cez pointer v Cčku spravit ...
edit: ešte ma napadlo že sa mu možno nepáči ten string neviem ako to ma riešene mozno keby nahradiš za pole Charov by to išlo
edit2: asi to bude tym stringom lebo hranica je "69700 bytes" pre data strucure a ked tam ma byt 100* (sizeOf(string) + 4*(sizeOf(string) + sizeOf(Boolean))) tak to asi presiahne toto číslo