В этом уроке рассматриваем использование массивов в Swift.
Домашнее задание к уроку:
Вывод в Консоль:
Домашнее задание к уроку:
/*
1. создать массив "дни в месяцах"
12 элементов содержащих количество дней в соответствующем месяце
используя цикл for и этот массив
- выведите количество дней в каждом месяце (без имен месяцев)
- используйте еще один массив с именами месяцев чтобы вывести название месяца + количество дней
- сделайте тоже самое, но используя массив тюплов с параметрами (имя месяца, кол-во дней)
- сделайте тоже самое, только выводите дни в обратном порядке (порядок в массиве не меняется)
- для произвольно выбранной даты (месяц и день) посчитайте количество дней до этой даты от начала года
2. Сделайте первое задание к уроку номер 4 используя массивы:
(создайте массив опшинал интов и посчитайте сумму)
- в одном случае используйте optional binding
- в другом forced unwrapping
- а в третьем оператор ??
3. создайте строку алфавит и пустой массив строк
в цикле пройдитесь по всем символам строки попорядку, преобразовывайте каждый в строку и добавляйте в массив, причем так, чтобы на выходе получился массив с алфавитом задом-наперед
*/
/*
1
*/
let quantityDaysInMonthsArray = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
// 1.1
print("\n1.1")
print("Month number with quantity days:\n")
for (index, quantity) in quantityDaysInMonthsArray.enumerated() {
print("Month: \(index + 1), Days: \(quantity)")
}
let monthsNamesArray = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November","December"]
// 1.2
print("\n1.2")
print("Month Names with quantity days:\n")
for (index, quantity) in quantityDaysInMonthsArray.enumerated() {
print("Month: \(monthsNamesArray[index]), Days: \(quantity)")
}
// 1.3
print("\n1.3")
print("Month Names with quantity days (tuples array):\n")
var tuplesArray = [(month: String, days: Int)]();
for (index, quantity) in quantityDaysInMonthsArray.enumerated() {
tuplesArray.append((monthsNamesArray[index], quantity))
}
for tuple in tuplesArray {
print(tuple)
}
// 1.4
print("\n1.4")
print("Month Names with quantity days (tuples array) - Reversed:\n")
for tuple in tuplesArray.reversed() {
print(tuple)
}
// 1.5
let (month, day) = (4, 28)
let monthIndex = month - 1
var sumDays = day
for quantity in quantityDaysInMonthsArray[0..<monthIndex] {
sumDays += quantity
}
print("\n1.5")
print("days have passed from the \(day) \(monthsNamesArray[month - 1]): \(sumDays)\n")
/*
2
*/
let stringArray = ["4", "2a", "1", "3sd2","5", "3"];
var optionalIntArray = [Int?]();
for str in stringArray {
optionalIntArray.append(Int(str))
}
// 2.1
var sum = 0
for optionalInt in optionalIntArray {
if let intValue = optionalInt {
sum += intValue
}
}
print("\n2.1")
print("Optional Binding sum:",sum)
// 2.2
sum = 0
for optionalInt in optionalIntArray {
if optionalInt != nil {
sum += optionalInt!
}
}
print("\n2.2")
print("forced unwrapping sum:",sum)
// 2.3
sum = 0
for optionalInt in optionalIntArray {
sum += optionalInt ?? 0
}
print("\n2.3")
print("Default value (??) sum:",sum)
/*
3
*/
let alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var reversedAlphabetArray = [String]()
for index in alphabet.indices.reversed() {
let stringWithChar = String(alphabet[index])
reversedAlphabetArray += [stringWithChar];
}
print("\n3")
print("Strings reversed alphabet:",reversedAlphabetArray)
1.1
Month number with quantity days:
Month: 1, Days: 31
Month: 2, Days: 28
Month: 3, Days: 31
Month: 4, Days: 30
Month: 5, Days: 31
Month: 6, Days: 30
Month: 7, Days: 31
Month: 8, Days: 31
Month: 9, Days: 30
Month: 10, Days: 31
Month: 11, Days: 30
Month: 12, Days: 31
1.2
Month Names with quantity days:
Month: January, Days: 31
Month: February, Days: 28
Month: March, Days: 31
Month: April, Days: 30
Month: May, Days: 31
Month: June, Days: 30
Month: July, Days: 31
Month: August, Days: 31
Month: September, Days: 30
Month: October, Days: 31
Month: November, Days: 30
Month: December, Days: 31
1.3
Month Names with quantity days (tuples array):
(month: "January", days: 31)
(month: "February", days: 28)
(month: "March", days: 31)
(month: "April", days: 30)
(month: "May", days: 31)
(month: "June", days: 30)
(month: "July", days: 31)
(month: "August", days: 31)
(month: "September", days: 30)
(month: "October", days: 31)
(month: "November", days: 30)
(month: "December", days: 31)
1.4
Month Names with quantity days (tuples array) - Reversed:
(month: "December", days: 31)
(month: "November", days: 30)
(month: "October", days: 31)
(month: "September", days: 30)
(month: "August", days: 31)
(month: "July", days: 31)
(month: "June", days: 30)
(month: "May", days: 31)
(month: "April", days: 30)
(month: "March", days: 31)
(month: "February", days: 28)
(month: "January", days: 31)
1.5
days have passed from the 28 April: 118
2.1
Optional Binding sum: 13
2.2
forced unwrapping sum: 13
2.3
Default value (??) sum: 13
3
Strings reversed alphabet: ["Z", "Y", "X", "W", "V", "U", "T", "S", "R", "Q", "P", "O", "N", "M", "L", "K", "J", "I", "H", "G", "F", "E", "D", "C", "B", "A"]
Комментариев нет:
Отправить комментарий