Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

16.12.2007, 20:04
|
|
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме: 409147
Репутация:
33
|
|
Блок схема
Люди вот есть задача, я сделал блок-схему кто-нибудь проверит???
задача:
Код:
program f4;
uses crt; { Подключаем стандартный модуль crt, без него не работает intTostr }
var ss,s:string; n,i,k:longint;
procedure um(a,b:string;var c:string);
var n,k,i,j,x,p:integer;
d:string;
begin
n:=length(s); { возвращает количество элементов в массиве или строке }
k:=length(b); { аналогично }
c:=''; d:=''; p:=0;
for i:=1 to n+k do d:=d+'0';
for j:=k downto 1 do
begin
p:=0;
for i:=n downto 1 do begin
x:=(ord(a[i])-ord('0'))*(ord(b[j])-ord('0'))+p+ord(d[i+j])-ord('0');
d[i+j]:=chr((x mod 10)+ord('0')); { показывает порядковый номер integer }
p:=x div 10;
end;
d[j]:=chr(ord(d[j])+p);
end;
i:=1;
n:=length(d);
while (d[i]='0') and (i<n) do inc(i);
for k:=i to n do c:=c+d[k];
end;
procedure sum(a,b:string;var c:string);
var x,i,p,n,k:integer;
begin
n:=length(a);
k:=length(b);
p:=0;
c:='';
if n<k then begin
for i:=n+1 to k do
a:='0'+a;
end else
begin
for i:=k+1 to n do
b:='0'+b; end;
n:=length(a);
for i:=n downto 1 do
begin
x:=ord(a[i])-ord('0')+ord(b[i])-ord('0')+p;
c:=chr((x mod 10)+ord('0'))+c;
p:=x div 10;
end;
if p<>0 then
begin
inc(n);
c:='1'+c;
end;
end;
function chstr(a: Integer): string;
var s: string;
begin
Str(a, s); { Конвертирует целое число или число с плавающей точкой в строку }
chstr:= s;
end;
begin
writeln('+--------------------------------------------------------+');
Writeln('+-‡*¤*з* ** **宦¤Ґ*ЁҐ д*Єв®аЁ*«*, ўЁ¤*: 1!+2!+3!+..+n!');
write('+-‚ўҐ¤ЁвҐ зЁб«®, n>10: ');
read(n);
if(n>=10) then begin
ss:='';
for i:=1 to n do begin
s:='1';
for k:=1 to i do um(s,chstr(k),s);
sum(ss,s,ss);
end;
writeln('+-1!+2!+3!+..+',n,'!=',ss);
writeln('+--------------------------------------------------------+');
write('+-‚ўҐ¤ЁвҐ «оЎ®Ґ зЁб«® Ё **¦¬ЁвҐ Enter ');
read(n);
end
else
writeln('+-?§ўЁ*ЁвҐ, *® ў*иҐ зЁб«® ¬Ґ*миҐ 10----------------------+');
writeln('+--------------------------------------------------------+');
end.
а вот и блок-схема,
я там отдельно описал две процедуры и саму блок-схему, в ворде
http://slil.ru/25242496/2031462441/П...н_4.doc<br />
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|