Главная страница
Навигация по странице:

  • Кафедра Телевидения и видеотехники

  • МАССИВЫ.

  • Блок-схема цикла Код программы

  • Блок-схема Код программы

  • Код программы

  • Отчет по лабораторной работе № 4 по дисциплине «Информатика» Тема: МАССИВЫ.. Лабораторная работа №4. Отчет по лабораторной работе 4 по дисциплине Информатика Тема массивы. Студент гр. 0123 Павлов Ю. Г


    Скачать 226.37 Kb.
    НазваниеОтчет по лабораторной работе 4 по дисциплине Информатика Тема массивы. Студент гр. 0123 Павлов Ю. Г
    АнкорОтчет по лабораторной работе № 4 по дисциплине «Информатика» Тема: МАССИВЫ
    Дата07.04.2021
    Размер226.37 Kb.
    Формат файлаdocx
    Имя файлаЛабораторная работа №4.docx
    ТипОтчет
    #192150

    МИНОБРНАУКИ РОССИИ

    Санкт-Петербургский государственный

    электротехнический университет

    «ЛЭТИ» им. В.И. Ульянова (Ленина)

    Кафедра Телевидения и видеотехники

    Отчет по лабораторной работе № 4

    по дисциплине «Информатика»

    Тема: МАССИВЫ.

    Студент гр. 0123

    ________________Павлов Ю.Г.







    Преподаватель

    ________________Курников А.С.


      1. Цель работы


    Знакомство с массивами.
      1. Краткие теоретические сведения


    Массив – совокупность переменных одного типа, хранящихся в смежных ячейках памяти:

    • все элементы (переменные), образующие массив, одного типа, имеют одинаковую длину;

    • элементы массивов различаются с помощью индексов. Нумерация элементов начинается с нуля, последнее значение индекса массива меньше его длины на единицу;

    Массив должен быть объявлен заранее, при объявлении необходимо указывать тип элементов массива и их количество (длину массива)

    Одномерный массив

    <ТипДанныхМассива> <ИмяМассива> [<КоличествоЭлементовМассива>];

    Доступ к элементу массива

    <ИмяМассива>[<НомерЭлемента>]

    Двумерный массив

    <ТипДанныхМассива><ИмяМассива>[<КоличествоСтрок>][<КоличествоСтолбцов>];

    Доступ к элементу массива

    <ИмяМассива>[<НомерСтроки>][<НомерСтолбца>]

    Датчик случайных чисел

    ИмяПеременной> = rand();

    Функция возвращает псевдослучайное целое число (тип int) в диапазоне от 0 до RAND_MAX. RAND_MAX – константа, определяющая максимальное значение, которое может быть возвращено функцией rand(). RAND_MAX = 232 = 4 294 967 296.

    Поскольку генерируемые функцией rand числа являются псевдослучайными, при каждом новом запуске приложения будет вырабатываться одна и та же последовательность чисел. Если это недопустимо, то можно использовать функцию srand(). Она изменяет стартовое число генератора, присваивая ему другую величину, получаемую функцией в качестве аргумента.

    Чаще всего в качестве передаваемой величины в функцию srand() используют системное время в секундах. Для этого в тексте программы указывается

    srand(time(NULL));

      1. Упражнение 1


    Блок-схема_цикла__Код_программы'>Блок-схема цикла



    Код программы

    #include

    #include

    using namespace std;
    int main()

    {

    setlocale(LC_ALL, "Russian");

    int n, i;

    double z, sum, mo, sko, arr[10];
    cout << "Введите количество элементов массива (<=10): ";

    do

    {

    cin >> n;

    if (n > 10) cout << "Число элементов должно быть <= 10.\n";

    } while (n > 10);

    sum = 0;

    z = 0;

    for (i = 1; i <= n; i++)

    {

    cout << "Введите значение элемента N" << i << ": ";

    cin >> arr[i - 1];

    sum += arr[i - 1];

    }

    mo = sum / n;

    cout << "Среднее арифметическое элементов массива: " << mo << endl;

    for (i = 0; i < n; i++)

    {

    z += pow((arr[i] - mo), 2);

    }

    sko = sqrt(z / n);

    cout << "СКО элементов одномерного массива: " << sko << endl;
    return 0;

    }

    Скриншоты






      1. Упражнение 2


    Блок-схема



    Код программы

    #include

    #include

    #include

    #include

    using namespace std;
    int main()

    {

    setlocale(LC_ALL, "Russian");

    srand(time(NULL));
    int n, i, arr[10], lowest;
    cout << "Введите границу диапазона генератора случайных чисел: ";

    cin >> n;

    lowest = n;

    cout << "Значения элементов массива:\n";

    for (i = 0; i < 10; i++)

    {

    arr[i] = rand()%(2*n)-n;

    if ((arr[i] < lowest) && (arr[i] > 0)) lowest = arr[i];

    cout << "N" << i+1 << ": " << arr[i] << endl;

    }

    cout << "Наименьшее из всех положительных элементов массива: " << lowest << endl;
    return 0;

    }

    Скриншоты



      1. Упражнение 3


    Блок-схема



    Код программы
    #include

    #include

    #include

    #include
    using namespace std;
    int main()

    {

    setlocale(LC_ALL, "Russian");

    srand(time(NULL));
    int n, i, j, arr[5][5], max, mi, mj;

    max = 0;

    cout << "Введите границу диапазона генератора случайных чисел: ";

    cin >> n;
    cout << "Значения элементов массива:\n";

    for (i = 0; i < 5; i++)

    {

    for (j = 0; j < 5; j++)

    {

    arr[i][j] = rand() % n;

    if (arr[i][j] > max) //Строгое неравенство позволяет сохранить первое вхождение элемента

    {

    max = arr[i][j];

    mi = i+1;

    mj = j+1;

    }

    cout.width(3); //Форматирование вывода

    cout << arr[i][j];

    }

    cout << endl;

    }

    cout << "Индекс первого вхождения максимального элемента двумерного массива: (i,j) = (" << mi << "," << mj << ")\n";
    return 0;

    }

    Скриншоты





      1. Упражнение 4


    Блок-схема

    (Алгоритм инициализации и вывода массива аналогичен алгоритму предыдущего задания)

    Алгоритм вывода транспонированного массива



    Код программы

    #include

    #include

    #include

    #include
    using namespace std;
    int main()

    {

    setlocale(LC_ALL, "Russian");

    srand(time(NULL));
    int n, m, min, max, i, j, arr[100][100];

    cout << "Задайте количество строк массива (меньше 100): ";

    cin >> n;

    cout << "Задайте количество столбцов массива (меньше 100): ";

    cin >> m;

    cout << "Введите MIN диапазона генератора случайных чисел: ";

    cin >> min;

    cout << "Введите MAX диапазона генератора случайных чисел: ";

    cin >> max;
    cout << "Значения элементов массива:\n";

    for (i = 0; i < n; i++)

    {

    for (j = 0; j < m; j++)

    {

    arr[i][j] = rand() % (max - min + 1) + min;

    cout.width(3); //Форматирование вывода

    cout << arr[i][j];

    }

    cout << endl;

    }

    cout << "\nЗначения элементов транспонированного массива:\n";

    for (i = 0; i < m; i++)

    {

    for (j = 0; j < n; j++)

    {

    cout.width(3); //Форматирование вывода

    cout << arr[j][i];

    }

    cout << endl;

    }

    return 0;

    }

    Скриншоты






      1. Вывод


    Выполнив лабораторную работу, познакомился с массивами на основе конструкций языка C++.

    Санкт-Петербург

    2020


    написать администратору сайта