Przede wszystkim mimo iż to Twoje początki z programowaniem, najlepiej od razu wyrobić sobie dobre nawyki. Przede wszystkim kody Pascalowo/Delphiowe wstawiamy tutaj w odpowiednich znacznikach. I kod formatujemy. Zobacz na koniec tego posta, czyż nie o wiele czytelniej? Jeżeli nie umiesz fortmatować sam to wspomoż się Lazarusem z formatterem, zewnętrzym programem Jedi Code Formatter albo jeśli piszesz pod Delphi to alternatywną wersją dodatku GExperts z formatterem.
Nie rozumiem tych petli, o co chodziło autorowi, np. w tym: UNTIL 1=2;
petla:=petla+1;
Chodzi o zwiększenie licznika pętli o jeden. Jeżeli podamy źle kod pięć razy to pokaże się Access Denied !
. Nie wiem kto Ci to pisał, ale też nie ogarnia podstaw. Przede wszystkim zmienna powinna być zainicjowana, na przykład przez Petla := 0
,
Nie rozumiem tylko niektórych rzeczy, ale fajnie gdyby ktoś mi to podpisał, co to daje. Dlaczego 1=2.
Najlepiej poczytaj: Repeat oraz While i inne podstawy języka. Dziwny warunek zakończenia pętli 1 = 2
chodzi o to, że pętla while
wykonuje się gdy warunek jest równy True
, natomiast repeat ... until
w trakcie gdy warunek jest False
. Takze można było po prostu napisać until False;
albo while True do begin...
. Chodzi o to, że warunek 1 = 2
nie jest prawdziwy i nigdy nie zostanie spełniony. Przez co pętla będzie wykonywana w nieskończonośc lub do naciśnięcia Ctrl+C.
- Ile zajmuje nauczenie sie całkowicie tego pascala, tzn. mozna swobodnie pisac.
Co do załapania podstaw. To zależy od człowieka. Pascal, również obiektowy jest banalny na start. Imo o wiele bardziej niż C/C++. Najlepiej najpierw poczytaj kurs. Kombinuj dużo samodzielnie. A pisanie z czymkolwiek na forum, traktuj jako ostateczność. Póki nie poznasz podstaw języka, zasad składni i wszystkiego co znać na początek powinieneś, będziesz błądzić po omacku i się motać. Wiadomo na forum pomagamy, ale to o co pytałeś poza 3 podpunktem, można szybciej wyczytać w kursach. I pytania o tak banalne podstawy zadaje się w dziale Newbie. Tam też wątek przenoszę.
uses Crt;
const
haslo = 'Pascal';
var
wprowadz : string;
petla : byte;
begin
Petla := 0;
repeat
ClrScr;
GotoXY(31, 12);
Write('Podaj haslo : ');
ReadLn(wprowadz);
if petla = 4 then
begin
repeat
ClrScr;
GotoXY(31, 12);
Write('Access Denied !');
Sound(3160);
Delay(500);
Sound(3190);
Delay(500);
until False;
end;
petla := petla + 1;
until wprowadz = haslo;
end.