Используем полученные знания и протестируем простейшую программу, входными данными которой являются три целых числа. Данные числа интерпретируются как длины сторон треугольника. Выходными данные – информация о том, является ли треугольник равнобедренным, равносторонним или неравносторонним.
Напомним, что треугольник может быть построен, если сумма двух его сторон больше третьей. В данном примере такой треугольник будем называть правильным.
Проанализировав возможные ошибки можно составить следующие тесты.
- Тест, который представляет правильный неравносторонний треугольник? (Тесты, со значениями 1, 2, 3 и 2, 5, 10 неудачны, так как не существует треугольников, имеющих такие стороны.).
- Тест, который представляет правильный равносторонний треугольник?
- Тест, который представляет правильный равнобедренный треугольник? (Тесты со значениями 2, 2, 4 принимать в расчет не следует.)
- Три теста, которые представляют правильные равнобедренные треугольники, полученные перестановкой двух равных сторон треугольника (например, 3, 3, 4; 3, 4, 3 и 4, 3, 3).
- Тест, в котором длина одной из сторон треугольника принимает нулевое значение.
- Тест, в котором длина одной из сторон треугольника принимает отрицательное значение.
- Тест, включающий три положительных целых числа, сумма двух из которых равна третьему. (Другими словами, если программа выдала сообщение о том, что числа 1, 2, 3 представляют собой стороны неравностороннего треугольника, то такая программа содержит ошибку.).
- Три теста с заданными значениями всех трех перестановок, в которых длина одной стороны равна сумме длин двух других сторон (например, 1, 2, 3; 1, 3, 2 и 3, 1, 2).
- Тест из трех целых положительных чисел, таких, что сумма двух из них меньше третьего числа (т. е. 1, 2, 4 или 12, 15, 30)?
- Три теста из категории 9, в которых испытываются все три перестановки (например, 1, 2, 4; 1, 4, 2 и 4, 1, 2).
- Тест, в котором все стороны треугольника имеют длину, равную нулю (т. е. 0, 0, 0).
12.Тест, содержащий нецелые значения.
3 13 Определить вид треугольника по его длинам
13.Описали ли вы заранее в каждом тесте не только входные значения, но и выходные данные метода?
Для простоты просмотра результатов тестов используют таблицу. В таблице содержится следующая информация.
– ID тестового примера. Уникальный идентификационный номер тестового примера.
– Входные данные. Последовательность входных данных, которая вводится тестером.
– Ожидаемые результаты. Поведение системы, которое тестер ожидает увидеть.
– Реальные результаты. Место, куда тестер будет записывать неожиданные результаты, или где он будет делать отметку о том, что тест был пройден.
Результаты тестирования показаны в таблице 2.1.
Таблица 2.1. Набор тестов для приложения «Определение типа треугольника»
Источник: studfile.net
Лекция 7. Задача о типе треугольника и его площади
Определить вид треугольника по длинам его сторон — Pascal ABC (23874)
Составьте программу, которая определяла бы вид треугольника по длинам его сторон a,b,c(если данные отрезки позволяют его построить) Условие того, что треугольник может быть составлен, является одновременное выполнение следующих условий: a+b>c, b+c>a, a+c>b, а так же то, что треугольники могут быть разными: равносторонними, равнобедренными, прямоугольными,равнобедренными прямоугольными и т.д. Кроме того, следует учесть, что в качестве длин сторон могут быть случайно введены как нулевые,так и отрицательные значения
Код к задаче: «Определить вид треугольника по длинам его сторон»
Листинг программы
program treug; var a,b,c:integer; begin writeln(‘vvedite storoni treug’); readln(a,b,c); if (a<=0) or (b<=0) or (c<=0) then writeln(‘hrenovo storoni predlagaesh’) else; if (a+b>=c) and (b+c>=a) and (a+c>=b) then begin if (a=b) and (b=c) then writeln(‘ravnostor’) else; if (a=b) or (b=c) or (a=c) then writeln(‘ravnobedr’) else; end; if (a+b>=c) and (b+c>=a) and (a+c>=b) then else writeln(‘ne katit’); readln; end.
Источник: studassistent.ru
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
Phytnon-Coursera / type_triangle.py /
Code definitions
Code navigation index up-to-date
- Go to file T
- Go to line L
- Go to definition R
- Copy path
- Copy permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cannot retrieve contributors at this time
18 lines (17 sloc) 893 Bytes
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents Copy raw contents
Copy raw contents
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
»’ |
Даны три стороны треугольника a,b,c. Определите тип треугольника с заданными сторонами. |
Выведите одно из четырех слов: rectangular для прямоугольного треугольника, |
acute для остроугольного треугольника, obtuse для тупоугольного треугольника |
или impossible, если треугольника с такими сторонами не существует. |
»’ |
a = int ( input ()) |
b = int ( input ()) |
c = int ( input ()) |
if ( a >= b + c ) or ( b >= a + c ) or ( c >= b + a ): |
print ( ‘impossible’ ) |
elif ( a ** 2 == b ** 2 + c ** 2 ) or ( b ** 2 == a ** 2 + c ** 2 ) or ( c ** 2 == b ** 2 + a ** 2 ): |
print ( ‘rectangular’ ) |
elif ( a ** 2 > b ** 2 + c ** 2 ) or ( b ** 2 > a ** 2 + c ** 2 ) or ( c ** 2 > b ** 2 + a ** 2 ): |
print ( ‘obtuse’ ) |
else : |
print ( ‘acute’ ) |
- Copy lines
- Copy permalink
- View git blame
- Reference in new issue
Источник: github.com