Объяснение:
Тут смысла нет передавать массив в качестве параметра, т.к. он описан как const .
Текст будет примерно такой
const x=0.2;
y :array[1..9]of real=(0.1,0.2,-0.3,-0.04,5,6,-7.03,8,9);
function t(u:real):real;
begin
t:=sin(u)+cos(u);
end;
function p(a,b:integer):real;
var i:integer; d:real;
begin
d:=1;
for i:= a to b do
d:=d*y[i];
p:=d;
end;
Begin
cls;
writeln('z(x,y)=',exp(ln(t(x))*3)/p(1,9)+sqr(p(1,9))/exp(ln(t(x))*2/3):6:4);
readln;
End.
Если нужно массив передать в функцию, то его описывают как новый тип переменной и передают
Вот так, например:
const z=9;
type mas=array[1..z] of integer;
var
u :mas;
i:integer;
// Вывод массива на экран
// a -массив n-размер,text - что хотим написать
procedure showmas(b:mas;n:integer;text:string);
var
i:integer;
begin
writeln(text);
for i:=1 to n do
write(b[i],' ');
readln;
end;
begin
for i:=1 to 9 do
u[i]:= random(20);
showmas(u,10,'Исходный массив u');
end.
b = 6, a = 30
Объяснение:
В первых 2 строках мы задаем a и b значения 6 и 2 соответственно, на третьей строке мы задаем b значение, которое является ответом на выражение после := :
a/2*b
Так как выражение еще не решено, значение переменной b еще не изменилось, подставляем числа:
6/2*2=6
Таким образом, b = 6
Теперь можно перейти на следующую строку, где мы задаем значение переменной a:
Опять же, переменная a еще не изменилась, так как не решено выражение, поэтому переменная a все еще равна 6.
Решаем выражение
2*a+3*b
2*6+3*6=12+18=30
Таким образом, a = 30.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <malloc.h>
int main(void)
{
int *x, n, i, m, q=0;
printf("Enter the size of the array ");
scanf_s("%d", &n);
x = malloc(n * sizeof(int));
for (i = 0; i < n; i++)
{
printf("a[%d] = ", i+1);
scanf_s("%d", &x[i]);
}
for (i = 0; i < n; i++)
{
for (m = 1; m > i && m <= n; m++)
if (x[i] != x[m])
q += 1;
}
printf("The quantity of different numbers is %d", q);
free(x);
getch();
return 0;
}
Объяснение: