当前位置:
文档之家› 人教A版高中数学必修3第一章算法初步1.2基本算法语句导学案
人教A版高中数学必修3第一章算法初步1.2基本算法语句导学案
end end 点评:对于求不定方程的整数解的问题,利用循环语句和条件语句可以找出所有的解。 例 4:已知 n 个数排成一行如下:
a1 , a 2 , a 3 , , a n 1 , a n 其中下脚码表示 n 个数的排列位置。这一行数满足条件:
a1 a2 1 a n 2 2an an 1
编写求这行数的第 n 项的程序 。
2、程序: a=input("a=") b=input("b=") m=a;a=b;b=m; print(%io(2),a,b)
答案 A组
B组
1. 2. 2 条件语句 A组
.
精品文档
一、选择题:
1、下列关于 if 语句的叙述正确的是()
( A)if 语句中必须有 else 和 end;
(B) if 语句中可以没有 end; (C) if 语句中可以没有 else ,但必须以 end 结束;
一、 1 C 2 D 3 D
二、 4 字符 5 A=6
三、 6 程序: x=input("x=")
y=x^2+2*x-3
7 程序: a=input( “a=”)
b=input(
“b=”)
c=sqrt(a^2+b^2)
s=(a*b)/2
1、程序: r=input("r=") h=input("h=") V=1/3*3.14*r^2*h
end 结束循环体。
例 3:求 100 以内的勾股数。 精析:本题实际上是求不定方程
x2 y 2 z 2 的整数解问题, x 、y、z 的取值范围都是 1 到
100 的整数,可以利用三重循环结构和条件分支结构。
精品文档
解: for x=1:100 for y=1:100 for z=1:100 a=x^2;b=y^2;c=z^2; if a+b<>c else print(%io(2),x,y,z) end end
b=input("b=") ;
c=input("c=") ;
MAX=a;
If b>MAX
MAX=b;
end
if c>MAX
MAX=c;
end
print(%io(2),MAX)
若根据程序提示输入 a=4 b=2 c=-5 ,则程序运行结果是()
(A) max=a (B) max=b (C) max=c (D) max=4
度的程序语句 .
t 时刻的速
.
精品文档
7、任给三个数,按从大小顺序排序三个数 .
B组 1、某市的出租车标价为 1.20 元 /km,但事实上的收费标准如下:最开始 4km内不管车行驶 路程多少,均收费 10 元(即起步费) ,4km 后到 15km 之间,每公里收费 1.20 元, 15km后每 公里再加收 50%,即每公里 1.80 元。写出付费总数 f 与打车路程 x 之间的函数关系,并编 写出 scilab 程序。
100 为止。要求输出
2、编制 scilab 程序解百钱买百鸡问题: 用 100 元买 100 只鸡,其中公鸡每只 5 元,母鸡每
只 3 元,小鸡 3 只一元, 问能买多少只公鸡?多少只母鸡?多少只小鸡?(提示:
设 x 只公
鸡, y 只母鸡,则买小鸡的只数 z=100-x-y , 100 元最多买公鸡 20 只,买母鸡最多 33 只)
精品文档
.
精析:利用 while 循环语句。 解: n=input("n=")
A=1;B=1;k=2; while k<n
C=2*A+B; A=B;B=C; k=k+1; end C 点评:注意语句的最后有分号,表示不显示该语句的运行结果,没有则显示结果。
【过关评估】
1. 2.1 赋值、输入和输出语句
A组
一、选择题:
(D) if 语句中可以没有 end,但必须有 else.
2、已知一程序如下:
x=input("x=")
if x>=0
y=1
else y=-1
end
若输入 x=5,运行结果是()
(A) x=5 y=1(B) x=5 y=-1 (C) y=1 (D) y=-1 3、已知一程序如下:
a=input("a=") ;
学法指导: 通过模仿、操作、探索,将程序框图转变为程序语言,了解算法语言的基
本构成,理解几种基本算法语句,熟悉算法的三种基本结构。
【范例精析】
例 1:给定 x 的任一个值,求函数 f ( x)
x, x 0
x2
1, x
的值。
0
精析:属于条件分支结构,利用键盘输入语句和条件语句编程。 解: x=input("x=")
(D) 在程序语句中 x=input( “ chinese ” ) 表示把 chinese 赋给 x .
.
一、填空题:
4、 scilab 语言的输入语句“ input ”,不仅可以输入数值,也可以输入
5、程序: a=3; b=4; c=5;
s=(a+b+c)/2;
A=SQRT(s*(s-a)*(s-b)*(s-c))
2、 scilab 程序: c=1 ;
for I=1
:5
c=c*I ;
end
c
运行的结果是()
(A)c=5 (B)c=120 (C)c=1 (D) 显示程序错误
3、 scilab 程序: A=1 ; B=1;
while B<15
A=A+B;B=A+B;
end
C=A+B
.
精品文档
运行的结果是()
(A) C=2 (B)C=3 (C)C=15 (D)C=34
【学习目标】
1.2 基本算法语句
经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输 入语句、输出语句、赋值语句、条件语句、循环语句,体会算法的基本思想。
【知识网络】
输入语句
输出语句
基本算法语句
赋值语句
条件语句
【学路导引】
循环语句
学习重点: 输入语句、输出语句、赋值语句、条件语句、循环语句的用法 学习难点: 用SCILAB 语言来演示实现算法的三种基本结构
一、填空题:
4、在编制 scilab 程序中,条件语句和循环语句的结束必须都是
5、 scilab 语言中的循环语句有两种
循环和
二、解答题:
6、用循环语句编写求 2 n 的程序。
. 循环 .
7、已知 i 、 j 是正整数,求 i j 10 的所有正整数对 i 、 j 的程序 .
精品文档
B组 1、将 1, 3,5,…, 2n-1 ,… 等奇数顺序累加,直到其和等于或大于 累加的和以及累加的项数 .
2、编制 scilab 程序:从键盘上输入三个数, 如果这三个数能构成三角形的三边长,则输出 信息“ neng gou cheng san jiao xing ”,并求三角形的面积,否则输出信息“ bu neng gou cheng san jiao xing ”。
答案
A组
一、 1C 2A 3D
二、 4、 if select-case 5
一、 1C 2C 3D 二、 4 end 5 for while 三、 6 n=input("n=")
s=1; for i=1:n
s=s*2 end s 7 for i=1:9
for j=1:9 s=i+j; if s<10 print(%io(2),i,j) end
.
答案 A组
ห้องสมุดไป่ตู้
end end
B组 1 解: Sum=0,i=1,n=0
if x>0 y=x*x+1
else y=x end 点评:先编制程序框图,再根据框图编写程序。 例 2:求平方不超过 1000 的最大正整数。 精析:利用 while 循环语句 解: j=1; while j*j<1000
j=j+1; end j=j-1 点评:循环语句有 for 循环和 while 循环两种。循环语句的一定要以
1、在赋值语句中, “N=N+1”是()
(A)
没有意义的 (B)N 与 N+1 相等 (C) 将 N 的原值加 1 再赋给 N, N 的值增加 1 (D)
无法运行
2、 Scilab 程序: a=3 ; b=-4 ; c=8; a=b; b=c;c=a;
Print(%io(2) , a, b, c)
运行后结果是()
(A) a=3 b=-4 c=8 (B)a=-4 b=3 c=8 (C)a=-4 b=8 c=3 (D)a=-4 b=8 c=-4
1、 下列命题中错误的是()
( A)在程序语言中“=”是赋值号,与数学中的等号的意义不一样
;
(B) input 是键盘输入语句 ,控制屏幕输入;
(C) 程序语句 print(%(2),a,b) 中的参数% io ( 2)表示在屏幕上输出 ;
end
else
disp("bu neng gou cheng san jiao xing")
end
1. 2. 3 循环语句
A组 一、选择题:
1、 Scilab 程序: j=1 ;
while j*j<100
j=j+1 ;
end
j=j-1
的运行结果是()
(A)j=j-1(B)j=100 (C)j=10 (D)j=9
b=input("b=")