Program treyg;
uses crt;
var x1,y1,x2,y2,x3,y3 : integer;
a,b,c,s,p : real;
begin
write('Введите координаты первой точки: ');
Readln(x1,y1);
write('Введите координаты второй точки: ');
Readln(x2,y2);
write('Введите координаты третьей точки: ');
Readln(x3,y3);
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:=sqrt(sqr(x2-x3)+sqr(y2-y3));
c:=sqrt(sqr(x3-x1)+sqr(y3-y1));
if ((a+b)>c) and ((b+c)>a) and ((c+a)>b) then
writeln('Данные координаты не могут являться вершинами треугольника')
else
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln('Площадь треугольника ',s);
end
end.
X = int(input())
y = int(input())
p = int(input())
p = <span> float (100 + p) / 100
</span>y = y + x * 100
<span>y = y * p
</span><span>x = int (y // 100)
</span><span>y = int (y % 100)
</span><span>print (x, y) </span>
Определяем время передачи первого файла:
V=240 кбайт=240*1024*8 бит
v=192 бит/с
t=V/v=240*1024*8/192=10*1024=10240 секунд
Для второго файла:
v=640 бит/с
t=1024*10 секунд
V -?
V=v*t=640*1024*10 бит=640*1024*10/(8*1024) кбайт=800 кбайт
Ответ: 800 кбайт
<em>1. Современное решение</em>
<em>// PascalABC.NET 3.2, сборка 1488 от 21.06.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
function From5to10(Self:sequence of string):sequence of integer;
extensionmethod;
// Перевод последовательности заданных на строках пятиричных чисел
// в последовательность целых десятичных чисел
begin
foreach var s in Self do begin
var r:=0;
var pa:=1;
foreach var c in s.Reverse do begin
r+=c.ToDigit*pa; pa*=5
end;
yield r
end
end;
begin
var s:=ReadlnString('Введите строку:').MatchValues('[0-4]+').From5To10;
if s.Count=0 then Writeln('S=-1')
else Writeln('S=',s.Sum)
end.
<u>Пример</u>
Введите строку: sdf812973j223k
S=73
<em>2. Решение на TurboPascal ("Так писали наши отцы и деды в 1983 году, так и нас сейчас учат в школе")</em>
uses Crt;
function From5to10(n:string):integer;
{ Перевод из пятиричного числа в строковом представлении
в целое десятичное }
var
i,pa,s:integer;
begin
s:=0;
pa:=1;
for i:=Length(n) downto 1 do begin
s:=s+pa*(Ord(n[i])-Ord('0'));
pa:=pa*5
end;
From5to10:=s
end;
var
s,w:string;
i,k,r:integer;
begin
ClrScr;
Write('Введите строку: ');
Readln(s);
w:='';
r:=0;
k:=0;
for i:=1 to Length(s) do begin
if Pos(s[i],'01234')>0 then begin
if w='' then k:=k+1;
w:=w+s[i]
end
else
if w<>'' then begin
r:=r+From5to10(w);
w:=''
end
end;
if k=0 then Writeln('S=-1')
else Writeln('S=',r);
ReadKey
end.
Word - Абзац - Отступы и интервалы - Интервал