ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2019-2020 191316《信息安全专业导论》第六周学习总结

2019-11-06 21:02:21  阅读:223  来源: 互联网

标签:语句 缩进 sub 代码 else 191316 2020 2019 line


教材学习内容总结

Polya如何解决问题,学习了不同的算法,了解了不同的排序方法并尝试使用。了解了几个重要思想。

教材学习中的问题和解决过程

问题1:对各种排序算法略有混淆,希望能分清。
解决方案:在博客园上找到了相关文章,首先分清了冒泡排序和选择排序https://www.cnblogs.com/Good-good-stady-day-day-up/p/9055698.html
冒泡排序:从左到右或从下到上,数组中相邻的两个元素进行比较,将较大的放到后面或上面。
选择排序:从第一个位置开始比较,找出最小的,和第一个位置互换,开始下一轮。
关于改进方面,在看有关改进冒泡排序的文章里看到了一种改进方法:双向冒泡。不同之处在于“从左至右与从右至左两种冒泡方式交替执行”,但有人认为不能提高算法效率并且增加代码复杂度。https://www.cnblogs.com/heyuquan/p/bubble-quick-sort.html在此篇博客里看到了快速排序的改进方法及代码实现
我另外找到了一篇介绍各种算法程序比较全面的文章https://www.cnblogs.com/wolf-sun/p/4312475.html
问题2:对伪代码的写法不是特别明晰
解决方案:查了资料,总结如下
1.在伪代码中,每一条指令占一行(else if,例外)。指令后不跟任何符号(Pascal和C中语句要以分号结尾)。
2.书写上的“缩进”表示程序中的分支程序结构。这种缩进风格也适用于if-then-else语句。用缩进取代传统Pascal中的begin和end语句来表示程序的块结构可以大大提高代码的清晰性;同一模块的语句有相同的缩进量,次一级模块的语句相对与其父级模块的语句缩进。
例如:
line 1
line 2
sub line 1
sub line 2
sub sub line 1
sub sub line 2
sub line 3
line 3
 
3.在伪代码中,通常用连续的数字或字母来标示同一即模块中的连续语句,有时也可省略标号。
4.赋值语句用符号←表示,x←exp表示将exp的值赋给x,其中x是一个变量,exp是一个与x同类型的变量或表达式(该表达式的结果与x同类型);多重赋值i←j←e是将表达式e的值赋给变量i和j,这种表示与j←e和i←e等价。
5.选择语句用if-then-else来表示,并且这种if-then-else可以嵌套
例如:
if (Condition1)
then [ Block 1 ]
else if (Condition2)
then [ Block 2 ]
else [ Block 3 ]
6.循环语句有三种:while循环、repeat-until循环和for循环,其语法均与Pascal类似,只是用缩进代替begin - end;
例如:

  1. x ← 0
  2. y ← 0
  3. z ← 0
  4. while x < N
    1. do x ← x + 1
    2. y ← x + y
    3. for t ← 0 to 10
      1. do z ← ( z + x * y ) / 100
      2. repeat
        1. y ← y + 1
        2. z ← z - y
      3. until z < 0
    4. z ← x * y
  5. y ← y / 2
    7.伪代码可以用英文、汉字、中英文混合表示,以便于书写和阅读为原则。用伪代码写算法并无固定的、严格的语法规则,只要把意思表达清楚,并且书写的格式要写成清晰易读的形式。

  6. 问题3:记不住书上的概念
    解决方案:常翻书,类比记忆或者通过做题来记概念

标签:语句,缩进,sub,代码,else,191316,2020,2019,line
来源: https://www.cnblogs.com/ffffatal/p/11808603.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有