学习程序和算法要让学生开放思维,绝不能禁锢思想

时间:2022-09-08 01:21:55

【前言】学习程序和算法要让学生开放思维,绝不能禁锢思想由文秘帮小编整理而成,但愿对你的学习工作带来帮助。①用循环把十个数输入到数组中。 ②从A[1]到A[10],相邻的两个数两两比较。 ③在每次的比较中把大的放在前面,若在后对换,若在前边则不用。 5 6 4 3 7,5和6 比较,交换位置,排成下列顺序: 6 5 4 3 7,5和4比较,不交换。 6 5 4 3 7,4和3比较,不交换。 6 5 4 3 7...

学习程序和算法要让学生开放思维,绝不能禁锢思想

摘 要:我校开设算法和程序设计课程一年来,据学生学习调查及考核情况来看,存在一些问题。对于高中阶段学生和初学者来说,不可能让每个学生成为程序老手,但至少要让学生会分析问题,找到解决问题的方法。

关键词:学习;开放思维禁锢思想

“编程不思考,等于吃饭不消化”,因此,学习程序算法,在高中阶段让学生学会如何去解决问题的方法,养成良好的行为习惯。

作为程序员,良好的习惯是制胜的法宝。编写程序前的分析思考和编写程序及调试,前者是漫长的黑夜,后者就是黎明。没有黑夜就没有黎明的到来。在此为大家举一个很小的例子。

课堂上要求学生解决问题“编程输入十个正整数,然后按照从大到小的顺序输出”。学生在拿到这个任务后首先做的应该是对问题的分析,第一我们要得到一组数,然后要实现对这组数的降序输出,此时想到没有现成的函数,那么就要做出大小的判断,并且降序排列。大小的判断可以用比较,交换位置使用交换,正好可以使用上节课学习的交换的过程。有学生用自然语言做出了操作步骤。

①用循环把十个数输入到数组中。

②从A[1]到A[10],相邻的两个数两两比较。

③在每次的比较中把大的放在前面,若在后对换,若在前边则不用。

5 6 4 3 7,5和6 比较,交换位置,排成下列顺序:

6 5 4 3 7,5和4比较,不交换。

6 5 4 3 7,4和3比较,不交换。

6 5 4 3 7,3和7比较,交换位置,排成如下顺序:

6 5 4 7 3,经过以上步骤后最小的数放在了最后。

同样经过十轮比较之后就完成了整个任务。

更有一些同学做完算法设计后已经进行了编程。其中一名同学的程序如下:

Program xeam10;

Const n=10;

Var a:array[1..n]of integer];

I,j:integer;

Procedure swap(var x,y:integer);

Var t:integer;

Begin

T:=x;x:=y;y:=t;

End;

Begin

For i:=1 to n do

Begin

Write(I,’:’);

Readln(a[i]);

End;

For j:=1 to n-1 do

For i:=1 to n-j do

If a[i]

For i:=1 to n do

Write(a[i]:6);

Readln;

End.

很快学生完成了程序的编写,并且进行了调试。

反过来如果不进行完整的分析,就不可能很顺利地完成。

不同的学生有不同的思维,有不同的解决问题的方法,同一个学生站在不同的角度也有不同的方法,因此课堂需要学生能够从不同的角度去分析解决问题。同样笔者也举一个小例子。

设计程序交换两个变量的值

一学生做出了直接交换变量的程序。

Program exam521;

Const a=5;b=8;

Var c:integer;

Begin

C:=a;a:=b;b:=c;

Writeln(‘a=’:8,a,’b’:8,b);

Readln

End.

对于这个学生的程序虽然调试出现了错误,但他的想法很好,我们也可以借助自定义函数和过程来完成。该学生只要把change定义为过程就可以了(他定义的是函数)。

由此观之,我们应该调动学生的积极性,发挥学生的想象与智慧,不拘一格。作为高中阶段的教学也应该从这方面出发。让我们的学生掌握解决问题的方法,认识问题求解方法的多样性。

总之,高中阶段的学生思维活跃,开设程序课程目的应在于让学生学会方法,掌握正确的解决问题的方法,形成良好的习惯。

作者简介:张江江,男,1982年出生,本科,就职于陕西丹凤中学,信息技术教师。

上一篇:生本理念在初中历史教学中的运用研究 下一篇:结合课内外资源 提高识字能力