<em>// PascalABC.NET 3.3, сборка 1583 от 25.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
function nDigits(n:int64):integer; // если число
begin
Result:=0;
if n<0 then n:=-n;
while n>0 do begin
Result+=1;
n:=n div 10
end
end;
function nDigits(s:string):=s.Length; // если строка
begin
Writeln(nDigits(1234567890123456)); // 16
Writeln(nDigits('123456789012345678901234567890')) // 30
end.
<u>Результат</u>
16
30
Можно сделать, например, так, как показано в прилагаемом файле.
Формулы:
В столбце B =1+1/A2
В столбце C =B2<1,2
В ячейке C12 =ИНДЕКС(A2:C11;ПОИСКПОЗ(ИСТИНА;C2:C11;0);1)
Нужно составить уравнения трех прямых, ограничивающих область (см. вложение). А затем можно писать программу. Считаем попаданием в область, если точка находится строго ВНУТРИ треугольника. Если надо учитывать и границы, неравенства будут нестрогими.
<u>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var (x,y):=ReadReal2('Введите координаты х и у точки:');
if (y>-3) and (y<5*x/3+2) and (y<-5*x/3+2) then Writeln('попали')
else Writeln('не попали')
end.
Var a:array [1..10] of integer;
i,k1,k2:integer;
begin
for i:= 1 to 10 do
a[i]:= Random(20,100);
writeln(a);
for i:=1 to 10 do
if a[i] mod 2 = 0 then k1:=k1+1
else k2:=k2+1;
writeln('Чётных элементов: ',k1);
writeln('Нечётных элементов: ',k2)
end.
Const n=10;
var a:array[1..n] of integer;
i,s:integer;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(51)-25;
write(a[i]:4);
end;
writeln;
s:=0;
for i:=1 to n do s:=s+a[i];
writeln('среднее арифметическое элементов массива = ',s/n);
end.
Пример:
Массив A:
4 -25 -8 17 1 15 -23 -13 16 -22
среднее арифметическое элементов массива = -3.8