高中信息技术:算法与程序设计

更新时间:2023-10-05 03:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

算法与程序设计

基础知识介绍

第一课时

一、QBASIC程序的实际意义:

QBASIC程序是一种高级语言,是初学者通用符号指令代码的简称。 教师可以联系生活实际,谈一谈高级语言学习的重要性。 二、QBASIC程序的启动、窗口组成: (多媒体介绍)

QBASIC程序窗口菜单介绍:

File Edit View Search Run Debug Option Help 文件菜单:主要包括新建文件、打开、保存文件等操作 编辑菜单:主要包括编辑、修改程序的剪切、复制、粘贴等操作 查看菜单:主要包括查看输出屏幕、子程序窗口等操作 查看菜单:主要包括在程序中查找、替换等操作 运行菜单:主要包括运行程序的操作 测试菜单:主要包括调试程序的操作 选项菜单:主要包括对QBASIC集成环境进行初始设置等操作 帮助菜单:主要包括提供各种操作的帮助信息等操作 (可按F6键在窗口之间进行切换)

三、计算机三种语言的特点:

1、机器语言:由0,1两种代码编写,计算机可以直接执行。 2、汇编语言:助记符语言,经汇编后计算机才能执行。

3、高级语言:直接用数学表达式和英文单词书写,分解释和编译两种执行方式。 如:QBASIC程序是一种高级语言,是初学者通用符号指令代码的简称。 教师进行下列程序的输入、编辑演示①: ①CLS LET R=5

LET L=2*3.14*R LET S=3.14*R*R PRINT “L=”;L,”S=”;S END

学生课堂练习②③④⑤: ②CLS

LET A=10:LET B=20 PRINT(A+B)

PRINT “A*B=”;A*B END ③CLS

LET A=10:LET B=20

1

LET A=A+B LET B=A-B LET A=A-B PRINT (A,B) END ④CLS

LET A=10:LET B=20 LET C=A LET A=B LET B=C

PRINT “A=”;A,“B=”;B END ⑤CLS LET S=0

INPUT “N=”;N FOR I=1 TO N S=S+I NEXT I

PRINT “S=”;S END

第二课时

一、常量的类型及其表示方法: 1、数据类型:

在程序执行过程中,本身始终不变的量,称为常量。 2、常量的分类: ①数值型常量:

有日常计数法(38,38.26,-0.000375)和科学计数法(25E+4,3.2e-10);又可分为整数型和实数型。(分数不是常量) ②字符串常量:

字符串常量必须用双引号括起来,字符串常量可以由任何字符组成,但双引号要身除外。 如:“12345”、“ASD”、“信息技术”等。 学生课堂练习1:(填写编号)

下列常量中是数值型常量的有 ;是字符串常量的有 。 A、23.34 B、“QWER” C、“233445” F、“-21E+15” 二、变量的类型及其表示方法: 1、定义:

在程序运行中可以改变的量,称为变量。 2、变量的分类:

变量可分为数值型变量和字符型变量。 3、变量的命名规则:

①数值型变量的命名规则:第一个必须是字母(大、小写均可)、可以包括数字和下划线,不能使用某些关键字和函数名,有效长度为40个字符。

如:A X CLASS grad aver sum s1 s2 x 等

2

学生课堂练习2:(下列变量是错误的,请说明理由) 9A A**% LET PRINT ABS( ) ②字符串型变量的命名规则:

与数值型变量的命名规则相同,但字符串型变量的末尾必须有一个“$”号 如:X$ A1$ ADD$ NAME$ 学生课堂练习3:

将下列对应的合法常量、变量用划线连接起来: 常量 变量 23.34 A

“QWER” CLASS 2.34E-13 X$ 45 ADD$ 泸州外国语学校 grad X A1$ “PRINT$ ” PRINT

第三课时

一、QB的标准函数 函数名 INT(X) 函数格式 Y=INT(X) 得到X的绝对值 得到X的算术平方根 得到0至1之间的一个随机值 输出X的符号,1代表正,-1代表负,0代表0 输出X的正弦值(X用弧度表示) 函数的功能 得到一个不大于X的最大整数 ABS(X) Y=ABS(X) SQR(X) Y=SQR(X) RND(X) Y=RND(X) SGN(X) Y=SGN(X) SIN(X) Y=SIN(X) 例如:

ABS(-5)=5 SQR(9)=3 INT(7.89)=7 INT(-7.78)=-8 INT(9/3)=3 INT(8/5)=1 SIN(300)=SIN(30*3.1415/180) 学生课堂练习1:

SQR(130-9)= ;ABS(-16.3)= ;INT(-16.3)= ; ABS(9/3)= ;INT(16/4)= ;SGN(-123)= 二、QB的算术运算符和算术表达式: 1、QB的算术运算符: 项目 加+ 减- 乘* 除/ 例如 4+5 8-3 5*8 5/2=2.5 项目 整除\\ 求余MOD 乘方^ 例如 5\\2=2 5 MOD 2=1 5^2=25 2、算术运算符的先后次序:

括号→正负号→函数→ 乘方→ 乘、除、整除→ 求余→加、减 学生课堂练习2:

用标号标出下列表达式的顺序: ①6*SQR((5*X)+2)^6/2-15

3

②INT(4*3.14159*R^3/3) 三、QB的算术表达式:

a?b?(a?b)/(x?y)x?y3ab?SQR(3*a*b) xy?x*y/sqr(x?y)x?y课后作业:

SQR(130-9)= ;ABS(-16.3)= ABS(-9/3)= ;INT(16/5)=

;INT(-16.3)= ;

第四课时

二、QB的关系运算符和关系表达式: 项目名称 大于 等于 大于等于 符号 > = >= 项目名称 小于 不等于 小于等于 符号 < <> <=

真用数字“-1”表示 假用字数“0”表示 例如:

Print 3>5 print 6>2 Print 3<>4 print 3+4=7

学生课堂练习1:(指出下列的输出结果) ①Print int(3.5)>3 ②print int(4/2)=4/2 ③print int(9.56+0.5)=10 ④Print int(9.46+0.5)=9 ⑤print 3<=int(3.99) ⑥print int(rnd(100))=0 ⑦print 7*8

三、QB的逻辑运算符与逻辑表达式: 项目名称 逻辑非 符号 NOT 项目名称 逻辑与 符号 AND 项目名称 逻辑或 符号 OR

例如:已知三条线段的长度分别为a、b、c,写出它们能否构成三角形的逻辑表达式; (a+b)>c and (a+c)>b and (b+c)>a 学生课堂练习2:

按要求写出以下的逻辑表达式:

4

①X表示整数 ②X表示偶数 ③X表示奇数 ④X能被Y整除

⑤X大于3且X小于10

⑥X大于等于3且X小于等于10 ⑦X小于-3或X大于10

⑧X既能被3整除又能被5整除 ⑨X既能被3整除或能被5整除 ⑩X与Y的余数等于3 四、QB的字符串运算:“+” 如:“ABCD”+“123”→“ABCD123” 二、将下列数学表达式写成QB的表达式:

?b?b2?4ac①x1?

2axy2?b3②x2?

1a?b③s?vt?④v?

12at 23*3.14159*R3 4程序设计的步骤和方法

顺序结构的程序 一、赋值语句(LET) 1、格式:

LET 变量=表达式

注:(1)语句定义符“LET”可省略。 (2)这里的符号“=”称作赋值号

2、功能:把“=”右边的表达式的值赋给左边的变量。

如果右过是数值型表达式,计算机将先计算出这个表达式的值,然后再把值赋给左边的变量。 程序例: Input A,B Let C=A Let A=B Let B=C Print A,B End

程序例:

5

cls

Input A,B C=A:A=B:B=C Print A,B End

一句一行,多句一行用:间隔

C=A:A=B:B=C这个典型式子叫交换器,一般交换两个变量的值都用这个形式。

二、输入语句(INPUT);

1、格式:

INPUT 变量1,变量2,…,变量n; 2、功能:

程序运行到INPUT语句时,屏幕出现一个“?”号,等待用键盘输入数据给INPUT后面的变量或变量组。 三、输出语句(PRINT) 1、格式:

PRINT 输出内容

注:输出内容可以是数、数值表达式、字符串。 2、功能:

(1)、当输出内容是数时,直接输出该数;

(2)、当输出内容是数值表达式时,首先计算表达式的值,然后输出该值; (3)、当输出内容是字符串时,直接输出双引号内的内容。 (4)、当输出内容是变量时,输出变量的值 练习:课后,教师与学生共同完成 例:求程序的运行结果 Let a=3 Let b=5

Let c=a Let a=b

Let b=c Print a,b End

运行结果: LET A=5

LET B=A*(A-1)+1 LET C=B/(A-2) PRINT C END

运行结果: LET A=5 LET B=3

C=A:A=B:B=C PRINT A END

6

运行结果: LET A= -6 LET B= 9

LET C=ABS(A)-SQR(B) PRINT C END

运行结果: A=2 B=3 A=A+B B=A-B A=A-B PRINT B

运行结果: LET X= 2 LET Y= 9

LET Z=X+SQR(Y) PRINT Z END

运行结果:_______ LET A=4 LET B=15 LET C=A+B/3 PRINT C END

运行结果:_______

课堂练习:

1.输入任意两个数,计算平均分。 A=INPUT() B

LET C=(A+B)/2 PRINT C END

2.求底半径为R、高为H的圆柱的体积V和全面积S。 3.输入长方体的长、宽、高,计算它的表面积。2(ab+bc+ac) 4.输入一元二次方程的系数a、b、c,计算△(d)。 5.输入你的英文名,让计算机跟你打招呼。 PRINT \INPUT NAME$

PRINT \6.输入两个数,交换它们的值。 INPUT A,B PRINT A,B

累加器 CLS a = 0 a = a + 1 a = a + 2 a = a + 3 a = a + 4 PRINT a 7

LET C=A LET A=B LET B=C PRINT A,B END

7.输入一个数,输出它的绝对值。 8.输入一个数,输出它的算术平方根。 9.输入一个角度,输出它的正弦值。 10.输入一个角度,输出它的正切值。

11.验证公式:sin(α+β)=sin α×cosβ+sinβ×cos α 12.输入被除数和除数,输出它的余数。

13.输入一元二次方程的系数a、b、c,输出它的两个根。 14.输入一个“两位数”,输出它的十位数和个位数。 15.输入一个“四位数”,输出它的千位数、百位数、十位数和个位数。 16.输入被除数和除数,输出商和余数。

17.输入两个数到A、B中,输出A除以B的值。(保留两位小数)

18.输入一个三位的自然数,然后把这个数的百位与个位对调,输出对调后的结果。 19. 编写程序把一个四位整数3581颠倒成1853。 分支结构程序设计 一、格式

1、IF 条件 THEN 语句组 END IF

功能:如果条件成立(为真),执行THEN后面的语句组,否则执行下一句。 2、IF 条件 THEN 语句组1 ELSE

语句组2 END IF

功能:如果条件成立(为真),执行THEN后面的语句组1,否则执行ELSE后面的语句组2。 例1:输入一个数,如果这个不等于零,那么输出它的倒数,否则不显示。 INPUT X IF X<>0 THEN

Y N N 条件成立? 条件成立? Y=1/X

PRINT Y

Y END IF

语句组1 END

图3-1

例2:输入两个数,将大的那个数输出 INPUT A,B IF A>B THEN MAX=A

语句组1 语句组2 图3-2

8

ELSE

MAX=B ENDIF

PRINT “MAX=“;MAX END

例3:比较三个数的大小,找出最大值 CLS

INPUT A,B,C IF A>B THEN MAX=A ELSE

MAX=B ENDIF

IF C>MAX THEN MAX=C ENDIF

PRINT “MAX=“;MAX END 练习:

1、输入一个数,如果是非负数,则输出它的算术平方根。 INPUT X

IF X>=0 THEN Y=SQR(X) ENDIF PRINT Y END

2、计算房租费。房租收费标准是:住房面积在70平方米以下的,单价为1.15元/平方米;超过70平方米的,其超过部分单价2.1元/ 平方米。 INPUT X

IF x<=70 THEN LET Y = 1.15*X ELSE

LET Y=1.15*70+2.1*(X-70) END IF

PRINT X , Y END

3、 完善下列程序,使其判断从键盘输入的一个正整数的奇偶性。 INUPT A

IF A/2 INT(A/2) THEN PRINT \这是个奇数\ELSE

PRINT \这是个偶数\END IF

4、完善程序,凡购买10瓶以上矿泉水(包括10瓶),每瓶0.8元;否则,每瓶1

9

元。

INPUT \瓶数=\IF X>=10 THEN

LET Y= ELSE

LET Y=X*1 END IF

PRINT \收款=\END

5、完善程序,每位顾客一次性购货超过100元,给九折优惠;否则,给九五折优惠。 INPUT X

IF X<=__________ THEN LET Y=X*0.95 ELSE

LET Y=X*0.9 END IF

PRINT \收款=\END

6、输入一个数x,求它的绝对值

INPUT X

IF X>=0 THEN Y=X ELSE ________ PRINT Y END

7、 2x (x>=0)

已知y= ,求y的值。 X/3 (x<0)

INPUT X

IF X>=0 THEN Y=2*X ELSE

_____________ END IF PRINT Y END

输入三个数a、b、c,首先判断这三个数能否构成三角形,若能,则求出三角形的面积。 (提示:海伦公式S?d(d?a)(d?b)(d?c),其中d?a?b?c,a、b、c为边长) 2(★,If条件语句,测试数据a=5,b=6,c=7;答案:14.7)

从键盘读入三个数,按从大到小的顺序把它们打印出来。(★,If条件语句)

10

输入三角形的三边,判断它是否是直角三角形。

(★,If条件语句,测试数据①3、4、5;②4、5、6;答案①Yes;②No)

编写一个根据用户键入的两个操作数和一个运算符,由计算机输出运算结果的程序。(★★★) 输入一个年号,判断它是否为闰年。

(★,If条件语句,测试数据①1900;②2000;③2008;答案:①No;②Yes;③Yes) 输入a、b、c三个数,打印出最大者(★,If条件语句)

输入三个数,判断以这三个数为边能否组成一个三角形。若不能,则给出适当信息;若能,则进一步判断它们构的是锐角三角形、直角三角形还是钝角三角形,并输出其特征(等边、等腰、直角、一般)、求其面积。

(★★,If条件语句)

(算法分析:对于判断是锐角、直角、还是钝角三角形,只需判断最大边的平方与其余两边的平方和的大小比较即可,小于则为锐角、等于则为直角、大于则为钝角。) (测试数据:①1、2、3;②3、4、5;③)4、4、7;④5、5、5;答案:①No;②直角、面积6.00;③钝角、等腰、面积6.78;④锐角、等边、面积10.83)

11

循环结构的程序 一、格式

FOR 循环变量=初值 TO 终值 STEP 步长 循环体 NEXT 循环变量

例1、使其能求出1+2+3+……+100之和。 LET S=0

FOR I=1 TO 100 STEP 1 LET S=S+I NEXT I PRINT S END

注:S=S+I相当于累加器 例2、写出下列程序运行结果。 LET S=0

FOR X=1 TO 16 STEP 3

LET S=S+1 // S=S+1可用作计数器 NEXT X PRINT S END 运行结果: 6

例3、完善下列程序 求1*2*3*……*100的积 LET S=1

FOR I=1 TO 100 STEP ( 1 ) LET S= ( S*I ) NEXT I PRINT S END 练习:

赋初值给循环变量 记下终值和步长 循环变量超过 终值? N 循环体 循环变量增加一个步长 Y 图4-1

1、求10+8+6+……+2完善下面的程序 LET S=0

FOR I=10 TO 2 STEP _____ LET S= NEXT I PRINT S

2、编程计算P=1×2×3×4×┅┅×19的积 LET P=1

FOR I=1 TO 19 STEP LET S= NEXT I

12

PRINT S END

3、求1+5+9+……+37的和,完善下面的程序 LET S=______

FOR I=1 TO 37 STEP LET S= S+I NEXT I PRINT S END

4、完善下列程序,使其能求出100以内(包括100)的偶数之和。 LET T=______

FOR I=2 TO 100 STEP ____ LET T= T+I NEXT I PRINT T END

5、求和:

1+1/2+1/3+1/4+……….+1/100 S=0

FOR I=1 TO 100 ______________ NEXT I

PRINT “S=”;_____ END

打印如下图形

① ② ③ ④ ⑤ ⑥

**** * * **** * ******* **** ** ** **** *** ***** **** *** *** **** ***** *** **** **** **** **** ******* *

1、 编程计算S=1+2+3+…+100。(★,循环语句, 答案:5050)

相关练习:(1)S?1?

11??23(3)S?2?4?6?1; 100?100; ?(2)S?12?22??1002;

?100;

(4)S?1?4?7?10?(相关练习答案:(1)5.19(保留2为小数);(2)338350;(3)2550;(4)1717) 2、 求两个整数a与b的最大公约数和最小公倍数。

(★,循环语句、If条件语句,测试数据16和24,最大公约数8,最小公倍数48) 3、 设我国目前的人口为11亿,且每年的增长率为1.5%。问多少年后,我国的人口会翻一番?(★) (答案:47)

2?4、 根据公式

6?1?11??2232?1,计算圆周率的π值。 n2(★★,循环语句,测试数据n=10000;答案:3.1414971639)

13

5、 计算n!。(n!=1×2×3×…×n,取n=10)

(★★,循环语句,10!=3628800)

6、 已知一对兔子,每个月可以生一对小兔,而小兔过一个月后也可生一对小兔。即兔

子的对数是:第一个月1对,第二个月2对,第三个月3对,第四个月5对,……,假设兔子的生育期是12个月,并且不死,问一年后,这对兔子有多少对活着的后代?(Fibonacci数列问题)

(★★,循环语句, 1、2、3、5、8、13、21、34、55、89、144、233;答案233) 7、 求100~999中的水仙花数。(若三位数ABC,ABC=A+B+C,则称ABC为水仙花

333

数。例如153,1+5+3=153,则153是水仙花数。)

(★★,循环语句)

3

3

3

(答案:153、370、371、407)

8、 Fibonacci数列问题:数列的头两个数分别是0和1,从第三个数开始,每个数皆

为它的前两个数之和,即:0,1,1,2,3,5,…,输出该数列的第50个数。 (★★,循环语句)(答案:7778742049)

9、 编写程序求出下式中n的最大值:22+42+62+…+n2<1500。 (★★,

循环语句)(答案:18) 10、利用格利高公式求π。

?4?1?

111???357,直到最后一项的值小于10为止。

-6

(★★★,循环语句) 利用公式

(答案:3.1415946569E+00)

,求π。

?8?111???1?35?79?11(计算前10000项时,答案为3.1415426536)

14

本文来源:https://www.bwwdw.com/article/bb8d.html

Top