Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование на языке высокого уровня. Лабораторный практикум
.pdf
Номер
варианта
Математическое выражение
10
11
12
13
14
15
16
17
18
19
20
22
23
d
x
24
25
26
27
28
Окончание табл. 7
xb22
ebxbxlny
ax
22
axaxeaxaxy
ln/)()/()(
)bxln()bx(sin/)bx(y
)/(|)|ln)()(( bpapbpappy
22
/))(sin)((
2
22
bx
ebxbxy
bx
ebxbxbxy
/)()/(||ln
||ln1||/)(
bxbxbxy
/)(||ln)(
ax
exaxaxay )/(|)sin(|)(cos(
cxcxcxy
eaxaxaxy
22
)cos()(sin)/()( axaxaxaxy
222
|8|ln)8/())8(sin(
ax
21
)axsin(|ax|)axcos(y
222
ln/))sin()((
22
2
cx
31
cxcxcxy
222222
ln/))cos()(sin(
axln)ax(sin/)аx(y
dxedxdxy
22
)/(|)sin(|))(1/()( xaxaxaxay
ax
eaxaxaxaxy
)(||ln)/(||
)bx(/1bxln/)bx(y
cxln/)cx(e)cx/()cx(y

3.2. Программирование разветвляющихся вычисли-
тельных задач
Цель работы - приобретение практических навыков на-
писания и отладки программ, реализующих разветвляющиеся
вычислительные задачи.
Общие рекомендации
Общие рекомендации содержат пример программы,
реализующей разветвляющуюся вычислительную задачу.
В разветвляющейся вычислительной задаче происходит
разветвление выполняемой последовательности действий в
зависимости от результата проверки какого-либо условия.
Пример. Составить программу вычисления функции
#include "stdafx.h" // Ставится по умолчанию в 2010
#include <iostream> // Подключение заголовочного файла
// с функциями ввода-вывода
using namespace std; // Определение пространства имен
int _tmain(int argc, _TCHAR* argv[]) //Ставится по
{
setlocale(LC_ALL, "Russian"); //Установка
float a, x, y; //Объявление переменных
cout << "Введите a" << endl; //Вывод фразы
cin >> a; // Ввод а
cout << "Введите x" << endl; //Вывод фразы
cin >> x; // Ввод х
2
Программа на C++
32
.,
axеслиaxa
;),(sinln
axеслиxax
// умолчанию в 2010
//соответствующей
//кодовой страницы

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
Варианты заданий для реализации
разветвляющихся вычислений
Номер
Функция
варианта
2
1
2
3
4
5
y
y
ax
y
3
y
y
ax
3
3
;10;
xеслиexa
xеслиxcxb
xеслиxbxa
.10;
;4.13;
xеслиe
xеслиxax
bx
x
3/2
2
xеслиex
xеслиbx
xеслиx
xеслиbxa
.4.13;3.1
;3.7);ln(
.3.7;
;12);sin(
xеслиxbab
.12;
;3.4;
.3.4;
34

Номер
варианта
6
7
8
9
10
11
12
13
14
15
Продолжение табл. 8
Функция
3
y
3
y
y
y
y
y
abx
y
3
y
2
ax
y
ax
y
xеслиx
;1.0;1
xеслиx
32
.1.0);cos(
;1;sin
xеслиxx
.1);1ln(
xеслиxbxa
;3));cos(ln(
xеслиxax
2
xеслиxb
;5);(
xеслиxtg
xеслиbxa
xеслиeba
xеслиxba
2
;4;
xеслиxa
xеслиxbxa
xеслиcxba
3
xеслиbe
xеслиce
xеслиcxb
xеслиcxbxa
;4.6;
.4.6;
xеслиbxa
.9.3;
.3;
.5;)ln(
xеслиcxbxa
xеслиxcxbxa
;4.3);sin(
.4.3;)sin(
;7.2;
.7.2);ln(
.4;)ln(
;3.7);/(
.3.7;
;9.3;)ln(
35

Номер
варианта
16
17
18
19
20
21
22
Продолжение табл. 8
Функция
2
y
y
3
xеслиx
xеслиx
;3;ln
xеслиx
;2;
ax
y
y
x
y
y
2
y
;3;
xеслиe
xеслиxa
22
xеслиxb
23
случаяхостальныхвx
xеслиx
xеслиxe
;1);(
xеслиxtg
;3;1
xеслиx
случаяхостальныхв
23
;2;1
xесли
случаяхостальныхв
xеслиxbxa
;2;75.0
случаяхостальныхвxa
;1;)1(
xеслиxb
;7.3;)(sin
.7.3);(ln
случаяхостальныхвx
.;|)sin(|
.;
;3;)1(
.;
;1;)sin(ln
;2;
случаяхостальныхвx
xеслиxx
.|;|5.0
;2);cos()sin(
.;7
;1;5
xеслиxx
.;1
36

Номер
x
варианта
23
24
25
Окончание табл. 8
Функция
5
1
x
y
1
2
x
5
y
y
2
1
;1;
xеслиxx
;2;
xесли
;3;
xесли
случаяхостальныхвxx
;2;5.2
xесли
.;
;20);5(
xилиxеслиxctg
случаяхостальныхвx
.);1)5/(sin(1
;1xесли);axcos(
;4xили3xили2xесли;xa7
.случаяхостальныхв;
26
27
28
y
2
y
3
xa
y
37
;1xесли;e
;5xесли;b)xbln(
.5xесли;axb
6xесли;xb)xa(cos
.6xесли);x(ln
;2xесли;xa75.0
.случаяхостальныхв;xa

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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
