Помощ - Търси - Регистрирани - Календар
Пълна версия: Pascal
UniBG Forums > Дискусии > Dexter's Lab > Програмиране
som3333oneeee
CODE
program ppp16;
       uses crt;
       var
       n:integer;
       k:integer;
       s:real;
       label endp;
       label loop;
             begin
             clrscr;
       writeln('-Begin-');
               write('n =');readln(n);
       writeln;
               writeln('n =',n);
               s:=1;
               k:=1;
loop:              if n=1 then goto endp
                      else
                          k:=k+1;
                          n:=n-1;
                          s:=s*k;
                          goto loop;
endp:               writeln('n! = s =',s);
              writeln('-End-');
end.


Проблема ми в това,че не мога да разбера как се иззчеслява това
CODE
s:=1;
               k:=1;
loop:              if n=1 then goto endp
                      else
                          k:=k+1;
                          n:=n-1;
                          s:=s*k;

Например при входни данни 5,резултатът е 120,а не 1*2=2?
Narf
При положение n=5, докато n стигне до стойност 1, цикъла се изпълнява 4 пъти, като с всяко негово изпълнение стойностите на k и s се увеличават.
При последното му изпълнение k=5, а s вече е 24 ...
som3333one
Мерси!
Това е семпла версия на форума. За да видиш пълната версия, която има повече информация, по-добра подредба и снимки, натисни тук.
Invision Power Board © 2001-2008 Invision Power Services, Inc.