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

  • Кафедра систем автоматизированного проектирования

  • отчет

  • Найти

  • Особенности решения задачи на компьютере

  • Макет ввода-вывода

  • Калмычков 2 лабараторная работа 1 семестр. Лаба 2 Отчёт. Изучение и практическое освоение приемов программирования элементарных операций и работа с математическими формулами


    Скачать 223.06 Kb.
    НазваниеИзучение и практическое освоение приемов программирования элементарных операций и работа с математическими формулами
    АнкорКалмычков 2 лабараторная работа 1 семестр
    Дата27.12.2021
    Размер223.06 Kb.
    Формат файлаdocx
    Имя файлаЛаба 2 Отчёт.docx
    ТипПрограмма
    #319542

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

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

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

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

    Кафедра систем автоматизированного проектирования

    отчет

    по лабораторной работе №2

    по дисциплине «Программирование»

    Тема: Изучение и практическое освоение приемов программирования элементарных операций и работа с математическими формулами


    Студент гр. 1309




    Гранин В.А

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




    Калмычков В.А


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

    2021

    Оглавление





    Формулировка задания 2

    Цель работы 2

    Анализ задания и контрольный пример 2

    Математическая постановка задачи 2

    Изучение необходимого материала и подготовка к выполнению лабораторной работы: 3

    Программа выводит на экран приветствие и условие задачи. Затем предлагает пользователю задать определенные параметры фигуры. При неверно введенных данных на экране появится «Ошибка построения», иначе пользователю будет предложено задать координаты произвольной точки. После чего на экране появится: «Точка принадлежит заштрихованной области», в случае, если точка находится в плоскости фигуры; «Точка не принадлежит заштрихованной области», в случае, если точка лежит за пределами фигуры. 3

    Способ внутреннего хранения данных: 3

    Блок-схема 4

    Текст программы 4

    Примеры работы программы 5

    Вывод 7


    Формулировка задания


    Составить программу, которая определяет, принадлежит ли точка с координатами (x, y) одной из заштрихованных областей


    Рис. 1

    Цель работы


    Изучение операторов If и Else, а также их применение для решения задач разного типа. Изучение библиотеки “math.h” и ее использование при решении задач.

    Анализ задания и контрольный пример


    1)Ввести параметры b,r (r>0) и (r
    2) Введите координаты точки x,y: 2 2

    3)Точка принадлежит фигуре.

    Математическая постановка задачи


    Дано: a – высота прямоугольника. b – длина прямоугольника, r – радиус окружностей. d – средняя линия. Фигура расположена по всей плоскости
    Найти: Принадлежит ли произвольно введенная с клавиатуры точка с координатами (x, y) внутренней области образовавшейся фигуры.
    Способ решения: По введённым пользователем некоторым начальным координатам фигуры, применяя математические действия, находятся остальные координаты, необходимые для сравнение координат произвольной точки со сторонами фигуры.
    Особенности решения задачи на компьютере: По заданным пользователем начальным значениям вычисляются остальные координаты фигуры при помощи несложных математический вычислений.


    Изучение необходимого материала и подготовка к выполнению лабораторной работы:

    Программа выводит на экран приветствие и условие задачи. Затем предлагает пользователю задать определенные параметры фигуры. При неверно введенных данных на экране появится «Ошибка построения», иначе пользователю будет предложено задать координаты произвольной точки. После чего на экране появится: «Точка принадлежит заштрихованной области», в случае, если точка находится в плоскости фигуры; «Точка не принадлежит заштрихованной области», в случае, если точка лежит за пределами фигуры.


    Способ внутреннего хранения данных:


    Название переменной

    Тип переменной

    Пояснение

    a

    double

    Параметр фигуры

    b

    double

    Вводимая величина для фигуры

    r

    double

    Вводимая величина для фигуры

    d

    double

    Параметр фигруы

    x


    double

    Координата точки

    y

    double

    Координата точки



    Макет ввода-вывода:

    Для организации ввода-вывода используем операторы cin>> cout<< из библиотеки iostream.

    1. Ввод b,r

    2. Ввод x,y

    3. Вывод “ точка принадлежит фигуре”

    4. Вывод “ точка не принадлежит фигуре” если точка не принадлежит.

    Блок-схема





    Текст программы


    #include

    #include

    #include

    using namespace std;
    int main() {

    setlocale(LC_ALL, "Rus");

    cout << "Здравствуйте, данную лабораторную работ выполнил Гранин Владислав Анатольевич, группа 1309"

    << '\n' << "Начало: 2.10.2021"

    << '\n' << "Конец: -"

    << '\n' << "Версия: 1.0.0"

    << '\n' << "Рисунок 5.2(щ)" << '\n';

    double a, b, r, d, x, y, x1, y1, k, e;

    /*

    a - высота прямоугол.

    b - длина прямоугол.

    r - радиус окружностей.

    d - средняя линия

    a = 2r. d = b+2r

    */

    cout << "Введите параметры b,r (r>0)and(r
    cin >> b >> r;

    if ((r < 0) && !(r >= b)) {

    return 0;

    }

    else cout << "Введите координаты точки x,y: ";

    cin >> x >> y;

    //Формулы

    a = 2 * r;

    d = b + 2 * r;

    x = fabs(x);

    y = fabs(y);

    b = fabs(b);

    //Сдвигаем точку к фигуре

    if (x > d) {

    //По X

    k = trunc(x / d);

    x = x - d * k;

    }

    if (y > a) {

    //По Y

    e = trunc(y / a);

    y = y - a * e;

    }

    x1 = x - r;

    y1 = y - r;

    if ((((x1 * x1 + y1 * y1) <= r * r) && (x1 <= 0))

    || ((((x1 - b) * (x1 - b) + y1 * y1) <= r * r) && (x1 >= b))

    || ((y1 <= r) && (y1 >= r) && (x1 >= 0) && (x1 <= b))

    || ((y1 <= 0 - r) && (y1 >= 0 - r)) && (x1 >= 0) && (x1 <= b))

    {

    cout << "точка принадлежит фигуре \n";

    }

    else

    cout << "точка Не принадлежит фигуре \n";

    return 0;

    }

    Примеры работы программы


    Начала работы программы (рис.2)



    Рис. 2

    Введём неправильные значения b = 5, r = -5. (рис.3)



    Рис. 3

    Введём значение b = 5, r = 2 и x = 2, y = 2 (Рис.4)


    Рис. 4


    Введём значение b = 5, r =2 и x = 3, y = 3 (Рис.5)


    Рис. 5


    Вывод


    В ходе выполнения задания была освоена библиотека “math.h”, изучены основные действия с операторами if и else на языке С++, а также получены практические навыки использования языка для решения зада






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