Algorithm 教孩子帕斯卡的简单问题

Algorithm 教孩子帕斯卡的简单问题,algorithm,pascal,Algorithm,Pascal,我被要求给一个孩子辅导帕斯卡。尽管我以前从未见过帕斯卡,但我还是设法得到了辅导,现在我知道了足够多的知识来教他 我写信给你们是想看看是否有人能给我指出一些涉及简单算法的基本练习,比如:排序这个数组,找到平均值,等等 它可以是任何语言,我只需要找到一些练习,这样他就可以练习了。这里是一个自由职业者的列表,它扩展了许多语言中使用的基本技术,可以让他感觉到他正在学习的新语言。我将以一种(大部分)语言不可知的方式来解决这个问题。在教他打印语句和流控制(if语句、for循环等)之后,我的建议是从简单的AS

我被要求给一个孩子辅导帕斯卡。尽管我以前从未见过帕斯卡,但我还是设法得到了辅导,现在我知道了足够多的知识来教他

我写信给你们是想看看是否有人能给我指出一些涉及简单算法的基本练习,比如:排序这个数组,找到平均值,等等


它可以是任何语言,我只需要找到一些练习,这样他就可以练习了。

这里是一个自由职业者的列表,它扩展了许多语言中使用的基本技术,可以让他感觉到他正在学习的新语言。

我将以一种(大部分)语言不可知的方式来解决这个问题。在教他打印语句和流控制(
if
语句、
for
循环等)之后,我的建议是从简单的ASCII艺术模式开始,这些模式可以由
for
循环等生成

例如,如何打印半棵树,如下图所示

*
**
***
****
*****
******
     *
    ***
   *****
  *******
 *********
***********
好的,现在你怎么打印一棵完整的树,像这样

*
**
***
****
*****
******
     *
    ***
   *****
  *******
 *********
***********
现在试着画一艘火箭船

这些对大多数孩子来说都很好,因为它们是视觉的,结果是诱人的,而且这些练习将传授循环和消除冗余的重要性。

请参阅链接。这是一篇维基百科文章——关于排序算法的一些一般信息,但在下面,你可以分别链接到每种类型的排序算法,以及伪代码(和一些语言)中的算法

就“找到平均值”而言,当您有“n”个元素时:

SUM=0.
DO i=1,n
 SUM=SUM+element(i)
ENDDO
AVRG=SUM/n
另外,出于学习目的和思考是非常好的


另外,一定要看看这个问题: 我不想复制粘贴所有内容,但它有一系列链接,这些链接与您想要的内容完全一致(编程练习)。这个:。你可能会在那里找到你认为他会感兴趣的东西。

经典之作:

让程序选择一个随机数,游戏的目的是通过消去法找到这个数。如果用户猜到一个较低的数字,程序会说它太低,如果它较高,程序会说它太高。

带有“AI”(即预定义动作)和文本图形的Tic tac toe游戏是一个不错的项目。

给它增添一些乐趣。一个好的开始:

纸岩剪刀游戏

用户输入p、R或S

程序响应您的赢、输或平局


更高级的功能:业绩记录、胜利百分比、胜利/失败连胜

如果你知道任何类似C/C的语言,基本上都是一样的:

  • {}是开始和结束
  • ==是=
  • =是:=
  • 不返回任何内容的函数是一个过程
  • 返回某些内容的函数仍然是函数
  • int是整数
其余的几乎一样。语法有点不同,但差别不大


你需要知道他们使用的是哪种Pascal,以及他们教给他们的是什么,以确保你不会浪费你/他/她的时间。

在双链接列表上执行基本操作也是一个经典。

我从中学到的早期练习包括绘制(如今计算机的速度快得多,所以你不必马上为优化担心太多)并实现细胞自动机,如


当然,如果这是一门学校课程的练习,那么这样的练习只有在测试可能测试类似的知识/技能领域时才有帮助。

这个孩子多大了?根据他的年龄,某些类型的练习可能更合适。他17岁。在高中毕业的路上,我投票否决了ldigas的答案。排序算法是我最喜欢的话题,因为它们揭示了一门语言的算法思维和技术细节。我认为排序对于高中后期来说是合适的级别。链接的组合很好。当然,对于不同级别的学生来说,在它们之间可以找到一些有用的东西。