матькорейцев2345
16.12.2021 10:43

Требуется написать для машины поста программу вычитания двух натуральных чисел, записанных в унарной системе счисления. исходные числа записываются на ленте так: уменьшаемое, затем 0, затем вычитаемое (будем считать, что вычитаемое наверняка не больше уменьшаемого и строго больше нуля). каретка в начальный момент установлена на крайней правой единице вычитаемого. после выполнения программы на ленте должен остаться результат вычитания в унарной системе (например, при начальном состоянии ленты после выполнения программы должно получиться

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
summercik2009oziid6
26.12.2020 01:52
'На первом листе внесите данные
'При добавлении записей формулу вычисления задолженности добавлять не надо
'Запускаете макрос - результат (отчет) на втором листе
'На первом листе формулы пересчитывается - результаты обновляются
'Форма в этом случае -излишне
Dim i, j, s, a

Sub Othet ()
Dim info As Variant

'Clear OTHET(2 list)
 Sheets(2).Select
    Range("A1:I1").Select
    With Selection
        .HorizontalAlignment = xlGeneral:        .VerticalAlignment = xlBottom
        .AddIndent = False:        .IndentLevel = 0:   .ShrinkToFit = False:            .MergeCells = True
    End With
    Selection.Font.Bold = True
    With Selection
    End With
Sheets(2).Cells(1, 1) = "ОТЧЕТ"

'Shapka 1 list
Sheets(1).Select
 info = Array("", "фамилия", "адрес", "дата", "стоимость заказа", "сумма аванса", "задолженность", "вид заказа")
For i = 1 To UBound(info)
 Cells(1, i) = info(i)
Next

i = 2
'Расчет долга
While Cells(i, 1) <> ""
  Cells(i, 5) = "=D" + Chr(48 + i) + "-E" + Chr(48 + i)
  i = i + 1
Wend
Rows("1:1").Select
Selection.AutoFilter
a = "" + ">" + InputBox("Укажите задолженность", "", 0) + ""
Selection.AutoFilter field:=5, Criteria1:=a, Operator:=xlAnd
Range("A1:G" + Chr(48 + i) + "").Copy Sheets(2).Range("a2")

Sheets(1).Select
Selection.AutoFilter
End Sub
0,0(0 оценок)
Ответ:
Nathoe789
02.06.2020 05:39
1)
var
a: array[1..100] of integer;
i,n: integer;
  begin
  writeln('Введите кол-во элементов массива');
    readln(n);
    writeln('Массив:');
     for i:=1 to n do
       begin
         a[i]:= random(50)+1;
         write(a[i],' ' );
       end;
       writeln;
       if a[1]<a[2] then
         begin
           writeln('Локальный минимум:',a[1]);
           exit;
         end;
     for i:=2 to n do
       if (a[i]<a[i-1]) and (a[i]<a[i+1]) then
         begin
           writeln('Локальный минимум:',a[i]);
           exit;
         end;
      writeln('Локальный минимум:',a[n]);
           end.
2)
var
a: array[1..100] of integer;
b:array[1..100] of integer;
i,n,k: integer;
  begin
    writeln('Введите кол-во элементов массива');
    readln(n);
    writeln('Массив A:');
     for i:=1 to n do
       begin
         a[i]:= random(50)+1;
         write(a[i],' ' );
         b[i]:=a[i];
       end;
       writeln;
       writeln('Массив B:');
        for k:=1 to 2 do
          for i:=1 to n do
             write(b[i],' ');
     end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота