• 第二次作业


    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结构设计算法。

  • 相关阅读:
    python安装教程
    protobuf安装教程
    PlantUML安装教程
    题解-CF1140E Palindrome-less Arrays
    FST
    线段树
    题解-CF677D Vanya and Treasure
    最短路
    后缀自动机
    虚树
  • 原文地址:https://www.cnblogs.com/syt666/p/9860369.html
Copyright © 2020-2023  润新知