首页 > 其他分享 >学习进度笔记3

学习进度笔记3

时间:2024-01-14 23:24:19浏览次数:31  
标签:draw Point 笔记 学习 图形 进度 Line Circle Sn

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。 2. 模拟图形绘制 对于一个图形绘制程序,用下面的层次对各种实体进行抽象。定义一个 Drawable 的特 质,其包括一个 draw 方法,默认实现为输出对象的字符串表示。定义一个 Point 类表示点, 其混入了 Drawable 特质,并包含一个 shift 方法,用于移动点。所有图形实体的抽象类为 Shape,其构造函数包括一个 Point 类型,表示图形的具体位置(具体意义对不同的具体图 形不一样)。Shape 类有一个具体方法 moveTo 和一个抽象方法 zoom,其中 moveTo 将图形从 当前位置移动到新的位置, 各种具体图形的 moveTo 可能会有不一样的地方。zoom 方法实 现对图形的放缩,接受一个浮点型的放缩倍数参数,不同具体图形放缩实现不一样。继承 Shape 类的具体图形类型包括直线类 Line 和圆类 Circle。Line 类的第一个参数表示其位置, 第二个参数表示另一个端点,Line 放缩的时候,其中点位置不变,长度按倍数放缩(注意, 缩放时,其两个端点信息也改变了),另外,Line 的 move 行为影响了另一个端点,需要对 move 方法进行重载。Circle 类第一个参数表示其圆心,也是其位置,另一个参数表示其半 径,Circle 缩放的时候,位置参数不变,半径按倍数缩放。另外直线类 Line 和圆类 Circle 都混入了 Drawable 特质,要求对 draw 进行重载实现,其中类 Line 的 draw 输出的信息样式 为“Line:第一个端点的坐标--第二个端点的坐标)”,类 Circle 的 draw 输出的信息样式为 “Circle center:圆心坐标,R=半径”。如下的代码已经给出了 Drawable 和 Point 的定义, 同时也给出了程序入口 main 函数的实现,请完成 Shape 类、Line 类和 Circle 类的定义。 case class Point(var x:Double,var y:Double) extends Drawable{ def shift(deltaX:Double,deltaY:Double){x+=deltaX;y+=deltaY} } trait Drawable{ def draw(){println(this.toString)} } // 请完成 Shape 类、Line 类和 Circle 类的定义。 object MyDraw{ def main(args: Array[String]) { val p=new Point(10,30) p.draw; val line1 = new Line(Point(0,0),Point(20,20)) line1.draw line1.moveTo(Point(5,5)) //移动到一个新的点 line1.draw line1.zoom(2) //放大两倍 line1.draw val cir= new Circle(Point(10,10),5) cir.draw cir.moveTo(Point(30,20)) cir.draw cir.zoom(0.5) cir.draw } }

标签:draw,Point,笔记,学习,图形,进度,Line,Circle,Sn
From: https://www.cnblogs.com/jm56/p/17964431

相关文章

  • 后缀数组 SA 学习笔记
    后缀数组SA学习笔记后缀数组处理字符串后缀排名,公共子串类问题十分优秀,可以在部分情况下替代后缀自动机(SAM),本文主要讲解后缀数组的实现过程和部分例题。正文定义后缀:从\(i\)开始到字符串结束的一个特殊子串,本文用\(suf(i)\)表示从\(i\)开始的后缀。后缀数组SA:SA是......
  • 2024/1/14 算法笔记
    1.图论的反向建边一般问题:有向图的多个起点到一个终点的最短距离是最短路的变式。我们只需要把图的箭头反向(正向变逆向,逆向变正向)矩阵:mp[u,v]=cost---->mp[v,u]=cost邻接表也是类似的方法[P2853USACO06DEC]CowPicnicS-洛谷|计算机科学教育新生态(luo......
  • 超级简单的后缀数组(SA)笔记!!
    超级简单的后缀数组(SA)!!(未完)前言这里选择当一手标题党。由于刚学完这个字符串算法,本人字符串算法又比较薄弱,好不容易这一次在晚修看各种资料看得七七八八,决定趁脑子清醒的时候记录下来。免得自己不久后忘了后又要痛苦地再看各种资料。希望这篇博客能帮到你。前置知识:RMQ问题......
  • 学习MySQL总结
    每一行称为记录每一列称为字段 SQLSQL语句的作用是实现数据库D客户端和服务端之间的通信.其表现口形式为:D带有一定格式的字符串.1970年E.F.Codd的《ARelationalModelofDataforLargeSharedDataBanks》的论文开始讲起。该论文奠定了关系模型的理论基础,Codd的同事DonCham......
  • 学习JavaDay02
    常用的DOS命令盘符切换E:英文冒号查看当前目录下的所有文件dir切换目录cdchangedirectorycd..清理屏幕cls查看电脑IPipconfig打开应用calcmspaintnotepad文件操作md目录名rd目录名cd>文件名del文件名HelloWorld新建文件夹,存放代码新建一个Java文件......
  • 学习Java笔记 - Day2
    Java特性优势简单性:基于C,纯净版的C++面向对象:一切皆对象可移植性:Writeonce,runanywhere-跨平台高性能:及时编译,效率分布式:为网络分布式环境设计,可处理TCP/IP协议,通过URL,访问网络资源,相当于本地资源,简单。支持远程的方法调用。动态性:反射机制,有了动态性。多线程:看视频,......
  • ARM Memory Compiler 学习
    我们一共拿到了两个版本的工具,分别是sram_dp_hsd_svt_mvt和sram_sp_hde_svt_mvt,其中dp是双端口dualport,sp是单端口singleport,dp的是hsd,即highspeed,sp的是hen即highdensity,后面的svt_mvt是管子类型。直接找到工具里面的bin,然后运行可执行文件就可以打开gui。我们看一下这个me......
  • 关于吴恩达机器学习中反向传播的理解
    title:关于吴恩达机器学习中反向传播的理解date:2022-04-12categories:数学mathjax:truetags:-机器学习-线性代数原文在机器学习视频反向传播章节[1]中:我们用\(\delta\)来表示误差,则:\(\boldsymbol\delta^{\left(4\right)}=\boldsymbola^{\left(4\right)}−\b......
  • PHP学习第二天:流程控制与函数
    在PHP学习的第二天,我深入了解了流程控制和函数的使用。早上,我学习了条件语句和循环语句的使用。通过条件语句,我可以根据不同的条件执行不同的代码块。我学习了使用if、else和switch语句来处理不同的条件判断。循环语句则允许我重复执行一段代码,直到满足特定的条件。我学习了使用for......
  • 1.14学习进度
    1.executor和container01.Spark中的executor进程是跑在container中,所以container的最大内存会直接影响到executor的最大可用内存02.yarn.nodemanager.pmem-check-enabled该参数默认是true,也就是会由它来控制监控container的内存使用03.yarn.scheduler.maximum-allocation......