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

4. напишите алгоритм пути домой используя систему команд.например, вперед 2 шага.примечание: один шаг - один цветок.​

👇
Ответ:
ruslanmorozko
ruslanmorozko
03.06.2022

1. Вперед 2 шага

2. Влево 2 шага

3. Прямо 2 шага

4. Вправо 2 шага

5. Вперед 4 шага

Если нужно уложиться во все 9:

1. Вперед 2 шага

2. Влево 2 шага

3. Прямо 2 шага

4. Влево 3 шага

5. Вперед 4 шага

6. Вправо 3 шага

7. Вниз 2 шага

8. Вправо 2 шага

9. Вперед 1 шаг

4,6(42 оценок)
Открыть все ответы
Ответ:
MARZHIVANKINA
MARZHIVANKINA
03.06.2022
//PascalABC.Net 3.2
{1}
begin
var a:=readArrinteger('Вводите: ', readinteger('n ='));
write ('Ср. арифметическое: ', a.Average);
end.

{2}
begin
var a:=readarrinteger('Водите: ', readinteger('n ='));
var sum:=0;
for var i:=0 to length(a)-1 do if i.isodd then sum+=a[i];
write ('Сумма: ', sum);
end.

{3}
begin
var a:=readarrinteger('Вводите: ', readinteger('Кол-во элементов: '));
var otr:=0; var pol:=0;
for var i:=0 to length(a)-1 do if a[i]<0 then otr+=1 else pol+=1;
write('Массив: '); a.Println;
if otr=pol then write ('Отрицательных и положительных элементов равное кол-во') else 
if otr>pol then write('Отрицательных больше на ', otr-pol) else
write ('Положительных больше на ', pol-otr);
end.
4,6(78 оценок)
Ответ:
Noooo123456
Noooo123456
03.06.2022
Будем суммировать все положительные числа, пока не встретится 0. Если полученная сумма сразу делится на 3, то нам повезло. Если нет, надо что-то делать - либо прибавлять отрицательные числа, либо вычитать положительные. Я не буду делать различия между ними - в любом случае надо вычитать модули чисел.
- Если сумма дает остаток 1, то надо вычесть или одно число с остатком 1, или два числа с остатком 2 (вычитать три или более числа нерационально: числа, делящиеся на 3, картину не портят; вычитание трёх чисел с одинаковым остатком не влияет на остаток суммы, а среди трёх чисел с остатком 1 или 2 всегда найдутся два одинаковых).
- Аналогично (с точностью до перестановки 1 и 2) поступаем, если сумма даёт остаток 2.
Если после этих всех ухищрений сумма стала отрицательной, просто выводим 0, как будто мы взяли только последний 0.

Код (PascalABC.NET 3.2)
begin
  var sum := 0;
  var mins := MatrFill(2, 2, MaxInt div 2);
  var temp: integer;
  repeat
    temp := readinteger;
    if temp > 0 then
      sum := sum + temp;
    temp := abs(temp);
    var i := temp mod 3 - 1;
    if i > -1 then
      if temp < mins[i, 0] then
        (mins[i, 0], mins[i, 1]) := (temp, mins[i, 0])
      else if temp < mins[i, 1] then
        mins[i, 1] := temp;
  until temp = 0;
  var i := sum mod 3 - 1;
  if i > -1 then
    sum := max(sum - mins[i, 0], sum - mins.Row((i + 1) mod 2).Sum);
  writeln(max(sum, 0))
end. 
4,5(95 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ