Лабораторные работы / lab_6_отчёт
.docxФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра «Информатика и вычислительная техника»
ОТЧЕТ
по лабораторной работе № 6
«ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ОБРАБОТКИ ОДНОМЕРНЫХ МАССИВОВ»
-
Выполнил:
студент группы ИВТ-234 Кукушкина А.А.
______________________________________
(дата, подпись)
Проверил:
ст. пр. доцент Дорошенко М.С.
_____________________________________________________
(дата, подпись)
Омск 2023
Лабораторная работа №6
Тема: Программирование алгоритмов обработки одномерных массивов
Вариант 9
Задание 1
Условие задачи:
Начертить структурную схему алгоритма, написать и отладить программу для одной из следующих задач. Исходные массивы задать типизированными константами.
Даны два одномерных массива А и В. Вычислить элементы массива С по правилу: если аi и bi различны, то сi присвоить их сумму, при одинаковых аi, bi в сi переписать соответствующий элемент массива А.
Схема алгоритма:
Текст программы:
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int A[]{ 15, 33, 15, 6, 24, 47, 24, 41, 8, 26 };
int B[]{ 3, 4, 15, 43, 35, 34, 15, 41, 39, 26 };
int C[10]{};
for (int i = 0; i < 10; ++i)
{
if (A[i] != B[i])
{
C[i] = A[i] + B[i];
cout << C[i] << endl;
}
else
{
C[i] = A[i];
cout << C[i] << endl;
}
}
_getch();
return 0;
}
Результаты выполнения программы, выводы:
Задание 2
Условие задачи:
Начертить структурную схему алгоритма, написать и отладить программу для одной из следующих задач. Элементы исходных массивов ввести через оператор ввода.
Даны два одномерных массива А и В. Вычислить элементы массива С по правилу: если аi и bi различны, то сi присвоить их сумму, при одинаковых аi, bi в сi переписать соответствующий элемент массива А.
Схема алгоритма:
Текст программы:
#include<iostream>
#include<conio.h>
#include<locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "ru");
int A[10]{}, B[10]{}, C[10]{}, a, b;
for (int i = 0; i < 10; i++)
{
printf("Введите %d-е элементы массивов A и B.\n", i);
cin >> a >> b;
A[i] = a;
B[i] = b;
}
cout << "Массив A:" << " " << "Массив B:" << endl;
for (int i = 0; i < 10; i++)
{
cout << A[i] << " " << B[i] << endl;
}
cout << "Массив C:" << endl;
for (int i = 0; i < 10; ++i)
{
if (A[i] != B[i])
{
C[i] = A[i] + B[i];
cout << C[i] << endl;
}
else
{
C[i] = A[i];
cout << C[i] << endl;
}
}
_getch();
return 0;
}
Результаты выполнения программы, выводы:
После выполнения программы, нужно ввести с клавиатуры элементы массивов A и B, затем они выводятся на экран. После этого на экран выводится массив C, полученный из массивов A и B.
Задание 3
Условие задачи:
Модифицировать программу 3_2 для функций F1(x) и F2 (x) таким образом, чтобы результаты были сформированы в виде трех одномерных массивов. Выполнить ее и сравнить результаты с полученными в лабораторных работах 3 и 4.
Схема алгоритма:
Текст программы:
#include <iostream>
#include <conio.h>
#include <math.h>
#include <iomanip>
#define a 1.0
#define b 3.0
#define n 15.0
using namespace std;
int main()
{
int i;
float X[15]{}, F1[15]{}, F2[15]{}, x, s;
s = fabs(b - a) / (n - 1);
x = a;
for (i = 0; i < n; i++)
{
F1[i] = sqrt(exp(x) - 1);
F2[i] = x * pow(log(x), 2);
X[i] = x;
x = x + s;
}
cout << fixed << setprecision(6);
cout << " " << "x" << " " << "F1" << " " << "F2" << endl;
for (i = 0; i < n; i++)
{
cout << X[i] << " " << F1[i] << " " << F2[i] << endl;
}
_getch();
return 0;
}
Результаты выполнения программы, выводы:
После выполнения программы на экран вывелось три одномерных массива, содержащие значения x, F1 и F2. Результаты полностью совпали со значениями, полученными после выполнения программ 3_2, 4_3 и 5_1.