Re: [Pascal] Losowanie pytań
: 20 lip 2012, 12:09
Ale w ogóle próbowałeś usunąć goto czy po prostu stwierdziłeś, że się nie da?
twoja wizja przyszłości...
https://techvortal.pl/
Nie pisz programów z myślą o "na razie", jeżeli wiesz, że będziesz go rozbudowywał. Bo może się okazać, że zamiast rozbudowywać będziesz pisał od zeraMediator14 pisze:Przynajmniej na razie)
Zrobiłem w nim już zliczanie punktów, dodałem 70 pytań które są generowane losowo podobnie jak miejsca (x,y) również są generowane losowo. Mam trzy typy pytań (Warianty a, b, c i d. Pytanie na które trzeba odpowiedzieć liczbą oraz pytanie na które odpowiada się słowem lub zdaniem* (*Znacie jakiś inny sposób żeby zrobić tak jak jak zrobiłem, chodzi o to żeby program przy sprawdzaniu pytania nie brał pod uwagę wielkości liter i ich umieszczenia najlepiej też (czyli jak ktoś naciśnie spację przez przypadek i w pisze dobrą odpowiedź to mu nie wywali że źle)). No na dobry początek wystarczy 70 pytań słucham sugestii co do mojego programu (Nie co do goto), głównie chodzi mi o wcześniej przez mnie wspomniany problem z odpowiedziami typu łańcuchowego (Tekstowego). Jak komuś się chce to może posprawdzać czy odpowiedzi na pytania są dobre, bo układałem je na szybko, niektóre z głowy, a niektóre kopiuj\wklej z neta.techvortal.pl pisze: Wiadomość ma 22535 znaków. Maksymalna dopuszczalna liczba znaków to 20000.
Kod: Zaznacz cały
Program Gra;
Uses crt, dos;
Label Menu, Poczatek, Start, Koniec;
Type
Pytanie_liczba = record
Question : string;
Answer : real;
End;
Type
Pytanie_znak = record
Question, a, b, c, d : string;
Answer : char;
End;
Type
Pytanie_znaki = record
Question : string;
Odp1, Odp2, Odp3, Odp4, Odp5, Odp6, Odp7 : string;
End;
Var
q : array [1..31] of Pytanie_znak;
a : array [1..23] of Pytanie_znaki;
p : array [1..16] of Pytanie_liczba;
wybor, x, y : Byte;
punkty, xlos, ylos : Integer;
klawisz : Char;
Procedure Obramowanie;
Var a, b : Byte;
Begin
For b:=3 to 20 do
Begin
a:= 2;
gotoxy (a,b);
Writeln (chr(186));
End;
For b:= 3 to 20 do
Begin
a:= 25;
gotoxy (a,b);
Writeln (chr(186));
End;
For a:= 3 to 25 do
Begin
b:= 2;
gotoxy (a,b);
Writeln (chr(205));
End;
For a:= 3 to 25 do
Begin
b:= 20;
gotoxy (a,b);
Writeln (chr(205));
End;
Gotoxy(2,2);
Writeln (chr(201));
Gotoxy(2,20);
Writeln (chr(200));
Gotoxy(25,2);
Writeln (chr(187));
Gotoxy(25,20);
Writeln (chr(188));
End;
Function Pytaj_liczba(p : Pytanie_liczba): Boolean;
Var Odp : Real;
Begin
Clrscr;
Writeln (p.question);
Readln (Odp);
If Odp = p.answer Then
Pytaj_liczba := True
Else
Pytaj_liczba := False;
End;
Function Pytaj_znak(q : Pytanie_znak): Boolean;
Var Odp : char;
Begin
Clrscr;
Writeln (q.question);
Writeln (q.a);
Writeln (q.b);
Writeln (q.c);
Writeln (q.d);
Readln (Odp);
If Odp = q.answer Then
Pytaj_znak := True
Else
Pytaj_znak := False;
End;
Function Pytaj_znaki(a : Pytanie_znaki): Boolean;
Var Odp : String;
Begin
Clrscr;
Writeln (a.question);
Readln (Odp);
If ((Odp = a.odp1) or (Odp = a.odp2) or (Odp = a.odp3) or (Odp = a.odp4)or (Odp = a.odp5) or (Odp = a.odp6) or (Odp = a.odp7)) Then
Pytaj_znaki := True
Else
Pytaj_znaki := False;
End;
Function Odp_Dobra(x, y : Byte): Integer;
Begin
Clrscr;
Obramowanie;
Inc (Punkty);
Writeln ('Dobrze, jedziesz dalej!');
Writeln ('Aktualny stan punkt',chr(162),'w: ',punkty);
Gotoxy (x,y);
Writeln (chr(254));
Odp_Dobra := punkty;
End;
Function Odp_Zla(x, y : Byte): Integer;
Begin
Clrscr;
Obramowanie;
Dec (Punkty);
Writeln (chr(141),'le, wracasz na pocz',chr(165),'tek!');
Writeln ('Aktualny stan punkt',chr(162),'w: ',punkty);
Odp_Zla:= punkty;
End;
BEGIN
Punkty := 0;
Randomize;
Cursoroff;
Menu:
Writeln ('Witaj !');
Writeln;
Writeln ('1. Nowa gra');
Writeln ('2. Samouczek');
Writeln ('3. Ustawienia');
Writeln ('4. Wyj',chr(152),'cie');
Readln (wybor);
clrscr;
Case wybor of
1:
Begin
Obramowanie;
Poczatek:
x:= 3;
y:= 3;
Gotoxy (x,y);
Writeln (chr(254));
Start:
klawisz:= readkey;
Case Klawisz of
'a': dec(x);
's': inc(y);
'w': dec(y);
'd': inc(x);
End;
If (x > 24) Then x:= 24;
If (y > 19) Then y:= 19;
If (x < 3) Then x:= 3;
If (y < 3) Then y:= 3;
If (x = 24) and (y = 19) Then Goto Koniec;
Clrscr;
Gotoxy (x,y);
Writeln (chr(254));
Obramowanie;
p[1].question := Concat('Ile bajt',chr(162),'w jest wykorzystywane do kodowania jednego znaku w ASCII?');
p[1].answer := 1;
p[2].question := Concat('Ile bajt',chr(162),'w jest wykorzystywane do kodowania jednego znaku w Unicode?');
p[2].answer := 2;
p[3].question := Concat('Ile r',chr(162),'',chr(190),'nych znak',chr(162),'w jest zakodowanych w podstawowym zbiorze ASCII?');
p[3].answer := 128;
p[4].question := Concat('Ile r',chr(162),'',chr(190),'nych znak',chr(162),'w jest zakodowanych w rozszerzonym zbiorze ASCII?');
p[4].answer := 255;
p[5].question := Concat('W kt',chr(162),'rym roku William B. Shockley wynalaz',chr(136),' tranzystor?');
p[5].answer := 1947;
p[6].question := Concat('Jak',chr(165),' pojemno',chr(152),'',chr(134),' ma dyskietka 5.25 cala (Podw',chr(162),'jnej g',chr(169),'stosci)? Warto',chr(152),'',chr(134),' do podania w KB.');
p[6].answer := 360;
p[7].question := Concat('Jak',chr(165),' pojemno',chr(152),'',chr(134),' ma dyskietka 5.25 cala (Poczw',chr(162),'rnej g',chr(169),'stosci)? Warto',chr(152),'',chr(134),' do podania w MB.');
p[7].answer := 1.2;
p[8].question := Concat('Jak',chr(165),' pojemno',chr(152),'',chr(134),' ma dyskietka 3.5 cala (Podw',chr(162),'jnej g',chr(169),'stosci)? Warto',chr(152),'',chr(134),' do podania w KB.');
p[8].answer := 720;
p[9].question := Concat('Jak',chr(165),' pojemno',chr(152),'',chr(134),' ma dyskietka 3.5 cala (Wysokiej g',chr(169),'stosci)? Warto',chr(152),'',chr(134),' do podania w MB.');
p[9].answer := 1.44;
p[10].question := Concat('Numer wersji j',chr(165),'dra systemu Windows XP (32-Bit) to:');
p[10].answer := 5.1;
p[11].question := Concat('Numer wersji j',chr(165),'dra systemu Windows XP (64-Bit) to:');
p[11].answer := 5.2;
p[12].question := Concat('Numer wersji j',chr(165),'dra systemu Windows 7 to:');
p[12].answer := 6.1;
p[13].question := Concat('Numer wersji j',chr(165),'dra systemu Windows 2000 to:');
p[13].answer := 5.0;
p[14].question := Concat('Z ilu znak',chr(162),'w ska',chr(136),'ada si',chr(169),' CD-Key dla Windows XP?');
p[14].answer := 25;
p[15].question := Concat('Jak',chr(165),' umown',chr(165),' pojemno',chr(152),'',chr(134),' ma p',chr(136),'yta DVD-R DL? Warto',chr(152),'',chr(134),' do podania w GB.');
p[15].answer := 8.5;
p[16].question := Concat('W kt',chr(162),'rym roku firma Microsoft wyda',chr(136),'a pierwszy system operacyjny z rodziny Windows?');
p[16].answer := 1985;
a[1].question := Concat('S',chr(136),'u',chr(190),'y do zamiany sygna',chr(136),'',chr(162),'w analogowych na sygna',chr(136),'y cyfrowe:');
a[1].odp1 := 'Koder';
a[1].odp2 := 'koder';
a[2].question := Concat('Najwa',chr(190),'niejszym urz',chr(165),'dzeniem wej',chr(152),'cia jest:');
a[2].odp1 := 'Klawiatura';
a[2].odp2 := 'klawiatura';
a[3].question := Concat('Najwa',chr(190),'niejszym urz',chr(165),'dzeniem wyj',chr(152),'cia jest:');
a[3].odp1 := 'Monitor';
a[3].odp2 := 'monitor';
a[4].question := Concat('Jaki uk',chr(136),'ad arytmetyczny jest odpowiedzialny za realizacj',chr(169),' operacji odejmowania?');
a[4].odp1 := 'Subtraktor';
a[4].odp2 := 'subtraktor';
a[5].question := Concat('Kt',chr(162),'ra biblioteka w Pascalu, jest bibliotek',chr(165),' nie wymagaj',chr(165),'c',chr(165),' deklaracji?');
a[5].odp1 := 'System';
a[5].odp2 := 'system';
a[6].question := 'Nazwa kodowa systemu Microsoft Windows 95 to: ';
a[6].odp1 := 'Chicago';
a[6].odp2 := 'chicago';
a[7].question := 'Nazwa kodowa systemu Microsoft Windows 98 to: ';
a[7].odp1 := 'Memphis';
a[7].odp2 := 'memphis';
a[8].question := 'Nazwa kodowa systemu Microsoft Windows Vista to: ';
a[8].odp1 := 'Longhorn';
a[8].odp2 := 'longhorn';
a[9].question := 'Nazwa kodowa systemu Microsoft Windows XP to: ';
a[9].odp1 := 'Whistler';
a[9].odp2 := 'whistler';
a[10].question := 'Nazwa kodowa systemu Microsoft Windows 7 to: ';
a[10].odp1 := 'Vinnea';
a[10].odp2 := 'vinnea';
a[11].question := Concat('Przeno',chr(152),'ne dyski twarde zazwyczaj pod',chr(136),'',chr(165),'czamy pod z',chr(136),'',chr(165),'cze:');
a[11].odp1 := 'USB';
a[11].odp2 := 'Usb';
a[11].odp3 := 'usb';
a[11].odp4 := 'Universal Serial Bus';
a[12].question := Concat('Grupa 4 lub 8 po',chr(136),'',chr(165),'czonych ze sob',chr(165),' prze',chr(190),'utnik',chr(162),'w tworzy:');
a[12].odp1 := 'Rejestr';
a[12].odp2 := 'rejestr';
a[13].question := Concat('Jakim kolorem zaznaczone s',chr(165),' wej',chr(152),'cia USB3.0 na p',chr(136),'ycie g',chr(136),'',chr(162),'wnej?');
a[13].odp1 := 'Niebieskim';
a[13].odp2 := 'niebieskim';
a[13].odp3 := 'Niebieski';
a[13].odp4 := 'niebieski';
a[14].question := Concat('Kt',chr(162),'ra firma skonstruowa',chr(136),'a mikrokomputer Macintosh?');
a[14].odp1 := 'Apple';
a[14].odp2 := 'apple';
a[15].question := Concat('Kt',chr(162),'ra firma skonstruowa',chr(136),'a mikrokomputer PC?');
a[15].odp1 := 'IBM';
a[15].odp2 := 'ibm';
a[15].odp3 := 'International Business Machines Corporation';
a[15].odp4 := 'International Business Machines';
a[16].question := Concat('Jak nazywa si',chr(169),' podstawowa jednostka zapisu informacji w komputerze?');
a[16].odp1 := 'Bit';
a[16].odp2 := 'bit';
a[17].question := Concat('Poj',chr(169),'cie software dotyczy:');
a[17].odp1 := 'Oprogramowania';
a[17].odp2 := 'oprogramowania';
a[18].question := Concat('Poj',chr(169),'cie hardware dotyczy:');
a[18].odp1 := Concat('Sprz',chr(169),'tu');
a[18].odp2 := Concat('sprz',chr(169),'tu');
a[18].odp3 := Concat('Sprzetu');
a[18].odp4 := Concat('sprzetu');
a[19].question := Concat('Pierwszym systemem operacyjnym z rodziny Windows oferuj',chr(165),'cym, wielozadaniowo',chr(152),'',chr(134),' z wyw',chr(136),'aszczeniem by',chr(136),':');
a[19].odp1 := 'Windows 95';
a[19].odp2 := 'windows 95';
a[19].odp3 := 'Windows95';
a[19].odp4 := 'windows95';
a[19].odp5 := 'win95';
a[19].odp6 := 'Win95';
a[19].odp7 := '95';
a[20].question := Concat('Kt',chr(162),'ra firma produkuje CPU z technologi',chr(165),' Sandy Brige E?');
a[20].odp1 := 'Intel';
a[20].odp2 := 'intel';
a[21].question := Concat('Pod jakie z',chr(136),'',chr(165),'cze (DE-15F) pod',chr(136),'',chr(165),'cza si',chr(169),' standardowe monitory typu CRT?');
a[21].odp1 := 'VGA';
a[21].odp2 := 'SVGA';
a[21].odp3 := 'XGA';
a[21].odp4 := 'vga';
a[21].odp5 := 'svga';
a[21].odp6 := 'xga';
a[22].question := Concat('Kt',chr(162),'ra firma wyprodukowa',chr(136),'a pierwszy mikroprocesor?');
a[22].odp1 := 'Intel';
a[22].odp2 := 'intel';
a[23].question := Concat('Pocz',chr(165),'tek etykiety w MS-DOS oznaczamy symbolem: ');
a[23].odp1 := ':';
q[1].question := 'Symbol graficzny instrukcji warunkowej posiada: ';
q[1].a := Concat('A. Tylko wej',chr(152),'cie.');
q[1].b := Concat('B. Tylko wyj',chr(152),'cie');
q[1].c := Concat('C. Jedno wej',chr(152),'cie i jedno wyj',chr(152),'cie');
q[1].d := Concat('D. Jedno wej',chr(152),'cie i dwa wyj',chr(152),'cia');
q[1].answer := 'd';
q[2].question := Concat('Kt',chr(162),'ra z ni',chr(190),'ej wymienionych firm opracowa',chr(136),'a technologi',chr(169),' LightScrible dla p',chr(136),'yt kompaktowych?');
q[2].a := 'A. HP';
q[2].b := 'B. Dell';
q[2].c := 'C. Acer';
q[2].d := 'D. Asus';
q[2].answer := 'a';
q[3].question := Concat('Najstarsz',chr(165),' przegl',chr(165),'dark',chr(165),' internetow',chr(165),' z wymienionych poni',chr(190),'ej jest?');
q[3].a := 'A. Internet Explorer';
q[3].b := 'B. Mozilla Firefox';
q[3].c := 'C. Google Chrome';
q[3].d := 'D. Opera Broswer';
q[3].answer := 'd';
q[4].question := Concat('',chr(157),'',chr(165),'czenie polece',chr(228),' w MS-DOS inaczej nazywamy:');
q[4].a := Concat('A. Tworzeniem potok',chr(162),'w');
q[4].b := 'B. Tworzeniem strumieni';
q[4].c := 'C. Tworzeniem rzek';
q[4].d := Concat('D. Tworzeniem kanał',chr(162),'w');
q[4].answer := 'a';
q[5].question := Concat('Po czym mo',chr(190),'na pozna',chr(134),' ikon',chr(169),' skr',chr(162),'tu w systemie Windows?');
q[5].a := Concat('A. Po ma',chr(136),'ej strza',chr(136),'ce w lewym dolnym rogu ikony');
q[5].b := Concat('B. Po rozmiarze odpowiadaj',chr(165),'cym za wielko',chr(152),'',chr(134),' pliku docelowego');
q[5].c := 'C. Po zmienionej nazwie pliku';
q[5].d := 'D. Po pomniejszonej ikonie pliku lub folderu';
q[5].answer := 'a';
q[6].question := 'Netykieta to:';
q[6].a := Concat('A. Zbi',chr(162),'r zasad obowi',chr(165),'zuj',chr(165),'cych na serwerach lokalnych');
q[6].b := Concat('B. Zbi',chr(162),'r zasad obowi',chr(165),'zuj',chr(165),'cych w sieci internet');
q[6].c := Concat('C. Zbi',chr(162),'r zasad obowi',chr(165),'zuj',chr(165),'cych na lokalnych profilach u',chr(190),'ytkownika');
q[6].d := Concat('D. Zbi',chr(162),'r zasad obowi',chr(165),'zuj',chr(165),'cych na serwerach gier internetowych');
q[6].answer := 'b';
q[7].question := Concat('Kt',chr(162),'ra z podanych stron internetowych nie jest wyszukiwark',chr(165),'?');
q[7].a := 'A. http://www.google.pl/';
q[7].b := 'B. http://www.pl.wikipedia.org/';
q[7].c := 'C. http://www.bing.com/';
q[7].d := 'D. http://www.wp.pl/';
q[7].answer := 'd';
q[8].question := 'Operatory binarne w Pascalu to:';
q[8].a := 'A. div, mod';
q[8].b := 'B. and, or, xor';
q[8].c := 'C. shl, shr';
q[8].d := 'D. not';
q[8].answer := 'c';
q[9].question := Concat('Kt',chr(162),'ry z wymienionych program',chr(162),'w nie s',chr(136),'u',chr(190),'y do tworzenia grafiki wektorowej?');
q[9].a := 'A. Adobe FreeHand';
q[9].b := 'B. Adobe Illustrator';
q[9].c := 'C. Adobe Flash';
q[9].d := 'D. Adobe Photoshop';
q[9].answer := 'd';
q[10].question := Concat('Kt',chr(162),'ry z podanych poni',chr(190),'ej format',chr(162),'w grafiki nie jest formatem grafiki rastrowej?');
q[10].a := 'A. .bmp';
q[10].b := 'B. .png';
q[10].c := 'C. .pdf';
q[10].d := 'D. .tiff';
q[10].answer := 'c';
q[11].question := 'Porty COM, USB, FireWire to gniazda:';
q[11].a := 'A. Kaskadowe';
q[11].b := 'B. Szeregowe';
q[11].c := Concat('C. R',chr(162),'wnonoleg',chr(136),'e');
q[11].d := Concat('D. S',chr(165),'siaduj',chr(165),'ce');
q[11].answer := 'b';
q[12].question := Concat('Czym charakteryzuje si',chr(169),' dysk CD-ROM?');
q[12].a := Concat('A. Tym ',chr(190),'e jest tylko do odczytu');
q[12].b := Concat('B. Tym ',chr(190),'e jest do jednokrotnego zapisu i wielokrotnego odczytu');
q[12].c := Concat('C. Tym ',chr(190),'e jest do wielokrotnego zapisu i odczytu');
q[12].d := Concat('D. Tym ',chr(190),'e ma pojemno',chr(152),'',chr(134),' nie mniejsz',chr(165),' ni',chr(190),' 4.7GB');
q[12].answer := 'a';
q[13].question := Concat('Czym charakteryzuje si',chr(169),' dysk CD-R?');
q[13].a := Concat('A. Tym ',chr(190),'e jest tylko do odczytu');
q[13].b := Concat('B. Tym ',chr(190),'e jest do jednokrotnego zapisu i wielokrotnego odczytu');
q[13].c := Concat('C. Tym ',chr(190),'e jest do wielokrotnego zapisu i odczytu');
q[13].d := Concat('D. Tym ',chr(190),'e ma pojemno',chr(152),'',chr(134),' nie mniejsz',chr(165),' ni',chr(190),' 4.7GB');
q[13].answer := 'b';
q[14].question := Concat('Czym charakteryzuje si',chr(169),' dysk CD-RW?');
q[14].a := Concat('A. Tym ',chr(190),'e jest tylko do odczytu');
q[14].b := Concat('B. Tym ',chr(190),'e jest do jednokrotnego zapisu i wielokrotnego odczytu');
q[14].c := Concat('C. Tym ',chr(190),'e jest do wielokrotnego zapisu i odczytu');
q[14].d := Concat('D. Tym ',chr(190),'e ma pojemno',chr(152),'',chr(134),' nie mniejsz',chr(165),' ni',chr(190),' 4.7GB');
q[14].answer := 'c';
q[15].question := Concat('Nap',chr(169),'d dysk',chr(162),'w kompaktowych ma pr',chr(169),'dko',chr(152),'',chr(134),' 52X oznacza to ',chr(190),'e dysk w takim nap',chr(169),'dzie odtwarza:');
q[15].a := 'A. 2,552MB danych na sekunde';
q[15].b := 'B. 2,525MB danych na sekunde';
q[15].c := 'C. 5,252MB danych na sekunde';
q[15].d := 'D. 5.225MB danych na sekunde';
q[15].answer := 'd';
q[16].question := Concat('Przyk',chr(136),'ad drukarki mozaikowej to:');
q[16].a := 'A. Drukarka atramentowa';
q[16].b := Concat('B. Drukarka laserowa czarno-bia',chr(136),'a');
q[16].c := 'C. Drukarka laserowa kolorowa';
q[16].d := Concat('D. Drukarka ig',chr(136),'owa');
q[16].answer := 'd';
q[17].question := Concat('Co okre',chr(152),'la rozszerzenie nazwy pliku?');
q[17].a := Concat('A. Okre',chr(152),'la typ pliku');
q[17].b := Concat('B. Okre',chr(152),'la rozmiar pliku');
q[17].c := Concat('C. Okre',chr(152),'la czy plik zosta',chr(136),' kiedykolwiek nadpisny');
q[17].d := Concat('D. Okre',chr(152),'le dat',chr(169),' utworzenia pliku');
q[17].answer := 'a';
q[18].question := Concat('Systemy operacyjne Linux zawieraj',chr(165),' j',chr(165),'dro typu:');
q[18].a := 'A. Hybrydowego';
q[18].b := Concat('B. Mikroj',chr(165),'drowego');
q[18].c := 'C. Nanokernelowego ';
q[18].d := 'D. Monolitycznego';
q[18].answer := 'd';
q[19].question := Concat('Systemy operacyjne Windows zawieraj',chr(165),' j',chr(165),'dro typu:');
q[19].a := 'A. Hybrydowego';
q[19].b := Concat('B. Mikroj',chr(165),'drowego');
q[19].c := 'C. Nanokernelowego';
q[19].d := 'D. Monolitycznego';
q[19].answer := 'a';
q[20].question := 'Format kartki A4 ma rozmiar:';
q[20].a := 'A. 211 x 295 mm';
q[20].b := 'B. 211 x 296 mm';
q[20].c := 'C. 210 x 297 mm';
q[20].d := 'D. 210 x 298 mm';
q[20].answer := 'c';
q[21].question := Concat('Skr',chr(162),'t HD odno',chr(152),'nie dyskietek oznacza:');
q[21].a := 'A. High Destiny';
q[21].b := 'B. High Definition';
q[21].c := 'C. High Density';
q[21].d := 'D. High Quality';
q[21].answer := 'c';
q[22].question := Concat('Literka "k" na ko',chr(228),'cu nazwy modelu procesora firmy Intel oznacza to ',chr(190),'e:');
q[22].a := Concat('A. procesor jest odporny na temperatury wy',chr(190),'sze niż 85 stopni Celcjusza');
q[22].b := Concat('B. procesor jest podatny na podkr',chr(169),'canie w celu uzyskania wi',chr(169),'kszej wydajno',chr(152),'ci');
q[22].c := Concat('C. procesor jest do',chr(136),'aczany z dodatkowym ch',chr(136),'odzeniem');
q[22].d := Concat('D. procesor jest przystosowany do ch',chr(136),'odzenia ciek',chr(136),'ym azotem');
q[22].answer := 'b';
Repeat
xlos := (3+Random(26));
ylos := (3+Random(21));
If ((x = xlos) and (y = ylos)) Then
Case 1+Random(3) of
1:
If (Pytaj_znak(q[(1+Random(31))]) = True) Then
Begin
Odp_Dobra (x,y);
Goto Start;
End
Else
Begin
Odp_Zla (x,y);
Goto Poczatek;
End;
2:
If (Pytaj_znaki(a[(1+Random(23))]) = True) Then
Begin
Odp_Dobra (x,y);
Goto Start;
End
Else
Begin
Odp_Zla (x,y);
Goto Poczatek;
End;
3:
If (Pytaj_liczba(p[(1+Random(16))]) = True) Then
Begin
Odp_Dobra (x,y);
Goto Start;
End
Else
Begin
Odp_Zla (x,y);
Goto Poczatek;
End;
End;
Until ((x = 26) and (y = 21));
Goto Start;
Koniec:
Clrscr;
Goto Menu;
End;
2:
Begin
End;
3:
Begin
End;
4: Halt;
End;
END.
Wielkość liter - zamień sobie odpowiedź na małe litery i sprawdzaj w takiej formie - ansilowercase(jakis_string);żeby program przy sprawdzaniu pytania nie brał pod uwagę wielkości liter i ich umieszczenia najlepiej też
Kod: Zaznacz cały
Writeln ('4. Wyj',chr(152),'cie');