Площадь трапеции определяется, как произведение полусуммы оснований на высоту трапеции. Для определения высоты трапеции h по длинам её сторон (a,b,c,d, при этом a - большее основание, b - меньшее основание) в общем случае есть формула:
var a, b, c, d, h, s: real;
begin Write('Длина большего основания: '); Readln(a); Write('Длина меньшего основания: '); Readln(b); Write('Длины боковых сторон (через пробел): '); Readln(c, d); h := sqrt(sqr(c) - sqr((sqr(a - b) + sqr(c) - sqr(d)) / (2 * (a - b)))); s := (a + b) / 2 * h; Writeln('Площадь трапеции равна ', s:0:4) end.
Тестовое решение:
Длина большего основания: 10 Длина меньшего основания: 7 Длины боковых сторон (через пробел): 3 5 Площадь трапеции равна 23.4928
begin min := 32767; max := -32768; s := 0; n := 0; Write('Введите 10 чисел через пробел '); for i := 1 to 10 do begin Read(e); if max < e then max := e; if min > e then min := e; if (e >= 100) and (e <= 999) then if (i mod 10 = 1) and (i mod 7 = 0) then begin n := n + 1; s := s + i end end; Writeln('max=', max, ', min=', min); if n > 0 then Writeln('Искомое среднее равно ', s / n:0:5) else Writeln('Нет трехзначных чисел, оканчивающихся на 1 и кратных 7') end.
var
i, sum: integer;
mas: array[1..40] of integer;
begin
randomize;
for i:=1 to 40 do
begin
mas[i]:= random(0,99);
if ((i mod 2 = 1) and (mas[i] mod 10 = 7)) then
inc(sum, mas[i]);
end;
write(sum);
end.