SHARE
TWEET

Untitled

a guest Jul 12th, 2019 71 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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()
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top