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

  • 2.Разработка программы 2.2 Разработка схемы алгоритма

  • Промежуточные данные i

  • Выходные данные: Sum

  • 2.3 Описание пользовательского интерфейса

  • 3. Реализация и тестирование программы

  • Приложение. Листинг программы

  • Отчет по практике. Занятие Динамические массивы(одномерные). Сало Анна Андреевна


    Скачать 314.67 Kb.
    НазваниеЗанятие Динамические массивы(одномерные). Сало Анна Андреевна
    АнкорОтчет по практике
    Дата05.10.2022
    Размер314.67 Kb.
    Формат файлаdocx
    Имя файлаPrakticheskaya_1_Salo_Anna.docx
    ТипЗанятие
    #716511

    Практическое занятие 1.1. Динамические массивы(одномерные).

    Сало Анна Андреевна

    Вариант №17
    Задание:

    Разработать алгоритм (блок-схему) и программный код на языке С++ (обрабатываемые массивы должны быть динамическими) согласно варианту.

    Отладить программу в консольном приложении.

    Протестировать программу на различных наборах входных данных.

    Составить отчет.

    Условие:

    В векторе х подсчитать число нулей и заменить отрицательные элементы их абсолютными величинами.
    1.Постановки задачи

    Программа подсчитывает количество нулей в векторе, создает массив заменяет отрицательные элементы абсолютными величинами.

    Входные данные:

    -size(ограничение): int- целочисленный тип данных (весит 4 байта), диапазон значений от -2 147 483 648 до 2 147 483 647.

    -arr(ограничение): int- целочисленный тип данных (весит 4 байта), диапазон значений от -2 147 483 648 до 2 147 483 647.

    Выходные данные:

    -sum(ограничение): int- целочисленный тип данных (весит 4 байта), диапазон значений от -2 147 483 648 до 2 147 483 647.

    -size(ограничение): int- целочисленный тип данных (весит 4 байта), диапазон значений от -2 147 483 648 до 2 147 483 647.

    Среда разработки- Visual Studio 2022.

    2.Разработка программы

    2.2 Разработка схемы алгоритма

    На рис.1 изображена блок-схема алгоритма функций в приведенной мне задаче.

    начало



    Ввод количества элементов массива






    Ввод элементов массива





    нет

    Значение массива=0?


    да




    Считаем кол-во

    нет

    Значение массива< 0?











    Вывод количества нулей

    да


    Умножаем на (-1)





    Вывод значения массива







    конец


    Рис. 1. Блок-схема алгоритма функции main
    Входные данные - это данные, которые Вы даёте программе (например, “cin >> A”). А выходные данные - результат работы программы. В таблице 1 я в подробностях описала имя, тип и структуру используемых мной данных.

    Табл. 1

    Описание данных


    Имя

    Тип

    Структура

    Входные данные:

    Size

    Целочисленный

    Простая переменная

    Arr[i]

    Целочисленный

    Динамический одномерный массив

    Промежуточные данные

    i

    Целочисленный

    Простая переменная

    Выходные данные:

    Sum

    Целочисленный

    Простая переменная

    Arr[i]

    Целочисленный

    Динамический одномерный массив


    2.3 Описание пользовательского интерфейса

    На рис. 2 я приложила скриншот пользовательского интерфейса, как только мы входим в программу.

    Рис.2. Пользовательский интерфейс

    3. Реализация и тестирование программы

    3.1. Описание разработанной программы

    Разработанный код программы полностью отвечает поставленному заданию, а именно: вид массива – динамический; реализована возможность нахождения отрицательных элементов массива и замена их абсолютными величинами; реализована возможность нахождения количества нулей в данном массиве.

    Листинг программы приведён в приложении.

    3.2 Тестирование разработанной программы


    Объект испытаний - Практическая работа №1.1.

    Цель испытаний - Проверка корректной работы программы.

    Средства испытаний - Visual Studio 2022.

    Порядок испытаний - 1) Запуск программы;

    2) Ввод требуемых данных;

    3) Проверка результатов программы.

    Методы испытаний представлены в табл.2 -

    1) Ввод отрицательных элементов -

    2) Ввод в элементы нулей -

    3) Ввод буквенных значений - ×

    4) Ввод вещественных значений - ×

    Табл.2

    Тестирование программы

    Входные данные

    Выходные данные

    Комментарий

    Size =5

    9 8 -7 9 0

    1

    98790

    Правильная работа программы

    Size= 2

    a 8

    «В массиве не может быть буквенных значений»

    Программа ломается

    Size=3

    2,5 7

    «В массиве представлены целочисленные значения»

    Программа ломается

    Size=3

    0 0 0

    3

    0 0 0

    Правильная работа программы

    Вывод:

    Целью данной работы было получение навыков практического применения базовых алгоритмических структур при программировании одномерных динамических массивов. С этой целью я справилась успешно, изучила функционал массивов, их задачи и применение, а также узнала о множестве других новых функций и библиотек.

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

    Приложение. Листинг программы

    #include <iostream>

    #include

    #include

    using namespace std;

    int main()

    {

    SetConsoleCP(1251);

    SetConsoleOutputCP(1251);
    int size, sum = 0;

    cout << "Введите размер массива : ";

    cin >> size;

    int* arr = new int[size];

    cout << endl;

    for (int i = 1; i < size+1; i++) {

    cout << "Введите [" << i << "] элемент массива: ";

    cin >> arr[i];

    }

    cout << endl;

    for (int i = 1; i < size + 1; i++) {

    if (arr[i] == 0) { sum += 1; }

    if (arr[i] < 0) { arr[i] = arr[i] * (-1); }

    }

    cout << "Массив после преобразования: ";

    for (int i = 1; i < size + 1; i++) {

    cout << arr[i] << " ";

    }

    cout << endl;

    cout << "Количество нулей равно: " << sum << endl;;
    system("pause");

    return 0;

    }


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