Есть код на языке с int x = 0; for (int i = 0; i < = 50; i++) { x += 2 * (i - x); } нужно его переделать на assembler написал часть кода, а дальше не знаю, .model small .stack 100h .data x db 0 i db 0 .code start: mov eax, x mov ecx, i for_begin: mov al,2 mul ecx sub ecx,eax for_end inc ecx cmp ecx, 50 jbe start
#Поход в магазин
#создаем список, в котором храним 1 элемент "пустой карман"
a = ["Пустой карман"]
#запрашиваем у пользователя количество денег, передаем это значение в интовую переменную, переменное n даем значение 1(кол-во вещей)
cash = int(input ("Привет, сколько у тебя денег? "))
n = 1
#запускаем цикл, который будет работать, пока у нас денег больше 200 единиц
while cash > 200:
#спрашиваем у пользователя, что мы покупаем, даем ввести эти данные в переменную tovar
print ("Делаем покупку!")
tovar= input ("Что покупаем первым? ")
#добавляем в список наш введенный товар (берез значение из переменной tovar)
a.append(tovar)
#вычитаем из наших денег 100 единиц
cash= cash- 100
#увеличиваем кол-во купленных вещей на 1
n+= 1
#выводим на экран сообщение "Идём домой!"
print ("Идем домой!")
#удаляем из списка элемент "пустой карман"
a.pop(0)
#выводим наш список вещей
print("Мы купили",a)
var
a,b:array[1..n] of integer;
i,j,k,m,c:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=random(51)-25;
write(a[i]:5);
end;
writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin j:=j+1; b[j]:=a[i]; end;
m:=j;
for k := 1 to m-1 do
for i := 1 to m-k do
if (b[i]<b[i+1]) then
begin
c:=b[i]; b[i]:=b[i+1]; b[i+1]:=c;
end;
writeln('Вс массив:');
for i:=1 to m do write(b[i]:5);
writeln;
j:=0;
for i:=1 to n do
if a[i]<0 then begin j:=j+1; a[i]:=b[j]; end;
writeln('Полученный массив:');
for i:=1 to n do write(a[i]:5);
writeln;
end.
Пример:
Исходный массив:
-15 -8 -6 -13 15 24 5 -2 14 -1 19 -2 -7 -8 -23 20 -2 7 -2 -10
Вс массив:
-1 -2 -2 -2 -2 -6 -7 -8 -8 -10 -13 -15 -23
Полученный массив:
-1 -2 -2 -2 15 24 5 -2 14 -6 19 -7 -8 -8 -10 20 -13 7 -15 -23