2

我被要求给一个孩子辅导帕斯卡。尽管在我设法获得教程之前从未见过 Pascal,但我现在知道的足以教他。

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

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

4

9 回答 9

6

这是自由职业者学习一门新编程语言的 15 个练习的列表,它扩展了许多语言中使用的基本技术,并且可以让他感受他正在学习的新语言

于 2009-05-30T21:49:41.807 回答
5

我将以(主要)与语言无关的方式解决这个问题。在教他打印语句和流程控制(if语句、for循环等)之后,我的建议是从简单的 ASCII 艺术模式开始,这些模式可以由for循环等生成。

例如,你将如何打印半棵树,像这样?

*
**
***
****
*****
******

好的,现在你将如何打印一棵完整的树,像这样?

     *
    ***
   *****
  *******
 *********
***********

现在试着画一艘火箭飞船。;)

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

于 2009-05-30T21:52:08.853 回答
3

有关排序算法,请参见链接。这是一篇 Wikipedia 文章 - 关于排序算法的一些一般信息,但在下方您可以单独找到每种类型的链接,以及伪代码(和某些语言)中的算法。

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

SUM=0.
DO i=1,n
 SUM=SUM+element(i)
ENDDO
AVRG=SUM/n

此外,出于学习目的和思考Project Euler非常好。


另外,请看一下这个问题: 在哪里可以找到有趣/有教育意义的编程挑战?我不想复制粘贴所有内容,但它有一堆链接,其中包含您正在寻找的东西(编程练习)。还有这个:算法问题网站你的编程练习是什么?. 你可能会在那里找到你认为他会感兴趣的东西。

于 2009-05-30T22:00:23.937 回答
2

经典一:
让程序选择一个随机数,游戏的目的是通过消除找到数字。如果用户猜到一个较低的数字,程序就说它太低,如果它更高,它就说它太高。

于 2009-05-30T22:02:09.287 回答
1

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

于 2009-05-30T22:09:45.823 回答
1

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

剪刀石头布游戏

用户输入 P、R 或 S

程序响应您赢、输或平局

更高级的功能:跟踪记录、获胜百分比、连续赢/输

于 2009-05-30T23:03:07.430 回答
0

如果您知道任何类似 C/C 的语言,则基本相同:

  • { } 是开始结束;
  • == 是 =
  • = 是 :=
  • 什么都不返回的函数是一个过程。
  • 返回某些东西的函数仍然是一个函数。
  • int 是整数。

其余的几乎相同。语法有点不同,但差别不大。

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

于 2009-05-31T21:35:57.257 回答
0

对双向链表做基本操作也是经典。

于 2009-06-07T20:09:53.093 回答
0

我从中学到的早期练习包括绘制Mandelbrot 集(现在计算机速度要快得多,因此您不必立即担心优化问题)和实现像Game of Life这样的元胞自动机。

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

于 2009-06-07T20:32:14.670 回答