200 likes | 346 Views
《 算法与程序设计复习 》 提要. BY dfyz. 2008.12.15. 教学目标. 知识目标 1. 了解算法与 PASCAL 程序的基本知识; 2. 掌握三种基本结构相关语句; 3. 熟悉经典程序与经典算法交换法、解析法、递推法、穷举法; 4. 根据程序写出运行结果,由流程图完善程序代码。 能力目标 1 .初步掌握程序设计三种基本结构思想 ; 2 .能够根据简单实例进行算法分析与设计 ; 3 .培养学生分析问题、编程解决问题的能力。 情感目标 1 、体验程序中的人类智慧 ; 2 、激发学生探究的科学素养,消除对程序的神秘感。.
E N D
《算法与程序设计复习》提要 BY dfyz 2008.12.15
教学目标 知识目标 1.了解算法与PASCAL程序的基本知识; 2. 掌握三种基本结构相关语句;3. 熟悉经典程序与经典算法交换法、解析法、递推法、穷举法;4. 根据程序写出运行结果,由流程图完善程序代码。 能力目标 1.初步掌握程序设计三种基本结构思想; 2.能够根据简单实例进行算法分析与设计; 3.培养学生分析问题、编程解决问题的能力。 情感目标 1、体验程序中的人类智慧 ;2、激发学生探究的科学素养,消除对程序的神秘感。
教学任务要求 • 教学重点: 三种结构、六个算法、九例应用 • 难 点: IF/Else应用、流程图的理解和算法实现 • 教学方法:结构树法和归纳法 • 课程类型:复习课
一. 基础知识 (30%) • 1. 结构化程序的三种基本结构( ) • 2. 计算机硬件唯一能够直接识别的语言 ( )。 • 3.PASCAL语言编译执行命令compile • 4. Turbo Pascal快捷键Ctrl+F9,ALT+F5。 • 5. 变量的四种基本类型 var n:XX • 6. 计算机通用的二进制编码 • 7. 用PASCAL表达式运算符 • sqr sqrt mod div succ pred • 8. 布尔表达式 not ( 5 div 3 = 1) 的值( ).
二、 写出程序运行结果40% • 1. Program t1( output ) ; • Var i : integer ; • Begin write( 1,2 ); • writeln( 3,4,5 ); • write( 6 ); • writeln( ‘7*8= ’ ) ; • writeln( 9 ); • END. • 运行结果:
2-2、求运行结果 • 2. Program t2( input , output ) ; • Var i : integer ; • Begin • for i:= 5 downto 1 do • write(' * ') ; • END. • 运行结果:
2-3、求运行结果 • 3. Program t3( input , output ) ; • Var m , n, t :integer; • Begin m:=8; • n:=m+2000; • m:=m+1; • Writeln (m:5, n:5) ; • If m<n then • Begin t:=m; m:=n; n:=t end • Writeln(‘m=’ , m , ‘n=’ , n ) • END.
2-4、求运行结果 • 4. Program t4( input , output ) ; • Var k, ch:char; • Begin FOR k:=’c’ TO ‘h ’ do • Begin • Ch:= pred(k) • Write(ch) ; • end • END. • 运行结果:
2-5、求运行结果 • 5.Var pref, lastf, ff, n : integer; • Begin Pref:=2; lasft:=3; • { Writeln(pref , lastf) ;} • For n:= 1 to 12 do • Begin ff: =pref+lastf; • Pref:=lastf; • Last:=ff; • Writeln(ff : 6) • End • end.
2-6、复习杨辉三角 • VAR I , j : INTEGER; • Begin • Writeln( ‘*’ :40) ; • For i: = 1 to 4 do • Begin • Write( ‘*’:40—I ); • For j: = 1 to I*2 do • Write(‘*’); • Writeln; • End; • End.运行结果: * *** ***** ******* *********
2-7、求运行结果 • 7. Program t7( input , output ) ; • Var Prime, k:integer; • Begin prime:=889; • for k:=2 to prime-1 do • begin if ( prime mod k =0 ) • then writeln (prime , ’no’) ; • break; • end • End.
三. 根据流程图完善程序 • 小学生选三好入选条件: • Y,S达到双90, 打印出字符串’PASS’; • 若Y+S达到185,输出’PASS’ , 否则打印’Fail’
键盘输入变量Y,S的值 Y>=90 且 S>=90 T F 打印 ’PASS ’ Y+S>185 T F 输出打印‘pass’ 打印‘fail’ 四、根据流程图完成程序代码(8%)
五、 找出下面程序中的错误, 并指出错误原因(6%) • 1. PROGRAM T9 ( input , output ) • VAR m , n:integer ; c:real; • BEGIN • Read ( m , c) ; • n:= m + c ; • writeln( n : 10:2) • END
5-2、 找错误 • 2. PROGRAM T10( input , output ) ; • VAR S , Y :real; • BEGIN readln(S); • If S<0 then y:= —1 ; • else y:=0 • else y:=1 ; • writeln(y,zf ) • END.
常见错误要点分析 • >> 结束符. • >> 分号; • >> 类型相容性 • >> 未加说明的变量 • >> IF/ELSE 格式 • >>单、双场宽
六、程序设计题 • 1.计算S= 1+2*2+3*3+4*4+……+25*25
6-2、程序设计 • 2.邮费根据路程的折扣规定:(a金额,R代表折扣) • a< 500 元 R=0%; • 500≤a<1000 R=5%; • 1000≤a<2000 R=8%; • 2000≤a<5000 R=10%; • 5000≤a R=20%; 输入路程数,输出所需交的费用.
6-3.找最小值 • 键盘输入十个数,输出最小值。