import Foundation import Glibc /*---------------------1----------------------- Tính tổng hai số nguyên ---------------------------------------------*/ func sumInt(a: Int, b: Int) -> Int{ return a + b } //print(sumInt(a: 5, b: 6)) /*---------------------2----------------------- Tính tổng hai số thực ---------------------------------------------*/ func sumFloat(a: Float, b: Float) -> Float{ return a + b } //print(sumFloat(a: 3.5, b: 5.6)) /*---------------------3----------------------- Đổi vị trí hai số nguyên ---------------------------------------------*/ func changePositionInt(_ a: inout Int,_ b: inout Int){ let t: Int = b b = a a = t } /*var a: Int = 10 var b: Int = 18 print("before: \(a) va \(b)") changePositionInt(&a, &b) print("after: \(a) va \(b)")*/ /*---------------------4----------------------- Tìm số nhỏ nhất trong mảng số nguyên ---------------------------------------------*/ func findMin(array: [Int]) -> Int{ var min: Int = array[0] for value in array { if value < min { min = value } } return min } /*var array: [Int] = [100, 4, 6, 17, 23, 24, 54, 78] var min: Int = findMin(array: array) print(min)*/ /*---------------------5----------------------- Cho mảng số nguyên. Tính tổng, trung bình cộng, số lớn nhất, nhỏ nhất ---------------------------------------------*/ func calculate(array: [Int]) -> (sum: Int, average: Float, max: Int, min: Int){ var currentMin: Int = array[0] var currentMax: Int = array[0] var currentSum: Int = 0 var currentAverage: Float = 0 for (index, value) in array.enumerated() { if value < currentMin { currentMin = value } else if value > currentMax { currentMax = value } currentSum += value currentAverage = Float(currentSum) / (Float)(index + 1) } return (currentSum, currentAverage, currentMax, currentMin) } /*var array: [Int] = [100, 56, 89, 23, 12, 43, 2, 78, 47, 63, 12] var boxs = calculate(array: array) print("Sum: \(boxs.sum); Average: \(boxs.average); Max: \(boxs.max); Min: \(boxs.min)")*/ /*---------------------6----------------------- Cho mảng số nguyên. Xuất ra một mảng số nguyên mới gồm các phần tử không trùng nhau ---------------------------------------------*/ func differentElementInArray(_ array: inout [Int]) -> [Int]{ array = array.sorted() var flag: Int = array[0] var arrayM = [Int]() arrayM.append(flag) for value in array{ if flag != value { arrayM.append(value) flag = value } } return arrayM } /*var array: [Int] = [100, 1, 5, 1, 3, 9, 6, 100, 5, 3, 8, 9, 1, 9, 100] print("Before") for value in array { print(value) } var newArray: [Int] = differentElementInArray(&array) print("After") for value in newArray { print(value) }*/ /*---------------------7----------------------- Cho hai chuỗi kí tự a, b. Hỏi chuỗi a có chứa chuỗi b hay không ---------------------------------------------*/ func checkString(a: String, b: String) -> Bool { if a.contains(b) { return true } else { return false } } /*var a: String = "Con chim tren canh cay" var b: String = "tren canh" var check: Bool = checkString(a: a,b: b) print(check)*/ /*---------------------8----------------------- Cho đoạn văn. Hỏi trong đoạn văn có bao nhiêu chữ, câu ---------------------------------------------*/ func checkParagraph(paragraph: String) -> (countWords: Int, countSentence: Int){ let checkW: Character = " " let checkS: Character = "." var countW: Int = 0 var countS: Int = 0 for character in paragraph { if character == checkW { countW += 1 } else if character == checkS { countS += 1 } else { continue } } countW += 1 return (countW, countS) } /*var para: String = "Đây có thể là một trong những thói quen thường gặp ở nhiều người nhất. Thế nhưng, mỗi làn da sẽ có một đặc tính riêng nên chọn mua thì bạn phải tìm loại sữa rửa mặt phù hợp với làn da của mình nhất. Nhờ đó, bạn sẽ thu lại được hiệu quả an toàn và chăm sóc da tốt hơn." var count = checkParagraph(paragraph: para) print("Trong đoạn văn có \(count.countWords) từ và có \(count.countSentence) câu")*/ /*---------------------9----------------------- Giải phương trình bậc 1 ax + b = 0 ---------------------------------------------*/ func solveEquantion1(a: Float, b: Float){ let x: Float if a == 0 { if b == 0 { print("Phương trình có vô số nghiệm") } else { print("Phương trình vô nghiệm") } } else { x = -b / a print("Phương trình có nghiệm duy nhất x = \(x)") } } /*var a: Float = 6 var b: Float = 5 solveEquantion1(a: a, b: b)*/ /*---------------------10----------------------- Giải phương trình bậc 2 ax^2 + bx + c = 0 ---------------------------------------------*/ func solveEquantion2(a: Float, b: Float, c: Float){ if a == 0 { if b == 0 { if c == 0 { print("Phương trình có vô số nghiệm") } else { print("Phương trình vô nghiệm") } } else { let x: Float = -b/a print("Phương trình có nghiệm duy nhất x = \(x)") } } else { let delta: Float = pow(b,2) - 4*a*c if delta < 0 { print("Phương trình vô nghiệm") } else if delta == 0 { let x = (-b) / (2*a) print("Phương trình có nghiệm kép x1 = x2 = \(x)") } else { let x1 = (-b + sqrt(delta)) / (2*a) let x2 = (-b - sqrt(delta)) / (2*a) print("Phương trình có hai nghiệm phân biệt:\nx1 = \(x1)\nx2 = \(x2)") } } } /*var a: Float = 3 var b: Float = 5 var c: Float = 2 solveEquantion2(a: a, b: b, c: c)*/
We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy. Accept Learn more