Организация ветвлений
Задание 1
Номер
варианта
|
М.Э.
Абрамян. Электронный задачник по программированию
|
11
|
If10,
стр. 15
|
Алгоритм выполнения задания
Рис. 1
Таблица тестовых наборов
№
|
Входные
данные
|
Ожидаемый
результат
|
Комментарии
|
1
|
1,
1
|
0,
0
|
Потому
как a == b, а и b присваиваются значения 0, 0
|
2
|
2,
1
|
3,
3
|
Потому
как a != b, а и b присваиваются значения их суммы 3, 3
|
Код программы
#include <stdio.h>
#include <locale.h>
#include <windows.h>main()
{a, b, a1, b1;
setlocale(LC_CTYPE,
"rus");("Введите значение переменных А и В: ");
scanf("%d",
&a);("%d", &b);(a == b)
{= 0;= 0;("A = %d, B =
%d", a1, b1);
}
{= a + b;= a + b;("A = %d, B =
%d", a1, b1);
}("pause");0;
}
Таблица тестирования программы
№
|
Входные
данные
|
Полученный
результат
|
Результат
тестирования
|
1
|
1,
1
|
0,
0
|
Тест
пройден
|
2
|
2,
1
|
3,
3
|
Тест
пройден
|
Скриншоты
Рис. 2
Рис. 3
Программа прошла тестирование - работоспособна.
Задание 2
Разработать алгоритм и написать программу
вычисления заданного целочисленного выражения для данных в формате 16 битов со
знаком, используя оператор IF. Промежуточные вычисления могут проводиться с
использованием любых типов данных (с обоснованием выбора типа данных), а тип
результата Х - тоже должен быть 16 битов со знаком. Входные данные и результат
вычислений должны быть проверены на область допустимых значений.
Номер
варианта
|
Арифметическое
выражение
|
11
|
|
Алгоритм выполнения задания
Рис. 4
Таблица тестовых наборов
№
|
Входные
данные
|
Ожидаемый
результат
|
Комментарии
|
1
|
3,
1
|
1
|
Потому
как a > b, выполняется условие x = (2 + b) / a, которое равно 1
|
1,
1
|
-2
|
Потому
как a == b, выполняется условие x = -2
|
3
|
2,
3
|
-1
|
Потому
как a < b, выполняется условие x = (a - 5) / b, которое равно -1
|
Код программы
#include <stdio.h>
#include <locale.h>
#include <windows.h>main()
{a, b, x;
setlocale(LC_CTYPE,
"rus");("Введите значение переменных А и В: ");
scanf("%lg",
&a);("%lg", &b);(a > b)
{= (2 + b) / a;("X = %lg",
x);
}(a == b)
{= -2;("X = %lg", x);
}(a < b)
{= (a - 5) / b;("X = %lg",
x);
}("pause");
return 0;
}
Таблица тестирования программы
№
|
Входные
данные
|
Полученный
результат
|
Результат
тестирования
|
1
|
3,
1
|
1
|
Тест
пройден
|
2
|
1,
1
|
-2
|
Тест
пройден
|
3
|
2,
3
|
-1
|
Тест
пройден
|
Скриншоты
Рис. 5
Рис. 6
Рис. 7
Программа прошла тестирование - работоспособна.
Задание №3
Разработать алгоритм и написать программу
вычисления принадлежности точки с заданными координатами (x, y) заштрихованной
области. Программа должна выдавать текстовое сообщение о принадлежности точки
заданной области.
Рис. 8
Алгоритм выполнения задания
Рис. 9
Таблица тестовых наборов
№
|
Входные
данные
|
Ожидаемый
результат
|
Комментарии
|
1
|
3,
7
|
Точка
не входит в фигуру
|
Точка
не должна входить в фигуру потому как она превышает интервал координат фигуры
|
2
|
0,
7
|
Точка
входит в фигуру
|
Точка
должна входить в фигуру потому как она не превышает интервал координат фигуры
|
3
|
4,
7
|
Точка
не входит в фигуру
|
Код программы
#include <stdio.h>
#include <locale.h>
#include <windows.h>main()
{x, y;(LC_CTYPE,
"rus");("Введите
координаты
точки:
");("%lg", &x);("%lg", &y);
if ((-6 <= x) & (x <= 6) & (-6
<= y) & (y <= 4))("Точка входит в фигуру");
{((0 == x) & (y <= 7))("Точка входит
в фигуру");
{((-2 <= x) & (x <= 2) & (y <=
6))("Точка входит в фигуру");
{((-3 <= x) & (x <= 3) & (y <=
5))("Точка входит в фигуру");
{("Точка не входит в фигуру\n");
}
}
}
}("pause");0;
}
Таблица тестирования программы
№
|
Входные
данные
|
Полученный
результат
|
Результат
тестирования
|
1
|
3,
7
|
Точка
не входит в фигуру
|
Тест
пройден
|
2
|
0,
7
|
Точка
входит в фигуру
|
Тест
пройден
|
3
|
4,
7
|
Точка
не входит в фигуру
|
Тест
пройден
|
Скриншоты
Рис. 10
Рис. 11
Рис. 12
Программа прошла тестирование - работоспособна.
Вывод
Разветвления в С можно организовать путем
набором логических операций - операциями сравнения: >, <, =>, <=,
==, !=. В языке С реализованы функции логического базиса и-или-не. Исходя из
определения базиса логических функций с помощью этих трех логических операций
можно записать любые логические функции. При написании программ перед
программистом стоит задача преобразовать часть сложных формулировок условий,
набор выражений с операциями сравнения и определить их с использованием
логических операций.