Учебное пособие 1450
.pdfОкончание табл. 7
Номер Математическое выражение варианта
10y ln x2 b x2 b eb x
11y (x a)/(x a) ex a (x a)/ln x a
12y (x b)2 /sin2 (x b) ln(x b)
13y (p (p a) (p b) ln | p a |)/(p b)
14y ((x b)2 sin2 (x b))/ex b
15y (x a)/(x a) sin2 (x a) cos(x a)2
16y (cos(a x) |sin(a x)| /(a x) eax
17y ln | x b|/(x b) (x b)/ex b
18y (sin(x c2 8))/(x c2 8) ln | x c2 8|
19y (x b)2 / | x b| 1 ln | x b|
20 |
y |
|
|
|
|
|
|
|
|
|
|
||||||||
(x a)2 ln2 | x a| (x a)/ex a |
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
2 |
|
|
|
|
2 |
|
|
|
|
|
|
2 |
|
|
|
|
y ((x |
|
c) sin(x |
|
|
c))/ln |
x |
c |
|
|||||||||||
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|||||||||||||
22 |
y cos(x2 |
a2 ) |
|
|
|
|
|
sin(x2 |
a2 ) |
||||||||||
|
|
| x2 |
a2 | |
23y (sin(x d) cos(x d))/ex d ln x d
24y (a x)/(1 (a x)2 ) | sin(a x) | /(a x)2
25 |
y | x a | /(x a) ln | x a| (x a) ex a |
26y (x а)2 /sin2 (x a) ln x a
27y (x b)2 /ln x b 1/ (x b)
28y (x c)/(x c) ex c (x c)/lnx c
31
3.2. Программирование разветвляющихся вычислительных задач
Цель работы - приобретение практических навыков написания и отладки программ, реализующих разветвляющиеся вычислительные задачи.
Общие рекомендации
Общие рекомендации содержат пример программы, реализующей разветвляющуюся вычислительную задачу.
В разветвляющейся вычислительной задаче происходит разветвление выполняемой последовательности действий в зависимости от результата проверки какого-либо условия.
Пример. Составить программу вычисления функции
|
x a |
sin |
2 |
(x), еслиx a; |
||
ln |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
x a, если x a. |
||||
|
|
Программа на C++
#include "stdafx.h" // Ставится по умолчанию в 2010 #include <iostream> // Подключение заголовочного файла
// с функциями ввода-вывода
using namespace std; // Определение пространства имен int _tmain(int argc, _TCHAR* argv[]) //Ставится по
// умолчанию в 2010
{ |
|
|
setlocale(LC_ALL, "Russian"); |
//Установка |
|
|
|
//соответствующей |
|
|
//кодовой страницы |
float a, x, y; |
//Объявление переменных |
|
cout << "Введите a" << endl; |
//Вывод фразы |
|
cin >> a; |
|
// Ввод а |
cout << "Введите x" << endl; |
//Вывод фразы |
|
cin >> x; |
32 |
// Ввод х |
|
|
if (x < a) |
//Оператор ветвления |
y = log(abs(x + a)) + pow(sin(x), 2);//Ветвь 1 |
|
else |
|
y = a + sqrt(x - a); |
//Ветвь 2 |
cout << "Результат = " << y << endl; //Вывод надписи // и y
system("pause"); // Ожидание нажатия клавиши return 0;
}
Результат работы программы приведен на рис. 12.
Рис. 12. Результат работы программы
33
Задание
При выполнении задания необходимо:
-составить структурную схему программы;
-написать и отладить программу в консольном режиме
всоответствии с вариантом задания;
-варианты задания приведены в табл. 8; номер варианта совпадает с порядковым номером студента в списке;
-проверить работу программы в консольном режиме.
Отчет
Отчет должен содержать титульный лист, вариант задания, структурную схему алгоритма, текст программы с комментариями, скриншот результатов работы программы.
Таблица 8
Варианты заданий для реализации разветвляющихся вычислений
Номер |
|
|
|
|
|
|
|
|
Функция |
варианта |
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
|
ax |
|
|||
|
y a x |
e |
; еслиx 10; |
||||||
|
|
|
|
|
|
||||
|
b x c x3;еслиx 10. |
||||||||
2 |
|
|
|
|
|
3 |
|
|
|
|
y a x b x |
; |
еслиx 13.4; |
||||||
|
|
|
|||||||
|
|
eax 1.3;еслиx 13.4. |
|||||||
3 |
x ln(a x); еслиx 7.3; |
||||||||
|
y |
x3 ebx ;еслиx 7.3. |
|||||||
|
|
||||||||
4 |
b asin(b x); еслиx 12; |
||||||||
|
y |
x bx ;еслиx 12. |
|||||||
|
|
||||||||
5 |
|
x2/3; еслиx 4.3; |
|||||||
|
y |
|
|
|
|
|
|
|
|
|
a x2 |
b;еслиx 4.3. |
|||||||
|
|
||||||||
|
|
|
|
|
|
34 |
|
|
|
|
|
|
|
|
|
|
|
Продолжение табл. 8 |
|
Номер |
|
|
|
|
|
|
|
|
|
Функция |
|
|
варианта |
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
x |
3 |
1; |
еслиx 0.1; |
|||||||
|
y |
|
||||||||||
|
cos( x3 );еслиx 0.1. |
|
||||||||||
7 |
|
|
sin x2 x3; еслиx 1; |
|||||||||
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
a x b ln(1 x);еслиx 1. |
|||||||||||
8 |
x a cos(ln(x)); еслиx 3; |
|
||||||||||
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b x2 ;еслиx 3. |
||||||||
|
|
|
|
|
||||||||
9 |
|
|
|
tg(x); еслиx 5; |
|
|||||||
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
a x ln(b x) c;еслиx 5. |
|
||||||||||
10 |
a x b x sin(c x); еслиx 3.4; |
|||||||||||
|
y |
|
|
sin(a x) b;еслиx 3.4. |
|
|||||||
|
|
|
|
|||||||||
11 |
|
|
|
|
|
abx |
; еслиx 2.7; |
|||||
|
|
|
|
|
|
|
||||||
|
y a b e |
|
|
|
||||||||
|
ln(a b x);еслиx 2.7. |
|
||||||||||
12 |
|
|
|
a x2; еслиx 4; |
||||||||
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
a bx3 |
ln(x);еслиx 4. |
||||||||||
|
|
|||||||||||
13 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
y a/(b x |
c); еслиx 7.3; |
||||||||||
|
|
|||||||||||
|
a x b x3 c;еслиx 7.3. |
14eax b; еслиx 6.4; y e ax c;еслиx 6.4.
15ln(a x) b; еслиx 3.9; y b x c;еслиx 3.9.
35
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Продолжение табл. 8 |
|
Номер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Функция |
|
варианта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
2 |
(a x) b x; еслиx 3.7; |
|||||||||||
|
sin |
|
|||||||||||||||||||
|
y |
|
|
|
|
|
|
|
|
|
|
|
ln3 (x);еслиx 3.7. |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
17 |
ln |
|
x |
|
; если x 3; |
||||||||||||||||
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
если x 2; |
|||||||||||||
|
y x; |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| sin(x) |;востальных случаях. |
|
||||||||||||||||||
|
|
|
|||||||||||||||||||
18 |
|
|
ax |
; если x 3; |
|||||||||||||||||
|
e |
|
|
|
|
|
|
|
|||||||||||||
|
y 0.75 a x; если x 2; |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a x;востальных случаях. |
|
|||||||||||||||||||
19 |
(1 b x2 )2 ; если x 1; |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
(1 b x3 )2 ; если x 3; |
||||||||||||||||||
|
|
|
|
|
|
|
x;востальных случаях. |
|
|||||||||||||
|
|
|
|
|
|
|
|||||||||||||||
20 |
ln |
|
sin( x) |
|
; если x 1; |
||||||||||||||||
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y e |
|
x |
|
|
|
|
x |
|
; если x 2; |
|||||||||||
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.5 | x|;востальных случаях. |
21tg(x); если x 1;
sin(x) cos(x); если x 2;
y
x2 1; если x 3;
|
|
востальныхслучаях. |
||||
|
7; |
|||||
22 |
|
3 |
x |
2 |
5; если x 1; |
|
|
x |
|
|
|||
|
y 1; |
если x 2; |
||||
|
|
востальных случаях. |
||||
|
1; |
|||||
|
|
|
|
|
|
36 |
Окончание табл. 8
Номер |
|
|
|
|
|
|
|
|
|
Функция |
варианта |
|
|
|
|
|
|
|
|
|
|
23 |
x5 |
x; если x 1; |
||||||||
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
; |
если x 2; |
||||||
|
|
|
||||||||
|
x |
|
|
|
|
|
||||
|
y |
1 |
|
|
|
|
|
|||
|
|
; если x 3; |
||||||||
|
|
|
|
|
||||||
|
x2 |
|
|
|
|
|
||||
|
|
|
|
|
x5 x |
|
|
;востальных случаях. |
||
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
ctg(x 5); если x 0или x 2; |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
y 2.5; если x 2; |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
1/(sin(x 5) 1);востальныхслучаях. |
|||||||||
25 |
cos(x a);если x 1; |
|||||||||
|
|
|
|
|
|
2 |
; еслиx 2 илиx 3илиx 4; |
|||
|
7 a x |
|||||||||
|
y |
1 |
|
|
|
|
|
|||
|
|
;в остальныхслучаях. |
||||||||
|
|
|
|
|||||||
|
|
|||||||||
|
|
|
|
|
x |
|
|
|
|
|
|
|
|||||||||
26 |
ln(b x) b; еслиx 5; |
|||||||||
|
y |
|
|
|
b x a;еслиx 5. |
|||||
|
|
|
|
|
||||||
|
|
|||||||||
27 |
cos2 (a x) b x; еслиx 6 |
|||||||||
|
y |
|
|
|
|
ln3 (x);еслиx 6. |
||||
|
|
|
|
|
|
|||||
|
|
|||||||||
28 |
ea x ; если x 1; |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
y 0.75 a x; если x 2; |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
a x;востальных случаях. |
|||||||||
|
|
|
|
|
|
|
37 |
4.МАССИВЫ
4.1.Одномерные массивы
Конечная именованная последовательность однотипных элементов называется массивом. При описании массива необходимо указать общее число входящих в массив элементов и тип этих элементов [1]. Например:
float a[10]; int b[15];
Из описания массивов следует, что массив a состоит из 10 вещественных чисел, а массив b – из 15 целых чисел.
Элементы массива нумеруются с нуля.
Инициализирующие значения для массивов записы-
ваются в фигурных скобках. Например: int b[5] = {3, 2, 1, 4, 2};
Элементы массива получают следующие значения: b[0] = 3; b[1] = 2; b[2] = 1; b[3] = 4; b[4] = 2;
Пример ввода массива а[10] приведен ниже.
float a[10]; |
// Описание массива |
cout << "Введите массив a размерностью 10 элементов" |
|
<<endl; |
// Вывод фразы и перевод курсора |
// на следующую строку for (int i = 0; i < 10; i++)
{
cout << "Введите a[" << i <<"]="; // Вывод фразы и i
cin >> a[i]; |
// Ввод a[i] |
} |
|
|
38 |
Пример вывода массива а[10] приведен ниже. cout << "Массив a[10]" << endl; // Вывод заголовка
// и переход // на следующую строку
for (int i = 0; i < n; i++)
cout << a[i] << " "; // Вывод элемента массива // и пробела
cout << endl;
4.2. Многомерные массивы
Многомерные массивы задаются указанием каждого измерения в квадратных скобках [1]. Например:
float a[3][5]; float b[2][2];
Вданном примере матрица a состоит из трех строк и пяти столбцов, все элементы матрицы являются вещественными числами. Матрица b состоит из двух строк и двух столбцов. Элементы второй матрицы являются целыми числами.
Впамяти такие массивы располагаются в последовательных ячейках построчно. Например, элементы матрицы b будут располагаться так:
b[0][0] b[0][1] b[1][0] b[1][1]
Примеры инициализации многомерного массива: int mas2 [][]={ {1, 1}, {0, 2}, {1, 0}, {1, 2} };
int mas2 [3][2]={1, 1, 0, 2, 1, 0};
Пример ввода вещественной матрицы размером 3 на 4. В данной матрице будет три строки, номера которых из-
меняются от 0 до 2.
39
В матрице будет четыре столбца, номера которых меняются от 0 до 3.
const int n = 3; const int m = 4; float x[n][m];
cout <<"Введите матрицу x размерностью 3 на 4" << endl;
for (int i = 0; i < n; i++) for (int j = 0; j < m; j++)
{
cout << "Введите x[" << i << "][" << j << "]=";
cin >> x[i][j];
}
Пример вывода вещественной матрицы приведен ниже. const int n = 3;
const int m = 4; float x[n][m];
cout << "\nМатрица x[" << n << "][" << m << "]\n"; for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++) printf("%5.2f ", x[i][j]);
printf("\n");
}
С помощью оператора printf каждый элемент матрицы выводится как вещественное число, занимающее 5 позиций, из которых две последние отводятся под дробную часть. Матрица выводится по строкам как таблица. Оператор printf("\n") обеспечивает переход курсора на следующую строку при окончании вывода строки матрицы.
40