Методичка_2013_14_весна(1курс) / Лаб_ раб_3а_ф_ф_доп
.doc
ЛАБОРАТОРНАЯ РАБОТА №3а(доп)
ИСПОЛЬЗОВАНИЕ ФУНКЦИЙ В КАЧЕСТВЕ АРГУМЕНТОВ
Цель работы: Изучить возможности функций, варианты их описания и использования в случае, когда аргументом функции является другая функция.
Требования к выполнению работы:
Для выполнения всех расчетов использовать функцию, выполняющую основные расчеты.
В качестве аргумента данной функции использовать функции, которые формируют значения геометрической функции; значения элементов массива; значения элементов матрицы; массив; матрицу.
Выводить все промежуточные результаты .
Теоретические положения
Пример: Заданы две функции
cos(x)+1.3*x
2*cos(x)-2*x
для которых нужно найти максимальные значения функции и соответстующее значение аргумента
void f_max(float (*ptf)(float),
float xn,float xk,float dx,
float *max, float *xxk )
{float y, x=xn;
*max=ptf(x);
do
{
y=ptf(x);
if (y>=*max) {*max=y;*xxk=x;}
x=x+dx;
}
while(x<xk);
}
float f1 (float x)
{ return cos(x)+1.3*x;}
float f2 (float x)
{ return 2*cos(x)-2*x;}
void main()
{ float x1,x2, max1,max2,
xn1=-2,xn2=-4,xk1=3,xk2=5,
dx1=0.1,dx2=0.1;
f_max(f1, xn1, xk1, dx1, &max1, &x1);
printf("\n x1= %6.1f max1= %6.2f \n",x1, max1);
f_max(f2, xn2, xk2, dx2, &max2, &x2);
printf("\n x2= %6.1f max2= %6.2f \n",x2, max2);
}
Варианты индивидуальных заданий
№ вар-та |
Индивидуальные задания |
|
1 |
Заданы три функции и интервалы изменения аргументов -4 +4 0 +5 x*exp(-x) 1 +4 |
Найти максимальное и минимальное значение функции. |
2 |
Заданы три функции и интервалы изменения аргументов cosx/(1+x) -5 +2 sinx/(1+x) 0 +7 x*sinx(1+x2) 3 +7 |
Найти максимальное значение первой производной |
3 |
Заданы три функции и интервалы изменения аргументов sin(2x+0.5)/(2+cos(x2+10)) -3 +2 cos(0.8x+1.2)(1.5+sin(x2+0.5)) 0 +5 -3 +2
|
Найти максимальное значение второй производной |
4 |
Заданы три функции и интервалы изменения аргументов x*cosx/(1+x2) -4 +4 0 +5 1 +4 |
Найти максимальное значение функции с помощью производной |
5 |
Заданы три функции и интервалы изменения аргументов 1- +6 -1 +4 x*cosx/(1+x2) 0 +6
|
Найти минимальное значение функции с помощью производной |
6 |
Заданы три функции и интервалы изменения аргументов 1/(3+2cosx) x*cosx/(1+x2)
|
Определить, есть ли точка перегиба на заданном интервале. Результаты работы функции-аргумента возвратить через аргументы.
|
7 |
Заданы три функции и интервалы изменения аргументов (x2-1)*10-2x -4 +4 -6 +1 exp(5-x)/sinx 0 +4
|
Найти минимальное значение первой производной |
8 |
Заданы три функции и интервалы изменения аргументов x*sinx(1+x2) -4 +4 x*cosx/(1+x2) 0 6 x*exp(-x) -3 -1
|
Найти минимальное значение второй производной Результаты работы функции-аргумента возвратить через аргументы. |
9 |
Заданы три массива, элементы которых формируются по различным формулам. Найти отношение между максимальным и минимальным значениями элементов массива. |
a[i]=1.4i-2.9sin(i/2) b[j]=11.2j+18.1tan(j+1.5) d[k]=1.5(k-3.2)-1.1*k
a[20], b[10], d[20] |
10 |
Заданы три массива, элементы которых формируются по различным формулам. Найти для каждого массива разность между максимальным и средним арифметическим значениями. |
d[i]=3.1*i-59.7*i2 p[k]=-6.9*sin(k)+31.2*k c[j]=2.8*j+5.1*sin(j/2+0.5)
d[10], p[22], c[12] |
11 |
Заданы три массива, элементы которых формируются по различным формулам. Найти разность между максимальным и минимальным значениями элементов массива. |
a[i]=9.6i-15.3cos(i+1.5) c [j]=1.5(j-3.2)-1.1*j q[l]=11.6tan(8.2l) a[10],c[15],q[16] Формировать весь массив с помощью функции |
12 |
Заданы три функции и интервалы изменения аргументов -4 +4 0 +5 x*exp(-x) 1 +4 |
Найти максимальное и минимальное значение функции. Результаты работы функции-аргумента возвратить через аргументы. |
13 |
Заданы две матрицы, элементы которых формируются по различным формулам. Найти сумму элементов, расположенных на главной диагонали. |
a[i][j]=1.6i+5.3cos(j+1.5) c [k][m]=1.5(k-3.2)-1.1*m
a[10][10],c[5][5], |
14 |
Заданы две матрицы, элементы которых формируются по различным формулам. Найти разность между максимальным и минимальным значениями элементов массива. |
b[i][j]=0.6i-5.3tan(j+1.5) d [k][r]=1.5(k-3.2)+5.1*r
b[6][10],d[8][5], |
15 |
Заданы три массива, элементы которых формируются по различным формулам. Найти отношение между максимальным и минимальным значениями элементов массива. |
a[i]=1.4i-2.9sin(i/2) b[j]=11.2j+18.1tan(j+1.5) d[k]=1.5(k-3.2)-1.1*k a[20], b[10], d[20] Формировать весь массив с помощью функции |
16 |
Заданы три функции и интервалы изменения аргументов (x2-1)*10-2x -4 +4 -6 +1 exp(5-x)/sinx 0 +4
|
Найти минимальное значение первой производной Результаты работы функции-аргумента возвратить через аргументы |
17 |
Заданы две матрицы, элементы которых формируются по различным формулам. Найти сумму элементов, расположенных на побочной диагонали. |
a[i][j]=1.6i+5.3cos(j+1.5) c [k][m]=1.5(k-3.2)-1.1*m
a[10][10],c[5][5] Формировать весь массив с помощью функции |