zoukankan      html  css  js  c++  java
  • C语言I博客作业07

    1.作业头

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585
    这个作业的目标 <熟练while和do-while语句,学会打伪代码>
    学号 <20209130>

    一、本周教学内容&目标

    第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。

    二、本周作业

    1.PTA实验作业
    2.代码互评
    3.学习总结

    三、作业格式

    1.PTA实验作业(20分/题)

    1.1 7-3 循环-古角猜想 (20分)

    日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。

    1.1.1数据处理

    数据表达:只用了n这一个变量,它是整型变量,它的值由自然输入得来。
    数据处理:表达式:n=n/2; n=n*3+1;
             流程结构:while循环结构,if-else分支结构。
    
    Begin
    input 正整数n
    while n不为1  then
    if n可以整除2 then
    output n和n/2
    n←n/2
    else then
    output n和n*3+1
    n←n*3+1
    

    1.1.2实验代码截图

    1.1.3 造测试数据

    输入数据 输出数据 说明
    2 2/2=1 2为偶数
    4 4/2=2,2/2=1 4为偶数
    7 73+1=22,22/2=11,113+1=34,34/2=17,173+1=52,52/2=26,26/2=13,133+1=40,40/2=20,20/2=10,10/2=5,5*3+1=16,16/2=8,8/2=4,4/2=2,2/2=1 7为奇数

    1.1.4 PTA提交列表及说明

    提交列表说明:

    1.部分正确:未考虑变量为奇数的情况,发现后在if语句之后加上else否则的情况。
    2.运行超时:循环的判断条件搞错,原本是n!=0打成了n==0了,之后改正。
    3.运行超时:重新定义了一个sum变量,把输出的n/2代替,导致输出答案不同,之后只用了n来输入输出。
    4.编译错误:上个错误改正时太急,忘记改语句中的其中一个sum了,导致出现错误,之后换成n。
    

    1.2 7-5 找出一批学生的最高分 (15分)

    本题要求编写程序,找出最高分。

    1.2.1 数据处理

    数据表达:用了x和y两个变量,都是整型变量,y由自然输入得来,x则随y的输入变化而变化。
    数据处理:表达式:x=y;
             流程结构:用了while循环结构和if分支结构。
    
    Begin
    x←0
    input 正整数y
    while y大于等于0 then
    if x小于y then
    x←y/
    input 正整数y
    /
    output 正整数x
    

    1.2.2 实验代码截图

    1.2.3 造测试数据

    输入数据 输出数据 说明
    50 60 95 66 -2 95 95为最高分
    85 67 33 89 -1 89 89为最高分
    99 58 67 24 -1 99 99为最高分

    1.2.4 PTA提交列表及说明

    提交列表说明:

    1.运行超时:用x把y代替后没有再次输入y,之后在if语句之后加上输入语句输入y的值。
    2.答案正确:答案虽然正确了,但我发现了一个不对的地方,一开始没有赋值给x,无从判断x与y的大小,而答案正确是因为系统把x默认为1了,之后我赋值给x为0。
    

    2.代码互评(5分)

    同学代码截图:

    自己代码截图:

    1.条件语句的设置习惯不同,同学追求一个结构直接把所有运算搞定,而我习惯算一步看一步,同学这样更加快速,代码更加简洁。
    2.打代码习惯不同,我习惯在运算符之类的前后用空格分开,同学则习惯按顺序打,我的看起来更加清晰一些。
    

    同学代码截图:

    自己代码截图:

    1.对变量的赋值习惯不同,同学习惯定义时直接把变量赋值,而我习惯重起一行来赋值,同学这样更加简洁,没有重复啰嗦。
    2.对{}的使用习惯不同,我习惯在使用if语句时不论怎样都打上{},而同学习惯省略{},我的代码这样更清晰明了,不会混乱。
    

    3.学习总结(15分)

    3.1 学习进度条(5分)

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第八周 20h 400 什么是主函数;代码的储存单元;会打“hello world”
    第九周 24h 450 三个程序结构;各种数据类型;if-else语句的使用
    第十周 28h 500 三个运算的优先级;for循环语句的使用;会输出转换表 for循环的嵌套有些不会
    第十一周 30h 600 进一步熟悉for循环语句;调用数学函数;自己定义函数 自己定义函数不太熟练
    第十二周 28h 580 更进一步学习了多种分支结构的使用;学会了逻辑控制符;学会了else-if语句; 对多种分支结构的使用不太熟练,无法灵活使用
    第十三周 34h 650 明白了逻辑控制符和其他运算符之间的优先级的区别;学会了switch语句;预习了多分支结构的另一种用法; 对多分支结构运用太过死板,想到一种就只会使用一种
    第十四周 36h 680 学习了while和do-while循环语句 while和do-while循环不能灵活运用

    3.2 累积代码行和博客字数(5分)

    3.3 学习内容总结和感悟(5分)

    3.3.1 学习内容总结

    3.3.2 学习体会

    1.这周不像前几周还好了,感觉这周不怎么好,有被搞废了的感觉,特别是pta的第二题,打游戏还没什么感觉,但扯到关于游戏的题目就真的整个人飞起。
    2.这周打代码的量还是有的,但质量感觉不咋地,感觉打了这么多,却没有得到应该有的效果,打了这么多却昏头昏脑,看样子这一部分没有学习好,还得多自己去学学。
    3.对代码的思考,这一周是真的几乎没有什么训练,因为脑袋里一直盘旋着作业该怎么写,这不知是训练了还是没训练,下周不能再这么昏头昏脑了。
    4.这周不足非常多,需要多去改正,虽然不足多,但也让我看到了往哪个方向前进,下周要多去改善自己的薄弱点,继续冲!!!

  • 相关阅读:
    ansible二
    ansible一
    MySQL索引
    MySQL binlog server原理与搭建
    MySQL online DDL 白话
    MySQL online ddl原理
    Microsoft Visual C++ 14.0 is required解决方法
    man的汉化及使用
    对象,类,命名空间,继承......
    PHP初识
  • 原文地址:https://www.cnblogs.com/Long-2001/p/14090135.html
Copyright © 2011-2022 走看看