Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Turbo Pascal Program QUIZ !

23 May 2010 15:43 2296 4
  • Level 2  
    Witam .
    Mam do zrobienie program w TP ,,QUIZ'' program ma sie opierac na Procedurach.
    W programie ma byc 15 pytan , odpowiedzi typu A ,b ,c za kazda dobra odpowiedz otrzymujemy 1 pkt , program pod koniec ma zliczyc wszystkie zdobyte pkt i przeliczyc to na %.


    Jedynie co mi wpadlo na mysl to umiescic 15 pytan w Tablicy i procedura odwolac sie do niej zeby podliczala PKT .

    P.S program musi byc zrobiony na podstawie Procedur.
    [30.03.2021, darmowy webinar] Nowoczesna diagnostyka maszyn, monitorowanie i przewidywanie awarii. Zarejestruj się
  • Level 42  
    Nie ma potrzeby żadnej tablicy - po prostu wywołujesz procedurę wyświetlającą pytanie (parametr) i możliwe odpowiedzi (kolejne np. 4 parametry) oraz, która poprawna (parametr), a niech zwraca (i to będzie funkcja, a nie procedura już!), czy wybrano poprawną. Gdzieś w głównym bloku zliczasz liczbę poprawnych.

    Oczywiście pojęcie użycia procedur jest dość względne, bo procedurą można nawet i tekst wyświetlać, choć tak drobiazgowe rozbicie nie jest raczej potrzebne.
  • Level 2  
    Moj problem polega na tym ze ,,nauczyciel'' zlecil mi zrobienie quiz'u poprzez procedury...

    Dodano po 26 [sekundy]:

    A ja dosyc nie mam pojecia jak to wszystko ze soba powiazac.
  • Level 20  
    W innym Twoim temacie znalazłem takie coś:
    Code:
    program quiz; 
    
    type
    pytanie=record
    pytanie,a,b,c,d:string[150];
    prawidlowa:string[15];
    oznaczono:boolean;
    end;
    {...}
    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';
     {itd.}

    Zadeklaruj zmienną punkty, zmienną odpwiedz i napisz procedurę:
    Code:

    var punkty: Byte; odpowiedz: Char;
    procedure ZadajPytanie(nr: Byte; var punkty: Byte);
    begin
        Writeln(pytania[i].pytanie);
        Writeln(pytania[i].a);
        Writeln(pytania[i].b);
        {itd}
        repeat
          Writeln('Podaj odpowiedź: ');
          Readln(odpowiedz);
        until odpowiedz in ['a'..'d'];
        if odpowiedz = pytania[i].prawidlowa then punkty := punkty + 1;
    end;

    W głównym bloku programu, po zdefiniowaniu wszystkich elementów tablicy z testem, umieść kod:
    Code:

    punkty := 0;
    for i:=1 to 15 do ZadajPytanie(i);
    i w zmiennej punkty masz wynik. Sam zdefiniuj sobie procedurę Ocena, która zamieni punkty na procenty lub ocenę w skali cyfrowej lub słownej... i będzie bardzo dobry!