“2012级--讨论记录 (第一学期)”的版本间的差异

来自问题求解
跳转至: 导航搜索
第131行: 第131行:
 
   </li>
 
   </li>
 
   <li>C++变量声明语句对应的BNF:自顶向下解决问题的思路。</li>
 
   <li>C++变量声明语句对应的BNF:自顶向下解决问题的思路。</li>
 +
</ol>
 +
 +
=2012年11月16日=
 +
[[媒体文件:讨论记录-第一学期-第7次.pdf|[课件下载]]]
 +
<ol>
 +
  <li>C++程序设计(3)</li>
 
</ol>
 
</ol>

2012年11月16日 (五) 18:35的版本

2012年9月27日

[课件下载]

  1. 利用the list求解UD第1章问题1(找水平、垂直对称单词)。
    • 审题:分别水平、垂直翻转后不变,还是同时水平、垂直翻转后不变。
    • plan:包括数据、算法两部分;未必每个字母都要对称(也可以翻转成为另一个字母);字典中的单词要先转为大写。
  2. 将上述plan转换成计算机可理解的形式(输入、算法、输出)。
    • 输入:字典;字母及其是否对称。
    • 算法:描述的颗粒度要适中。
    • 输出:题目只要找一个单词,不是全部。
  3. 要把大象装冰箱,总共分几步(小品视频)。
    • 问题的输入和算法的输入要匹配。
    • 算法要能处理异常输入。
  4. 算法-->C++程序(计算机仍然不能直接理解)-->机器语言。
  5. 熟悉VC++编程环境。

2012年10月11日

[课件下载]

  1. C++程序设计(1)

2012年10月18日

[课件下载]

  1. 理解Cantor定理。
    • 幂集的含义。
    • 证明的思路。
  2. Implication的陈述方法。
    • 中英文术语的对应。
    • 直译与意译。
  3. Exercise 2.8。
    • 真值表的应用。
    • 形式化问题时的命题选择。
  4. 求解Knights and Knaves:命题的形式化(特别是等价运算符的使用)。
  5. 合取/析取范式的化简。
    • 可合取分量的选择:只有一个变元前的正反符号不同。
    • 编程:循环的使用(特别是循环的条件)。
  6. 量词与集合:命题形式化的全面性与准确性。
  7. proof in cases方法的正确性:命题的形式化。
  8. 扑克牌魔术的原理:将问题形式化为数学归纳法可解的形式(特别是确定n的含义)。
  9. 表达式的范式表示:数学归纳法证明中要确保能覆盖n+1时的所有可能性。

2012年10月23日

[课件下载]

  1. C++程序设计(2)

2012年11月2日

[课件下载]

  1. 不用递归实现second-visit-traversal。
    • 方法1:引入“返回父节点”操作。
    • 方法2:运用堆栈。
  2. 走迷宫的算法。
    • (没有回路的)迷宫可表示为树。
    • 走迷宫可表示为树的遍历。
  3. 树节点的逐层输出:运用队列(操作受限的数组)。
  4. 对战tic-tac-toe的算法。
    • 下每一步棋的目的:最大化获胜概率。
    • 结果最完美的算法:穷举所有可能性。
    • 所有可能性的表示方法:树。
    • 下每一步棋的获胜概率的计算:叶子节点的分布。

2012年11月8日

[课件下载]

  1. “选择排序”算法的流程图:自顶向下解决问题的思路。
    • 先绘制外层循环。
    • 再绘制内层循环。
  2. 子程序(函数)的四个作用及举例。
  3. 所有C++变量名构成的语言:
    • 对应的BNF:自顶向下解决问题的思路;递归定义的多种写法。
    • *对应的有穷状态自动机。
    • 利用有穷状态自动机检查句子的合法性。
    • *利用有穷状态自动机对不合法的句子提出修改建议。
  4. C++变量声明语句对应的BNF:自顶向下解决问题的思路。

2012年11月16日

[课件下载]

  1. C++程序设计(3)