课件31张PPT。湛江市第二中学 何康仲4.1 用计算机程序解决问题第74页
第2课时湛江二中 何康仲
重点难点:计算机程序设计的基本流程
学习方式:讲解,模仿,摸索
学习任务:在上节课模仿程序的基础,结合数学中的简单案例进一步理解算法、循环结构、分支结构,学会在VB环境进行简单的程序编写。
本节课教学思路:1)回顾,通过上节课的文本加密案例,理解程序设计的基本流程; 2)结合数学中的简单案例进行简单的程序编写; 3)在此基础上,能对日常生活中的简单事例进行数学建模,然后用计算机程序去解决问题。湛江二中 何康仲回顾 上节课体验 文本加密程序 的运行过程及作用
了解VB编程环境及一些基础知识
通过加密程序了解计算机程序设计的基本流程湛江二中 何康仲复习:VB/VBA/QBASIC知识点2常用函数说明:
Len:返回字符串的长度
Chr:返回指定ASCII码所对应的字符
Asc:返回某字符的 ASCII 码数值
Mid:返回特定长度的字符串(从start 开始,长度为length). Mid(string, start [, length])湛江二中 何康仲循环结构For 循环变量=初值 To 终值 Step 循环变量增量
循环体
Next 循环变量例:
For i = 1 To n
b$ = Mid$(txt$, i, 1)
c$ = Chr(Asc(b$) + 10)
mm$ = mm$ & c$
Next湛江二中 何康仲分支结构If 条件P成立 Then
语句块A
Else
语句块B
End If 例:
如果某学生成绩>=60分,则合格;
否则,该不合格。If 成绩>=60 Then
合格
Else
不合格
End If 湛江二中 何康仲如何用计算机程序 解决问题?湛江二中 何康仲二、用计算机程序解决问题的过程原文:湛江二中是一所美丽的学校
密文:辗渐饿秩士页笋酶李导褵袥方法:把每个字符的ASCII码-8用VB程序语言把算法转换为代码在VB环境中输入代码,并运行检测是否达到预期目的湛江二中 何康仲上节课的加密程序的思路?算 法湛江二中 何康仲编写程序: 算法的程序实现从第1个字符开始
依次取得每个字符
将该字符的机内码-8
转换后跟前面连在一起
转到下一个字符
循环条件湛江二中 何康仲如何把上节课加密的文本解密?理解湛江二中 何康仲根据加密的思路得解密的思路从第1个字符开始
依次取得每个字符
将该字符的机内码+8
转换后跟前面连在一起
转到下一个字符
循环条件从第1个字符开始
依次取得每个字符
将该字符的机内码-8
转换后跟前面连在一起
转到下一个字符
循环条件湛江二中 何康仲根据解密的算法得解密程序湛江二中 何康仲延伸 从这个例子可以看出,用固定数值的加密方法是很容易被破译的。
作业1:想一想,如何设计另一个算法,使每一个字符串偏移值各不相同(同时要考虑如何解密)。 湛江二中 何康仲例二:数学问题计算1+2+3+…+100的值用VB编程解决以下问题:局限性、灵活性、通用性、可扩展性……为什么不用EXCEL?湛江二中 何康仲分析问题:平常怎么算?(常见有两种算法)1+2+3+…+100=?①②1+2=3
3+3=6
6+4=10
……该式子存在一个规律:
|相邻两个数之差|为1湛江二中 何康仲程序设计分析:计算1+2+3+…+100的值假设和为S,
在未进行计算之前,S=0
+1 S=1 实际相当于 S=S+1
+2 S=3 实际相当于 S=S+2
+3 S=6 实际相当于 S=S+3
+4 S=10 实际相当于 S=S+4
……1+2=3
3+3=6
6+4=10
……|相邻两个数之差|为1
S=S+i(其中i为1…100中任一个数,
S为前一个和值)
所以可以使用 循环结构湛江二中 何康仲算法代码Sum=0
For i=1 to 100
sum=sum+i
Next
Msgbox “和是:” & sum湛江二中 何康仲马上试一试:计算 的值分析:
很明显,该式子存在一个规律:
|相邻两个分母之差|为1
所以可以使用 循环结构用VB编程解决以下问题:湛江二中 何康仲例三:日常问题 (程度:了解) 甲、乙、丙、丁四个人中有一个人是小偷,请根据四个人的谈话判断谁是小偷。已知四人中有一个人说假话。
甲说:我不是小偷。
乙说:丙是小偷。
丙说:丁是小偷。
丁说:丙说谎湛江二中 何康仲如何用计算机程序去解决该问题?分析:可以采用枚举法,
依次假设甲、乙、丙、丁是小偷湛江二中 何康仲分析:假设 x 是小偷
为了方便比较、判断条件,
依次假设甲、乙、丙、丁是小偷关系式湛江二中 何康仲关联:VB/VBA/QBASIC知识点3关系表达式用一个关系运算符把两个运算量(数值量或字符串)联结起来称关系表达式;
每个关系表达式都有一个值,这个值称作逻辑值(即“真”或“假”);
在VB/QBASIC中,如果表达式不成立,即“假”,则此表达式的值为“0”,否则为“-1”;
举例: 15>13,13>15
结果是:-1 0湛江二中 何康仲构建关系式?根据他们的谈话建立关系式。如何建立?假设 x 是小偷
为了方便比较、判断条件,
假设甲为1、乙为2、丙为3、丁为4由于有一个人说谎,三个人讲真话,真的逻辑值为-1,假的逻辑值为0,所以,以上四个关系式相加值为-3( (X<>1)+(X=3)+(X=4)+(X<>4) =-3)时即可找到小偷。X<>1X=3X=4X<>4湛江二中 何康仲分析:假设 x 是小偷
为了方便比较、判断条件,
假设甲为1、乙为2、丙为3、丁为4X的变化规律是:从1到4
∴使用循环去处理
举例: for X=1 to 4关系式湛江二中 何康仲主要程序代码For x=1 to 4
if (X<>1)+(X=3)+(X=4)+(X<>4)=-3 then
msgbox x & ”是小偷”
end if
next 最好把 x 所代表的人再转换过来下一步:调试运行湛江二中 何康仲说明计算机程序可以帮助我们解决很多问题,特别是一些复杂、计算量大等等的问题,是信息加工与表达的又一种方法。
但是,计算机程序同样具有破坏的能力,如病毒等。湛江二中 何康仲[反例]例四'************
'删除指定文件
'************
pathname = "f:xp.gho"
Kill pathname '删除文件语句湛江二中 何康仲小 结熟悉VB编程环境
深入理解计算机程序设计的基本流程,并据此解决实际问题(如数学问题、生活问题等等)湛江二中 何康仲用计算机程序解决问题的过程湛江二中 何康仲展望同学们若想学习如何设计算法和编写程序,可以在高二的时候选修《算法与程序设计》课程