💀
Второй курс РПО
Разработка программных модулей
Разработка программных модулей
  • Модели разработки
  • Ошибки и отладка программ
  • Средства разработки алгоритмов
    • Основные принципы и стадии тестирования
  • Сложностные классы
  • Эмуляторы операционных систем
  • Сложность сортировки
  • Уровни тестирования
  • Задание №1
  • Регрессионное тестирование
  • Тестирование «белым ящиком»
  • Как делать оценку сложности?
  • Алгоритмы и сложность
  • Тестирование "белым ящиком" №2
  • Сложность алгоритмов
  • Тестирование "белым ящиком" №3
  • Тестирование "Чёрным ящиком»" №1
  • Тестирование "Черным ящиком" №2
  • Оценка сложности эвристических алгоритмов
  • Принципы ООП
  • Тестирование "Черным ящиком" №3
  • КТ - В3
  • Модульное тестирование
    • С кодами
  • Модульное тестирование
  • Абстрактные классы и интерфейсы в Python
  • Структуры в Python по аналогии с C++
    • Диалоги гениев
  • Делегаты в Python
    • Ещё более не смешные диалоги
  • Регулярные выражения в Python от простого к сложному
  • Python: Коллекции
  • Параметризованные классы (шаблоны)
  • Указатели и операции со списками в Python
  • Интеграционное тестирование
  • Работа с классами. Перегрузка методов
  • Определение операций в классе.
  • Создание наследованных классов
  • Интеграционное тестирование
  • Работа с объектами через интерфейсы
  • Использование стандартных интерфейсов
  • Работа с типом данных "Структура"
  • Коллекции. Параметризованные классы
  • Использование регулярных выражений
  • Операции со списками
  • Что такое паттерны проектирования?
  • Шпаргалка по шаблонам проектирования
    • [Habr] Шпаргалка
  • UML-диаграммы проектирования
  • Использование основных шаблонов.
  • Использование каких то там шаблонов
  • 15-я Практическая
  • 16-я Практическая
  • Graphviz Online
  • 17-я Практическая
  • Введение в теорию программирования: Объектно-ориентированный подход
  • Документирование софта и стандарты
  • C# Ввод и вывод
  • Оптимизация кода: просто о главном
  • Автоматизация разработки технической документации
  • Автоматизированное документирование и первичные данные
  • ADO.NET что это?
Powered by GitBook
On this page
  • Пример 6. Проверка делимости
  • Пример 7. Определение квадранта
  • Проведение тестирования
  • Пример 6. Проверка делимости
  • Пример 7. Определение квадранта

Тестирование "Черным ящиком" №3

16.12.2024

Пример 6. Проверка делимости

Условие Функция принимает числа a и b. Выводит "divisible", если a делится на b без остатка, иначе "not divisible".

Python

def f(a, b):
    if b == 0:  # Проверка деления на ноль
        return "error"
    if a % b == 0:  # Проверка остатка от деления
        return "divisible"
    return "not divisible"

# Тесты
print(f(10, 2))  # Число делится нацело
print(f(10, 3))  # Число не делится нацело
print(f(10, 0))  # Деление на ноль

C++

#include <iostream>
using namespace std;

string f(int a, int b) {
    if (b == 0) {
        return "error";  // Деление на ноль
    }
    if (a % b == 0) {
        return "divisible";  // Число делится нацело
    }
    return "not divisible";  // Число не делится нацело
}

int main() {
    cout << f(10, 2) << endl;
    cout << f(10, 3) << endl;
    cout << f(10, 0) << endl;
    return 0;
}

Пример 7. Определение квадранта

Условие Функция принимает координаты x и y. Определяет, в каком квадранте находится точка:

  • 1 квадрант: x > 0 и y > 0

  • 2 квадрант: x < 0 и y > 0

  • 3 квадрант: x < 0 и y < 0

  • 4 квадрант: x > 0 и y < 0

Python

def f(x, y):
    if x > 0 and y > 0:
        return "1st quadrant"
    if x < 0 and y > 0:
        return "2nd quadrant"
    if x < 0 and y < 0:
        return "3rd quadrant"
    if x > 0 and y < 0:
        return "4th quadrant"
    return "on axis"  # Точка лежит на оси

# Тесты
print(f(1, 1))  # 1-й квадрант
print(f(-1, 1))  # 2-й квадрант
print(f(-1, -1))  # 3-й квадрант
print(f(1, -1))  # 4-й квадрант
print(f(0, 0))  # Точка на оси

C++

#include <iostream>
using namespace std;

string f(int x, int y) {
    if (x > 0 && y > 0) {
        return "1st quadrant";
    }
    if (x < 0 && y > 0) {
        return "2nd quadrant";
    }
    if (x < 0 && y < 0) {
        return "3rd quadrant";
    }
    if (x > 0 && y < 0) {
        return "4th quadrant";
    }
    return "on axis";
}

int main() {
    cout << f(1, 1) << endl;
    cout << f(-1, 1) << endl;
    cout << f(-1, -1) << endl;
    cout << f(1, -1) << endl;
    cout << f(0, 0) << endl;
    return 0;
}

Проведение тестирования

Пример 6. Проверка делимости

Тестовые данные

Входные значения a, b

Ожидаемый результат

Результат выполнения

10, 2

"divisible"

"divisible"

10, 3

"not divisible"

"not divisible"

10, 0

"error"

"error"

Вывод: Тесты успешно пройдены.

Пример 7. Определение квадранта

Тестовые данные

Входные значения x, y

Ожидаемый результат

Результат выполнения

1, 1

"1st quadrant"

"1st quadrant"

-1, 1

"2nd quadrant"

"2nd quadrant"

-1, -1

"3rd quadrant"

"3rd quadrant"

1, -1

"4th quadrant"

"4th quadrant"

0, 0

"on axis"

"on axis"

Вывод: Тесты успешно пройдены.

PreviousПринципы ООПNextКТ - В3

Last updated 5 months ago