From 3a178f6fe8d0ceb8ccbd09028fa535018b918cf7 Mon Sep 17 00:00:00 2001 From: Vladislav Date: Tue, 14 Jul 2020 16:37:56 +0300 Subject: [PATCH 1/3] HomeWork 1 --- .DS_Store | Bin 0 -> 6148 bytes main.swift | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 .DS_Store create mode 100644 main.swift diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f2f9beced76ed5b589602d42dae39643dfaa0901 GIT binary patch literal 6148 zcmeHKyH3ME5S)WZM9`$9ypjsZHH{U8f|?(I@Q{!UE&$QGqvMxh_CaLJ&{Ck;Xm{@R zcD(TvzB>SA{d(H~D*#KnA>J*_&DPClwwD>h;?L;ugyy2_Z?@g6`sajk576Nb&-{(} z{gx~Cx6bG%pKcrhhj_#_9@y!Wj5m(%@e)0EoDbGDBaRalq<|EV0#ZNyFxc_k))$6m9Q$2@SaaSc4uM>um7o%XTJnlfg3f%+ zx;AkL3_6N;=5w-h$s0=X?#x#&M`;5UrGONeDzG2ZmF@rM^k44(Q<7# 0 { + deposit += deposit * procent / 100; + years-=1; +} + +print(deposit); + From 9715ad85b4e8e0e6bb5a46e734de626f9d66c407 Mon Sep 17 00:00:00 2001 From: Vladislav Date: Fri, 17 Jul 2020 20:12:52 +0300 Subject: [PATCH 2/3] HomeWork2 --- .DS_Store | Bin 6148 -> 6148 bytes lesson2/.DS_Store | Bin 0 -> 6148 bytes lesson2/main.swift | 103 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+) create mode 100644 lesson2/.DS_Store create mode 100644 lesson2/main.swift diff --git a/.DS_Store b/.DS_Store index f2f9beced76ed5b589602d42dae39643dfaa0901..850915421c9cb0ab33c7aaebf58017a2690b66ba 100644 GIT binary patch delta 515 zcmZoMXfc=|#>B!ku~2NHo+2aX!~p9}j19~{Mvq}VJ3|gbDnl_4<}>6m7Jv!?Ihn;J1_sv|nV4Bv+1NQaxH!0YxnhGe z^2>uu5=%;pof3LsMS%ZHa9oWQ7|z!tF7ha z5LY#{^-RdEtg5c5t(yV%2m>P{n677F;D-pn$(cYFnm=>W4TF>Oa|_^VFjVB`ySP9@ zfCJ*u~2NHo+2aD!~pBb1|lqz`C0Tf|7Yc3+N{9A&a$z=nsGBb2R{c; a;buXO@640=MGP4kCfo2xZ;laJ!3+SPIub?z diff --git a/lesson2/.DS_Store b/lesson2/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..bdee0091906f754051143fa797f9778494e82dfa GIT binary patch literal 6148 zcmeHKJxfDD5S-N%L7SA8_X`9|u{lC4to;KTMG&GXqS(GFzbpStXFm|b(?+n7S=gPs zy`6V?Q@qUru=(r#888Ddr8{ElVQhZxKC*+#7?I9roMMAFJmLW_qw4Py&OO2tZpnK7 z%D-Bz@0P3elIQ;8F6ig)VO+_ifE17dQa}nwf!`|Ny_YsUPE?cvQa}oPD&XITMtAIm zLt=b77-9q9Dw& ZOCKQX? znQu`J>xqg|Knm Bool { + return number % 2 == 0 ? true : false; +} + +print(isEven(10)); +print(isEven(5)); +print("\r\n===============================\r\n") + +//2. Написать функцию, которая определяет, делится ли число без остатка на 3. + +func function2(_ number: Int) -> Bool{ + return number % 3 == 0 ? true : false; +} + +print(function2(9)); +print(function2(7)); +print("\r\n===============================\r\n") + +//3. Создать возрастающий массив из 100 чисел. + +var tArray: [Int] = []; +for i in 0...100 { + tArray.append(i) +} + +print(tArray) +print("\r\n===============================\r\n") + +//4. Удалить из этого массива все четные числа и все числа, которые не делятся на 3. + +for(index, value) in tArray.enumerated(){ + if isEven(value) || !function2(value) { + tArray.remove(at: tArray.firstIndex(of: value)!); + } +} + +print(tArray) + +print("\r\n===============================\r\n") + +//5. * Написать функцию, которая добавляет в массив новое число Фибоначчи, и добавить при помощи нее 100 элементов. + +func fibonacci(_ n: Int64) -> Int64{ + if n == 1 || n == 2 { + return 1; + } + + return fibonacci(n - 1) + fibonacci(n - 2); +} + +var fibonacciArray: [Int64] = []; + +for i in 1...101{ + fibonacciArray.append(fibonacci(Int64(i))); +} + +print(fibonacciArray); + +print("\r\n===============================\r\n") + +/* + 6. * Заполнить массив из 100 элементов различными простыми числами. Натуральное число, большее единицы, называется простым, если оно делится только на себя и на единицу. Для нахождения всех простых чисел не больше заданного числа n, следуя методу Эратосфена, нужно выполнить следующие шаги: +*/ + +func isPrime (_ number: Int64) -> Bool { + if number < 2 { + return false; + } + for i in 2.. [Int64] { + var resultArray: [Int64] = []; + var i = 2 + while resultArray.count < count { + if isPrime(Int64(i)) { + resultArray.append(Int64(i)); + } + i += 1; + } + + return resultArray; +} +print (getPrimeArray(100)); + +print("\r\n===============================\r\n") From 150e1b56ded47a861c7d85c2ad14312114e44e8a Mon Sep 17 00:00:00 2001 From: Vladislav Date: Wed, 22 Jul 2020 21:04:01 +0300 Subject: [PATCH 3/3] HomeWork 3 --- .DS_Store | Bin 6148 -> 6148 bytes lesson3/main.swift | 145 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+) create mode 100644 lesson3/main.swift diff --git a/.DS_Store b/.DS_Store index 850915421c9cb0ab33c7aaebf58017a2690b66ba..84da105855b30b489c4d2b308509d901e52cf10e 100644 GIT binary patch delta 249 zcmZoMXfc@J&nU1lU^g?Pz+@hlO2(6u+gKX7C912949#^Ej1A2u3$V&E&YY~rD$h7; zvLEY4Wp;)fhE#@PAk1gTV=(s2$xlwo$xmWnU=UznV6+0#dXp1aBzcXK%8Lu2GI&fC zo(0r_X6EDsRz+Xq+})#m1>5TR=FIaWnR| delta 64 zcmV-G0Kfl)FoZCWPXP(BP`d*G36l&2c>&0iNd|xl7khg-HY^}DHaL?J1swsHlP?7y W0hyCe1+kOE2Sl-e!~wGh2>lOW6BDxl diff --git a/lesson3/main.swift b/lesson3/main.swift new file mode 100644 index 0000000..6efbfa8 --- /dev/null +++ b/lesson3/main.swift @@ -0,0 +1,145 @@ +// +// main.swift +// lesson3 +// +// Created by Vladislav Elkin on 21.07.2020. +// Copyright © 2020 Vladislav Elkin. All rights reserved. +// + +import Foundation + +enum DoorState{ + case open, close; +} + +enum EngineState{ + case start, stop; +} + +enum VolumeState{ + case full, empty; +} + +enum VolumeAction { + case add, get; +} + +struct sportCar { + let brand: String; + let year: Int; + let trunkVolume: Double; + var engineState: EngineState; + var doorState: DoorState; + var volumeState: VolumeState; + + mutating func changeDoorState (state: DoorState){ + self.doorState = state; + } + + mutating func changeEngineState(state: EngineState){ + self.engineState = state; + } + + mutating func changeVolume(action: VolumeAction, count: Double){ + switch action { + case .add: + + if volumeState == .full { + print("Trunk is full"); + } else { + if count >= trunkVolume { + volumeState = .full; + print("All added, Trunk is full"); + }else { + print("Added: \(count)"); + } + } + + break; + + case .get: + + if volumeState == .empty { + print("Trunk is empty"); + } else { + + if count >= trunkVolume { + volumeState = .empty; + print("Trunk is empty"); + }else { + print("Get: \(count)"); + } + } + + break; + } + } +} + + +struct truckCar { + let brand: String; + let year: Int; + let trunkVolume: Double; + var engineState: EngineState; + var doorState: DoorState; + var volumeState: VolumeState; + + mutating func changeDoorState (state: DoorState){ + self.doorState = state; + } + + mutating func changeEngineState(state: EngineState){ + self.engineState = state; + } + + mutating func changeVolume(action: VolumeAction, count: Double){ + switch action { + case .add: + + if volumeState == .full { + print("Trunk is full"); + } else { + if count >= trunkVolume { + volumeState = .full; + print("All added, Trunk is full"); + }else { + print("Added: \(count)"); + } + } + + break; + + case .get: + + if volumeState == .empty { + print("Trunk is empty"); + } else { + + if count >= trunkVolume { + volumeState = .empty; + print("Trunk is empty"); + }else { + print("Get: \(count)"); + } + } + + break; + } + } +} + +var mersedes = sportCar(brand: "mersedes", year: 2010, trunkVolume: 200, engineState: .stop, doorState: .close, volumeState: .empty); + +mersedes.changeDoorState(state: .open); +mersedes.changeVolume(action: .add, count: 200); + +print(mersedes); + + +var scania = truckCar(brand: "Scania", year: 2009, trunkVolume: 1000, engineState: .stop, doorState: .open, volumeState: .full); + +scania.changeDoorState(state: .close); +scania.changeEngineState(state: .start); + +print(scania);