Программирование с использованием подпрограмм
Принципы программирования с использованием функций, механизмов передачи и возврата данных в функцию. Исходные данные для отладки программы. Алгоритм табулирования функции. Определение функции для вычисления определенного интеграла от произвольной функции.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 02.02.2020 |
Размер файла | 726,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Программирование с использованием подпрограмм
Цель работы: Изучение принципов программирования с использованием функций, механизмов передачи и возврата данных в функцию. Получение навыков в написании программ с использованием подпрограмм.
1. Основные теоретические сведения
Основные теоретические сведения и примеры алгоритмов, представлены в лекции.
Контрольное задание 1
В соответствии с вариантом (номер по журналу), разработать программу для вычисления значения функции, представленной в таблице 8.1. Вычисление значения переменной b, выполнить в виде подпрограммы. Передачу параметров в функцию осуществлять по значению, через заголовок функции. Результат вычислений возвратить из функции с помощью оператора return. Разрабатываемая программа должна:
1) вводить исходные данные;
2) вычислять значение функции;
3) вводить исходные данные и результат расчетов.
Исходные данные для отладки программы подобрать самостоятельно. Количество баллов за выполнение - 1. В отчете привести таблицу описания переменных, описание входных и выходных параметров функции, листинг программы и результаты тестирования.
Таблица 8.1 - Варианты заданий для вычисления функции
Вариант |
Вид функции |
Вариант |
Вид функции |
|
1 |
16 |
|||
2 |
17 |
|||
3 |
18 |
|||
4 |
19 |
|||
5 |
20 |
|||
6 |
21 |
|||
7 |
22 |
|||
8 |
23 |
|||
9 |
24 |
|||
10 |
25 |
|||
11 |
26 |
|||
12 |
27 |
|||
13 |
28 |
|||
14 |
29 |
|||
15 |
30 |
Пример
Вычислить значение выражения sin2(а)+cos2(b), при заданном значении угла в градусах.
Решение
Тригонометрические функции, которые определены в math.h работают с радианной мерой угла. Реализуем функцию deg_to_rad перевод градусной меры угла в радианную.
Описание переменных программы:
- a, b - исходные данные, (вещ.);
- с - значение функции, результат, (вещ.);
Описание переменных функции deg_to_rad.
Шаблон:
double deg_to_rad(double alpha).
Функция осуществляет перевод градусной меры угла в радианную. Параметры функции:
- alpha - значение угла в градусах, входной параметр, передается по значению.
#include <stdio.h>
#include <windows.h>
#include <math.h>
double deg_to_rad(double alpha)
{
alpha = alpha*3.1415926/180;
return(alpha);
// return(alpha*3.1415926/180);
}
int main(void)
{
double a, b, c;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
puts("ведите угол a в градусах!");
scanf("%lf",&a);
puts("ведите угол b в градусах!");
scanf("%lf",&b);
c = pow(sin(deg_to_rad(a)),2) + pow(cos(deg_to_rad(b)),2);
printf("c=%6.3f\n", c);
system("pause");
return(0);
}
В соответствии с вариантом (номер по журналу), разработать программу для вычисления значения выражений, представленных в таблице 8.2. Вычисление оформить в виде подпрограммы, в которую исходные данные передать в виде входных параметров через заголовок функции. Передачу параметров в функцию и возврат результатов, осуществлять по адресу и/или ссылке, через заголовок функции. Запретить изменение входных параметров используя модификатор const. Для возврата одного результата использовать передачу по адресу, для второго по ссылке.
Разрабатываемая программа должна:
1) вводить исходные данные;
2) вычислять значения выражений;
3) вводить исходные данные и результаты расчетов.
Исходные данные для отладки программы подобрать самостоятельно. Количество баллов за выполнение - 1. В отчете привести таблицу описания переменных, описание входных и выходных параметров функции, листинг программы и результаты тестирования.
Таблица 8.2 - Варианты заданий
Вариант |
Вычислить |
Расчетные формулы |
|
1 |
Площадь круга и длину окружности радиуса r. |
||
2 |
Площадь и угол при основании равнобедренного треугольника с основанием a и высотой h. |
||
3 |
Площадь и периметр прямоугольника со сторонами a, b. |
S = ab P = 2(a+b) |
|
4 |
Скорость в конце пути и путь, пройденный за время t с ускорением a при v0=0. |
v = at |
|
5 |
Площадь и периметр квадрата со стороной а. |
S = a2 P = 4a |
|
6 |
Объем и площадь боковой поверхности параллелепипеда со сторонами а, b, c. |
V = abc S =2(a+b)с |
|
7 |
Площадь кольца с внешним радиусом R и внутренним r. Объем кольца с высотой h. |
S=(R2 - r2) V=h(R2 - r2) |
|
8 |
Площадь боковой поверхности и объем цилиндра с радиусом основания r и высотой h. |
S = 2r h V=r 2h |
|
9 |
Площадь и периметр прямоугольного треугольника с катетами a, b и гипотенузой с. |
P=a+b+c |
|
10 |
Объем и площадь поверхности куба со стороной а. |
V = a3 S = 6a2 |
|
11 |
Площадь и периметр ромба со стороной а и высотой h |
S = ah P=4a |
|
12 |
Площадь основания и объем цилиндра с радиусом основания r и высотой h. |
S = r 2 V=Sh |
|
13 |
Объем и площадь основания параллелепипеда со сторонами а, b, c. |
V = abc S =ab |
|
14 |
Площадь основания и объем конуса с радиусом основания r и высотой h. |
S = r 2 |
|
15 |
Гипотенузу и площадь прямоугольного треугольника с катетами a, b. |
||
16 |
Высоту и площадь равнобедренной трапеции с основаниями a, b (b>a) и углом при большем основании б. |
||
17 |
Площадь поверхности и объем шара радиуса R. |
||
18 |
Скорость в конце пути и путь, пройденный телом за время t с ускорением a и начальной скорости v0. |
v=v0+at |
|
19 |
Радиус круга, вписанного в треугольник со сторонами a, b, c. |
||
20 |
Определить объем и массу параллелепипеда со сторонами a, b, c и плотностью р. |
V=a b c M=V p |
|
21 |
Площадь прямоугольного треугольника с гипотенузой с и одним из катетов a. |
||
22 |
Периметр и площадь прямоугольного треугольника с катетами a, b. |
||
23 |
Высоту и площадь равнобедренного треугольника с основанием a и углом при основании. |
||
24 |
Радиус круга, описанного вокруг треугольника со сторонами a, b, c. |
||
25 |
Периметр и площадь параллелограмма со сторонами a, b и острым углом б. |
P=2(a+b) |
|
26 |
Площадь прямоугольной трапеции с основаниями a, b (b>a) и углом при большем основании б. |
||
27 |
Сопротивление проводника длиной l, площадью поперечного сечения S и удельным сопротивлением . Мощность выделяемую на сопротивлении при токе I. |
P=I2R |
|
28 |
Определить объем и массу цилиндра с радиусом основания r, высотой h и плотностью р. |
V=r 2h M=V p |
|
29 |
Периметр и площадь треугольника со сторонами a, b, c. |
P = a+b+c |
|
30 |
Определить объем и массу конуса с радиусом основания r, высотой h и плотностью р. |
M=V p |
Пример. По величине угла в градусах, вычислить величину угла в радианах.
Решение
Функция deg_to_rad выполняет перевод из градусной меры в радианную. Эта функция ничего не возвращает с помощью механизма return. Её аргументами являются: входное значение угла в градусах (deg) и адрес переменной в которых будут храниться вычисленный результат - величина радианной меры угла (rad).
#include <stdio.h>
#include <windows.h>
#include <math.h>
void deg_to_rad(int deg, double *rad)
{
*rad = deg*3.1415926/180;
}
int main(void)
{
double a_rad, b_rad, c;
int a_deg, b_deg;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
puts("ведите угол a в градусах!");
scanf("%d",&a_deg);
puts("ведите угол b в градусах!");
scanf("%d",&b_deg);
deg_to_rad(a_deg, &a_rad);
deg_to_rad(b_deg, &b_rad);
c = pow(sin(a_rad),2) + pow(cos(b_rad),2);
printf("c=%6.3f\n", c);
system("pause");
return(0);
}
Та же функция, с передачей параметров по ссылке.
#include <stdio.h>
#include <windows.h>
#include <math.h>
void deg_to_rad(int deg, double &rad)
{
rad = deg*3.1415926/180;
}
int main(void)
{
double a_rad, b_rad, c;
int a_deg, b_deg;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
puts("ведите угол a в градусах!");
scanf("%d",&a_deg);
puts("ведите угол b в градусах!");
scanf("%d",&b_deg);
deg_to_rad(a_deg, a_rad);
deg_to_rad(b_deg, b_rad);
c = pow(sin(a_rad),2) + pow(cos(b_rad),2);
printf("c=%6.3f\n", c);
system("pause");
return(0);
}
В соответствии с вариантом (номер по журналу), разработать программу для вычисления значения функции, представленной в таблице 8.3. Вычисление заданного значения, выполнить в виде подпрограммы. Используя механизм перезагрузки определить несколько экземпляров функции (не менее 3 вариантов) для вычисления выражения, для разных вариантов количества аргументов, их типов и типа возвращаемого результата. Варианты количества, типов аргументов и результата выбрать самостоятельно.
Количество баллов за выполнение - 1. В отчете привести описание входных и выходных параметров функции, листинг программы и результаты тестирования.
Таблица 8.3 - Варианты заданий
Вариант |
Вычислить |
Расчетные формулы |
|
1, 16 |
Площадь боковой поверхности цилиндра с радиусом основания r и высотой h. |
S = 2r h |
|
2, 17 |
Периметр прямоугольника со сторонами a, b. |
P = 2(a+b) |
|
3, 18 |
Объем параллелепипеда со сторонами а, b, c. |
V = abc |
|
4, 19 |
Площадь боковой поверхности параллелепипеда со сторонами а, b, c. |
S =2(a+b)с |
|
5, 20 |
Периметр прямоугольного треугольника с катетами a, b и гипотенузой с. |
P=a+b+c |
|
6, 21 |
Площадь ромба со стороной а и высотой h |
S = ah |
|
7, 22 |
Объем кольца с внешним радиусом R, внутренним r и высотой h. |
V=h(R2 - r2) |
|
8, 23 |
Скорость в конце пути пройденного телом за время t с ускорением a и начальной скоростью v0. |
v=v0+at |
|
9, 24 |
Массу параллелепипеда со сторонами a, b, c и плотностью р |
M= a b c p |
|
10, 25 |
Периметр параллелограмма со сторонами a, b и острым углом б. |
||
11, 26 |
Периметр параллелограмма со сторонами a, b. |
P=2(a+b) |
|
12, 27 |
Гипотенузу прямоугольного треугольника с катетами a, b и равнобедренного |
||
13, 28 |
Сопротивление проводника длиной l, площадью поперечного сечения S и удельным сопротивлением |
||
14, 29 |
Определить массу конуса с радиусом основания r, высотой h и плотностью р. |
||
15, 30 |
Определить массу цилиндра с радиусом основания r, высотой h и плотностью р. |
M=r 2h p |
Пример. Определим функцию areaRectangle(), для вычисления площади прямоугольника. Определим несколько экземпляров функции для прямоугольника и квадрата с параметрами целого и вещественного типов.
//функция, вычисляющая площадь квадрата
int areaRectangle(int a)
{
return a * a;
}
//функция, вычисляющая площадь квадрата
float areaRectangle(float a)
{
return a * a;
}
//функция, вычисляющая площадь прямоугольника
int areaRectangle(int a, int b)
{
return a * b;
}
//функция, вычисляющая площадь прямоугольника
float areaRectangle(float a, float b)
{
return a * b;
}
Пример вызова функций:
s = areaRectangle (4);
s = areaRectangle (2.2, 8.2);
В соответствии с вариантом (номер по журналу), разработать программу для вычисления значения функции, представленной в таблице 8.3. Вычисление заданного значения, выполнить в виде подпрограммы. Используя шаблоны определить несколько экземпляров функции (не менее 3 вариантов) для вычисления выражения, для разных вариантов количества аргументов, их типов и типа возвращаемого результата. Варианты количества, типов аргументов и результата выбрать самостоятельно.
Количество баллов за выполнение - 1. В отчете привести описание входных и выходных параметров функции, листинг программы и результаты тестирования.
Пример. Задать функцию для определения максимального элемента из пары чисел. Определим несколько шаблонов функции для разных типов чисел и результата.
#include <stdio.h>
#include <windows.h>
template <typename T>
T maxx(T a, T b)
{
if(a > b) return a;
else return b;
}
template <typename T>
T maxx(T b)
{
return b*b;
}
template <typename T1, typename T2>
T2 maxx(T1 a, T2 b)
{
if(a > b) return a;
else return b;
}
int main(void)
{
puts("maximal");
printf("= %d \n", maxx(12, 100));
printf("= %d \n", maxx(12));
printf("= %6.2f \n", maxx(1.22, 13.33));
printf("= %f \n", maxx(15, 14.5));
system("pause");
return 0;
}
Контрольное задание 5
В соответствии с вариантом (номер по журналу), разработать программу для вычисления значений кусочно - непрерывной функции y(x) на интервале от xнач до xкон с шагом ?x. Функция представлена в таблице 8.4. Разрабатываемая программа должна состоять из двух функций: - вычисления y(x) и алгоритма табулирования.
Вычисление функции реализовать подпрограммой, в которую в качестве параметра передается аргумент функции х, а функция возвращает значение y(x) и номер интервала.
Алгоритм табулирования функции и вывода результатов, выполняется подпрограммой, в которую в качестве параметров передаются следующие данные:
1. интервал и шаг табулирования;
2. указатель на расчетную функцию.
Результаты расчетов представить в виде таблицы со следующими колонками:
- Порядковый номер строки;
- значения аргумента функции x;
- вычисленного значения функции y;
- номер формулы, по которой производилось вычисление функции (1, 2 или 3).
Исходные данные для отладки программы выбрать самостоятельно, так чтобы перекрывались все интервалы функции y(x). Количество баллов за выполнение - 1. В отчете привести листинг программы и результаты тестирования.
Таблица 8.4 - Варианты заданий
Вариант |
Вид функции |
|
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 |
Пример. Определить функцию для вычисления определенного интеграла от произвольной функции. Подынтегральная функция может быть передана в функцию вычисления интеграла с помощью параметра-указателя. Приближенное значение интегралов вычисляется с помощью формулы прямоугольников, задав пределы интегрирования [a, b] и число интервалов разбиения
#include <stdio.h>
#include <windows.h>
#include <math.h>
double integral_rec(double(*pf)(double), double a, double b, int n)
{
int i;
double h, s=0;
h=(b-a)/n;
for (i=0;i<n;i++) s+=pf(a+h/2+i*h);
return h*s;
}
//Подынтегральная функция 1
double func1(double x)
{
return (x*cos(x));
}
//Подынтегральная функция 2
double func2(double x)
{
return (x*sin(x));
}
//Подынтегральная функция 3
double func3(double x)
{
return (cos(x)*sin(x));
}
int main(void)
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
double a,b,c;
int n;
puts("Введите значения пределов интегрирования:");
puts("a=");
scanf("%lf",&a);
puts("b=");
scanf("%lf",&b);
puts("Введите количество интервалов разбиения: n=");
scanf("%d",&n);
c=integral_rec(func1,a,b,n);
printf("интеграл = %lf\n",c);
c=integral_rec(func2,a,b,n);
printf("интеграл = %lf\n",c);
c=integral_rec(func3,a,b,n);
printf("интеграл = %lf\n",c);
system("pause");
return(0);
}
Результаты работы.
Проверка:
В соответствии с вариантом (номер по журналу), разработать программу для вычисления значения выражений, представленных в таблице 8.5. Разрабатываемы алгоритм должен состоять из функций выполняющих многократные действия:
1) ввод массива;
2) вывод массива;
3) обработку массива в соответствии с заданием;
Передачу параметров в функцию и возврат результатов, осуществлять по адресу и/или ссылке. Глобальные данные в программе не использовать.
Исходные данные для отладки программы выбрать самостоятельно. Количество баллов за выполнение - 2. В отчете привести листинг программы и результаты тестирования.
Таблица 8.5 - Варианты заданий
Вариант |
Задание |
|
1 |
Вычислить функцию y= (sin(a) + cos(b))/c2 , где a, b, c - суммы положительных элементов массивов X, Y, Z. |
|
2 |
Вычислить функцию y= sin2(a) + (b+c)2 , где a, b, c - номера наименьших по модулю элементов массивов X, Y, Z. |
|
3 |
Вычислить функцию y= (2a + b)3 + c , где a, b, c - среднее арифметическое положительных элементов массивов X, Y, Z. |
|
4 |
Вычислить функцию y= a (b - c)2 , где a, b, c - максимальные значения элементов массивов X,Y,Z. |
|
5 |
Вычислить функцию y= max(a, b, c) , где a, b, c - суммы элементов массивов X,Y,Z значения которых меньше заданного K. |
|
6 |
Вычислить функцию y= min(a, b, c) , где a, b, c - количество положительных элементов массивов X,Y,Z значения которых меньше заданного K. |
|
7 |
Вычислить функцию y= (2a + 3b)/4c, где a, b, c - количество элементов массивов X,Y,Z значения которых принадлежит интервалу [n, m]. |
|
8 |
Вычислить функцию y= с(sin2(a) - cos2(b)) , где a, b, c - суммы квадратов отрицательных элементов массивов X, Y, Z. |
|
9 |
Вычислить функцию y= sin2(a) + cos(b+c)2 , где a, b, c - номера наибольших по модулю элементов массивов X, Y, Z. |
|
10 |
Вычислить функцию y= max(a, b, c) , где a, b, c - среднее арифметическое элементов массивов X,Y,Z значения которых не меньше заданного K. |
|
11 |
Вычислить функцию y= min(a, b)*с , где a, b, c - количество отрицательных элементов массивов X,Y,Z значения которых больше заданного K. |
|
12 |
Вычислить функцию y= cos(a + b)/sin(c), где a, b, c - минимальные по модулю элементы массивов X,Y,Z. |
|
13 |
Вычислить функцию y= min(2a, 3b)/c, где a, b, c - среднее арифметическое элементов массивов X,Y,Z значения которых не принадлежит интервалу [n, m]. |
|
14 |
Вычислить функцию y= a3 /(b - c +1)2, где a, b, c - произведения элементов массивов X,Y,Z значения которых значения которых не больше заданного K. |
|
15 |
Вычислить функцию y= max(a, 2b, 3c) , где a, b, c - суммы элементов массивов X,Y,Z значения которых меньше последнего элемента массива. |
|
16 |
Вычислить функцию y= min2(b, c) * cos(a), где a, b, c - сумма квадратов элементов массивов X,Y,Z значения которых принадлежит интервалу (n, m) . |
|
17 |
Вычислить функцию y= max(a, min(b, c)) , где a, b, c - максимальные элементы массивов X, Y, Z среди элементов стоящих на четных местах. |
|
18 |
Вычислить функцию y= cos(sin3(a) + sin(b))/c3, где a, b, c - максимальные элементы массивов X, Y, Z среди элементов стоящих на четных местах. |
|
19 |
Вычислить функцию y= sin2(a с) + sin4(b с) , где a, b, c - номера наибольших по модулю элементов массивов X, Y, Z стоящих на нечетных местах. |
|
20 |
Вычислить функцию y= (min(a, b) * min(a, с))2, где a, b, c - количества элементов массивов X,Y,Z значения которых не принадлежит интервалу [n, m]. |
|
21 |
Вычислить функцию y= sin(2a) * sin(3b+4c) , где a, b, c - сумма максимального и минимального элементов массивов X, Y, Z. |
|
22 |
Вычислить функцию y= max(a, 2b, 3c) , где a, b, c - суммы элементов массивов X,Y,Z значения которых больше первого элемента массива и меньше заданного К. |
|
23 |
Вычислить функцию y= min(2a, max(b, c)) , где a, b, c - минимальные элементы массивов X, Y, Z среди элементов стоящих на нечетных местах. |
|
24 |
Вычислить функцию y= (c* sin(а))2 + b, где a, b, c - среднее арифметическое элементов массивов X, Y, Z стоящих на четных местах и не принадлежит интервалу [n, m] . |
|
25 |
Вычислить функцию y= cos( min(b, c) + a2) , где a, b, c - номера максимальных элементов массивов X, Y, Z среди элементов стоящих на четных местах. |
|
26 |
Вычислить функцию y= sin3(a-с) / sin(b2+с) , где a, b, c - произведение максимального и минимального элементов массивов X, Y, Z среди элементов стоящих на нечетных местах |
|
27 |
Вычислить функцию y= min(a, 2b, 3c) , где a, b, c - суммы элементов массивов X,Y,Z среди значений больших заданного K и стоящих на нечетных местах. |
|
28 |
Вычислить функцию y= (sin2(a*c)/ cos(b*c))3 , где a, b, c - номера минимальных элементов массивов X, Y, Z среди элементов стоящих на не четных местах. |
|
29 |
Вычислить функцию y= max(a, b)/min(b, c) , где a, b, c - полу сумма максимального и минимального элементов массивов X, Y, Z. |
|
30 |
Вычислить функцию y= tan2((a+b)3/c), где a, b, c - произведение максимального и минимального элементов массивов X, Y, Z среди элементов стоящих на четных местах |
В соответствии с вариантом (номер по журналу), разработать программу для вычисления значения выражений, представленных в таблице 8.6. Разрабатываемый алгоритм должен состоять из функций выполняющих многократные действия:
1) ввод двумерного массива;
2) вывод двумерного массива;
3) обработку массива в соответствии с заданием;
Передачу параметров в функцию и возврат результатов, осуществлять по адресу и/или ссылке. Глобальные данные в программе не использовать.
Исходные данные для отладки программы выбрать самостоятельно. Количество баллов за выполнение - 3. Использовать два способов передачи параметров - по адресу и ссылке. В отчете привести листинг программы и результаты тестирования.
Таблица 8.6 - Варианты заданий
Вариант |
Задание |
|
1 |
Составить векторы P и Q, элементами которых являются суммы элементов, столбцов матриц А и В, соответственно. |
|
2 |
Из положительных элементов матриц А и С сформировать векторы Х и Т, соответственно. |
|
3 |
Решить уравнение ax2 + bx + c = 0, где a, b, c - максимальные значения элементов матриц X, Y и Z, соответственно. |
|
4 |
Из элементов главной диагонали матриц А и В сформировать векторы Х и Т, соответственно. |
|
5 |
Составить векторы К и L, элементами которых являются, соответственно, номера строк и номера столбцов наибольших по модулю элементов матриц А, В и С. |
|
6 |
Решить уравнение px2 + qx + c = 0, где p, q и с - суммы элементов, лежащих выше главной диагонали и на ней, в матрицах А, В и D, соответственно. |
|
7 |
Найти минимальное из чисел, каждое из которых является произведением всех элементов матриц А, В и D, соответственно. |
|
8 |
Сформировать векторы X и Y, элементами которых являются максимальные значения столбцов матриц А и F соответственно. |
|
9 |
Транспонировать матрицы А и В в матрицы P и Q. |
|
10 |
Сформировать векторы С и D, элементами которых являются максимальные по модулю значения строк матриц Z и T, соответственно |
|
11 |
Решить уравнение ax2 + bx + c = 0, где a, b, c максимальные по модулю значения элементов главной диагонали матриц X, Y и Z, соответственно. |
|
12 |
Решить уравнение px2 + qx + t = 0, где p, q и t - минимальные значения элементов побочной диагонали матриц A, B и C, соответственно. |
|
13 |
Из отрицательных элементов матриц Т и Z составить векторы А и В. |
|
14 |
Составить векторы С и D, элементами которых являются произведения элементов столбцов матриц P и Q, соответственно. |
|
15 |
Из элементов матриц А и Т, значения которых попадают в интервал (А;В) сформировать векторы Z и С соответственно. |
|
16 |
Найти максимальное из трех чисел, каждое из которых является произведением элементов, лежащих выше побочной диагонали и на ней, в матрицах А, В и С, соответственно. |
|
17 |
Из матриц А и В сформировать матрицы P и Q, соответственно, элементы которых в 5 раз больше соответствующих элементов исходных матриц. |
|
18 |
Решить уравнение ax2 + tx + c = 0, где a, t, c - суммы всех элементов матриц P, Q и Z, соответственно. |
|
19 |
Сформировать векторы А и Т, элементами которых являются максимальные значения столбцов матриц P и Q, соответственно. |
|
20 |
Решить уравнение ax2 + bx + c = 0, где a, b и с - суммы элементов, лежащих ниже главной диагонали и на ней, в матрицах Y, P и Q, соответственно. |
|
21 |
Составить векторы A и T, элементами которых являются суммы элементов строк матриц X и Y, соответственно. |
|
22 |
Из матриц X и Y получить новые матрицы В и С, соответственно, элементы которых в 2 раза меньше соответствующих элементов исходных матриц. |
|
23 |
Найти максимальное из трех чисел, каждое из которых является суммой всех элементов матриц P, Q и Z, соответственно. |
|
24 |
Составить векторы С и D, элементами которых являются последние положительные элементы в строках матриц P и Q, соответственно. |
|
25 |
Составить векторы X и T, элементами которых являются, соответственно, номера строк и номера столбцов минимальных элементов матриц В, С и D. |
|
26 |
Сформировать векторы В и С, элементами которых являются минимальные значения строк матриц Х и T, соответственно. |
|
27 |
Из элементов побочной диагонали матриц P и Q сформировать векторы А и В, соответственно. |
|
28 |
Составить векторы Х и Y, элементами которых являются произведения элементов строк матриц А и С, соответственно. |
|
29 |
Составить векторы С и D, элементами которых являются первые отрицательные элементы в столбцах матриц P и Q, соответственно. |
|
30 |
Решить уравнение ax2 + bx + c = 0, где a, b и c - суммы элементов, лежащих ниже побочной диагонали и на ней, в матрицах T, P и Q, соответственно. |
программирование отладка алгоритм функция
Отчет по лабораторной работе оформляется в электронном виде в текстовом редакторе и должен содержать следующие разделы:
1. Титульный лист.
2. Цель работы.
3. Выполнение контрольных заданий - текст задания, таблица описания переменных, листинг программы, результаты тестирование программы.
4. Выводы по работе.
Размещено на Allbest.ru
Подобные документы
Обработка сложных структур данных как одна из наиболее распространенных возможностей применения языка программирования С++. Преимущества использования подпрограмм. Передача параметров, одномерных и двумерных массивов, функции и их возврат в функцию.
курсовая работа [1,1 M], добавлен 24.11.2013Принципы разработки математических моделей, алгоритмов и программ. Составление программы вычисления функции с использованием нестандартных функций. Нахождение значения корней нелинейного уравнения по методу касательных. Программа для вычисления интеграла.
курсовая работа [568,3 K], добавлен 07.03.2015Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ.
курсовая работа [575,8 K], добавлен 06.12.2013Математическое описание, алгоритм и программа вычисления определенного интеграла методом трапеций. Расчет n-значений исследуемой функции и вывод их в виде таблицы. Технические и программные средства. Входные и выходные данные, функциональное назначение.
курсовая работа [21,0 K], добавлен 03.01.2010Математическое обоснование метода решения задачи: определенный интеграл, квадратурная формула Симпсона (формула парабол). Словесное описание алгоритма и составление его блок-схемы. Выбор языка программирования. Текст программы решения задачи, ее листинг.
курсовая работа [593,6 K], добавлен 09.07.2012История создания и развитие языка программирования Pascal, его версии. Особенности и порядок построения графика функции на языке Turbo Pascal с использованием декартовой системы координат. Блок схема алгоритма процедур, листинг и тестирование программы.
курсовая работа [102,7 K], добавлен 23.12.2011Методы и алгоритмы вычисления определенных интегралов: метод трапеций и метод Симпсона (метод парабол). Оформление функции вычисления заданного определённого интеграла на Visual Basic 6.0. Программный код функции. Создание приложения для вычисления.
курсовая работа [483,6 K], добавлен 25.06.2014Описание параметрических и непараметрических методов штрафных функций в области нелинейного программирования. Решение задачи с использованием множителей Лагранжа. Непрерывность, гладкость, выпуклость, простота вычисления значения функции и производных.
курсовая работа [114,8 K], добавлен 25.11.2011Особенности работы в режиме командной строки в системе Matlab. Переменные и присваивание им значений. Комплексные числа и вычисления в системе Matlab. Вычисления с использованием функции sqrt. Неправильное использование функций с комплексными аргументами.
дипломная работа [1,9 M], добавлен 30.07.2015Создание программы для вычисления значения функции на основе определённой формулы. Уточнение структуры входных и выходных данных и определение ассемблерного формата их представления. Разработка алгоритмов для реализации работы программного обеспечения.
курсовая работа [240,6 K], добавлен 17.06.2013