资源描述
.实验编号:3 四川师大IOS 应用开发技术实验报告 2017年 9月 25 日计算机科学学院 2015级 班 实验名称: 闭包、扩展、泛型 姓名: 学号: 指导老师:_ 实验成绩:_实验_三_ _闭包、扩展、泛型_一实验目的及要求掌握闭包、扩展、泛型的定义以及排序等功能的使用;二实验内容(1) 给定一个 Dictionary 数组,Dictionary 包含 key 值 name 和 key 值 age,用 map 函数返回 name 字符串数组(2) 给定一个 String 数组,用 filter 函数选出能被转成 Int 的字符串(3) 用 reduce 函数把 String 数组中元素连接成一个字符串,以逗号分隔(4) 用 reduce 方法一次求出整数数组的最大值、最小值、总数和(5) 新建一个函数数组,函数数组里面保存了不同函数类型的函数,要求从数组里找出参数为一个整数,返回值为一个整数的所有函数;(6) 扩展 Int,增加 sqrt 方法,可以计算 Int 的 Sqrt 值并返回浮点数,进行验证;(7) 实现一个支持泛型的函数,该函数接受任意个变量并返回最大和最小值, 分别传入整数值、浮点数值、字符串进行验证。3、主要仪器设备及药品:iMac(Mac OS、XCode)三实验结果的分析与评价(该部分如不够填写,请另加附页)(1)代码:let dictionary = “name“:“幸“,“age“:“18“,“name“:“福“,“age“:“19“let name = dictionary.map $0“name“ ? “.filter $0 != “print(name)运行结果:(2)代码:let strArray = “0“,“11“,“x“,“11y“,“22“let choosedNumbers = strArray.filter Int($0) != nil print(“能被转成 int 的字符串有:(choosedNumbers)“)运行结果:.(3)代码:let array = “one“,“two“,“three“,“four“let connectArray = array.reduce(“) connectArray, letter in “(connectArray),(letter)“print(“以逗号分割后: (connectArray)“)运行结果:(4)代码:var statisticsArray = 10,4,2,11,6,3let temp = statisticsArray.reduce(max:Int.min,min:Int.max,sum:0) (temp,i) inreturn(max(temp.max,i),min(temp.min,i),temp.sum+i)print(“最大值为:(temp.max)“)print(“最小值为: (temp.min)“)print(“总数和为: (temp.sum)“)运行结果:(6)代码:extension Int func sqrt(num:Int) -Double return Darwin.sqrt(Double(num)print(sqrt(16).运行结果:(7)代码:func searchMaxAndMin(data: T) - (max:T,min:T) var max = data0var min = data0for i in data if max imin = ireturn (max,min)let tempInt = searchMaxAndMin(data:8,10,9,11)print(“传入整数时最大值为:(tempInt.max) 最小值为:(tempInt.min)“)let tempFloat = searchMaxAndMin(data:11.0,2.0,5.0,7.0)print(“传入浮点数时最大值为:(tempFloat.max) 最小值为:(tempFloat.min)“)let tempString = searchMaxAndMin(data:“X“,“Y“,“Z“)print(“传入字符串时:最小为: (tempString.min) 最大为: (tempString.max)“)运行结果:注:实验成绩等级分为(90100 分)优,(8089 分)良,(70-79 分) 中,(6069 分)及格,(59 分)不及格。
展开阅读全文