<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
unit ASM;
interface
type SF=(integer,integer);
function AddSF(a,b:SF):SF;
function SubSF(a,b:SF):SF;
function MultSF(a,b:SF):SF;
function DivSF(a,b:SF):SF;
implementation
function Gcd(p:SF):integer;
begin
(var a,var b):=p;
a:=abs(a); b:=abs(b);
while b>0 do (a,b):=(b,a mod b);
Result:=a
end;
function ReductSF(p:SF):SF;
begin
var t:=Gcd(p);
if t>1 then Result:=(p[0] div t,p[1] div t)
else Result:=p
end;
function AddSF(a,b:SF):=ReductSF((a[0]*b[1]+a[1]*b[0],a[1]*b[1]));
function SubSF(a,b:SF):=ReductSF((a[0]*b[1]-a[1]*b[0],a[1]*b[1]));
function MultSF(a,b:SF):=ReductSF((a[0]*b[0],a[1]*b[1]));
function DivSF(a,b:SF):=ReductSF((a[0]*b[1],a[1]*b[0]));
end.
<u>***** Пример работы с модулем *****</u>
uses ASM;
begin
var a:=(5,24);
var b:=(7,8);
var c:=AddSF(a,b);
Writeln(a[0],'/',a[1],'+',b[0],'/',b[1],'=',c[0],'/',c[1])
end.
<u>Результат</u>
5/24+7/8=13/12
Program n1;
type z = array of integer;
var a: z;
i,n,x,j,buf: integer;
f: text;
begin
randomize;
assign(f,'input.txt');
reset(f);
n:=0;
readln(f,x);
setlength(a,x);
while not eof(f) do
begin
read(f,a[n]);
n:=n+1;
end;
close(f);
for i:=0 to n-2 do
for j:=i+1 to n-1 do
if a[i]>a[j] then begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
assign(f,'output.txt');
rewrite(f);
for i:=0 to x-1 do write(f,a[i],' ');
close(f);
end.
var x: integer;
begin
readln(x);
if (x=0) or (x<0) then
write(0)
else
if (x>1) then
write(x*x)
else
write(x);
end.
Вроде как так, с точками с запятой, надеюсь, не ошиблась.
При х=14 значение 'у' будет 196.
<h2>Код программы:</h2><h3>(пароль: 105)</h3>
program raf105;
const pass = 105;
var enterpass, x:integer;
begin
repeat
write('Введите пароль: ');
readln(enterpass);
if enterpass = pass
then
while 1=1 do
writeln('Молодец')
else x += 1;
until x=5;
end.
<h2>Результаты работы программы:</h2><h3>1.</h3>
Вывод: Введите пароль:
Ввод: 105
Вывод: Молодец Молодец Молодец Молодец Молодец Молодец Молодец Молодец Молодец...
<h3>2.</h3>
Вывод: Введите пароль:
Ввод: 123
Вывод: Введите пароль:
Ввод: 106
Вывод: Введите пароль:
Ввод: 0
Вывод: Введите пароль:
Ввод: 104
Вывод: Введите пароль:
Ввод: 666
5 гб = 5242880 бит ;
5242880 / 30 = 174762.66 (раз)