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

Написать программу, которая удваивает меньшее из двух чисел и увеличивает на два большее из чисел

👇
Ответ:
Var a, b : integer;
Begin
  read(a,b);
  if a < b then begin
   a:= a+b;
   b := a-b;
   a:= a--b;
  end;
  writeln(a+2,' ', b * 2);
End.
4,4(92 оценок)
Открыть все ответы
Ответ:
zhanik2017
zhanik2017
21.10.2020

//Обьявляем дополнительные переменные и главный массив, а также два дополнительных - они будут "половинками".

var

 a, b, c: array [1..100] of longint;

 i, min, n, j, t: longint;

begin

 //Читаем количество элементов в нашем массиве.

 readln(n);

 

 //Читаем массив.

 for i := 1 to n do read(a[i]);

 

 //Заполняем первую "половинку".

 for i := 1 to n div 2 do b[i] := a[i];

 

 //Заполняем вторую "половинку". Но раз это уже вторая "половинка" главного массива, то и

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

 for i := n div 2 + 1 to n do c[i - n div 2] := a[i];

 

 //Теперь отсортируем первую "половинку" методом выбора. Идея этого метода

 //основывается на том, что мы ищем минимальный среди неотсортированных элемент,

 //а затем аем его с тем, который стоит сразу после отсортированных.

 for i := 1 to (n - 1) div 2 do

 begin

   min := i;

   for j := i + 1 to n div 2 do

     if b[min] > b[j] then

       min := j;

   if min <> i then begin

     t := b[i];

     b[i] := b[min];

     b[min] := t;

   end;

 end;

 

 //Затем вторую точно также, только стоит обратить внимание на сравнения.

 //Так как надо отсортировать по убыванию, то теперь сравнение перед "swap"-ом

 //будет другим.

 for i := 1 to (n - 1) div 2 do

 begin

   min := i;

   for j := i + 1 to n div 2 do

     if c[min] < c[j] then

       min := j;

   if min <> i then begin

     t := c[i];

     c[i] := c[min];

     c[min] := t;

   end;

 end;

 

 //А теперь по очереди выводим готовые "половинки", не забывая ставить

 //пробел после вывода каждого элемента.

 for i := 1 to n div 2 do write(b[i], ' ');

 for i := 1 to n - n div 2 do write(c[i], ' ');

end.

4,5(50 оценок)
Ответ:
malaya20061
malaya20061
21.10.2020

Номер 1

использовать Робот

алг

нач

нц пока сверху свободно

вверх

кц

нц пока сверху стена

закрасить

влево

кц

нц пока сверху не стена

влево

кц

нц пока сверху стена

закрасить

влево

кц

вверх

вправо

нц пока снизу стена

закрасить

вправо

кц

нц пока снизу не стена

вправо

кц

нц пока снизу стена

закрасить

вправо

кц

кон

Номер 2

использовать Робот

алг

нач

нц пока сверху стена

закрасить

влево

кц

вправо

нц пока сверху стена

если справа не свободно то

вправо

все

если справа свободно то

вправо

если сверху стена то

закрасить

все

все

кц

влево

нц пока снизу не стена

вниз

кц

нц пока слева не стена и снизу стена

закрасить

влево

кц

кон

4,5(68 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ