第1题
对下面的Pascal程序: PROGRAM ex710; VAR k:Real; FUNCTION f(n:Integer):Real; BEGIN IF n=0 THEN f:=1 ELSE f:=n*f(n-1) END; BEGIN k:=f(10); Write(k) END. 试指出:当递归调用函数f(n)时,在第二次进入f之后,栈式存储分配活动记录的内容是什么?
第2题
测量标杆用于测量海浪高度(单位:m),海浪高度是随时间变化的函数。对高度的采样信号的采样频率为每秒5个样本。采样得到的样本组成了下面的离散时间信号
si(nT)=cos[2π(0.2)nT+1.1]+0.5cos[2π(0.3)nT+1.5]
以上信号被传送至中央波浪检测站。由于噪声的影响,接收到的信号x(nT)为传送信号与噪声的和,噪声可用下面的MATLAB函数表示:
function no=drn(n)
N=size(n,2);rand('seed',0);
no(1)=rand-0.5;
for i=2:N;
no(i)=0.2*no(i-1)+(rand-0.5);
end;
利用一个低通滤波器对x(nT)进行处理以去除噪声。该滤波器的单位脉冲响应为
h(nT)={0.2*(0.8)n-0.14*(0.9)ncos(0.4n)+0.2(0.9)nsin(0.4n)}u(nT)]
试画出0≤t≤6s内高度采样信号si(nT),滤波器的输入信号x(nT),滤波器的单位脉冲响应h(nT)以及滤波器的输出信号y(nT)。
第3题
下列程序的功能是:将字符串“abcde”逆序打印出来。请填写空白处以完善程序。 Function rev(str1) As String B=Mid(______,1, 1) If B= "" Then rev="" Else rev=rev(Mid(str1, 2)) +______ End If End Function Private Sub Form_Click() ld ="abcde" Print rev(old) End Sub
第4题
下列过程的功能是用来计算并输出S=1+1/2+1/3+……+1/100的值,请完善程序。 Function SumF(n As Integer)As Single s = 0 For i=1 To n s=【 】 Next i SumF=s End Function Private Sub Form_Click() Sum1=SumF(100) Print Print"sum1="; sum1 End Sub
第5题
Private Sub Command1_Click() Dim x As Long, y As Long,i As Long x=Val(Text1.Text) y=Val(TextText) TextText = Str(【 】) End Sub Function fun1(a As Long,b As Long)As Long Dim r As Long Dim t As Long If【 】Then t = a a = b b = t End If r = a Mod b Do While r <> 0 a = b b = r r = a Mod b Loop 【 】 End Function
第6题
第7题
第8题
在窗体上添加一个命令按钮Command1,一个文本框Text1,编写如下程序:
Function result(ByVal x As Integer)As Boolean
If x Mod 2=0 Then
result=True
ElSe
result=False
End If
End Function
Private Sub Command1_Click()
x=Val(InputBox("请输入一个整数"))
If______Then
Textl=Str(x)&"是偶数."
ElSe
Text1=Str(x)&"是奇数."
End If
End Sub
程序运行后单击命令按钮,在输入对话框中输入19,则在Text1中显示“19是奇数”。那么程序的空白处应填写( )。
A.result(x)="偶数" B.result(x)="奇数"
C.result(x)D.NOT result(x)
第9题
第10题
以下程序的功能是:求x的y次方。根据题意,请完善下列程序。 Private Function funl(x As Double, y As Integer)As Double Dim i As Integer Dim z As Double z=【 】 For i=1 To y z=z*x Next i 【 】 End Function Private Sub Command1_Click() Dim m As Double Dim n As Integer Dim t As Double m=InputBox("输入x数:") n=InputBox("输入次方数:") t=funl(m, n) Print Str(m)+"^"+Str(n)+"=";【 】 End Sub
第11题
在窗体上画一个命令按钮,其名称为Command1,然后编写如下程序: Function M(x As Integer, y As Integer) M=IIf(x>y, x, y) End Function Private Sub Command1_Click() Dim a As Integer, b As Integer a=100 b=200 Print M(a, B) End Sub 程序运行后,单击命令按钮,输出结果为【 】。