1.本章学习总结
1.1 思维导图
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
这两周更加详细的学习了循环结构,如for语句用于次数明显的循环。do-while循环先执行语句再判断条件,所以至少循环一次。而while语句就先判断条件再执行算法。但我认为虽然循环结构可以给我们的编程带来很大的便利,但是在能不用到循环的情况下,就不用循环语句。或者说尽量减少循环的次数,提高计算的效率。
1.2.2 代码量
2.pta总分
2.1截图pta得分情况
2.2 我的总分
循环结构(单层):175分
循环结构(嵌套):115分
总分:290分
3.pta实验作业
3.1 pta题目1
龟兔赛跑
乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?
3.1.1算法分析
- 1.耐心列表不难发现90分钟一个循环,所以一开始对输入的时间进行除以90取余数。
- 2.然后把余数部分取出分类讨论出兔子在各个时间段的不同运动状态,在计算兔子在这段时间的运动路程,但需注意加上前面时间的路程。
- 3.然后计算乌龟的路程,直接是路程乘以时间
- 4.最后比较乌龟的路程和兔子的路程,按要求输出结果
3.1.2代码截图
3.1.3数据测试
3.1.4pta提交列表以及说明
- 1.之前用循环结构编译,误将时间除以270取余数,在进行分类。以及算法存在一些不足。
- 2.后面想到了用简单的if else方法来解题目。思路比较清晰,且可以不要求时间为整数。
3.2 pta题目2
编程打印空心字符菱形
本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。
3.2.1 算法分析
- 1.摸清行数和开头空格的关系
- 2.摸清行数和字符个数之间的关系(2*行数-1)
- 3.将菱形分成上半部分和下半部分进行输出
3.2.2 代码截图
3.2.3 数据测试
3.2.4 PTA提交情况截图及分析
- 1.一开始搞不清楚行和空格的关系
- 2.然后就是在最后一个字母后面多了空格导致出错
3.3 pta题目3
单词长度
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.不计算在内。
3.3.1 算法分析
- 1.定义一个变量用于容纳输入的字符
- 2.在定义一个整型变量,每当检测到一个不为空格的字符时就自增1
- 3.按照要求的格式输出整型变量的结果
3.3.2 数据测试
3.3.3 代码截图
3.3.4 提交情况以及分析
- 1.在算法上没有问题
- 2.在输出格式上调整空格上错误较多
4.代码互评
4.1 代码截图
同学代码
我的代码
4.2 不同之处
我和该同学的代码差别在算法上。
该同学懂得利用循环结构解决该题。而我发现了题目规律后用较为简便的if else结构设计算法。