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

Железная дорога при строительстве новой железной дороги возникли проблемы. дорога пролегает по холмистой местности, однако сами пути должны идти строго горизонтально. поэтому руководство строительной компании приняло решение выровнять поверхность земли на этом участке. главная проблема состоит в том, что привозить или вывозить землю на стройку стоит 10000$ за кубический метр. поскольку бюджет железной дороги невелик, этого нельзя себе позволить. поэтому главный инженер принял решение выровнять поверхность, используя только землю, из которой состоят холмы. теперь самая сложная состоит в том, чтобы выяснить высоту над уровнем моря, на которой будет пролегать дорога. это ответственное было поручено вам. через каждый метр от начала участка была измерена высота над уровнем моря. напишите программу, которая по данным измерений рассчитывает искомую высоту. входные данные первая строка входного файла input.txt содержит количество n (1 < n < = 30000) точек, в которых была замерена высота. вторая строка содержит результаты замеров – i-ое число строки содержит высоту над уровнем моря точки, находящейся на расстоянии (i-1) метр от начала участка. все высоты – целые неотрицательные числа, не превосходящие 10000. считайте, что между соседними точками измерений земная поверхность строго прямолинейна. выходные данные в выходной файл output.txt выведите ответ на с точностью, не меньшей 10-5. примеры примеры № input.txt output.txt 1 4 0 1 1 0 0.6666666667 2 5 2 2 2 2 2 2.0000000000 с

👇
Ответ:
MrVyacheslav228
MrVyacheslav228
01.05.2021
Представим, что мы сняли всю землю с холмов до нулевого уровня в пределах полосы шириной 1 метр, а потом засыпали её обратно так, чтобы уровень стал горизонтальным на высоте h.

Посчитаем объем земли, который был снят.
Всю землю можно разделить на фигуры толщиной 1 метр, в основании которых трапеции с высотой 1 м и основаниями - двумя соседними измерениями высоты. Тогда объем каждой фигуры V(i) = (h(i) + h(i + 1)) / 2, полный объем V = V(1) + V(2) + ... + V(N - 1) = h(1)/2 + (h(2) + h(3) + ... + h(N - 2)) + h(N - 1)/2

Объем земли, который использовался для засыпания, равен V = h (N - 1).

Эти объемы, конечно, равны, тогда h = (h(1)/2 + h(N - 1)/2 + (h(2) + h(3) + ... + h(N - 2))/(N - 1)

PascalABC.NET 3.2.1518:
begin
  var N := ReadInteger;
  print(ReadSeqInteger(N)
           .Select((x, i) -> (i = 0) or (i = N - 1) ? x/2 : x)
           .Sum / (N - 1))
end.

С вводом-выводом в файл:
begin
  var f := OpenRead('INPUT.TXT');
  var N := f.ReadInteger;
  var S := f.ReadInteger / 2;
  for var i := 2 to N - 1 do
    S += f.ReadInteger;
  S += f.ReadInteger / 2;
  print(S / (N - 1))
end.
Железная дорога при строительстве новой железной дороги возникли проблемы. дорога пролегает по холми
4,8(47 оценок)
Открыть все ответы
Ответ:
DevilWoods
DevilWoods
01.05.2021
// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var xa,ya,xb,yb,xc,yc:real;
  Write('Введите координаты точки А: '); Read(xa,ya);
  Write('Введите координаты точки B: '); Read(xb,yb);
  Write('Введите координаты точки C: '); Read(xc,yc);
  var xd:=(xb+xc)/2;
  var yd:=(yb+yc)/2;
  var ma:=sqrt(sqr(xd-xa)+sqr(yd-ya));
  Writeln('ma=',ma:0:5);
  var AB:=sqrt(sqr(xb-xa)+sqr(yb-ya));
  var AC:=sqrt(sqr(xc-xa)+sqr(yc-ya));
  var BC:=sqrt(sqr(xc-xb)+sqr(yc-yb));
  var Wb:=sqrt(AB*BC*(sqr(AB+BC)-AC*AC))/(AB+BC);
  Writeln('Wb=',Wb:0:5)
end.

Результат
Введите координаты точки А: 0 0
Введите координаты точки B: 2 1
Введите координаты точки C: -2 3
ma=2.00000
Wb=2.66667

Pascal. записать листинг программы на языке паскаль: треугольник задан координатами вершин а(0; 0),
4,6(81 оценок)
Ответ:
0508761681
0508761681
01.05.2021

Составим программу вычисления суммы ряда чисел 5, 10, 15, …, 50 на языке программирования Pascal ABC. Введем обозначения следующих величин: пусть s – сумма чисел ряда, которую надо найти, а i – порядковый номер чисел ряда. Начальное значение суммы s будет равным нулю. Так как чисел несколько, то будем использовать в программе оператор цикла с параметром for. По условию задачи числа суммируются, начиная с числа 5, с интервалом 4 числа, поэтому значение i в каждом цикле будем увеличивать на 4.

Программа может выглядеть так:

program zadacha;

uses crt;

var s,i: integer;

begin

s:=0; {Задание начального значение суммы s}

for i:=5 to 50 do begin

s:=s+i; {Вычисление суммы чисел}

i:=i+4; {Увеличение значения параметра i на 4}

end;

writeln ('s=',s) {Вывод результата суммы s}

end.

Можно решить данную задачу и вторым используя операцию mod:

program zadacha;

uses crt;

var s,i: integer;

begin

s:=0; {Задание начального значение суммы s}

for i:=5 to 50 do

if i mod 5=0 {Поиск чисел, кратных 5}

then s:=s+i; {Вычисление суммы чисел}

writeln ('s=',s); {Вывод результата суммы s}

end.

ответом будет s=275.

Составить программу нахождения значения функции у= 5х+х2, при х=50, 49, 48, 47, …, 40.

program zadacha;

uses crt;

var x,y,i:integer;

begin

for i:=50 downto 40 do begin y:=5*i+i*2; writeln ('y=',y); end;

writeln ('y=',y)

end.

Объяснение:

4,4(10 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ