vasenkova1981
?>

Заранее, ) напишите функцию, вычисляющую длину отрезка по координатам его концов. с этой функции напишите программу, вычисляющую периметр треугольника по координатам его вершин

Информатика

Ответы

Rakitin
1. Современное короткое, но скорее всего, мало понятное школьнику решение

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
function LineLen(a,b:(real,real)):=
  Sqrt(Sqr(b.Item1-a.Item1)+Sqr(b.Item2-a.Item2));

begin
  var a:array[1..3] of (real,real);
  var x,y:real;
  Writeln('Введите три пары координат x,y');
  for var i:=1 to 3 do begin Read(x,y); a[i]:=(x,y) end;
  Writeln('Периметр треугольника равен ',LineLen(a[1],a[2])+
    LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.

Тестовое решение:
Введите три пары координат x,y
3 -3.5 -6 8 4 5.2
Периметр треугольника равен 33.7449685386805

2. Традиционное, но возможно тоже не очень понятное школьнику решение

// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
type
  Point=record
    x,y:real
    end;

function LineLen(a,b:Point):real;
begin
  Result:=Sqrt(Sqr(b.x-a.x)+Sqr(b.y-a.y));
end;
 
var
  a:array[1..3] of Point;
 
begin
  Writeln('Введите три пары координат x,y');
  for var i:=1 to 3 do Read(a[i].x,a[i].y);
  Writeln('Периметр треугольника равен ',LineLen(a[1],a[2])+
    LineLen(a[1],a[3])+LineLen(a[2],a[3]))
end.
Андреевич-Екатерина1974

В PascalABC.NET есть много что готового. В частности, используя новые возможности, можно записать всё одной (вернее, двумя) строчками:

Код (PascalABC.NET):

##

ArrRandomInteger.Select((val, ind) -> Format('a[{0}] = {1}', ind, val)).Print(NewLine)

Пример вывода:

a[0] = 83

a[1] = 6

a[2] = 58

a[3] = 61

a[4] = 64

a[5] = 49

a[6] = 59

a[7] = 9

a[8] = 83

a[9] = 75

Более традиционный (в стиле "старого Паскаля") подход можно реализовать, например, так:

Код (PascalABC.NET):

var

 a: array[1..10] of integer;

 i: integer;

begin

 for i := 1 to 10 do

 begin

   a[i] := random(101);

   writeln('a[', i, '] = ', a[i]);

 end;

end.

Пример вывода:

a[1] = 7

a[2] = 21

a[3] = 15

a[4] = 78

a[5] = 91

a[6] = 72

a[7] = 63

a[8] = 56

a[9] = 38

a[10] = 81

e3913269

16 бит

Объяснение:

I = t * f * i * k, где

I - информационный объём аудио файла (размер файла, содержащего запись звука)

t - длительность звучания (секунды)

f - частота дискретизации (Гц, количество значений амплитуды звука, фиксируемых за одну секунду)

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

k - количество каналов записи (1 - моно, 2 - стерео и т.д.)

Дано:

t = 2 мин = 120 сек

I = 5,1 Мбайт = 42781900,8 бит

f = 22 050 Гц

k = 1

Найти:

i

I = t * f * i * k

i = I / (t * f * k)

i = 42781900,8 / (120 * 22 050 * 1) = 42781900,8 / 2646000 ≈ 16 бит

1 мин = 60 сек

1 байт = 8 бит

1 Кбайт = 1 024 байт

1 Мбайт = 1 024 Кбайт

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Заранее, ) напишите функцию, вычисляющую длину отрезка по координатам его концов. с этой функции напишите программу, вычисляющую периметр треугольника по координатам его вершин
Ваше имя (никнейм)*
Email*
Комментарий*