我被要求为一个孩子辅导Pascal。尽管在我设法获得教程之前从未见过Pascal,但我现在已经足够教他了。
我写信给你们看看有没有人可以指出一些涉及简单算法的基本练习,例如:排序这个数组,找到平均数等等......
它可以是任何语言,我只需要找一些练习,这样他就可以锻炼身体。
答案 0 :(得分:6)
以下是来自自由职业者的15 Exercises for Learning a new Programming Language列表,该列表扩展了许多语言中使用的基本技术,可以让他感受到他正在学习的新语言
答案 1 :(得分:5)
我将以(大多数)与语言无关的方式解决这个问题。在教他打印语句和流控制(if
语句,for
循环等)后,我的建议是从for
生成的简单ASCII艺术模式开始循环等。
例如,你会如何打印一半树,就像这样?
*
**
***
****
*****
******
好的,现在你将如何打印一个完整的树呢?
*
***
*****
*******
*********
***********
现在尝试画一艘火箭飞船。 ;)
这些对大多数孩子来说都很棒,因为它们是视觉的,结果很诱人,而且练习将赋予循环的重要性并消除冗余。
答案 2 :(得分:3)
对于sorting algorithms,请参阅链接。这是一篇维基百科的文章 - 关于排序算法的一些一般信息,但是在下面你可以单独链接到它们的每种类型,以及伪代码(和某些语言)中的算法。
就“找到平均值”而言,当你有“n”元素时:
SUM=0.
DO i=1,n
SUM=SUM+element(i)
ENDDO
AVRG=SUM/n
此外,出于学习目的和思考Project Euler非常好。
另外,请看一下这个问题: Where can you find fun/educational programming challenges?我不想复制粘贴所有内容,但它有一堆链接,其中包含您正在寻找的内容(编程练习)。这个:Algorithm Questions Website,What are your programming exercises?。你可能会在那里找到你认为他会感兴趣的东西。
答案 3 :(得分:2)
答案 4 :(得分:1)
带有“AI”的Tic tac toe游戏(即预定义动作)和文本图形是一个不错的项目。
答案 5 :(得分:1)
为它添加一些乐趣。一个很好的开始:
Paper-Rock-Scissor游戏
用户输入P,R或S
程序会回应您的胜利,失败或平局
更高级的功能:跟踪记录,赢得%,赢/连连续
答案 6 :(得分:0)
如果您知道任何类似C / C的语言,它基本上是相同的:
其余几乎是一样的。语法略有不同,但差别不大。
你需要知道他们正在使用哪种Pascal,以及他们教给他们什么,以确保你不会浪费你/他/她的时间。
答案 7 :(得分:0)
在双向链表上进行基本操作也是经典之作。
答案 8 :(得分:0)
我从中学到的早期练习包括绘制Mandelbrot set(计算机现在要快得多,所以你不必立即担心优化)和实现像Game of Life这样的细胞自动机。 / p>
当然,如果这是学校课程的练习,那么这样的练习只有在测试可能会测试类似的知识/技能领域时才有用。