1 实验目的
(1)掌握Scala语言的基本语法、数据结构和控制结构。
(2)掌握面向对象编程的基础知识,能够编写自定义类和特质。
(3)掌握函数式编程的基础知识,能够熟练定义匿名函数。熟悉Scala的容器类库的基本层次结构,熟练使用常用的容器类进行数据操作。
(4)熟练掌握Scala的 REPL运行模式和编译运行方法
2 实验平台
操作系统:Linux(推荐Ubuntu 16.04)。
JDK版本:1.7或以上版本。
Scala版本:2.12.17。
3 实验要求
1. 计算级数
请用脚本的方式编程计算并输出下列级数的前 n 项之和 Sn,直到 Sn 刚好大于或等于 q 为止,其中 q 为大于 0 的整数,其值通过键盘输入。
例 如 , 若 q 的 值 为 50.0 , 则 输 出 应 为 : Sn=50.416695 。 请 将 源 文 件 保 存 为 exercise2-1.scala,在REPL模式下测试运行,测试样例:q=1时,Sn=2;q=30时,Sn=30.891459; q=50 时,Sn=50.416695。
4 实验内容和步骤(操作结果要附图)
(方法不是唯一,以下内容的前提是安装scala,可以用此方法快速安装
sudo apt install scala)
cd /usr/local/scala #转到scala目录下(以将scala装到了/usr/local 目录下为例)
sudo mkdir mycode #新建mycode目录
cd mycode #转到新建目录下
sudo chmod -R 777 /usr/local/scala/mycode #777权限是用户对相对应的文件进行写入读取和其他操作的权限,7就是表示所有的权限
vim exercise2-1.scala #编辑exercise2-1文件
>>>以下就是文件内容
import scala.io.StdIn
object Exercise2_1 {
def main(args: Array[String]): Unit = {
var sum = 0.0
println("请输入n")
var n: Long = StdIn.readLine().toLong
var i = 1.0
// 计算级数直到总和超过输入的数字n
while (sum < n) {
sum = sum + i / (i + 1) // 更新总和,注意计算公式的修正
i = i + 1
}
println("**************************")
println(s"计算级数为:$sum")
}
}
scalac exercise2-1.scala.scala #编译
运行,即可得出结果
scala -classpath . exercise2_1.scala # 其中 "." 后面的texercise2_1是代码中 object 后面的类名
运行,即可得出结果
5 实验总结
1.熟悉基本语法:通过实验,我熟悉了Scala的基本语法,包括变量声明、函数定义、控制流等。这些基础知识是编写Scala程序的基础。
2.输入输出处理:实验中使用了scala.io.StdIn来处理输入,以及使用println来输出结果。这些是日常Scala编程中常用的输入输出处理方式。
3.循环和条件语句:实验中使用了while循环来处理迭代逻辑,同时也使用了条件语句来控制程序流程。这些是编写逻辑控制的重要工具。
总的来说,完成Scala编程初级实践实验是我学习和掌握Scala编程语言的重要一步,我会继续深入学习和实践,提升自己在Scala编程领域的能力。