<span>106
function f(x: integer): integer;
var
L, M: integer;
begin
L := x - 12;
M := x + 12;
while L <> M do
if L > M then
L := L - M
else
M := M - L;
f := L;
end;
begin
var x := 100;
var r := 0;
repeat
x := x + 1;
r := f(x);
until r = 2;
writeln(x);
end.
</span>
Program program1;
var
x, y: real;
begin
writeln('Введите X: ');
readln(x);
y := x * 2 + 3;
writeln('y = ', y);
end.
1.жёсткий диск-<span>не является периферийным</span>
PROGRAM B01;
CONST
max = 11;
TYPE
vector = array[1..max]of integer;
VAR
M, I, K:vector;
j:byte;
{ Массивы I,K предварительно реорганизовать следующим образом: на первом
месте, в данных массивах должен стоять элемент с минимальным значением}
procedure reorganize_vector(var vt:vector);
var i, j:byte;
min, tmp:integer;
begin
// вначале ищем минимальный элемент и запоминаем его место в массиве
j:=1;//
min:=vt[1];//назначаем наименьшим - первый элемент
for i:=2 to max do
if (min>vt[i]) then begin
min:=vt[i];
j:=i;//индекс наименьшего числа
end;
// теперь меняем местами первый элемент массива с наименьшим числом
tmp := vt[1];//запоминаем значение первого элемента
vt[1] := min;//меняем его на наименьший элемент
vt[j] := tmp;//на место наименьшего ставим значение из первого элемента
end;
// процедура для вывода массива на экран
procedure print_vector(var vt:vector);
var j:byte;
begin
for j:=1 to max do
write(vt[j]:6);
writeln(' ');
end;
BEGIN
writeln('Дано:');
//заполняем массивы случаынйми данными
randomize;
for j:=1 to max do begin
I[j]:=random(-128,127);
K[j]:=random(-128,127);
end;
//выводим их на экран
write('массив I[',max,']: ');
print_vector(I);
write('массив K[',max,']: ');
print_vector(K);
writeln(' ');
writeln('Реорганизовать массивы так, чтобы на первом месте ');
writeln('должен стоять элемент с минимальным значением');
reorganize_vector(I);
reorganize_vector(K);
write('массив I[',max,']: ');
print_vector(I);
write('массив K[',max,']: ');
print_vector(K);
writeln(' ');
writeln('Сформировать массив М[',max,'], элементы которого вычисляются');
writeln('по формуле M[j] = I[j] + K[j]');
for j:=1 to max do
M[j] := I[j] + K[j];
write('массив M[',max,']: ');
print_vector(M);
END.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
type
Point=record
x,y:real
end;
function GetPoint(c:char):Point;
begin
Writeln('Введите координаты точки ',c,':');
Read(Result.x,Result.y)
end;
function Line(A,B:Point):real;
begin
Result:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;
function SqTriangle(pA,pB,pC:Point):real;
begin
var a:=Line(pB,pC);
var b:=Line(pA,pC);
var c:=Line(pA,pB);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
var p:=(a+b+c)/2;
Result:=sqrt(p*(p-a)*(p-b)*(p-c))
end
else Result:=0
end;
begin
var A:=GetPoint('A');
var B:=GetPoint('B');
var C:=GetPoint('C');
Writeln('Площадь треугольника равна ',SqTriangle(A,B,C))
end.
<u><em>Тестовое решение:</em></u>
Введите координаты точки A:
-5 3.18
Введите координаты точки B:
1.45 6.2
Введите координаты точки C:
6 -5.93
Площадь треугольника равна 45.98975