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

Создайте программу на python для игры "танки в лабиринте"

45
если это будет правильно, могу даже прислать деньги!

👇
Открыть все ответы
Ответ:
iraapukhtina7
iraapukhtina7
10.05.2023
Без проверки полагаем, что по заданным координатам точек можно построить треугольники.

//PascalABC.Net 3.0, сборка 1111
type
  Point=record
  x,y:double
  end;

function TriangleSquare(A,B,C:Point):double;
begin
  Result:=0.5*abs(A.x*(B.y-C.y)+B.x*(C.y-A.y)+C.x*(A.y-B.y))
end;

procedure GetPoint(c:char; var A:Point);
begin
  Write('Введите координаты точки ',c,': ');
  Readln(A.x,A.y)
end;

var
  A:array['A'..'F'] of Point;
  i:'A'..'F';
  s1,s2:double;
begin
  for i:='A' to 'F' do GetPoint(i,A[i]);
  s1:=TriangleSquare(A['A'],A['B'],A['C']);
  s2:=TriangleSquare(A['D'],A['E'],A['F']);
  if s1>s2 then Writeln('Площадь первого треугольника больше')
  else
    if s2>s1 then Writeln('Площадь второго треугольника больше')
    else Writeln('Площади треугольников равны')
end.

Тестовое решение:
Введите координаты точки A: -4 3.7
Введите координаты точки B: -6.3 0
Введите координаты точки C: 10.2 5.93
Введите координаты точки D: 7.143 8.1
Введите координаты точки E: -6 -3
Введите координаты точки F: 7.4 -5.7
Площадь второго треугольника больше
4,8(90 оценок)
Ответ:
vladkanter
vladkanter
10.05.2023
1. Современное решение

// PascalABC.NET 3.2, сборка 1437 от 03.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
  var min:=a.Min;
  a.Transform(x->x<0?x*min:x); a.Println
end.

Пример
n= 15
-34 7 0 -48 4 42 35 14 -47 6 -29 43 46 40 -18
1632 7 0 2304 4 42 35 14 2256 6 1392 43 46 40 864

2. Популярное до сих пор в школах решение на TurboPascal 7.01 (1983г.)

uses Crt;
const
  nn=100;
var
  i,n,min:integer;
  a:array[1..nn] of integer;
begin
  ClrScr;
  Randomize;
  Write('n='); Read(n);
  min:=100;
  for i:=1 to n do begin
    a[i]:=Random(101)-50;
    Write(a[i],' ');
    if a[i]<min then min:=a[i]
    end;
  Writeln;
  for i:=1 to n do
    if a[i]<0 then a[i]:=a[i]*min;
  for i:=1 to n do
    Write(a[i],' ');
  Writeln;
  ReadKey
end.
4,7(87 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ