Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pascal problem.


Rekomendowane odpowiedzi

Opublikowano

Witam! Mam problem z kodem w pascalu, mianowicie mam zadanie do zrobienia o treści:

 

Program gra, testujący znajomość tabliczki mnożenia. Program wykonuje 5-cio krotne losowanie mnożnej i mnożnika i oczekuje na wprowadzenie wyniku. Gdy wynik jest niepoprawny, program informuje o błędzie i powtórnie wyświetla to samo działanie. W przypadku poprawnej odpowiedzi program podaje czas w sekundach z dokładnością do 0,01 s i wyświetla następne pytanie. Po zakończeniu testu program wyświetla średni czas odpowiedzi.

 

Po włączeniu kod generuje się normalnie i program się włącza, wyświetla odrazu pierwsze dwie liczby losowe i należy wpisać wynik. Po wpisaniu złego wyniku pojawia się tekst: źle, spróbuj ponownie. Po wpisaniu prawidłowego wyniku program powinien podać kolejną parę liczb, do których należałoby wpisać wynik i tutaj problem bo wyświetla błąd: exitcode = 201. W czym może być problem?

 

Kod programu:

 

 

Program Test_mnozenia;

uses Crt, Dos;

var godz1,godz2,min1,min2,sek1,sek2,ssek1,ssek2:word;

var licz1,licz2,wynik,n,t,a1,a2,a3,a4,a5:integer;

var g1,g2,m1,m2,s1,s2,ss1,ss2,suma:integer;

Tabczas:Array[1..5] of byte;

var w1,w2,w:word;

Begin

ClrScr;

TextColor(14);

Suma:=0;

WriteLn(' JEST TO PROGRAM SPRAWDZAJĄCY');

WriteLn(' TWÓJ REFLEKS W TABLICZCE MNOŻENIA');

Randomize;

For n:=1 to 5 do

begin

licz1:=Random(10)+1;

licz2:=Random(10)+1;

Repeat

GetTime(godz1,min1,sek1,ssek1);

TextColor(10);

WriteLn;

Write(licz1,'*',licz2,'=');

ReadLn(wynik);

IF licz1*licz2=wynik THEN

begin

TextColor(2);

WriteLn('BARDZO DOBRZE');

GetTime(godz2,min2,sek2,ssek2);

end

ELSE

begin

TextColor(124);

WriteLn('ŹLE! SPRÓBUJ JESZCZE RAZ');

end;

Until licz1*licz2=wynik;

g1:=godz1*3600*100; g2:=godz2*3600*100;

m1:=min1*60*100; m2:=min2*60*100;

s1:=sek1*100; s2:=sek2*100;

ss1:=ssek1*1; ss2:=ssek2*1;

w1:=g1+m1+s1+ss1; w2:=g2+m2+s2+ss2;

w:=w2-w1;

WriteLn('Czas namysłu wynosił ',w/100:6:2);

suma:=suma+w;

end;

TextColor(14);

WriteLn;

WriteLn('ŚREDNIA WYNOSI = ',suma/5/199:6:2);

ReadLn;

ReadKey;

End.

Opublikowano

xxx

brakuje Ci średnika po end i chyba nie zamykasz for. Nie chce mi się dokładnie sprawdzać bo wkurwia mnie ta jebana pascalowska składnia i brak wcięć

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...