Pascal tablica

pacjent_21
Użytkownik
Użytkownik
Posty: 14
Rejestracja: 20 cze 2007, o 11:50
Płeć: Mężczyzna
Lokalizacja: Kraków

Pascal tablica

Post autor: pacjent_21 »

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.
Awatar użytkownika
klaustrofob
Użytkownik
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

Post autor: klaustrofob »

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.
ODPOWIEDZ