Объяснение:
program functionx;
// в константах задаем интервал функций, в пределах которого будем вычислять их значения
const
LoX = -10;
HiX = 10;
var
// указываем типы переменных с которыми будем работать:
// Х - целое число с шагом 1 из вышеопределенного интервала
// fx результат расчета функции пока не знаем, поэтому он не целый
x : integer;
fx : real;
begin
// в цикле последовательно перебираем значения Х из заданного интервала от LoX до HiX
for x:= LoX to HiX do begin
// здесь выбираем два варианта расчета функции:
// если (if) Х > 3, то (then) подставляем Х в одну функцию,
// в остальных случаях (else) - в другую
if x > (-3)
then fx := ln(x+3)/(x*x+9)
else fx := (-x)*(-x)-1.1*x+9;
// выводим на экран, сначала Х, затем значение f(x)
writeln ('x = ',x,', f(x) = ',fx : 10:5);
end;
end.
Free Pascal Compiler version 2.6.2-8 [2014/01/22] for x86_64
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling main.pas
Linking a.out
19 lines compiled, 0.1 sec
/usr/bin/ld.bfd: warning: link.res contains output sections; did you forget -T?
x = -10, f(x) = 120.00000
x = -9, f(x) = 99.90000
x = -8, f(x) = 81.80000
x = -7, f(x) = 65.70000
x = -6, f(x) = 51.60000
x = -5, f(x) = 39.50000
x = -4, f(x) = 29.40000
x = -3, f(x) = 21.30000
x = -2, f(x) = 0.00000
x = -1, f(x) = 0.06931
x = 0, f(x) = 0.12207
x = 1, f(x) = 0.13863
x = 2, f(x) = 0.12380
x = 3, f(x) = 0.09954
x = 4, f(x) = 0.07784
x = 5, f(x) = 0.06116
x = 6, f(x) = 0.04883
x = 7, f(x) = 0.03970
x = 8, f(x) = 0.03285
x = 9, f(x) = 0.02761
x = 10, f(x) = 0.02353
...Program finished with exit code 0
Press ENTER to exit console.
var s: array of integer;
x,n,p,sum,max,min,i,k,o,m:integer;
begin
p:=1;
sum:=0;
m:=-1;
o:=-1;
max:=-MaxInt;
min:=MaxInt;
Write('n= ');
read(n);
setlength(s,n);
Writeln('Перечислите значения:');
for x:=0 to n-1 do begin
read (s[x]);
k:=s[x];
if (k>0) and ((k mod 5) =0) then sum:=sum+k;
if ((k mod 10)=0) and (k>max) then begin max:=k; o:=x; end;
if ((k mod 2) = 0) and (k<min) then begin min:=k; m:=x; end;
end;Writeln('Сумма = ',sum);
if (ABS(o-m)=1) or (o=m) or (o=-1) or (m=-1) then write('Диапазон не найден')
else begin
if (o>m) then
for i:=m+1 to o-1 do
p:=s[i]*p
else
for i:=o+1 to m-1 do
p:=s[i]*p;
writeln('Произведение = ',p);
end;
end.