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

  • Отчето лабораторной работе № 1 (вариант №3) «Разветвляющийся вычислительный процесс »по дисциплине«Программирование»

  • Иркутск 2022

  • Отчет о лабораторной работе № 1 (вариант №3). 1 лабораторная. Отчет о лабораторной работе 1 (вариант 3) Разветвляющийся вычислительный процесс по дисциплине Программирование


    Скачать 104.76 Kb.
    НазваниеОтчет о лабораторной работе 1 (вариант 3) Разветвляющийся вычислительный процесс по дисциплине Программирование
    АнкорОтчет о лабораторной работе № 1 (вариант №3
    Дата28.09.2022
    Размер104.76 Kb.
    Формат файлаdocx
    Имя файла1 лабораторная.docx
    ТипОтчет
    #701991

    Министерство науки и высшего образования РФ

    Федеральное государственное бюджетное образовательное учреждение
    высшего образования

    ИРКУТСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ


    Институт информационных технологий и анализа данных

    Отчет
    о лабораторной работе № 1 (вариант №3)


    «Разветвляющийся вычислительный процесс»

    по дисциплине

    «Программирование»


    Выполнил: студент(-ка) гр.

    Булгатов А.А.

    Руководитель:

    Столбов А.Б.

    Оценка:




    Дата защиты:






    Иркутск 2022

    1. Условие задачи


    Даны действительные числа Х, Y. Если оба числа отрицательны, то каждое число заменить его модулем; если отрицательное только одно из них, то оба значения увеличить на 0.5; если оба числа положительны и ни одно из них не принадлежит отрезку [ 0.5, 2.0 ], то оба значения уменьшить в 10 раз; в остальных случаях числа оставить без изменения.

    Введем следующие обозначения:

    1var – первое условие с 2 отрицательными числами;

    2var – второе условие с одним отрицательным числом;

    3var – третье условие с 2 положительными числами не принадлежащий отрезку;

    4var – остальные случаи;


    1. Таблица 1 – Внешние спецификации



    Имя

    Назначение

    Тип

    Вх/Вых.

    Диапазон

    1

    x

    1 число

    Вещ.

    Вход

    (3.4E-38; 3.4E+38)

    2

    y

    2 число

    Вещ.

    Вход

    (3.4E-38; 3.4E+38)

    3

    1var

    Результат первого условия

    Вещ.

    Выход

    (3.4E-38; 3.4E+38)

    4

    2var

    Результат второго условия

    Вещ.

    Выход

    (3.4E-38; 3.4E+38)

    5

    3var

    Результат третьего условия

    Вещ.

    Выход

    (3.4E-38; 3.4E+38)

    6

    4var

    Результат четвертого условия

    Вещ.

    Выход

    (3.4E-38; 3.4E+38)




    1. Алгоритмизация


    Блок-схема представлена на рис 1.



    Рисунок 1.



    1. Проектирование тестов


    Таблица 2 – таблица тестов

    Номер теста

    Назначение

    теста

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

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

    1

    Ввод отрицательных чисел, для получения их модуля

    x=-3

    y=-5


    x=3

    y=5


    2

    Ввод одного отрицательного числа, для того чтобы прибавить 0.5

    x=10

    y=-2


    x=10.5

    y=-1.5


    3

    Ввод положительных чисел не принадлежащих отрезку 0.5 и 2.0, для деления чисел на 10

    x=0.2

    y=15


    x=0.02

    y=1.5


    4

    Вывод изначальных значений переменных.

    x=3

    y=2


    x=3

    y=2





    1. Тест 1: блоки 1,2,3,4;

    Тест 2: блоки 1,2,3,5,6;

    Тест 3: блоки 1,2,3,5,7,8;

    Тест 4: блоки 1,2,3,5,7,9;


    1. Кодирование алгоритма или запись алгоритма на языке С++


    #include"math.h"

    #include

    using namespace std;

    int main() {

    float x, y;

    cout << "Введите число x: ";

    cin >> x;

    cout << "Введите число y: ";

    cin >> y;

    if (x < 0 && y < 0)

    {

    x = fabs(x);

    y = fabs(y);

    }

    else if (x < 0 || y < 0)

    {

    x = x + 0.5;

    y = y + 0.5;

    }

    else if ((x > 0 && y > 0) && (x < 0.5 || x > 2.0) && (y < 0.5 || y > 2.0))

    {

    x = x / 10;

    y = y / 10;

    }

    cout << "x = " << x << endl;

    cout << "y = " << y << endl;

    return 0;

    }



    1. Условие задачи

    Заданы действительные числа X и Y. Определить, принадлежит ли точка с координатами (X,Y) заштрихованной части плоскости.(см. рис. 2).



    Рис. 2


    1. Математическая модель

    Для определения заштрихованной области используем формулу окружности x^2+y^2=R^2. Так мы сможем создать условие нахождения заштрихованной области между двумя окружностями.


    1. Таблица 1 – Внешние спецификации



    Имя

    Назначение

    Тип

    Вх/Вых.

    Диапазон

    1

    x

    Координата х

    Вещ.

    вход

    (3.4E-38; 3.4E+38)

    2

    y

    Координата y

    Вещ.

    вход

    (3.4E-38; 3.4E+38)

    3

    C1

    Сообщение

    Текст

    выход

    2 вида

    4

    C2

    Сообщение

    Текст

    выход

    2 вида


    Таблица сообщений:

    С1: «Точка принадлежит заштрихованной части плоскости.»

    С2: «Точка не принадлежит заштрихованной части плоскости.»


    1. Алгоритмизация




    Рисунок 1 – Блок-схема алгоритма



    1. Проектирование тестов




    Номер теста

    Назначение

    теста

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

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

    1

    Принадлежность точки заштрихованной области

    x=0

    y=0.75


    «Точка принадлежит заштрихованной области»

    2

    Принадлежность точки не заштрихованной области

    x=0.75

    y=0.75


    «Точка не принадлежит заштрихованной области»



    1. Проверка правильности алгоритма с помощью таблицы:


    Тест 1: блоки 1,2,3,5,6

    Тест 2: блоки 1,2,3,4,6


    1. Кодирование алгоритма или запись алгоритма на языке С++


    #include

    #include
    using namespace std;
    int main()
    {

    float x,y;
    cout << "Введите координату x: ";

    cin >> x;

    cout << "Введите координату y: ";

    cin >> y;

    if (((x*x+y*y) >= 0.5) && ((x*x+y*y) <= 1))

    {

    cout << "Точка принадлежит заштрихованной части плоскости" << endl;

    }
    else

    {

    cout << "Точка не принадлежит заштрихованной части плоскости" << endl;

    }
    return 0;

    }


    1. Условие задачи:

    Пусть D - заштрихованная часть плоскости (см. рис. 3) и пусть задана точка своими координатами (X,Y). Запись (X,Y) D означает, что точка с координатами X, Y лежит внутри заштрихованной области D. Определить значение функции U следующим образом:





    1. Математическая модель:

    Используем уравнение окружности x^2+(y-2)^2=4 и уравнение параболы y=1-x^2.



    1. Таблица 1 – Внешние спецификации



    Имя

    Назначение

    Тип

    Вх/Вых.

    Диапазон

    1

    x

    Координата х

    Вещ.

    вход

    (3.4E-38; 3.4E+38)

    2

    y

    Координата y

    Вещ.

    вход

    (3.4E-38; 3.4E+38)

    3

    U

    Результат U

    Вещ.

    выход

    (3.4E-38; 3.4E+38)



    1. Алгоритмизация




    1. Проектирование тестов

    Номер теста

    Назначение

    теста

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

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

    1

    Вычисление U, если точка принадлежит заштрихованной области

    x=0

    y=0.75


    U= -0.75

    2

    Вычисление U, если точка не принадлежит заштрихованной области

    x=2

    y=2


    U= 4



    1. Проверка правильности алгоритма с помощью таблицы


    Тест1: блоки 1,2,3,5,6

    Тест2: блоки 1,2,3,4,6


    1. Кодирование алгоритма или запись алгоритма на языке С++


    #include

    #include
    using namespace std;
    int main()
    {

    float x,y,u;
    cout << "Введите координату x: ";

    cin >> x;

    cout << "Введите координату y: ";

    cin >> y;

    if ((pow(x,2)+pow(y-2,2) <= 4) && (1-pow(x,2) >= y) )

    {

    u = x-y;

    cout << "U = " << u << endl;

    }
    else

    {

    u = x*y;

    cout << "U = " << u << endl;

    }
    return 0;

    }


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