В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
милка328
милка328
23.03.2023 08:04 •  Информатика

Разработайте программу по следующему описанию. В некой игре-стратегии есть солдаты и герои. У всех есть свойство, содержащее уникальный номер объекта, и свойство, в котором хранится принадлежность команде. У солдат есть метод "иду за героем", который в качестве аргумента принимает объект типа "герой". У героев есть метод увеличения собственного уровня.
В основной ветке программы создается по одному герою для каждой команды. В цикле генерируются объекты-солдаты. Их принадлежность команде определяется случайно. Солдаты разных команд добавляются в разные списки.
Измеряется длина списков солдат противоборствующих команд и выводится на экран. У героя, принадлежащего команде с более длинным списком, поднимается уровень.
Отправьте одного из солдат первого героя следовать за ним. Выведите на экран идентификационные номера этих двух юнитов.

Показать ответ
Ответ:
ibatullinazuhra
ibatullinazuhra
14.09.2021 16:31
Var
{вводим точки, записываем в переменную max расстояние до первой точки, а в переменную max2 - номер точки. Если расстояние до следующей точки меньше, чем до первой точки, то сохраняем новые значения в max и max2}
x1,y1,x2,y2,x3,y3,max,max2:real;
    begin
         readln(x1,y1,x2,y2,x3,y3);       
           max:=sqrt(sqr(x1)+sqr(y1));       
           max2:=1;     
               if sqrt(sqr(x2)+sqr(y2))<=max then     
                  begin       
                      max:=sqrt(sqr(x2)+sqr(y2));       
                      max2:=2;     
                  end;     
              if sqrt(sqr(x3)+sqr(y3))<=max then     
                   begin       
                     max:=sqrt(sqr(x3)+sqr(y3));       
                     max2:=3;     
                   end;     
writeln(max,' ',max2);     
end.
0,0(0 оценок)
Ответ:
saleev16
saleev16
07.06.2021 03:37
Program dlksjijh;
var
  A: array[1..40] of integer;
  i: integer;
begin
  randomize;
  writeln('исходные данные:');
  for i := 1 to 40 do
  begin
    A[i] := Random(21);
    write(A[i], ' ');
  end;
  writeln;
  writeln('преобрезованный массив:');
  for i := 1 to 40 do
  begin
    if A[i] mod 2 = 0 then
      A[i] := Round(A[i]/2)
    else
      A[i] := A[i] * 3;
    write(A[i], ' ');
  end;
end.

Имена математических операций - с прописной буквы, и, поскольку есть  Random(), то самой первой строкой программы должна быть команда randomize, то есть активация генератора случайных чисел.

У меня работает.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота