Pascal
Версия от 19:10, 16 февраля 2010; Den (обсуждение | вклад)
Содержание
[убрать]Станадартные программы для реализации алгоритмов на языке Pascal
Работа с текстовыми файлами. Чтение и запись:
var f1,f2:text; sum,a,b:integer; begin Assign(f1,'input.dat'); Assign(f2,'output.sol'); Rewrite(f2); Reset(f1); Read(f1, a); Read(f1, b); close(f1); sum:=a+b; Write(f2, sum); close(f2); end.
Перевод числа из десятичной системы исчисления в систему исчисления с основанием m:
program Сonversion; uses SysUtils; const nmax=1000000000; var i,v,x,m,j:integer; a:array[1..nmax] of byte; begin i:=0; ReadLn(x,m); {Вводим число x которое необходимо перевести в систему исчисления с основанием m} v:=x; While v>0 do begin inc(i); a[i]:=v mod m; v:=v div m end; Write(x,' in the calculus of reason ',m,' = '); for j:=i downto 1 do Write(a[j]); ReadLn; end.
Перевод числа из системы исчисления с основанием m в десятичную систему:
program OppositeToConversion; uses SysUtils; Function Power(x,n:integer):integer; {функция для возведения в степень n числа x} var p,i:integer; begin if n=0 then Power:=1 else begin p:=x; for i:=2 to n do p:=p*x; Power:=p; end; end; var st:string; i,v,sum,m:integer; a:array[1..1000000] of byte; begin ReadLn(st); ReadLn(m); v:=length(st); for i:=1 to v do a[v-i+1]:=StrToInt(st[v-i+1]); sum:=0; for i:=1 to v do sum:=sum+Power(m,i-1)*a[v-i+1]; WriteLn(sum); ReadLn; end.
--Den 19:09, 16 февраля 2010 (UTC)