Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на языке высокого уровня. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Номер
варианта
Математическое выражение
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]