это ТЕГИ Они задают форматирование
текста.
Командный интерфейс - особенность: работает только с командами, нет графики
Графический интерфейс - особенность: графически-обустроенный интерфейс
Объектно-ориентированный интерфейс - особенность: объединение двух графический интерфейсов | преимущества: легок в управлении
// Выбирайте, тут три цикла, while, repeat и for
//------------------------
program LoopWhile;
begin
var (a, b) := (-10, 10);
while a <= b do
begin
Println(a, Abs(a));
a += 1
end;
end.
//------------------------
program LoopRepeat;
begin
var (a, b) := (-10, 10);
repeat
Println(a, Abs(a));
a += 1
until a > b;
end.
//------------------------
program LoopFor;
begin
var (a, b) := (-10, 10);
for var i := a to b do
Println(i, Abs(i));
end.
program
zadagha_1;
var
a:
array[1..8] of integer;
i,sum:integer;
begin
writeln('vvedite
8 chisel');
for i:=1 to
8 do read(a[i]);
sum:=0;
for i:=1 to
8 do begin
if i mod 2
<> 0 then begin
sum:=sum+a[i];
writeln(a[i]);
end;
end;
writeln();
writeln('summa
elementov c nechetnim N =', sum);
end.
program
zadagha_2;
var
b:
array[1..1000] of integer;
i,a,n:integer;
begin
writeln('vvedite
chislo - kolichestvo elementov massiva');
readln(n);
for i:=1 to
n do begin
b[i]:=random(1000);
write(b[i]:6);
end;
writeln();
writeln('vvedite
chislo');
readln(a);
write
('elementi > dannogo chisla: ');
for i:=1 to
n do begin
if
b[i]>a then write (i:4);
end;
end.
program
zadacha_3;
var
a:
array[1..100] of integer;
i,n,k:
integer;
begin
n:=random(100);
for i:=1 to
n do begin
a[i]:=random(1000)-500;
write(a[i]:6);
end;
writeln();
writeln('vvedite
chislo');
readln(k);
writeln('v
massive chisly ',k, ' kratni: ');
for i:=1 to
n do begin
if (a[i] mod k = 0) and (a[i]>0) then begin
write(a[i]:6);
end;
end;
end.
Алгоритмы быстрого возведения в степень (дихотомический алгоритм возведения в степень, бинарный алгоритм возведения в степень) — алгоритмы, предназначенные для возведения числа {\displaystyle x} x в натуральную степень {\displaystyle n} n за меньшее число умножений, чем это требуется в определении степени[1]. Алгоритмы основаны на том, что для возведения числа {\displaystyle x} x в степень {\displaystyle n} n не обязательно перемножать число {\displaystyle x} x на само себя {\displaystyle n} n раз, а можно перемножать уже вычисленные степени. В частности, если {\displaystyle n=2^{k}} n=2^k степень двойки, то для возведения в степень {\displaystyle n} n достаточно число возвести в квадрат {\displaystyle k} k раз, затратив при этом {\displaystyle k} k умножений вместо {\displaystyle 2^{k}} 2^k. Например, чтобы возвести число {\displaystyle x} x в восьмую степень, вместо выполнения семи умножений {\displaystyle x\cdot x\cdot x\cdot x\cdot x\cdot x\cdot x\cdot x} {\displaystyle x\cdot x\cdot x\cdot x\cdot x\cdot x\cdot x\cdot x} можно возвести число в квадрат ( {\displaystyle x^{2}=x\cdot x} {\displaystyle x^{2}=x\cdot x}), потом результат возвести еще раз в квадрат и получить четвертую степень ( {\displaystyle x^{4}=x^{2}\cdot x^{2}} {\displaystyle x^{4}=x^{2}\cdot x^{2}}), и наконец результат еще раз возвести в квадрат и получить ответ ( {\displaystyle x^{8}=x^{4}\cdot x^{4}} {\displaystyle x^{8}=x^{4}\cdot x^{4}}).
Кроме того, некоторые алгоритмы для дальнейшей оптимизации используют тот факт, что операция возведения в квадрат быстрее операции умножения за счёт того, что при возведении в квадрат цифры в сомножителе повторяются[2].
Бинарный алгоритм возведения в степень был впервые предложен в XV веке персидским математиком Аль-Каши[3].
Данные алгоритмы не всегда оптимальны. Например, при использовании схемы «слева направо» быстрое возведение в степень n = 15 потребует выполнения трёх операций умножения и трёх операций возведения в квадрат, хотя возведение в 15-ю степень можно выполнить и за 3 умножения и 2 возведения в квадрат[4].