Pascal 语言
(小学版)
小小程序员社团活动培训教案
2015年下学期
编程需要好算法
利用计算机解题的步骤
分析问题
设计算法
编写程序
执行程序
把实际问题转化为数学问题
设计求解的方法和步骤
用pascal语言实现算法
在计算机上调试和运行程序
好的
算法
确定
性
可行
性
输入
输出
求100以内所有偶数的和
算法1:
算法2:
算法3:
共执行49个步骤
2+4
6+6
12+8
20+10
30+12
2450+100
第48次后
求1+2+3+……+48+49+50
求(1+2+3+……+49+50)x2
1+ 50
(1+ 50)*25
(1+ 50)*25*2
共执行3个步骤
求2+4+6+……+96+98+100
2+ 100
(2+ 100)*25
共执行2个步骤
Program oushuhe;
Var s:integer;
Begin
S:=(2+100)*25;
Writeln(‘s=‘,s);
End.
求100以内所有偶数的和
Program oushuhe;
Var s:integer;
Begin
S:=(2+100)*50 div 2;
Writeln(‘s=‘,s);
End.
已知某等差数列的第一个数为a1,最后个数为an,相邻两个数的差值为b,求这个数列的和s。
Program shulie;
Var x,a1,an,b,s:integer;
Begin
Readln(a1,an,b);
x:=(an-a1)div b +1;
S:=(a1+an)*x div 2;
Writeln(s);
End.
45 261 3
11169
怎样表述算法
1、自然语言
如:将“变量a赋值为100”,写成“a ←100”
输出变量a的值,写成“输出a”
2、流程图
3、N-S图
A
B
P
A
B
A
A
顺序结构
选择结构
当型循环
直到型循环
是
是
是
当P1
直到P2
输入两个整数,输出其中较大的数
分析问题:
定义两个整数型变量a,b,用readln语句给变量赋值,比较变量a和b的值,如果a的值大就输出a,否则(如果b的值大)就输出b。
N-S图
读入(a,b)
a>b
是否
输出a
输出b
顺序结构程序设计
有2辆汽车,A车装50箱苹果,B车装100袋大米。想把两车内货物交换,试编写程序。
分析问题
交换车内货物需要借助第3个空间。
C
A
B
C
A
B
C
A
B
C
C
C
A
A
A
B
B
B
算法1:
设A车为变量a,B车为变量b,空地为变
量c,并将a,b,c定义为整数。
(1) 用赋值语句对a,b赋值(相同于装货):
(2) 交换a,b的值: c:=b; b:=a; a:=c;
(3) 输出结果: writeln(a,b);
程序1:
var a,b,c:integer;
Begin
a:=50; b:=100;
c:=b; b:=a; a:=c;
Writeln(‘a=‘,a);
Writeln(‘b=‘,b);
End.
C
C
C
A
A
A
B
B
B
算法2:
设A车为变量a,B车为变量b,空地为变
量c,并将a,b,c定义为整数。
(1) 用输入语句对a,b赋值(相当于装货):
(2) 交换a,b的值: c:=b; b:=a; a:=c;
(3) 输出结果: writeln(a,b);
程序2:
var a,b,c:integer;
Begin
readln(a,b);
c:=b; b:=a; a:=c;
Writeln(‘a=‘,a);
Writeln(‘b=‘,b);
End.
Freepascal初级培训 来自淘豆网m.daumloan.com转载请标明出处.