Skip to content

Instantly share code, notes, and snippets.

@SneakBug8
Created September 13, 2019 20:09
Show Gist options
  • Save SneakBug8/dd605e25040955d250ab0073f9b8f2bb to your computer and use it in GitHub Desktop.
Save SneakBug8/dd605e25040955d250ab0073f9b8f2bb to your computer and use it in GitHub Desktop.

Лабораторная работа №1

По предмету "Основы Тестирования", студента Наконечного Павла Александровича, группа 191-362.

Задачи решены с использованием:

java 11 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11+28)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)

Каждая задача выполнена в отдельном файле, реализующем консольное приложение Java (т.е. запускается с помощью вызова javac и java соответствующего класса).

Задача 1

Пользователь вводит положительное целое число. Необходимо определить количество делителей этого числа, количество нечётных делителей числа, кол-во чётных делителей числа, и сумму каждого (из перечисленных) набора. Подписывать выводимые значения.

Код решения см в файле Task1.java

Входные данные Ожидаемый р-т Полученный р-т
1 4 Количество всех делителей - 3
Сумма всех делителей - 7
Количество чётных делителей - 2
Сумма чётных делителей - 6
Количество нечётных делителей - 1
Сумма нечётных делителей - 1
[1, 2, 4]
Количество всех делителей - 3
Сумма всех делителей - 7
[2, 4]
Количество чётных делителей - 2
Сумма чётных делителей - 6
[1]
Количество нечётных делителей - 1
Сумма нечётных делителей - 1
2 6 Количество всех делителей - 4
Сумма всех делителей - 12
Количество чётных делителей - 2
Сумма чётных делителей - 8
Количество нечётных делителей - 2
Сумма нечётных делителей - 4
[1, 2, 3, 6]
Количество всех делителей - 4
Сумма всех делителей - 12
[2, 6]
Количество чётных делителей - 2
Сумма чётных делителей - 8
[1, 3]
Количество нечётных делителей - 2
Сумма нечётных делителей - 4
3 5 Количество всех делителей - 2
Сумма всех делителей - 6
Количество чётных делителей - 0
Сумма чётных делителей - 0
Количество нечётных делителей - 2
Сумма нечётных делителей - 6
[1, 5]
Количество всех делителей - 2
Сумма всех делителей - 6
[]
Количество чётных делителей - 0
Сумма чётных делителей - 0
[1, 5]
Количество нечётных делителей - 2
Сумма нечётных делителей - 6
4 1 Количество всех делителей - 1
Сумма всех делителей - 1
Количество чётных делителей - 0
Сумма чётных делителей - 0
Количество нечётных делителей - 1
Сумма нечётных делителей - 1
[1]
Количество всех делителей - 1
Сумма всех делителей - 1
[]
Количество чётных делителей - 0
Сумма чётных делителей - 0
[1]
Количество нечётных делителей - 1
Сумма нечётных делителей - 1
5 0 Введено неверное значение! Введено неверное значение!

Задача 2

Пользователь вводит количество домов на улице. На одной стороне улицы с чётными, на другой - с нечетными. В одном из домов живёт человек (вводит пользователь). Он же вводит номер дома, к которому этому человеку надо дойти. Время в пути от дома к дому - 1 минута. Время перехода от дома до середины улицы - 30 секунд. Сколько времени займёт путешествие этого человека?

Код решения см в файле Task2.java

Входные данные Ожидаемый р-т Полученный р-т
1 Количество домов:
6
Где живёт человек
1
Где заканчивает человек
2
Маршрут:
1.0
Маршрут:
1.0
2 Количество домов:
0
Неверное количество домов Exception in thread "main" java.lang.Error: Неверное количество домов
at Task2.main(Task2.java:14)
3 Количество домов:
1
Где живёт человек
1
Где заканчивает человек
1
Маршрут:
0.0
Маршрут:
0.0
4 Количество домов
2
Где живёт человек
2
Где заканчивает человек
3
Неверный номер дома Exception in thread "main" java.lang.Error: Неверный номер дома
at Task2.checkmaxhouse(Task2.java:35)
at Task2.main(Task2.java:21)
5 Количество домов:
6
Где живёт человек
1
Где заканчивает человек
6
Маршрут:
3.0
Маршрут:
3.0

Задача 3

Человек в начале улицы (между первым и вторым домами). Пользователь вводит 2 числа, с номерами домов в которые должен сходить человек. Сначала он идёт в самый дальний дом. А потом в оставшийся. Вывести время его движения.

Код решения см в файле Task3.java

Входящие данные Ожидаемый р-т Полученный р-т
1 Количество домов:
6
Первый дом
-1
Неверный номер дома Exception in thread "main" java.lang.Error: Неверный номер дома
at Task2.checkmaxhouse(Task2.java:35)
at Task3.main(Task3.java:18)
2 Количество домов:
0
Неверное количество домов Exception in thread "main" java.lang.Error: Неверное количество домов
at Task2.main(Task2.java:14)
3 Количество домов:
6
Первый дом
1
Второй дом
6
Фрагмент 1:
2.5
Фрагмент 2
3.0
Итого
5.5
Фрагмент 1:
2.5
Фрагмент 2
3.0
Итого
5.5
4 Количество домов:
6
Первый дом
6
Второй дом
1
Фрагмент 1:
2.5
Фрагмент 2
3.0
Итого
5.5
Фрагмент 1:
2.5
Фрагмент 2
3.0
Итого
5.5
5 Количество домов:
6
Первый дом
2
Второй дом
3
Фрагмент 1:
1.5
Фрагмент 2
2.0
Итого
3.5
Фрагмент 1:
1.5
Фрагмент 2
2.0
Итого
3.5

Задача 4

Пользователь вводит неограниченное количество номеров домов. И человек идёт сначала в самый дальний. Самый дальний от него и так далее. И уходит с этой улицы (в её конец).

Код решения см в файле Task4.java

Входные данные Ожидаемый р-т Полученный р-т
1 Количество домов:
6
Введите дома (закончить нулём)
1 3 0
Идём в дом 3 (путь: 1.5)
Идём в дом 1 (путь: 2.5)
Идём в конец улицы (путь: 5.0)
5.0
Идём в дом 3 (путь: 1.5)
Идём в дом 1 (путь: 2.5)
Идём в конец улицы (путь: 5.0)
5.0
2 Количество домов:
6
Введите дома (закончить нулём)
1 2 7 0
Неправильный номер дома Exception in thread "main" java.lang.Error: Неправильный номер дома
at Task4.main(Task4.java:22)
3 Количество домов:
0
Неверное количество домов Exception in thread "main" java.lang.Error: Неверное количество домов
at Task4.main(Task4.java:13)
4 Количество домов:
6
Введите дома (закончить нулём)
1 2 3 4 5 6 0
Идём в дом 5 (путь: 2.5)
Идём в дом 2 (путь: 5.5)
Идём в дом 3 (путь: 7.5)
Идём в дом 6 (путь: 9.5)
Идём в дом 1 (путь: 12.5)
Идём в дом 4 (путь: 14.5)
Идём в конец улицы (путь: 16.0)
16.0
Идём в дом 5 (путь: 2.5)
Идём в дом 2 (путь: 5.5)
Идём в дом 3 (путь: 7.5)
Идём в дом 6 (путь: 9.5)
Идём в дом 1 (путь: 12.5)
Идём в дом 4 (путь: 14.5)
Идём в конец улицы (путь: 16.0)
16.0
5 Количество домов:
в
Неверное количество домов Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at Task4.main(Task4.java:10)

Задача 5

Пользователь с клавиатуры вводит число элементов в массиве. Инициализация элементов массива происходит случайным образом. Числа выбираются от -130 до 28 включительно. Пока отрицательных элементов больше половины, массив переопределяется, сохраняя положительные элементы. Посчитать сумму отрицательных чисел, сумму положительных в результирующем массиве.

Код решения см в файле Task5.java

Входные данные Ожидаемый р-т Полученный р-т
1 Введите количество элементов
5
-98 -38 -115 -55 -12
===
Генерация 1
1 -83 -72 28 -77
===
Генерация 2
1 -95 -83 28 -104
===
Генерация 3
1 -107 -43 28 -48
===
Генерация 4
1 18 -89 28 -78
===
Сумма отрицательных: -167
Сумма положительных: 47
===
Генерация 1
1 -83 -72 28 -77
===
Генерация 2
1 -95 -83 28 -104
===
Генерация 3
1 -107 -43 28 -48
===
Генерация 4
1 18 -89 28 -78
===
Сумма отрицательных: -167
Сумма положительных: 47
2 Введите количество элементов
3
-23 5 -76
===
Генерация 1
1 5 -4
===
Сумма отрицательных: -4
Сумма положительных: 6
===
Генерация 1
1 5 -4
===
Сумма отрицательных: -4
Сумма положительных: 6
3 Введите количество элементов
0
===
Сумма отрицательных: 0
Сумма положительных: 0
===
Сумма отрицательных: 0
Сумма положительных: 0
4 Введите количество элементов
-1
Неверный размер массива Exception in thread "main" java.lang.Error: Неправильный размер массива
at Task5.main(Task5.java:14)
5 Введите количество элементов
100
-23 -116 -93 -101 -50 -51 -63 13 -93 -55 -35 -108 -30 -21 -35 -82 -76 -83 -113 27 -51 -69 -15 -68 14 -78 -92 -79 8 -52 -51 25 24 -37 -74 -63 1 -4 20 -16 -16 -37 -78 21 -98 -67 -15 -47 -59 -57 -81 -11 -57 -118 -46 -67 22 -42 17 -87 -72 -26 24
20 -116 -48 -39 -16 -79 -72 0 -113 -110 -45 -36 -33 -39 -117 -78 -121 13 -6 -6 -94 28 -117 -12 15 11 -37 -96 -75 -116 -6
-69 -53 10 -35 7 -41
===
Генерация 1
11 -85 -37 15 -60 -85 -86 13 -70 -75 -28 -39 -10 -64 -39 -60 -112 -89 -22 27 -62 -10 -63 -26 14 -56 -53 -31 8 -124 -75 25 24 -120 -119 -47 1 -81 20 -99 13 -45 -57 21 -6 -25 -119 -88 -2 -88 -75 9 -18 24 -33 -94 22 -2 17 -5 -58 4 24 20 -34 -11
-96 -6 -27 -34 -12 -89 -94 -3 -72 -100 -92 -20 -93 -19 13 -52 -3 1 28 -114 -44 15 11 -41 -61 -95 -50 -127 -86 -95 10 -46
7 -118
===
Генерация 2
11 -34 -55 15 -67 -125 22 13 -3 -126 -68 -97 -108 -130 -94 28 8 -75 8 27 -111 -40 12 -26 14 -111 -6 -106 8 -130 -68 25 24 -130 17 -70 1 -104 20 -110 13 -76 -31 21 -51 -109 -19 21 -92 -6 26 9 -24 24 -89 -123 22 -28 17 -55 13 4 24 20 -124 -28 11 -60 12 27 26 -40 -56 -91 -25 22 -35 -128 -24 -64 13 -120 -13 1 28 -5 13 15 11 -112 16 -79 -49 25 -15 -109 10 -103 7 -51
===
Генерация 3
11 6 -15 15 -64 -77 22 13 -68 -8 -71 -35 -26 -105 -104 28 8 4 8 27 15 -13 12 -3 14 7 9 -26 8 23 -49 25 24 28 17 3 1 -63 20 -104 13 -128 13 21 -43 -109 -44 21 -84 -109 26 9 -10 24 -45 -26 22 11 17 -12 13 4 24 20 -92 23 11 -39 12 27 26 -13 -118 -118 -63 22 -122 -72 -87 -46 13 -58 -108 1 28 7 13 15 11 -76 16 -121 -33 25 -31 -36 10 -73 7 -77
===
Сумма отрицательных: -2824
Сумма положительных: 853
===
Генерация 1
11 -85 -37 15 -60 -85 -86 13 -70 -75 -28 -39 -10 -64 -39 -60 -112 -89 -22 27 -62 -10 -63 -26 14 -56 -53 -31 8 -124 -75 25 24 -120 -119 -47 1 -81 20 -99 13 -45 -57 21 -6 -25 -119 -88 -2 -88 -75 9 -18 24 -33 -94 22 -2 17 -5 -58 4 24 20 -34 -11
-96 -6 -27 -34 -12 -89 -94 -3 -72 -100 -92 -20 -93 -19 13 -52 -3 1 28 -114 -44 15 11 -41 -61 -95 -50 -127 -86 -95 10 -46
7 -118
===
Генерация 2
11 -34 -55 15 -67 -125 22 13 -3 -126 -68 -97 -108 -130 -94 28 8 -75 8 27 -111 -40 12 -26 14 -111 -6 -106 8 -130 -68 25 24 -130 17 -70 1 -104 20 -110 13 -76 -31 21 -51 -109 -19 21 -92 -6 26 9 -24 24 -89 -123 22 -28 17 -55 13 4 24 20 -124 -28 11 -60 12 27 26 -40 -56 -91 -25 22 -35 -128 -24 -64 13 -120 -13 1 28 -5 13 15 11 -112 16 -79 -49 25 -15 -109 10 -103 7 -51
===
Генерация 3
11 6 -15 15 -64 -77 22 13 -68 -8 -71 -35 -26 -105 -104 28 8 4 8 27 15 -13 12 -3 14 7 9 -26 8 23 -49 25 24 28 17 3 1 -63 20 -104 13 -128 13 21 -43 -109 -44 21 -84 -109 26 9 -10 24 -45 -26 22 11 17 -12 13 4 24 20 -92 23 11 -39 12 27 26 -13 -118 -118 -63 22 -122 -72 -87 -46 13 -58 -108 1 28 7 13 15 11 -76 16 -121 -33 25 -31 -36 10 -73 7 -77
===
Сумма отрицательных: -2824
Сумма положительных: 853
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment