6 ЛАБА
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ
ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА
Кафедра вычислительных систем и сетей
ОЦЕНКА ПРЕПОДАВАТЕЛЬ |
|
|
|
|
Старший преподаватель |
|
|
|
А.В. Аксенов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ
Функции
по дисциплине: информатика
РАБОТУ ВЫПОЛНИЛА
СТУДЕНТКА ГР.
№
номер группы подпись, дата инициалы, фамилия
Студенческий билет №
Санкт-Петербург 2020
1.Цель работы:
Изучение принципов организации статических массивов в языке C++ и методов их обработки. Совершенствование навыков декомпозиции программы на подпрограммы, разработки и отладки программ в IDE.
2. Порядок выполнения работы:
Разработать программу, решающую поставленную задачу в соответствии с индивидуальным заданием.
Массивы, создаваемые в программе, должны быть статическими.
Разработанная программа должна содержать определение функции, выполняющей индивидуальное задание. Функция должна принимать в качестве параметров массив и его длину (даже несмотря на то, что длина указана в задании), а также другие параметры, если это необходимо, и либо возвращать значение (если она что-то вычисляет), либо иметь тип void (если она изменяет массив).
Вызвать разработанную функцию 2 раза: для массива, заданного в индивидуальном варианте, и для массива другой длины, заданного другим способом (ввод пользователем / генерация псевдослучайных чисел).
Все вводимые пользователем данные должны проверяться на корректность диапазона.
Все операции ввода и вывода, а также вызовы реализованной функции необходимо осуществлять в функции main().
Индивидуальное задание:
Вариант 14.
Ввести массив A из 15 вещественных чисел в диапазоне от -30 до 50. Реализовать функцию нахождения номера позиции наименьшего по абсолютной величине элемента массива.
Текст программы:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int rrand(int range_min, int range_max) { return rand() % (range_max - range_min + 1) + range_min;
} void array_min(int arr[], const int size)
{ int n; int min = arr[0]; for (int i = 0; i < size; i++)
{ if (min > arr[i]) {
min = arr[i]; n = i;
}
}
cout << "Наименьший элемент массива: [" << n <<
"] = " << arr[n] << endl;
}
int main() { setlocale(LC_ALL, "Russian");
// Для массива, заданного заданием
const int SIZE_A = 15; int A[SIZE_A]{ 0,-5,2,7,4,-9,-8,8,16,-6,10,-2,1,0,6 }; array_min(A, SIZE_A); cout << endl;
// Для РАНДОМНОГО массива
const int SIZE_B = 6; int B[SIZE_B]; const int n = -30; const int m = 50;
for (unsigned int i = 0; i < SIZE_B; i++) {
B[i] = rrand(n, m);
} for (unsigned int i = 0; i < SIZE_B; i++) {
cout << "Значение элемента массива ["
<< i << "] = " << B[i] << endl;
} cout << endl; array_min(B, SIZE_B);
system("pause"); return 0;
}
5. Скриншоты:
Вывод: Я изучила принципы организации статических массивов в языке C++ и методы их обработки. Усовершенствовала навыки декомпозиции программы на подпрограммы, разработки и отладки программ в IDE.