pascal DU

Programovacie jazyky, rady, poradňa...
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

Príspevok od používateľa caesar1987 »

tak tam daj real a uprav vytup

napr

(y:0:2)
daniel.daniel
Medium Star
Medium Star
Príspevky: 483
Registrovaný: 30 jan 2005, 16:39
Bydlisko: NO / BA

Príspevok od používateľa daniel.daniel »

kurnik tak to ma nenapadlo zajtra to vyskusam
lubo1310
Novice
Novice
Príspevky: 2
Registrovaný: 14 nov 2010, 11:09

Re: pascal DU

Príspevok od používateľa lubo1310 »

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.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: pascal DU

Príspevok od používateľa BX »

100 otázok a na každú 4 odpovede? V pascale? úúf :D

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.
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 :roll:

// A stačí, keď prísp. napíšeš do jednej, alebo svojej osobitnej témy, nemusíš ho písať 2x.
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: pascal DU

Príspevok od používateľa c-ice »

Pozrime sa na to trocha "objektovo":

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.";
  //...
  // ...
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
lubo1310
Novice
Novice
Príspevky: 2
Registrovaný: 14 nov 2010, 11:09

Re: pascal DU

Príspevok od používateľa lubo1310 »

dakujem to som chcel len ked mam:

var otazky: array[1..100] of Otazka;

program mi vypíse chybu: structure too large
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: pascal DU

Príspevok od používateľa c-ice »

hmm tak nejake obmedzenie pascalu predpokladam že to nezvlada jeho chapanie :D

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
Napísať odpoveď