Program A;var X,sum,i: integer;beginsum := 0 ;Readln(X);for i:= 1 to X doif (x mod i = 0) then sum := sum + i;Writeln(sum);end.
const
handsfree = false;
nmax = 10;
random_min = -50;
random_max = 50;
var
a: array[0..nmax] of real;
i, n: integer;
sum, x: real;
begin
{ввод массива}
n := nmax;
if handsfree then begin
for i := 0 to n do
begin
a[i] := random(random_max - random_min) + random_min;
write(a[i], ' ');
end
end
else begin
for i := 0 to n do
readln(a[i]);
end;
writeln();
{подсчет суммы}
write('x = ');
readln(x);
sum := a[n];
for i := n - 1 downto 0 do
sum := sum * x + a[i];
writeln('S = ', sqrt(sum));
end.
1. В языке семейства С/С++ есть <u>функция sqr, вычисляющая квадрат</u>. Но в этих языках важен регистр, поэтому запись Sqr некорректна. Да и операция & в этих языках означает взятие адреса, что тут никак не годится.
2.<u>Sqr в языке Паскаль</u> также означает <u>возведение в квадрат</u>. Но в Паскале нет знака операции &
3. А еще SQR есть <u>в BASIC</u> (регистр там неважен, можно и Sqr написать), и это <u>функция извлечения квадратного корня.</u> В BASIC операция & - это конкатенация (объединение) строк. Применение к числовым данным вызывает их предварительное преобразование к строкам.
Итог: Sqr(196) & Sqr(9) в BASIC означает SQR(169) & SQR(9) и вернет строковое значение "133" в VBA, но в MS DOS QBasic вызовет переполнение.
<span>1 символ в кодировке Виндовс-1251 = 1 байт.
1536 симв.*1 байт/симв. = 1536 байт.
1536 / 1024 = 1,5кБайт.
</span>