// PascalABC.NET 3.2, сборка 1389 от 01.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var F:real->real:=x->2*x*x-6*x+8; var a,b:real; Write('a b= '); Read(a,b); Writeln('Min=',Range(a,b,9).Select(x->F(x)).Min) end.
Пример a b= -2 6 Min=3.50617283950617
2. Решение "по-школьному" ("дедушкин метод")
function F(x:real):real; begin F:=2*x*x-6*x+8 end;
var a,b,y,h,min:real; i:integer; begin Write('a b= '); Read(a,b); h:=(b-a)/9; min:=F(a); for i:= 1 to 9 do begin y:=F(a+i*h); if y<min then min:=y end; Writeln('Min=',min) end.
begin n1 := 0; n2 := 0; {предполагается, что нумерация домов начинается с 1} writeln('Вводите количество жителей в порядке возрастания номеров домов'); writeln('Окончание ввода - по отрицательному значению'); i := 1; repeat read(k); if k > 0 then begin if i mod 2 = 0 then n2 := n2 + k else n1 := n1 + k; i := i + 1 end until k < 0; write(#13#10, 'Большее количество людей проживает на '); if n1 > n2 then writeln('левой стороне улицы.') else writeln('правой стороне улицы.') end.
Тестовое решение:
Вводите количество жителей в порядке возрастания номеров домов Окончание ввода - по отрицательному значению 13 56 25 31 98 35 72 64 -1
Большее количество людей проживает на левой стороне улицы.
Информационный объём сообщения,
Объяснение: