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

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

👇
Ответ:
юлька438
юлька438
13.09.2022
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.
4,5(48 оценок)
Открыть все ответы
Ответ:
sweet690
sweet690
13.09.2022
По сути нужно найти набор букв "child" и добавить сзади "ren".
1) Начало
2) Ввод числа n и массива s(n)
2.1) k = 0
3) Цикл по i от 1 до n-4
3.1) Если (s(i)="c") и (s(i+1)="h") и (s(i+2)="i") и (s(i+3)="l") и (s(i+4)="d"), то
3.1.1) k = k + 3
3.1.2) Переопределяем размер массива на s(n+k)
3.1.3) Цикл по j от i+5 до n
// Отодвигаем на 3 знака все буквы после s(i+4)="d"
3.1.3.1) s(j+3) = s(j)
3.1.3.2) Конец цикла по j
3.1.4) s(i+5)="r"; s(i+6)="e"; s(i+7)="n"
3.1.5) Конец Если
3.2) Конец цикла по i
4) Вывод массива s(n+k)
5) Конец
4,6(39 оценок)
Ответ:
merey221
merey221
13.09.2022
1) Начало
2) Ввод матрицы A(5, 10)
3) Цикл по i от 1 до 5 // по строкам
3.1) max = A(i, 1); min = A(i, 1); nmax = 1; nmin = 1;
3.2) Цикл по k от 1 до 10 // по столбцам
3.2.1) Если A(i, k) > max, то // находим максимум в строке и его номер
3.2.1.1) max = A(i, k); nmax = k;
3.2.1.2) Конец Если
3.2.2) Если A(i, k) < min, то // находим минимум в строке и его номер
3.2.2.1) min = A(i, k); nmin = k;
3.2.2.2) Конец Если
3.2.3) Конец цикла по k // по столбцам
3.2.4) A(i, nmin) = max; A(i, nmax) = min // меняем их местами
3.3) Конец цикла по i // по строкам
4) Вывод массива A(5, 10)
5) Конец.
Сложность такой программы - 1 (очень простая).
Всего лишь два цикла в цикле и два сравнения чисел.
4,8(38 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ