М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
valeriargavina
valeriargavina
10.10.2021 05:45 •  Информатика

1)выполнить вычисления в двоичной системе:
1101×1110
(запишите само решение в столбик )
2)составьте программу вычисления диаметра круга d=2r
20 ,

👇
Открыть все ответы
Ответ:
Aleksandr123123
Aleksandr123123
10.10.2021

Я не понял в первом задании что за переменная s написана в условии, вероятно там опечатка и должно быть написано переменной k, но да ладно...

Объяснение:

Задание 1

Алгоритм начинается с того, что переменной k присваивается значение 4

затем из строчки

for i := 1 to 3 do

мы понимаем, что переменная i последовательно принимает значение от 1 до 3 с шагом 1(то есть 1, 2 и 3), при каждом срабатывании алгоритма

При i равной 1 наш цикл запускается в первый раз и строчка

k := i + 2*k

ни что иное как

k := 1 + 2*4

то есть переменной k присваивается значение 9, затем цикл начинается заново, но переменная i уже имеет значение 2, а переменная k с раза заимела значение 9, тогда

k := 2 + 2*9

Теперь переменная k имеет значение 20, начинается 3й и последний цикл, где переменная i принимает значение 3, тогда

k := 3 + 2*20

И как итог переменная k примет значение 43, что программа и выведет на экран, согласно строчке

writeln(k)

Задание 2

Программа начинается с того, что переменным Dat[1...10] определённые значение, они указаны в самой программе и целесообразность их переписывания ещё раз стремится к 0

Затем переменной m присваивается значение 0 в строчке

m := 0

Затем начинается цикл for для переменной k, которая является просто номером переменной Dat[]

В этом цикле сравнивается значение переменной Dat[k] с переменной m и, в случае если значение переменной Dat[k] оказывается больше значения переменной m, то переменной m присваивается значение переменной Dat[k]

В первый раз мы сравниваем Dat[1]  (ранее мы Dat[1] присвоили значение 56) с m (изначально значение 0)

А так как 56 > 0, то переменной m присваивается значение 56

Это видно из следующих строчек кода:

     if Dat[k] > m then

     begin

     m := Dat[k];

     end;

Во второй раз мы работаем уже с переменной Dat[2] (Её значение равно 70)

А так как 70 > 56, то переменной m присваивается значение 70

Далее программа последовательно сравнивает все остальные переменные Dat[3...10], с переменной m, которая имеет значение 70, но так как ни одно из оставшихся значений переменной Dat[k] не превосходит 70, то переменная m больше не меняется, а значит на выходе программа выведет на экран число 70, которое соответствует значению переменной m, что можно увидеть в строчке

writeln(m)

Постарался максимально подробно... Но если планируешь сдавать ОГЭ по инфе, то лучше самому такие задачи решать, для начала скачав себе на ПК паскаль, переписывая туда код и потом думать почему ответ такой и как так вышло...

Удачи

4,4(10 оценок)
Ответ:
сонька177
сонька177
10.10.2021
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.
4,7(42 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ