Заданы окружность радиуса R с центром в точке (x0,y0) и прямая y=ax + b . Определить, пересекает ли прямая окружность и, если не пересекает , то выше или ниже прямой она расположена. Язык си
2. "Школьный" вариант (а кто сказал, что будет легко?)
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 const nn=100; var i,n,k:integer; a:array[1..nn] of integer; begin Write('n= '); Read(n); Randomize; k:=0; for i:=1 to n do begin a[i]:=Random(199)-99; Write(a[i],' '); if a[i]>0 then Inc(k) end; Writeln; Writeln('k=',k) end.
Var a,b,c,n:integer; begin for a:=1 to 7 do for b:=a+1 to 8 do for c:=b+1 to 9 do begin n:=a*100+b*10+c; write(n:4) end; end.
var i,j,n:integer; a:array[1..4,1..5]of real; begin for i:=1 to 4 do begin for j:=1 to 5 do begin a[i,j]:=random*2-1; write(a[i,j]:20:15); if a[i,j]>=0 then n:=n+1; end; writeln; end; writeln('Количество неотрицательных: ',n); end.
var i,j,sum:integer; a:array[1..3,1..4]of integer; begin for i:=1 to 3 do for j:=1 to 4 do readln(a[i,j]); writeln('Массив:'); for i:=1 to 3 do begin for j:=1 to 4 do begin sum:=sum+a[i,j]; write(a[i,j]:4); end; writeln('sum=':8,sum); sum:=0; end; end.
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
Writeln('k=',a.Where(x->x>0).Count)
end.
Тестовое решение
n= 15
-69 10 83 -61 -21 -98 -75 -78 27 88 67 -84 61 62 -41
k=7
2. "Школьный" вариант (а кто сказал, что будет легко?)
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
const
nn=100;
var
i,n,k:integer;
a:array[1..nn] of integer;
begin
Write('n= '); Read(n);
Randomize;
k:=0;
for i:=1 to n do begin
a[i]:=Random(199)-99;
Write(a[i],' ');
if a[i]>0 then Inc(k)
end;
Writeln;
Writeln('k=',k)
end.
Тестовое решение
n= 15
28 46 88 -14 -55 -25 52 43 -7 17 71 -8 -34 56 79
k=9
begin
for a:=1 to 7 do
for b:=a+1 to 8 do
for c:=b+1 to 9 do
begin
n:=a*100+b*10+c;
write(n:4)
end;
end.
var
i,j,n:integer;
a:array[1..4,1..5]of real;
begin
for i:=1 to 4 do
begin
for j:=1 to 5 do
begin
a[i,j]:=random*2-1;
write(a[i,j]:20:15);
if a[i,j]>=0 then n:=n+1;
end;
writeln;
end;
writeln('Количество неотрицательных: ',n);
end.
var
i,j,sum:integer;
a:array[1..3,1..4]of integer;
begin
for i:=1 to 3 do
for j:=1 to 4 do
readln(a[i,j]);
writeln('Массив:');
for i:=1 to 3 do
begin
for j:=1 to 4 do
begin
sum:=sum+a[i,j];
write(a[i,j]:4);
end;
writeln('sum=':8,sum);
sum:=0;
end;
end.