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

  • Разветвляющиеся алгоритмы

  • Задача №1. Вариант 11 Две точки плоскости заданы координатами. Определить, какая из них расположена ближе к началу координат и на сколько.Постановка задачи №1

  • Краткое описание метода решения задачи №1

  • Результаты работы программы №1 при различных исходных данных

  • Краткое описание метода решения задачи №2

  • Схема алгоритма

  • Результаты работы программы №2 при различных исходных данных

  • уау. Разветвляющиеся алгоритмы Домашняя работа 1 по дисциплине Алгоритмизация и программирование


    Скачать 170.31 Kb.
    НазваниеРазветвляющиеся алгоритмы Домашняя работа 1 по дисциплине Алгоритмизация и программирование
    Дата31.03.2023
    Размер170.31 Kb.
    Формат файлаdocx
    Имя файлаDR1_Ershov_RI-121111.docx
    ТипЗадача
    #1028630

    Министерство образования и науки Российской Федерации

    ФГАОУ ВО «Уральский федеральный университет

    имени первого Президента России Б.Н. Ельцина»

    Департамент радиоэлектроники и связи

    Разветвляющиеся алгоритмы

    Домашняя работа №1 по дисциплине

    «Алгоритмизация и программирование»

    Вариант № 11

    Студент Ершов Е.М.


    Роспись студ.

    Дата сдачи работы
    Гр. РИ-121111 ___20.03.2023___ ___________


    Роспись препод.

    Дата приема работы
    Преподаватель ________________ ___________ Саблина Н.Г.

    Екатеринбург 2023

    Задача №1. Вариант 11

    Две точки плоскости заданы координатами. Определить, какая из них расположена ближе к началу координат и на сколько.
    Постановка задачи №1

    Исходными данными в этой задаче являются значения ординат и абсцисс на плоскости (x1, y1) и (x2, y2) для каждой из двух точек A и B соответственно. x и y – действительные числа, вводятся с клавиатуры.

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

    Краткое описание метода решения задачи №1

    Программа вычисляет расстояние от точки A и от Б до начала координат по формулам:

    (1.1)

    (1.2)

    где a и b – расстояние от точек А и Б до плоскости, (x1,y1) и (x2,y2) - координаты точек А и Б соответственно.

    Далее программа сравнивает значения расстояний вычисляет их разницу в длине (из большего расстояния вычитает меньшую) и выводит результат.


    Начало
    Схема алгоритма


    Программа определения взаимного расположения точек А и В по отношению к началу координат



    Введите значения абсцисс и ординат точек А и В





    1



    1



    x1,y1,x2,y2





    a =





    b =





    Нет

    Да

    a = b





    a > b



    Нет



    Да





    q = b - a

    q = a - b



    Точки находятся на одинаковом расстоянии



    Точка Б ближе, чем точка A на q

    Точка А ближе, чем точка Б на q





    Конец


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

    #include

    #include

    using namespace std;

    int main()
    {
    float x1, y1, x2, y2, a, b, q;
    //Заставка
    printf("Программа определения взаимного расположения точек A и B по отношению к началу координат\nАвтор: студент гр. РИ-121111 Ершов Е.M. 2023 г.\n");
    //Ввод Исходных данных

    printf("\nВведите значение (действительное) абсциссы точки A x = ");

    scanf("%f",&x1);
    printf("\nВведите значение (действительное) ординаты точки A y = ");

    scanf("%f",&y1);
    printf("\nВведите значение (действительное) абсциссы точки B x = ");

    scanf("%f",&x2);
    printf("\nВведите значение (действительное) ординаты точки B y = ");

    scanf("%f",&y2);
    //Вычисляемая часть
    a = (sqrt(x1*x1 + y1*y1));

    b = (sqrt(y2*y2 + x2*x2));

    if (a == b)

    {

    //Вывод результатов

    cout << "\nТочки находятся на одинаковом расстоянии";

    }else if (a > b)

    {

    q = a - b;

    //Вывод результатов

    cout << "\nТочка B ближе, чем A на" << (" ") << (q);

    }else

    {

    q = b - a;

    //Вывод результатов

    cout << ("\nТочка А ближе, чем Б на") << (" ") << (q);

    }
    return 0;
    }

    ­­­

    Результаты работы программы №1 при различных исходных данных

    Номер набора ИД

    Значение x1

    Значение y1

    Значение x2

    Значение y2

    Результат

    №1

    100

    4

    1

    2

    Точка B ближе, чем A на 97.8439

    №2

    3

    4

    1

    6

    Точка А ближе, чем Б на 1.08276

    №3

    213

    23

    5

    4.56

    Точка B ближе, чем A на 207.471

    №4

    5

    5

    5

    5

    Точки находятся на одинаковом расстоянии

    №5

    3

    3

    -3

    -3

    Точки находятся на одинаковом расстоянии

    Задача №2. Вариант 11

    Составить программу, которая в зависимости от введенного номера месяца выводит название сезона, к которому он относится. Предусмотреть выбор одного из двух языков: а – английский, р - русский.

    Постановка задачи №2

    Исходными данными для этой задачи является номер месяца (целое неотрицательное число) и символ отвечающий за выбор языка. Оба значения вводятся с клавиатуры.

    Выходными данными будет является название сезона на выбранном языке, к которому относится выбранный месяц, результат выводится на экран.

    Краткое описание метода решения задачи №2

    Каждому месяцу присвоить номер и дать пользователю выбор языка, далее вывести на экран название сезона, принадлежащий выбранному месяцу, на нужном языке. Для Решения задачи используем оператор множественного выбора switch, с помощью которого сначала будем смотреть выбранный месяц, а потом также с помощью switch, будем выводить название сезона, в зависимости от выбранного языка.

    Схема алгоритма


    Начало





    Программа определяющая сезон в зависимости от выбранного месяца





    Введите номер месяца





    n





    Нет

    n





    1

    Language





    а

    р



    2





    Некорректный номер месяца

    Incorrect month number







    Конец



    1





    9, 10, 11

    6, 7, 8

    3, 4, 5

    1, 2, 12





    Language

    Language



    Language

    Language





    а

    а

    р

    р





    а

    а

    р

    р

    Лето

    Зима



    Summer

    Winter





    Весна

    Осень



    Spring

    Autumn







    2


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

    #include

    using namespace std;
    int main()

    {

    int n;

    char language;

    cout <<("Программа определяющая сезон в зависимости от выбранного месяца \nАвтор: студент гр. РИ-121111 Ершов Е.М. 2023 г.");
    //Заставка
    printf ("\n\n1 - Январь \n2 - Февраль \n3 - Март \n4 - Апрель \n5 - Май \n6 - Июнь \n7 - Июль \n8 - Август \n9 - Сентябрь \n10 - Октябрь \n11 - Ноябрь \n12 - Декабрь \n");

    cout << "\nВыберите номер месяца: ";

    cin >> n;

    cout << "Язык вывода: а - английский р - русский\n";

    cout << "Выберите язык: ";

    cin >> language;
    switch (n)

    {

    case 1: case 2: case 12: // Зима

    switch (language) {

    case 'а': // английский

    cout << "\nWinter\n";

    break;

    case 'р': // русский

    cout << "\nЗима\n";

    break;

    }

    break;

    case 3: case 4: case 5: // Весна

    switch (language) {

    case 'а': // английский

    cout << "\nSpring\n";

    break;

    case 'р': // русский

    cout << "\nВесна\n";

    break;

    }

    break;

    case 6: case 7: case 8: // Лето

    switch (language) {

    case 'а': // английский

    cout << "\nSummer\n";

    break;

    case 'р': // русский

    cout << "\nЛето\n";

    break;

    }

    break;

    case 9: case 10: case 11: // Осень

    switch (language) {

    case 'а': // английский

    cout << "\nAutumn\n";

    break;

    case 'р': // русский

    cout << "\nОсень\n";

    break;

    }

    break;

    default:

    switch (language) {

    case 'а': // английский

    cout << "\nIncorrect month number\n";

    break;

    case 'р': // русский

    cout << "\nНекорректный номер месяца\n";

    break;

    break;

    }

    }

    printf("\nДля выхода нажмите любую клавишу");

    return 0;
    }

    Результаты работы программы №2 при различных исходных данных

    Номер набора ИД

    Введённые данные

    Результат вывода

    1

    12

    р

    Зима

    2

    4

    а

    Spring

    3

    8

    р

    Лето

    4

    -3

    а

    Incorrect month number

    5

    15

    р

    Ошибочный номер месяца


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