задание одномерного массива:
var ИмяМассива:array [НижняяГраница..ВерхняяГраница] of ТипЭлементов;
задание двумерного массива:
var ИмяМассива:array [НижняяГраница1..ВерхняяГраница1,НижняяГраница2..ВерхняяГраница2 ] of ТипЭлементов;
заполение массива:
одномерный массив: for i:=1 to 5 do readln(a[i]); {ввод с клавиатуры}
двумерный массив: for i:=1 to 3 do
for j:=1 to 2 do readln(a[i,j]);
вывод массива на экран:
в столбец: for i:=1 to 5 do writeln(a[i]);
в строку: for i:=1 to 5 do write(a[i],' ');
матрица двумерного массива:
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]:4);
writeln;
end;
действия с одномерным массивом:
вычисление суммы элементов:
s:=0;
for i:=1 to n do s:=s+a[i];
подсчет элементов, удовлетворяющих условию:
k:=0;
for i:=1 to n do
if a[i] УсловиеОтбора then k:=k+1;
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
var
x:double;
begin
foreach x in [0.1,0,1.5] do
Writeln('x=',x:3:1,' y=',f(x):0:5)
end.
Результат выполнения программы:
x=1.5 y=-10.11288
x=0.1 y=6.14508
x=0.0 y=5.00000
Обратите внимание, что порядок следования х не такой,
как указан в программе: элементы множества
считаются неупорядоченными и компилятор вправе
располагать их произвольно.
Более традиционное решение
function f(x:double):double;
begin
result:=(3*x+2*x+5)/(cos(x)-sin(x))+power(x,3)
{ Cкорее всего, в условии ошибка и должно быть не 3х, а 3x^2,
тогда надо числитель писать как (3*sqr(x)+2*x+5) }
end;
const
a:array[1..3] of double=(0.1,0,1.5);
var
i:integer;
begin
for i:=1 to 3 do
Writeln('x=',a[i]:3:1,' y=',f(a[i]):0:5)
end.
Результат выполнения программы:
x=0.1 y=6.14508
x=0.0 y=5.00000
x=1.5 y=-10.11288