Program Multy;
var i, n, x, mt:integer;
begin
write('введите целое число X ');
readln(x);
write('введите степень N ');
readln(n);
mt:=x;
for i:=1 to (n-1) do
begin
mt:=mt*x;
end;
writeln(x,' в степени ',n,' равно ',mt);
end.
Ошибка после условия, цикл будет выполнятся бесконечно, так как переменная a всегда будет a=1. Чтобы исправить это, нужно:
s=s+a
n=n+1
a=a+1
Результат - 10.
Чтобы перевести десятичное число в 2-чную систему, нужно это число последовательно делить на 2 с остатком. Например, переведём 83.
Делим
83 : 2 = 41 (остаток 1)
41 : 2 = 20 (остаток 1)
20 : 2 = 10 (остаток 0)
10 : 2 = 5 (остаток 0)
5 : 2 = 2 (остаток 1)
2 : 2 = 1 (остаток 0)
Теперь выписываем последний результат деления (у нас это 1) и после него все остатки в обратном порядке: 0 1 0 0 1 1
Получается число 1010011
Проверяем:
Цикл выполнится два раза и программа продолжить выполнение
ответ: 35
Const
n = 10;
var
x: array[1..n] of integer;
i, k: integer;
begin
Randomize; { иниациализация датчика случайных чисел }
Write('Элементы массива: ');
k := 0; { обнулили счетчик }
for i := 1 to n do { цикл для перебора всех элементов }
begin
x[i] := Random(101); { очередное случайное число в диапазоне [0;100] }
if (x[i] mod 2) = 0 then k := k + 1; { если четное, +1 в счетчик}
Write(x[i]:5)
end;
Writeln;
Writeln('Количество четных чисел в массиве равно ', k)
end.
Тестовое решение:
Элементы массива: 70 19 4 83 79 30 92 97 33 71
Количество четных чисел в массиве равно 4