Witam! Dopiero uczę się programować w Pascalu i nie bardzo rozumiem działanie poniższego programu.Gdyby ktoś mógł mi to wytłumaczyć byłbym bardzo wdzięczny.
uses
SysUtils;
var a: array [1..100] of integer;
i, n, licz: integer;
begin
read (n);
for i:=1 to n do
read (a);
licz:=0;
for i:=1 to n do
if a=0
then licz:=licz+1;
write (licz);
read (licz);
end.
Pascal tablica
-
- Użytkownik
- Posty: 14
- Rejestracja: 20 cze 2007, o 11:50
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- klaustrofob
- Użytkownik
- Posty: 1984
- Rejestracja: 11 lis 2007, o 07:29
- Płeć: Mężczyzna
- Lokalizacja: inowrocław
- Podziękował: 1 raz
- Pomógł: 607 razy
Pascal tablica
pacjent_21 pisze:Witam! Dopiero uczę się programować w Pascalu i nie bardzo rozumiem działanie poniższego programu.Gdyby ktoś mógł mi to wytłumaczyć byłbym bardzo wdzięczny.
Kod: Zaznacz cały
uses
SysUtils;
var a: array [1..100] of integer; <-- rezerwuje w pamięci miejsce na tablicę 100 liczb typu integer
i, n, licz: integer; <-- w pamięci miejsce na odpowiednie zmienne typu integer
begin
read (n); <-- pobiera ze standardowego wejścia wartość n
for i:=1 to n do <-- początek pętli
read (a[i]); <-- pobiera w pętli n liczb ze standardowego wejścia i zapisuje je na miejscach a[1]... a[n] tablicy a
licz:=0;
for i:=1 to n do <-- tu się zaczyna pętla
if a[i]=0 <-- sprawdza, czy na miejscu a[i] w tablicy a stoi 0
then licz:=licz+1; <-- jeżeli tak, zwiększa licznik --- robi to n razy w pętli
write (licz); <-- wypisuje licznik, czyli liczbę tych elementów tablicy a, które są równe 0
read (licz); <-- bez sensu programistycznego, ma sens jeżeli chodzi o kontakt z użytkownikiem - czeka po
end. <-- prostu na wpisanie liczby i naciśnięcie enter.