Скачиваний:
6
Добавлен:
09.04.2023
Размер:
135.85 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Инфокоммуникационных сетей и систем

Кафедра Защищенных систем связи

Дисциплина Разработка защищенного программного обеспечения

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №1

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

(тема отчета)

Направление/специальность подготовки

10.03.01 Информационная безопасность

(код и наименование направления/специальности)

Студент:

(Ф.И.О., № группы) (подпись)

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

Цветков А.Ю.

(Ф.И.О) (подпись)

Цель лабораторной работы

  1. Освоить использование операторов ветвления в Java.

  2. Освоить операции ввода-вывода в консоль.

  3. Освоить использование логических операторов в Java.

Используемое программное обеспечение

  1. JDK 1.5 и выше

  2. Интегрированная среда разработки на Java

Задание на лабораторную работу

  1. Составить блок-схему алгоритма нахождения области по варианту задания.

  2. По составленной блок-схеме написать программу на Java.

  3. Проверить правильность работы программы для каждой области.

  4. Собрать исполняемый jar и отправить на проверку.

Условия основного задания

Блок-схема основного задания

Листинг программного кода основного задания

public class Main {

    public static void main(String[] args) {

        

        if (args.length < 2) {

            System.err.println("Error: Введите 2 аргумента X и Y.");

        }

        

        double x = Double.parseDouble(args[0]);

        double y = Double.parseDouble(args[1]);

        // круг x = 5, y = 6, r = 5 => (Math.pow((x - 6), 2) + Math.pow((y - 6), 2) < 25 — True Если в кругу 

        // прямая k = 1, b = 1 => y<x+1 — True если ниже

        // Прямоугольник x1 = 1, y1 = 1, x2 = 10, y2 = 6

        //

        if (y < (x + 4)) {

            // Ниже прямой

            if (Math.pow((x - 6), 2) + Math.pow((y - 5), 2) < 25) {

                // В окружности

                if ((y < 8) && (y > 2) && (x > 1) && (x < 6)){

                    // В прямоугольнике

                    System.out.println(4);

                }

                else{

                    // Вне прямоугольника

                    System.out.println(2);

                }

            }

            else{

                // Вне окружности

                if ((y < 8) && (y > 2) && (x > 1) && (x < 6)){

                    // В прямоугольнике

                    System.out.println(3);

                }

                else{

                    // Вне прямоугольника

                    System.out.println(1);

                }

            }

        }

        else{

            // Выше прямой

            if (Math.pow((x - 6), 2) + Math.pow((y - 5), 2) < 25) {

                // В окружности

                if ((y < 8) && (y > 2) && (x > 1) && (x < 6)) {

                    // В прямоугольнике

                    System.out.println(6);

                }

                else{

                    // Вне прямоугольника

                    System.out.println(8);

                }

            }

            else {

                // Вне окружности

                if ((y < 8) && (y > 2) && (x > 1) && (x < 6)) {

                    // В прямоугольнике

                    System.out.println(7);

                }

                else {

                    // Вне прямоугольника 

                    System.out.println(5);

                }

            }

        }

    }

}

Условие дополнительного задания:

Листинг программного кода дополнительного задания

public class Dop {

    public static void main(String[] args) {

        

        if (args.length < 2) {

            System.err.println("Error: Введите 2 аргумента X и Y.");

        }

        

        double x = Double.parseDouble(args[0]);

        double y = Double.parseDouble(args[1]);

        // круг x = 4, y = 4, r = 3 => (Math.pow((x - 6), 2) + Math.pow((y - 5), 2) < 25 — True Если в кругу 

        // прямая k = 1, b = 4 => y<9-x — True если ниже

        // Прямоугольник 1 x1 = 1, y1 = 1, x2 = 8, y2 = 6

        // Прямоугольник 2 x1 = 1, y1 = 2, x2 = 9, y2 = 10

        if (y < (9-x)) {

            // Ниже прямой

            if (Math.pow((x - 4), 2) + Math.pow((y - 4), 2) < 9) {

                // В окружности

                if ((y < 6) && (y > 1) && (x > 1) && (x < 8)){

                    // В прямоугольнике 1

                    if ((y < 10) && (y > 2) && (x > 1) && (x < 9)){

                        // В прямоугольнике 2

                        System.out.println(6);

                    }

                    else{

                        // Вне прямоугольника 2

                        System.out.println(4);

                    }

                }

                else{

                    // Вне прямоугольника 1

                    if ((y < 10) && (y > 2) && (x > 1) && (x < 9)){

                        // В прямоугольнике 2

                        System.out.println(3);

                    }

                    else{

                        // Вне прямоугольника 2

                        System.out.println(1);

                    }

                }

            }

            else{

                // Вне окружности

                if ((y < 6) && (y > 1) && (x > 1) && (x < 8)){

                    // В прямоугольнике 1

                    if ((y < 10) && (y > 2) && (x > 1) && (x < 9)){

                        // В прямоугольнике 2

                    }

                    else{

                        // Вне прямоугольника 2

                        System.out.println(3);

                    }

                }

                else{

                    // Вне прямоугольника 1

                    if ((y < 10) && (y > 2) && (x > 1) && (x < 9)){

                        // В прямоугольнике 2

                        System.out.println(10);

                    }

                    else{

                        // Вне прямоугольника 2

                        System.out.println(1);

                    }

                }

            }

        }

        else{

            // Выше прямой

            if (Math.pow((x - 4), 2) + Math.pow((y - 4), 2) < 9) {

                // В окружности

                if ((y < 6) && (y > 1) && (x > 1) && (x < 8)){

                    // В прямоугольнике 1

                    if ((y < 10) && (y > 2) && (x > 1) && (x < 9)){

                        // В прямоугольнике 2

                        System.out.println(7);

                    }

                    else{

                        // Вне прямоугольника 2

                        

                    }

                }

                else{

                    // Вне прямоугольника 1

                    if ((y < 10) && (y > 2) && (x > 1) && (x < 9)){

                        // В прямоугольнике 2

                        System.out.println(11);

                    }

                    else{

                        // Вне прямоугольника 2

                

                    }

                }

            }

            else{

                // Вне окружности

                if ((y < 6) && (y > 1) && (x > 1) && (x < 8)){

                    // В прямоугольнике 1

                    if ((y < 10) && (y > 2) && (x > 1) && (x < 9)){

                        // В прямоугольнике 2

                        System.out.println(8);

                    }

                    else{

                        // Вне прямоугольника 2

                        System.out.println(5);

                    }

                }

                else{

                    // Вне прямоугольника 1

                    if ((y < 10) && (y > 2) && (x > 1) && (x < 9)){

                        // В прямоугольнике 2

                        System.out.println(9);

                    }

                    else{

                        // Вне прямоугольника 2

                        System.out.println(2);

                    }

                }

            }

        }

    }

}

Вывод

Были освоены средства операторы ветвления в Java, операции ввода-вывода в консоль и логические операторы в Java.

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

2021

Соседние файлы в предмете Разработка защищенного программного обеспечения