Advertisement
Guest User

Untitled

a guest
Jul 12th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. import Foundation
  2.  
  3. class Object: NSObject {
  4.  
  5. var name: String {
  6. return String(describing: self)
  7. }
  8. }
  9.  
  10. class Triangle: Object {
  11.  
  12. var a: Float = 5
  13. var b: Float = 8
  14. var c: Float = 9
  15.  
  16. enum TriangleType: Int {
  17. case noneType
  18. case normal
  19. case equilateral
  20. case isosceles
  21. case rightIsosceles
  22. case right
  23.  
  24. func toString() -> String {
  25. switch self {
  26. case .normal:
  27. return "Thường"
  28. case .equilateral:
  29. return "Đều"
  30. case .isosceles:
  31. return "Cân"
  32. case .right:
  33. return "Vuông"
  34. case .rightIsosceles:
  35. return "Vuông cân"
  36. default:
  37. return "K phải"
  38. }
  39. }
  40. }
  41.  
  42. override var name: String {
  43. return "Tam giác"
  44. }
  45.  
  46. override init() {
  47. super.init()
  48. }
  49.  
  50. init(a: Float, b: Float, c: Float) {
  51. self.a = a
  52. self.b = b
  53. self.c = c
  54. }
  55.  
  56. // Exerice 5: Tinh dien tich
  57. func printArea() {
  58. let p = (a + b + c) / 2
  59. let area = sqrt(p * (p-a) * (p-b) * (p-c))
  60. print("Diện tích hình \(name) là: \(area)")
  61. }
  62.  
  63. // Exerice 6:
  64. func printType() {
  65. var triangleType: TriangleType = .noneType
  66. if ((a + b) > c && (a + c) > b && (b + c) > a && a > 0 && b > 0 && c > 0) {
  67. triangleType = .normal
  68. if (a==b) && (b==c) && (c==a) {
  69. triangleType = .equilateral
  70. } else if (a==b)||(b==c)||(a==c) {
  71. triangleType = .isosceles
  72. } else if ((a * a + b * b == c * c) && (a == b)) || ( a * a + c * c == b * b) && ( a == c) || ( c * c + b * b == a * a) && ( c == b) {
  73. triangleType = .rightIsosceles
  74. } else if (a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b) {
  75. triangleType = .right
  76. }
  77. }
  78. print("Đây là \(name): \(triangleType.toString())")
  79. }
  80. }
  81.  
  82. func main() {
  83. let triangle = Triangle()
  84. triangle.printArea()
  85. print("-----------------------")
  86. triangle.printType()
  87. }
  88.  
  89. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement