• Предмет: Информатика
  • Автор: yulechkaveryuti
  • Вопрос задан 7 лет назад

Даю 20 баллов
1) Составить программу, нахождения суммы чисел на определённом интервале [a;b] (процедурой и функцией)
2) Придумать задачу (из физики), составить программу для её решения с применением процедуры и функции
УБЕДИТЕЛЬНАЯ ПРОСЬБА РЕШЕНИЯ ИЗ ИНТЕРНЕТА НЕ БРАТЬ
ЗАРАНЕЕ БЛАГОДАРЮ

Ответы

Ответ дал: Аноним
0
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018
// Внимание! Если программа не работает, обновите версию!

procedure pSum(a,b:integer; var r:integer);
begin
  r:=a.To(b).Sum
end;

function fSum(a,b:integer):=a.To(b).Sum;

begin
  var (a,b):=ReadInteger2('Начало и конец интервала:');
  var c:integer;
  pSum(a,b,c);
  Writeln('Сумма при помощи процедуры: ',c);
  Writeln('Сумма при помощи функции  : ',fSum(a,b))
end.

Пример
Начало и конец интервала: 3 28
Сумма при помощи процедуры: 403
Сумма при помощи функции  : 403

----------------------------------------

Велосипедист на тренировке в первый день проехал 19 км за 54 минуты. В каждый последующий день он проезжал этот же путь на 2 минуты быстрее, чем в предыдущий. Найти среднюю скорость велосипедиста, которую он показал, тренируясь неделю.

Решение
Средняя скорость будет равна отношению всего пройденного пути к затраченному времени. Путь за неделю составит 19×7 км.
Время может быть найдено как 54+(54-2)+(54-4)+...

function T(a0,h:real; k:integer):real;
begin
  Result:=0;
  var ts:=a0;
  loop k do begin
    Result+=ts; ts-=h
    end;
  Result/=60
end;

procedure Phisics(n:integer; t0,dt,s1:real);
begin
  var s:=n*s1;
  var v:=s/T(t0,dt,n);
  Writeln('Средняя скорость ',v,' км/час')
end;

begin
  var n:=ReadInteger('Количество дней:');
  var s:=ReadReal('Длина трека, км:');
  var (t0,th):=ReadReal2('Время в первый день и величина улучшения, мин:');
  Phisics(n,t0,th,s)
end.

Результат
Количество дней: 7
Длина трека, км: 19
Время в первый день и величина улучшения, мин: 54 2
Средняя скорость 23.75 км/час

Вас заинтересует