Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

pascal program - quiz

22 Lis 2006 17:17 4622 7
  • Poziom 12  
    mam malutki program musz enapisac na zaliczenie w pascalu program tzn quiz w kotrym ma byc 50 pytan z czego program ma losowo wybierac z tego dziesiec tak aby sie nie powtarzaly do tego mosliwosc wyboru odpowiedzi abcd i jesli bedzie dobra odpowiedz program ma przyznawac punkt prosze pomozcie nie wiem jak to zabardzo napisac az tak bardzo sie na tym, nie znam kazda pomoc mile widziana z gory dziekuje
  • Poziom 16  
    Witam

    Program pisze od ręki (moga być błędy)
    Code:

    program quiz;
    type
    pytanie=record
    pytanie,a,b,c,d:string;
    prawidlowa:byte;
    oznaczono:boolean;
    end;

    var
    pytania:array [1..50] of pytanie;
    wtvrane:array[1..10] of pytanie;
    i,j,pom:integer;
    begin
    {Tutaj uzupełnić tablice z pytaniami}

    for i:=1 to 50 do
    pytania[i].oznaczono:=False;
    j:=1;
    randomize;
    while (j<>11) do
    begin
    pom:=random(50)+1;
    if not pytania[pom].oznaczono then
    begin
    wybrano[j]:=pytania[pom];
    pytania[pom].oznaczono:=True;
    j:=j+1;
    end; {if}
    end; {while}

    {tutaj zrobic juz quiz z pytaniami w tablicy wybrano}


    end;
  • Poziom 12  
    a jak to zastosowac do pytan pytania musze zapisac w programie czy w pliku?
  • Poziom 16  
    Code:
    program quiz; 
    
    type
    pytanie=record
    pytanie,a,b,c,d,prawidlowa:string; 
    oznaczono:boolean;
    end;

    var
    pytania:array [1..50] of pytanie;
    wybrane:array[1..10] of pytanie;
    i,j,pom,prawidlowo:integer;
    wybrano:string;
    begin
    {Tutaj uzupełnić tablice z pytaniami}
    pytania[1].pytanie:='2+2=';
    pytania[1].a:='1';
    pytania[1].b:='2';
    pytania[1].c:='3';
    pytania[1].d:='4';
    pytania[1].prawidlowa:='d';

    pytania[2].pytanie:='3*3=';
    pytania[2].a:='9';
    pytania[2].b:='7';
    pytania[2].c:='8';
    pytania[2].d:='6';
    pytania[2].prawidlowa:='a';

    {I tak uzupełniamy całą tabice do 50}

    for i:=1 to 50 do
    pytania[i].oznaczono:=False;
    j:=1;
    randomize;
    while (j<>11) do
    begin
    pom:=random(50)+1;
    if not pytania[pom].oznaczono then
    begin
    wybrano[j]:=pytania[pom];
    pytania[pom].oznaczono:=True;
    j:=j+1;
    end; {if}
    end; {while}

    {tutaj zrobic juz quiz z pytaniami w tablicy wybrano}
    prawidlowo:=0;
    for i:=1 to 10 do
    begin
    writeln('Pytanie ',i,':');
    writeln(wybrano[i].pytanie);
    writeln('a: ',wybrane[i].a);
    writeln('b: ',wybrane[i].b);
    writeln('c: ',wybrane[i].c);
    writeln('d: ',wybrane[i].d);
    writeln('Podaj odpowiedz:');
    readln(wybrano);
    if wybrane[i].prawidlowa=wybrano then
    begin
    Writeln ('OK');
    prawidlowo:=prawidlowo+1;
    end
    else
    writeln('NO');
    end;
    writeln('Odpowiedziano prawidlowo na ',prawidlowo,' pytan.');
    end;
  • Poziom 12  
    cos jest nie tak wystepuje blad juz w tej linijce pytania[1].pytanie:='2+2='; Error 121:
  • Poziom 17  
    Napisałem taki quiz po swojemu (załącznik), tego co napisał Łuk_F nie czytałem. W sekcji const musisz wpisać pytania i odpowiedzi. Dla przykładu napisałem pierwsze i ostatnie pytanie.
  • Poziom 12  
    'a','b','c','d','x',
    'a','b','c','d','x',
    'a','b','c','d','x',
    'a','b','c','d','x',
    'a','b','c','d','x',
    'a','b','c','d','x',
    'a','b','c','d','x',
    'a','b','c','d','x', a to jak to mam rozumiec to ma byc i tyle teo w szedxie pod kazdym pytaniem czy jak?
  • Pomocny post
    Poziom 16  
    Poprawiony program:

    Code:

    program quiz;
    type
    pytanie=record
    pytanie,a,b,c,d:string[150];
    prawidlowa:string[15];
    oznaczono:boolean;
    end;
    var
    pytania:array[1..50] of pytanie;
    wybrane:array[1..10] of pytanie;
    i,j,pom,prawidlowo:integer;
    wybrano:string;
    begin
    pytania[1].pytanie:='Polecenie ktore zmienia znaki na liczby czy jest to:';
    pytania[1].a:='CHR';
    pytania[1].b:='INT';
    pytania[1].c:='ORD';
    pytania[1].d:='GOTO';
    pytania[1].prawidlowa:='c';

    pytania[2].pytanie:='Zmienna CHAR wprowadza:';
    pytania[2].a:='1 znak';
    pytania[2].b:='10 znakow';
    pytania[2].c:='dodawanie';
    pytania[2].d:='zadna z powyzszych';
    pytania[2].prawidlowa:='a';

    pytania[3].pytanie:='Co to jest if:';
    pytania[3].a:='zwrot';
    pytania[3].b:='jesli';
    pytania[3].c:='kolor';
    pytania[3].d:='petla';
    pytania[3].prawidlowa:='d';

    pytania[4].pytanie:='Co to jest Pascal:';
    pytania[4].a:='program';
    pytania[4].b:='gra';
    pytania[4].c:='kompiltor';
    pytania[4].d:='kucharz';
    pytania[4].prawidlowa:='c';

    pytania[5].pytanie:='Komenda sluzaca to zczytawnia:';
    pytania[5].a:='byte';
    pytania[5].b:='read';
    pytania[5].c:='uses';
    pytania[5].d:='zadna z powyzszych';
    pytania[5].prawidlowa:='b';

    pytania[6].pytanie:='Slowo konczace program to:';
    pytania[6].a:='and';
    pytania[6].b:='exit';
    pytania[6].c:='koniec';
    pytania[6].d:='end';
    pytania[6].prawidlowa:='d';

    pytania[7].pytanie:='Co oznacza OR w Pascalu?:';
    pytania[7].a:='znak';
    pytania[7].b:='lub';
    pytania[7].c:='i';
    pytania[7].d:='moze';
    pytania[7].prawidlowa:='b';

    pytania[8].pytanie:='Co oznacza AND w Pascalu?:';
    pytania[8].a:='i';
    pytania[8].b:='byc';
    pytania[8].c:='plus';
    pytania[8].d:='zadna z powyzszych';
    pytania[8].prawidlowa:='a';

    pytania[9].pytanie:='Jaka nazwe ma tablica znkow?:';
    pytania[9].a:='escii';
    pytania[9].b:='intri';
    pytania[9].c:='deltri';
    pytania[9].d:='ascii';
    pytania[9].prawidlowa:='d';

    pytania[10].pytanie:='Polecenie kotre zmienia kolor czcionki to:';
    pytania[10].a:='color';
    pytania[10].b:='colortext';
    pytania[10].c:='textcolor';
    pytania[10].d:='textkolor';
    pytania[10].prawidlowa:='c';

    pytania[11].pytanie:='Polecenie zmieniajace kolor tla to:';
    pytania[11].a:='kolortla';
    pytania[11].b:='textbackgroud';
    pytania[11].c:='colorgroud';
    pytania[11].d:='zadna z powyzszych';
    pytania[11].prawidlowa:='b';

    pytania[12].pytanie:='Co oznacza slowo Begin?:';
    pytania[12].a:='poczatek';
    pytania[12].b:='srodek';
    pytania[12].c:='start';
    pytania[12].d:='wycinek';
    pytania[12].prawidlowa:='a';

    pytania[13].pytanie:='Do czego sluzy polecenie Halt?:';
    pytania[13].a:='stop';
    pytania[13].b:='wyjscie z programu';
    pytania[13].c:='przerwanie operacji i wyjscie z programu';
    pytania[13].d:='natychmiastowe wyjscie programu(przerwanie)';
    pytania[13].prawidlowa:='c';

    pytania[14].pytanie:='Co oznacza polecenie Repeat?:';
    pytania[14].a:='sprawdzaj';
    pytania[14].b:='kopiuj';
    pytania[14].c:='powtarzaj';
    pytania[14].d:='sortuj';
    pytania[14].prawidlowa:='c';

    pytania[15].pytanie:='Co oznacza slowo Const?:';
    pytania[15].a:='stala';
    pytania[15].b:='zmienna';
    pytania[15].c:='rozna';
    pytania[15].d:='rowna';
    pytania[15].prawidlowa:='a';

    pytania[16].pytanie:='Co oznacza polecenie Conv?:';
    pytania[16].a:='konserwa';
    pytania[16].b:='zapis';
    pytania[16].c:='konwersja';
    pytania[16].d:='odczyt';
    pytania[16].prawidlowa:='c';

    pytania[17].pytanie:='Co robi funcja Int?:';
    pytania[17].a:='odrzuca czesc ulamka';
    pytania[17].b:='podaje calosci';
    pytania[17].c:='podaje procenty';
    pytania[17].d:='generuje liczbe';
    pytania[17].prawidlowa:='a';

    pytania[18].pytanie:='Co robi funkcja Random?:';
    pytania[18].a:='mnozy';
    pytania[18].b:='zaokragla';
    pytania[18].c:='generuje liczbe losowa';
    pytania[18].d:='oblicza';
    pytania[18].prawidlowa:='c';

    pytania[19].pytanie:='Co robi funkcja Round?:';
    pytania[19].a:='dzieli';
    pytania[19].b:='zaokragla wartosci';
    pytania[19].c:='obraca';
    pytania[19].d:='zadna z powyzszych';
    pytania[19].prawidlowa:='b';

    pytania[20].pytanie:='Znaki * - + / naleza do grupy operatorow?:';
    pytania[20].a:='logicznych';
    pytania[20].b:='arytmetyczno-logicznych';
    pytania[20].c:='arytmetycznych';
    pytania[20].d:='do wszystkich';
    pytania[20].prawidlowa:='c';

    pytania[21].pytanie:='Znaki <= <> => naleza do grupy operatorow?:';
    pytania[21].a:='arytmetyczno-logicznych';
    pytania[21].b:='logicznych';
    pytania[21].c:='arytmetycznych';
    pytania[21].d:='zadna z powyzszych';
    pytania[21].prawidlowa:='a';

    pytania[22].pytanie:='CLRSCR sluzy do?:';
    pytania[22].a:='pisania';
    pytania[22].b:='czyszczenia ekranu';
    pytania[22].c:='blokowania';
    pytania[22].d:='liczenia';
    pytania[22].prawidlowa:='b';

    pytania[23].pytanie:='Byte pozwala na wprowadznie?:';
    pytania[23].a:='10 znakow';
    pytania[23].b:='100 znakow';
    pytania[23].c:='378 znakow';
    pytania[23].d:='25 znakow';
    pytania[23].prawidlowa:='d';

    pytania[24].pytanie:='String pozwala na wprowadznie:';
    pytania[24].a:='128 znakow';
    pytania[24].b:='255 znakow';
    pytania[24].c:='1 znaku';
    pytania[24].d:='zadna z powyzszych';
    pytania[24].prawidlowa:='b';

    pytania[25].pytanie:='Zmienna Integer pozwala na wprowadzenie:';
    pytania[25].a:='wszystkich znakow';
    pytania[25].b:='wszystkich liczb naturalnych';
    pytania[25].c:='obrazkow';
    pytania[25].d:='zadna z powyzszych';
    pytania[25].prawidlowa:='c';

    pytania[26].pytanie:='Zmienna Real pozwala na wprowadzenie:';
    pytania[26].a:='wszystkich licz rzeczywistych';
    pytania[26].b:='liczb dodnich';
    pytania[26].c:='liczb ulamkowych';
    pytania[26].d:='calek';
    pytania[26].prawidlowa:='a';

    pytania[27].pytanie:='Funkcja Write powoduje:';
    pytania[27].a:='zmiane obrazu';
    pytania[27].b:='efekty dzwiekowe';
    pytania[27].c:='wyswietlenie tekstu';
    pytania[27].d:='zadna z powyzszych';
    pytania[27].prawidlowa:='c';

    pytania[28].pytanie:='W jakim rozszerzeniu zapisywane sa kody zrodlowe?:';
    pytania[28].a:='BIN';
    pytania[28].b:='EXE';
    pytania[28].c:='BAT';
    pytania[28].d:='PAS';
    pytania[28].prawidlowa:='d';

    pytania[29].pytanie:='Do czego sluzy Readkey?:';
    pytania[29].a:='zatrzymuje program,';
    pytania[29].b:='zatrzymuje program i czeka na nacisniecie klawisza';
    pytania[29].c:='wychodzi z programu';
    pytania[29].d:='kompiluje';
    pytania[29].prawidlowa:='b';

    pytania[30].pytanie:='Do czego sluzy polecenie Sound?:';
    pytania[30].a:='do muzyki';
    pytania[30].b:='wprowadza mp3';
    pytania[30].c:='wprowadza komende dzwiekowa';
    pytania[30].d:='wszystkie z powyzszych';
    pytania[30].prawidlowa:='c';

    pytania[31].pytanie:='Do czego sluzy Sqrt?:';
    pytania[31].a:='do potegowania';
    pytania[31].b:='do mnozenia';
    pytania[31].c:='do dzielenia';
    pytania[31].d:='do procentow';
    pytania[31].prawidlowa:='a';

    pytania[32].pytanie:='Do czego sluzy Sqr:';
    pytania[32].a:='do dzielenia';
    pytania[32].b:='do pierwiastkowania';
    pytania[32].c:='do dodawania';
    pytania[32].d:='zadne z powyzszych';
    pytania[32].prawidlowa:='b';

    pytania[33].pytanie:='Czym jest CASE w Pascalu?:';
    pytania[33].a:='schowkiem';
    pytania[33].b:='plikiem';
    pytania[33].c:='zmienna';
    pytania[33].d:='jedna z petli';
    pytania[33].prawidlowa:='d';

    pytania[34].pytanie:='Co sadzisz o programie Pascal?:';
    pytania[34].a:='super';
    pytania[34].b:='moze byc';
    pytania[34].c:='da sie zniesc';
    pytania[34].d:='beznadzieja';
    pytania[34].prawidlowa:='d';

    pytania[35].pytanie:='Co powoduje instrukcja INC:';
    pytania[35].a:='zmienia wartosc liczby o jeden';
    pytania[35].b:='zwieksza wartosc liczby o jeden';
    pytania[35].c:='zmienjsza wartosc liczby o jeden';
    pytania[35].d:='pozostawia bez zmian';
    pytania[35].prawidlowa:='b';

    pytania[36].pytanie:='Co powoduje polecenie UPCASE:';
    pytania[36].a:='zmienia duza litere na mala';
    pytania[36].b:='zmienia rozmiar czcionki';
    pytania[36].c:='zmienia mala litere na duza';
    pytania[36].d:='nic nie zmienia';
    pytania[36].prawidlowa:='c';

    pytania[37].pytanie:='Jakim slowem deklaruje sie moduly:';
    pytania[37].a:='crt';
    pytania[37].b:='uses';
    pytania[37].c:='var';
    pytania[37].d:='begin';
    pytania[37].prawidlowa:='b';

    pytania[38].pytanie:='Jakim slowem deklaruje sie zmienne:';
    pytania[38].a:='var';
    pytania[38].b:='integer';
    pytania[38].c:='char';
    pytania[38].d:='for';
    pytania[38].prawidlowa:='a';

    pytania[39].pytanie:='Co robi polecenie EOLN:';
    pytania[39].a:='odczytuje litery do konca wiersza';
    pytania[39].b:='zczytuje caly plik';
    pytania[39].c:='czyta jedna litere';
    pytania[39].d:='idzie na koniec teksty';
    pytania[39].prawidlowa:='a';

    pytania[40].pytanie:='Zmienna CHAR wprowadza:';
    pytania[40].a:='1 znak';
    pytania[40].b:='10 znakow';
    pytania[40].c:='dodawanie';
    pytania[40].d:='zadna z powyzszych';
    pytania[40].prawidlowa:='a';

    pytania[41].pytanie:='Do czego sluzy polecenie Asing:';
    pytania[41].a:='do zmiany pliku';
    pytania[41].b:='do zmiany nazwy pliku';
    pytania[41].c:='do edycji pliku';
    pytania[41].d:='wszystkie wymienione';
    pytania[41].prawidlowa:='c';

    pytania[42].pytanie:='Do czego sluzy polecenie Rewrite:';
    pytania[42].a:='do kopiowania pliku';
    pytania[42].b:='do wycinania fragmentu pliku';
    pytania[42].c:='do zapisywania pliku';
    pytania[42].d:='do kasowania zawartosci pliku';
    pytania[42].prawidlowa:='d';

    pytania[43].pytanie:='Co oznacza wyrazenie EOF:';
    pytania[43].a:='end of file';
    pytania[43].b:='end of files';
    pytania[43].c:='end of for';
    pytania[43].d:='zadna z powyzszych';
    pytania[43].prawidlowa:='a';

    pytania[44].pytanie:='Co powoduje zmienna Chr:';
    pytania[44].a:='zmienia na duze litery';
    pytania[44].b:='zmienia na male litery';
    pytania[44].c:='nic nie zmienia';
    pytania[44].d:='zadna z powyzszych';
    pytania[44].prawidlowa:='b';

    pytania[45].pytanie:='Co sprawdza petla While:';
    pytania[45].a:='zmienna';
    pytania[45].b:='modul';
    pytania[45].c:='instrukcje';
    pytania[45].d:='warunek';
    pytania[45].prawidlowa:='d';

    pytania[46].pytanie:='Co to jest program?:';
    pytania[46].a:='nazwa';
    pytania[46].b:='poczatek';
    pytania[46].c:='slowo kluczowe';
    pytania[46].d:='zadna z powyzszych';
    pytania[46].prawidlowa:='c';

    pytania[47].pytanie:='Co to jest Mod:';
    pytania[47].a:='czesc calkowia';
    pytania[47].b:='reszta z dzielenia';
    pytania[47].c:='czesc ulamokowa';
    pytania[47].d:='zadna z powyzszych';
    pytania[47].prawidlowa:='b';

    pytania[48].pytanie:='Co to jest Div:';
    pytania[48].a:='reszta z dzielenia';
    pytania[48].b:='czesc ulamokowa';
    pytania[48].c:='czesc calkowita';
    pytania[48].d:='zadna z powyzszych';
    pytania[48].prawidlowa:='c';

    pytania[49].pytanie:='Co myslisz o tym Quizie:';
    pytania[49].a:='super';
    pytania[49].b:='extra';
    pytania[49].c:='cool';
    pytania[49].d:='wszystkie wymienione';
    pytania[49].prawidlowa:='d';

    pytania[50].pytanie:='Co powinnienem dostac za ten Quiz:';
    pytania[50].a:='5-';
    pytania[50].b:='5';
    pytania[50].c:='5+';
    pytania[50].d:='6';
    pytania[50].prawidlowa:='d';

    for i:=1 to 50 do
    pytania[i].oznaczono:=False;
    j:=1;
    randomize;
    while(j<>11) do
    begin
    pom:=random(50)+1;
    if not pytania[pom].oznaczono then
    begin
    wybrane[j]:=pytania[pom];
    pytania[pom].oznaczono:=True;
    j:=j+1;
    end;
    end;
    prawidlowo:=0;
    for i:=1 to 10 do
    begin
    writeln('Pytanie ',i,':');
    writeln(wybrane[i].pytanie);
    writeln('a: ',wybrane[i].a);
    writeln('b: ',wybrane[i].b);
    writeln('c: ',wybrane[i].c);
    writeln('d: ',wybrane[i].d);
    writeln('Podaj odpowiedz: ');
    readln(wybrano);
    if wybrane[i].prawidlowa=wybrano then
    begin
    writeln('OK');
    prawidlowo:=prawidlowo+1;
    end
    else
    writeln('NO');
    end;
    writeln('Odpowiedziano prawidlowo na ',prawidlowo,' pytan');
    readln;
    end.