课堂习题(模块1:Java编程逻辑)

萌到你眼炸
512次浏览
2021年02月07日 11:16
最佳经验
本文由作者推荐

室内装修设计图片-

2021年2月7日发(作者:确信的反义词)


课堂作业



模块


1 Java


编程逻辑




【第


1


课】



【作业


1


】编写一个

< br>Java


程序,在控制台上输出如下两行信息:






Hel lo



World


< br>





Hello



Java


< p>


考核点


1


:了解一个< /p>


Java


程序的启动位置(即


程序入口< /p>





考核点< /p>


2


:掌握


基本输出语句

< br>:


n(


字符串


)





【第


2


课】



【作业


1


】从键盘输入


3


个整数


a



b



c


,计算


a+b*c


的结果后输出,


验证计算结果是否遵循运算 符的优先级顺序。



考核点


1


:使用


Scanner


类获取键盘输入。



考核点


2


:基本运 算符及其优先级顺序。




【作业


2


】从键盘输入


1


个实数


r


,计算以


r

< br>为半径的圆的面积并输


出结果,要求将


π


定义为符号常量。



考核点:


符号常量


的基本用法。




1 / 22


【第


3


课】



【作业


1


】从键盘输入


3


个整数,比较大小后输出最大者。



考核点:


if- else


语句的运用。



< p>
【作业


2



从键盘输入一 个


3


位数,


判断其是否为水仙花数。< /p>


所谓


“水


仙花数”


是指一个三位整数,


其各位数字立方和等于该数本身。


例如:


153=1


3


+5

3


+3


3


,


所以


153


是一个水仙花数。



考核点:基本数学运算符和逻辑运算符的用法。




【第


4


课】



【作业


1



从 键盘输入


3


个整数,


比较大小后按由小 到大的顺序输出。



考核点:


if- else


语句嵌套运用。




【作业


2



从键盘输入 一个年份和一个月份,


输出此月份有多少天


(考


虑闰二月的情况)




考核点:使用


switch- case


多分支语句。




【第


5


课】



【作业


1


】从键盘输入一个正整数,判 断其是否为素数。素数指只有


1


和它本身两个因子的整数。



考核点:基本循环语句的用法。




2 / 22


【作业


2


】输出


100-999


之 间的全部水仙花数。



考核点:基本循环语句的用法。



< /p>


【作业


3


】从键盘输入一个正整数,判断 并输出该正整数是几位数。


考核点


1


: 基本循环语句的用法。



考核点


2


:分离一个整数各个位数字的方法。




【第


6


课】



【作业


1


】编写一个

< br>Java


程序,输出如下图案,图案的行数由键盘


输入。





1


)观察图案中行、列及星星个数之间的关系。



2


)扩展练习,输出如下图案,图案的行数由键盘输入。





3


)扩展练习,输出如下图案,图案的行数由键盘输入。



3 / 22



考核点


1


:发现图案中的变化规律


(


即逻辑)




考核点


2


:循环嵌套的用法。



< /p>


【作业


2



从键 盘输入一个正整数


n



利用

< p>
似值,


n


为求和的总项数。



考核点:发现公式中的计算规律(即计算逻辑)





【作业


3


】百钱百鸡问题:公鸡每只


5


元、母鸡每只


3


元、小鸡


3


只< /p>


1


元,用


100


元钱买


100


只鸡,求公鸡、母鸡、小鸡的只数。



考核点


1


:多重循环的使 用。



考核点


2


:提炼和化简计算逻辑,将多重循环改进为单重循环。





【第


7


课】



【作业


1


】将输入的一个偶数


n(n>=6)


分解为两个素数之和。例如


8= 5+3





【作业


2


】有


n


个人围成一圈,顺序排号。从第一个人开始报数(从


4 / 22

< br>


1


1


1



1






...



π


的近


4


3


5< /p>


7


1



3


报数)


,凡报到


3


的 人退出圈子,请输出这


n


个人退出圈子的


整个次序。





【第


8


课】



【作业


1


】将一个

n


×


n


方阵就地转置,即行列元素 互换。





1


)扩展成矩阵转置,将一个矩阵


a(m


×


n)


转置成一个新矩阵


b(n


×


m)





【作业


2


】 建立如下的杨辉三角,行数


n


由键盘输入。




1


)分析出杨辉三角形中每个元素的


计算逻辑


< br>



2


)使用

< br>()


方法进行


格式化输出




5 / 22







【第


9


课】



【作业


1



回 文串


:输入一个字符串,判断其是否为回文串并输出结


果。回文 串是指从左向右读与从右向左读都相同的一个字符串,如


12a3a21


就是一个回文串。




【作业


2



超大整数求和

:编写一个


Java


程序,能对输入的两个超


大非负整数求和。


例如:


输入



12345678



< p>


111



< p>
其和为



12345789






1


)每个超大非负整数以字符串形式存储。



2


)求和的结果也以字符串形式存储。

< br>



【作业


3

< br>】将一个正整数(万以内的数字)的每一位数值转换成中文


中的数值表示(如将< /p>



5036


转换成“伍仟零叁拾陆”< /p>






1


)使用


数据表


来简 化转换逻辑。




2

< br>)注意逻辑思维的严密性。



一组转换数据样例(万以内的数字)



数字串



0




6 / 22


汉字串



100


90000


90001


90500


91002


90070


90055


90909


90990


壹佰



玖万



玖万零壹



玖万零伍佰



玖万壹仟零贰



玖万零柒拾



玖万零伍拾伍



玖万零玖佰零玖



玖万零玖佰玖拾





【第


10


课】



【作业


1


】编写一个

< br>Java


程序,定义


Java


静 态方法实现下面数学分


段函数并进行验证。





【作业


2



编写一个


Java

< br>静态方法,


将一个


m*n


矩阵转 置成一个


n*m


矩阵。



7 / 22



< br>【作业


3



输入一个数字


a




S=a+aa +aaa+aaaa+aaaaa


的和。


例如,


a=2


,则


S=2+22+222+2222+222 22





1


)学会发现问题中的共性以分解问题。




2


)理解解决同一问题的多种逻辑思维。

< br>



【第


11


课】



【作业


1


】编写一个

< br>Java


程序,输出


2


——


1000


以内的全部完数。


一个完数恰好等 于其


全部因子


之和。


例如


6=1+2+3




6


是一个完数,


28=1+2+4+7+14




28


也是一个完数。


要求采用模块化程序设计解决


此类问题。





【作业


2


】编写函数完成下列每种数制转换:




1


)十进制正整数



二进制正整数。




2


)十进制正整数



十六进制正整数。



8 / 22



3


)十进制正整数



八进制正整数。



要求采用模块化程序设计解决此类问题,发现数制转换中的共性规


律。




【作 业


3


】从键盘输入一个棋盘的行数和列数,打印出棋盘的样子。




1




分析打印棋盘的整个过程,发现其中的逻辑步骤。




2




编写方法实现不同的逻辑步骤。






【第


12


课】



【作业


1


】汉诺塔问题:有

< p>
n


个盘子依其半径大小套在柱子


A


上,其


中半径大的在底下,


柱子


B



C


没套盘子。

< br>现要将


A


上的盘子全部搬


运到< /p>


C


上(借助


B



,移动规则是每次只能移动一个盘子,并且不允


许将大盘子压在 小盘子的上面。




1


)分析归纳出搬运


n


个盘子的递归规律,编写


递归方法





2


)输出完整的搬运过程以及移动盘子的总次数。


9 / 22





【作业


2


】 编写一个


Java


程序,输入两个正整数


m



n


,输出


m



n


的最大公约数(


greatest common divisor


)和最小公倍数(


Least


Common Multiple






1


)最大公约数


gcd< /p>


是指


m



n


的全部公共因子之积,最小公倍数


lcm



m



n


之积除 以最大公约数


gcd





2


)掌握计算最大公约数的


递推方法


:辗转相除法。





【作业


3


】 天平称物:有四个砝码,总重量是


40


克,砝码的质量是


整数,且各不相等。请确定它们的质量,使之能称出


1



40


克之间



任何整数质量的物体。





10 / 22


【作业

< p>
4


】一个整数除以


3


余< /p>


2


,除以


5


余< /p>


3


,除以


7


余< /p>


2


,求这个整


数。




【第


13


课】



【作业


1


】将二分查找算法改写为递归 形式。




【作业

2


】编写一个


Java


程序,从一 个字符串中


S


中删除所有和字


符串


T


相同的子串,


输出删除后的结果。


例如:


S=



abc dabef




T=

< br>,


则删除后的结果


S=





【作业


3


】编写一个


Java


程序,求得所有包含在串


S


中而不包含在


T


中的字符构成的新串


R


。例如:


S=



aabcddef




T=


,则


R=





【作业


4


】编写一个


Java


程序,求得串


S


和串

< br>T


中的一个最长公共


子串


R


。例如:


S=



a abcddef




T=


,则


R=





【第


14


课】



【作业


1


】改进冒泡排序算法,只要在 一趟冒泡排序过程中不发生相


邻记录的交换,则整个排序过程就可以立即结束。





11 / 22

室内装修设计图片-


室内装修设计图片-


室内装修设计图片-


室内装修设计图片-


室内装修设计图片-


室内装修设计图片-


室内装修设计图片-


室内装修设计图片-