Advertisement
mikolajmki

swift_lab03

Oct 10th, 2022 (edited)
563
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 4.16 KB | None | 0 0
  1. //
  2. //  main.swift
  3. //  lab02
  4. //
  5. //  Created by student on 10/10/2022.
  6. //
  7.  
  8. import Foundation
  9.  
  10. func fibonacci(n: Int) -> Int {
  11.     var i:Int = 0
  12.     var v: Int = 1
  13.     var h1: Int = 0
  14.     var h2: Int = 0
  15.    
  16.     while (i < n) {
  17.         if (i == 0 || i == 1) {
  18.             h1 = 1
  19.             h2 = 1
  20.         } else {
  21.             h2 = h1
  22.             h1 = v
  23.             v = h1 + h2
  24.         }
  25.         i += 1
  26.     }
  27.     return v
  28. }
  29. func oneAndMultiLine() {
  30.     let firstString: String = "To jest wieloliniowy \nnapis";
  31.     let secondString: String = "To jest jednoliniowy napis";
  32.     print(firstString)
  33.     print(secondString)
  34. }
  35.  
  36. func textFormat() {
  37.     let result: String = "\n\tNauka kodowania to nie tylko nauka jezyka technologii. \n\n\tTo odkrywanie nowych sposobow myslenia i \n\n\turzeczywistnianie rozmaitych koncepcji.\n"
  38.     print(result)
  39. }
  40.  
  41. func textConcat() {
  42.     print("Podaj imie: ")
  43.     let name: String! = readLine()
  44.     print("Podaj drugie imie: ")
  45.     let secondName: String! = readLine()
  46.     print("Podaj nazwisko: ")
  47.     let surname: String! = readLine()
  48.     print("Podaj rok urodzenia: ")
  49.     let birthYearString: String! = readLine()
  50.    
  51.     let age: String! = String(2022 - Int( birthYearString)!)
  52.    
  53.     var startsWithD: String = "Nie"
  54.     if (surname.starts(with: "D")) {
  55.         startsWithD = "Tak"
  56.     }
  57.    
  58.     let fullConcatText = "Imie: \(String(name))\nDrugie imie: \(String(secondName))\nNazwisko: \(String(surname))\nWiek: \(String(age))\nCzy nazwisko zaczyna sie na litere D: \(startsWithD)"
  59.    
  60.     print(fullConcatText)
  61. }
  62.  
  63. func findSymbol() {
  64.     print("Podaj dowolny ciag znakow: ")
  65.     let text: String! = readLine()
  66.     print("Podaj pojedynczy znak: ")
  67.     let symbol: String! = readLine()
  68.     let symbolChar = Character(symbol)
  69.     print("Podaj liczbe calkowita: ")
  70.     let integerString: String! = readLine()
  71.     let index: Int! = Int(integerString)
  72.    
  73.     if (text?.starts(with: symbol) == true) {
  74.         print("Znak wystepuje na poczatku lancucha.")
  75.     } else if (text.last == symbolChar) {
  76.         print("Znak wystepuje na koncu lancucha.")
  77.     } else if (text[text.index(text.startIndex,offsetBy: index)] == symbolChar) {
  78.         print("Znak wystepuje na podanym miejscu.")
  79.     }
  80. }
  81.  
  82. func compareStrings() {
  83.     print("Podaj pierwszy lancuch: ")
  84.     let stringFirst: String! = readLine()
  85.     print("Podaj drugi lancuch: ")
  86.     let stringSecond: String! = readLine()
  87.    
  88.     stringFirst.lowercased() == stringSecond.lowercased() ? print("Napisy sa identyczne. ") : print("Napisy roznia sie. ")
  89. }
  90.  
  91. func hasPrefix() {
  92.     print("Podaj lancuch: ")
  93.     let string: String! = readLine()
  94.     print("Podaj prefix: ")
  95.     let prefix: String! = readLine()
  96.     string.hasPrefix(prefix) ? print("Posiada.") : print("Nie posiada.")
  97. }
  98.  
  99. func hasSuffix() {
  100.     print("Podaj lancuch: ")
  101.     let string: String! = readLine()
  102.     print("Podaj sufiks: ")
  103.     let suffix: String! = readLine()
  104.     print(string[string.startIndex])
  105.     string.hasSuffix(suffix) ? print("Posiada.") : print("Nie posiada.")
  106. }
  107.  
  108. func rectangleInfo() {
  109.     print("Podaj dlugosc boku a: ")
  110.     let aString: String! = readLine()
  111.     print("Podaj dlugosc boku b: ")
  112.     let bString: String! = readLine()
  113.     let a: Int! = Int(aString)
  114.     let b: Int! = Int(bString)
  115.     let field: Int! = a * b
  116.     let circuit: Int! = 2*a + 2*b
  117.     print("Dlugosc boku a: \(Int(a))\nDlugosc boku b: \(Int(b))\nPole: \(Int(field))\nObwod: \(Int(circuit))")
  118. }
  119.  
  120. func cantor() {
  121.     print("Podaj kwote w PLN: ")
  122.     var sumString: String! = readLine()
  123.     var sum: Float! = Float(sumString)
  124.     var sumUSD: Float! = sum / 3.9
  125.     let range = sumString.index(sumString.startIndex, offsetBy: 0) ..< sumString.index(sumString.endIndex, offsetBy: -1)
  126.     sumString.removeSubrange(range)
  127.     sumString.insert(contentsOf: String(format: "%.1f", sum), at: sumString.startIndex)
  128.     sumString.append("PLN to \(String(format: "%.1f", sumUSD))$")
  129.    
  130.     print(String(sumString))
  131. }
  132.  
  133. //print(fibonacci(n: 10))
  134. //oneAndMultiLine()
  135. //textFormat()
  136. //textConcat()
  137. //findSymbol()
  138. //compareStrings()
  139. //hasPrefix()
  140. //hasSuffix()
  141. //rectangleInfo()
  142. cantor()
  143.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement