//Цикл while выполняется до тех пор, пока истинно условие s + n <= 600, т. е. сумма s и n определяет, сколько раз выполнится цикл.
begin
//Следовательно, два действия s := s + 40 и n := n − 20 можно объединить, так как цикл зависит от двух переменных. Таким образом, на каждом повторе (умными словами итерации) добавляется 20.
s:= s+40
n:=n-20
end
//Решим уравнение: 400 + x > 600.
Цикл остановится, когда x будет больше 200. Поскольку каждый раз добавляется по 20, будет 11 повтор.
По итогу, получится на 11-ой итерации: 100 + 40 * 11 = 540.
Объяснение кода №2;
//Объяснения немного короче напишу
var s, n: integer;
begin
s:=500
n:=200
//Цикл while выполняется до тех пор, пока истинно условие s div n >= 2, т. е. целочисленное деление s на n определяет, сколько раз выполнится цикл.
while s div n >= 2 do begin
s:= s+5
n:= n+5
end
//Следовательно, каждый раз к обеим переменным прибавляется по 5. Целочисленное деление s на n будет меньше 2 тогда, когда s примет значение 605, а n — значение 305.
Совет: Если ты вдруг 10 или 11 класс, и не понимаешь данные штуки, можешь не вникать уже в них, поздно. Изучай си, си++ в универе пригодится :)
Function t10_q(x,q:longint):string; const s='0123456789ABCDEFGHI'; var t,m:longint; r:string; begin t:=x; r:=''; while t>=q do begin m:=t mod q; r:=s[m+1]+r; t:=t div q end; t10_q:=s[t+1]+r end;
{ тестирование } var q,n:longint; begin Write('Введите основание системы счисления (2-20): '); Readln(q); Write('Введите натуральное число для перевода: '); Readln(n); Writeln(n,'(10)=',t10_q(n,q),'(',q,')') end.
Тестовое решение: Введите основание системы счисления (2-20): 16 Введите натуральное число для перевода: 16350 16350(10)=3FDE(16)
Объяснение кода №1;
var s, n: integer; //Объявление переменных
begin //Начало программы
s:=100 //Значение переменной S равняется 100
n:=300 //Значение переменной n равняется 300
while s+n <= 600 do
//Цикл while выполняется до тех пор, пока истинно условие s + n <= 600, т. е. сумма s и n определяет, сколько раз выполнится цикл.
begin
//Следовательно, два действия s := s + 40 и n := n − 20 можно объединить, так как цикл зависит от двух переменных. Таким образом, на каждом повторе (умными словами итерации) добавляется 20.
s:= s+40
n:=n-20
end
//Решим уравнение: 400 + x > 600.
Цикл остановится, когда x будет больше 200. Поскольку каждый раз добавляется по 20, будет 11 повтор.
По итогу, получится на 11-ой итерации: 100 + 40 * 11 = 540.
Объяснение кода №2;
//Объяснения немного короче напишу
var s, n: integer;
begin
s:=500
n:=200
//Цикл while выполняется до тех пор, пока истинно условие s div n >= 2, т. е. целочисленное деление s на n определяет, сколько раз выполнится цикл.
while s div n >= 2 do begin
s:= s+5
n:= n+5
end
//Следовательно, каждый раз к обеим переменным прибавляется по 5. Целочисленное деление s на n будет меньше 2 тогда, когда s примет значение 605, а n — значение 305.
Совет: Если ты вдруг 10 или 11 класс, и не понимаешь данные штуки, можешь не вникать уже в них, поздно. Изучай си, си++ в универе пригодится :)