Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Задания для лабораторной работы

Занятие 1. Передача переменных и выражений при вызове функций (передача данных по значению при вызове функции).

 

Пример 1 Предположим, необходимо вычислить

z=(ax+b)(cx+d)2+(acx+bd)3((a+c)x+b+d)4;

Здесь z равно сумме произведений полиномов, которые отличаются коэффициентами при х, свободными членами и степенями, в которые эти полиномы нужно возвести.

В принципе можно написать одно выражение на СИ для вычисления z, но оно будет громоздким. В то же время можно создать отдельную функцию, в которую передавать все исходные данные для вычисления полинома и возведения его в степень, и с помощью этой функции вычислить z.

При написании программы следует вспомнить, что для локальных переменных каждой из функций выделяется отдельная память. Поэтому допускается совпадение символических имен переменных в разных функциях. Следовательно, допускается, чтобы символические имена формальных параметров в функции совпадали с именами фактических параметров при вызове этой функции.

#include<stdio.h>

#include<math.h>

float f(float a, float x, float b, int stepen);

void main()

{

float z, a, x, b, c, d;

puts(“Введите a,x,b,c,d ”);

scanf(“%f%f%f%f%f”,&a,&x,&b,&c,&d);

z=f(a,x,b,1)*f(c,x,d,2)+f(a*c,x,b*d,3)*f(a+c,x,b+d,4);

printf(“z=%f\n”,z);

}

float f(float a, float x, float b, int stepen)

{

float v;

v=pow(a*x+b,stepen);

return v;

}

Эту функцию можно было написать проще:

float f(float a, float x, float b, int stepen)

{

return pow(a*x+b, stepen);

}

При первом вызове f(a,x,b,1) фактические параметры имеют такие же имена, как и формальные. Однако еще раз следует подчеркнуть, что это разные переменные и для каждой, выделена своя память. Копии значений фактических переменных a,x,b присваиваются формальным параметрам a,x,b, а 1 присваивается формальному параметру stepen.

Возвращенный результат, в свою очередь, умножается на f(c,x,d,2). Теперь уже копии фактических параметров c,x,d присваиваются соответственно формальным параметрам a,x,b, а константа 2 присваивается формальному параметру stepen.

При вызовах f(a*c,x,b*d) и f(a+c,x,b+d) сначала вычисляются выражения, и копии результатов вычислений присваиваются формальным параметрам. Так, для f(a*c,x,b*d,3) результат умножения a*c будет присвоен формальному параметру а, а b*d – формальному параметру b.

При вызове f(a+c,x,b+d,4) результаты сложения a+c и b+d будут присвоены соответственно формальным параметрам а и b.

Так передаются при вызове функции данные по значению.

Задания для лабораторной работы

1. Заданы массивы X[N],Y[N] (N<20). Сформировать массив Z[N], каждый элемент которого вычисляется по формуле

Вычисление Zi оформить в виде функции

2. Заданы массивы X[N],Y[N] (N<20). Сформировать массив Z[N], каждый элемент которого вычисляется по формуле

Вычисление Zi оформить в виде функции

3. Заданы массивы X[N],Y[N] (N<20). Сформировать массив Z[N], каждый элемент которого вычисляется по формуле

Вычисление Zi оформить в виде функции

4 Заданы массивы P[N],Q[N] (N<20). Сформировать массив Z[N], каждый элемент которого равен большему корню уравнения Z2+Pi Z+Qi=0, если дискриминант >=0, и рамен 1038, если дискриминант <0.

5 Заданы массивы P[N],Q[N] (N<20). Сформировать массив Z[N], каждый элемент которого равен меньшему корню уравнения Z2+Pi Z+Qi=0, если дискриминант >=0, и рамен -1038, если дискриминант <0.

6. Вычислить . Вычисления осуществить с использованием функции.

7. Вычислить . Вычисления осуществить с использованием функции.

8. Вычислить значения функции Х, если а изменяется от анач до акон с шагом Δа. Вычисления осуществить с использованием функции.

9. Вычислить значения функции Х, если а изменяется от анач до акон с шагом Δа. Вычисления осуществить с использованием функции.

 

10. Вычислить значения функции у, если х изменяется от хнач до хкон с шагом Δх. Вычисления осуществить с использованием функции. Значение функции y=f(x) вычисляется в зависимости от номера точки i

i делится на 3 без остатка у=sin x;

остаток от деления i на 3=1 y=cos x;

остаток от деления i на 3=2 y=tg x.

 

 



<== предыдущая лекция | следующая лекция ==>
Тема: история мировой и отечественной культуры | Гипотезы о происхождении и развитии человека
Поделиться с друзьями:


Дата добавления: 2017-01-21; Мы поможем в написании ваших работ!; просмотров: 274 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент может не знать в двух случаях: не знал, или забыл. © Неизвестно
==> читать все изречения...

2781 - | 2343 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.