Программа 1 Создаётся обработка нажатия кнопки Объявляется переменная A и S типа int A присваивается значение 2 строки 2 столбца из таблицы Excel S и i приравниваются к нулю Цикл до тех пор, пока S не будет больше A, в котором выполняется прибавление единицы к S и i Также в цикле происходит заполнение i + 1 строки 1 столбца.Программа 2Создаётся обработка нажатия кнопкиОбъявляется R2, R3, R1beg, R2End, dR1, R12, R13, R23 типа float R2 парсит значение из ячейки 3 строки 1 столбца (Val(), скорее всего, примерная аналогия к TryParse()) R3 парсит значение 3 строки 2 столбца R1beg 3 строки 3 столбцаR1End 3 строки 4 столбцаdR1 3 строки 5 столбца Значению NumRow присваивается 6Создаётся цикл: R1 = R1beg с условием, пока R1 не будет меньше или равен R1End, при этом каждую итерацию происходит добавление dR1 к R1 В этом цикле R12 присваивается значение R1 + R2 + (R1 * R2 / (double)R3), причём R3 явно приводится к типу doubleТак же происходит и с R13, которому присваивается R1 + R3 + (R1 * R3 / (double)R2)Так же происходит и с R23, которому присваивается R2 + R3 + (R2 * R3 / (double)R1)Поочередно в ячейки NumRow строки 1-4 (с первого по четвёртый) столбца заносятся приведённые к строке значения R1, R12, R13, R23, после чего к NumRow добавляется единица.Программа 3Создаётся цикл, где i = 1 с условием i меньше или равно 5, i с каждой итерацией прибавляет к себе единицуБерётся значение ячейки 3 строки i столбца и приравнивается к пустой строке ("")Создаётся цикл, где j = 6 с условием j меньше или равно 16, j с каждой итерацией прибавляет к себе единицуБерётся значение ячейки j строки 1 столбца и приравнивается к пустой строке ("")Создаётся цикл, где k = 6 с условием k меньше или равно 16, k с каждой итерацией прибавляет к себе единицуБерётся значение ячейки k строки 2 столбца и приравнивается к пустой строке ("")Создаётся цикл, где A = 6 с условием A меньше или равно 16, A с каждой итерацией прибавляет к себе единицуБерётся значение ячейки A строки 3 столбца и приравнивается к пустой строке ("")Создаётся цикл, где b = 6 с условием b меньше или равно 16, b с каждой итерацией прибавляет к себе единицуБерётся значение ячейки b строки 4 столбца и приравнивается к пустой строке ("")
Var m : array[0..6] of Integer; i,k,N : Integer; Begin For i:=0 to 6 do m[i]:=0; Readln(N); k:=6; While N>0 do Begin If N>=Power(2,k) then Begin N:=N-Trunc(Power(2,k)); Inc(m[k]); end else Dec(k); end; For i:=0 to 6 do Writeln(Power(2,i),' ',m[i],' шт.'); end.
Еще вариант: Const NN = 7; money : array[1..7] of Integer = (1,2,4,8,16,32,64); Var m : array[1..NN] of Integer; i,k,N : Integer; Begin For i:=1 to NN do m[i]:=0; Readln(N); k:=NN; While N>0 do Begin If N>=money[k] then Begin N:=N-money[k]; Inc(m[k]); end else Dec(k); end; For i:=1 to NN do Writeln(money[i],' ',m[i],' шт.'); end.
i,k,N : Integer;
Begin
For i:=0 to 6 do m[i]:=0;
Readln(N);
k:=6;
While N>0 do
Begin
If N>=Power(2,k) then
Begin
N:=N-Trunc(Power(2,k));
Inc(m[k]);
end else Dec(k);
end;
For i:=0 to 6 do Writeln(Power(2,i),' ',m[i],' шт.');
end.
Еще вариант:
Const
NN = 7;
money : array[1..7] of Integer = (1,2,4,8,16,32,64);
Var m : array[1..NN] of Integer;
i,k,N : Integer;
Begin
For i:=1 to NN do m[i]:=0;
Readln(N);
k:=NN;
While N>0 do
Begin
If N>=money[k] then
Begin
N:=N-money[k];
Inc(m[k]);
end else Dec(k);
end;
For i:=1 to NN do Writeln(money[i],' ',m[i],' шт.');
end.