实验一教案.docx

上传人:b****1 文档编号:1752386 上传时间:2023-05-01 格式:DOCX 页数:22 大小:78.68KB
下载 相关 举报
实验一教案.docx_第1页
第1页 / 共22页
实验一教案.docx_第2页
第2页 / 共22页
实验一教案.docx_第3页
第3页 / 共22页
实验一教案.docx_第4页
第4页 / 共22页
实验一教案.docx_第5页
第5页 / 共22页
实验一教案.docx_第6页
第6页 / 共22页
实验一教案.docx_第7页
第7页 / 共22页
实验一教案.docx_第8页
第8页 / 共22页
实验一教案.docx_第9页
第9页 / 共22页
实验一教案.docx_第10页
第10页 / 共22页
实验一教案.docx_第11页
第11页 / 共22页
实验一教案.docx_第12页
第12页 / 共22页
实验一教案.docx_第13页
第13页 / 共22页
实验一教案.docx_第14页
第14页 / 共22页
实验一教案.docx_第15页
第15页 / 共22页
实验一教案.docx_第16页
第16页 / 共22页
实验一教案.docx_第17页
第17页 / 共22页
实验一教案.docx_第18页
第18页 / 共22页
实验一教案.docx_第19页
第19页 / 共22页
实验一教案.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

实验一教案.docx

《实验一教案.docx》由会员分享,可在线阅读,更多相关《实验一教案.docx(22页珍藏版)》请在冰点文库上搜索。

实验一教案.docx

实验一教案

第一课

教学内容:

介绍国家计算机二级C机试特点、序列处理类算法

教学目的:

熟悉国家计算机二级C机试的特点;掌握序列、公式函数处理类算法的考题

教学内容:

2013年3月开始实行全无纸化考试,题型及分值分布如下:

●选择题(40分,每小题1分)

◆公共基础知识(10分)

◆C语言程序设计(30分)

●程序填空题。

(18分,3处填空)

●程序修改题。

(18分,2~3处改错)

●程序设计题。

(24分,一个自定义函数体)

一、序列、公式函数处理类算法的考题特点

1.考题中的算法多以复杂的数学公式呈现,而且公式中多以分式的计算为主,考生要仔细观察公式中相邻的前后项,归纳出变化规律。

把公式中的每一项提出来其实就是一组规律的序列计算,形如求1~100的累加和。

2.在填空和改错题中容易考到的知识:

(1)函数类型:

一般结合调用语句、返回语句确定。

(2)变量赋初值:

分析表达式第一项以及其他相关变量的初值确定。

特别注意数据类型,如果是给实数赋初值一定要带小数点;或是初值直接就是第一项常量分式,如3/4,一定要写成3.0/4等,将其中一个数写成实数,这样才能得到实数结果,否则只取分子除分母后的整数结果。

(3)循环条件:

序列的处理一般用到循环,注意理解题意,有的是次数,有的是最后一项接近某个给定值。

(4)循环体:

结合多项式的变化规律,一般找到分子、分母的变化规律,计算出要累加的当前项,再累加;有的不需要直接计算当前项,可以利用前一项间接计算;注意数学表达式改写成C语言表达式的方法以及括号的使用;还要注意循环体内必须要有让循环条件趋于假的语句。

(5)返回结果:

一般通过return语句带回。

需要注意有的循环体直接计算出需要的结果,而有的还需要对循环体处理的结果再计算才是需要的结果。

(6)其他:

主要考查语法知识。

如关键字写法、控制结构语法、语句结束标志等。

3.编程题答题注意:

(1)首先定义相关变量:

确定类型、变量名并赋初值,如循环变量、累加器变量、分子变量、分母变量以及其他辅助计算的中间变量等。

(2)设计循环:

确定循环次数的多用for循环,不确定循环次数的多用while或do~while循环。

循环体则是根据序列变化规律把当前项计算出来,再累加,进入下一次循环,若条件为真再计算,再累加……

(3)带回返回值:

returns;或return(s);

三、课堂练习

第一套

1、程序填空题

给定程序中,函数fun的功能是计算如下公式:

例如:

若形参e的值为1e-3,函数的返回值为0.551690。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

给定源程序:

#include

doublefun(doublee)

{inti,k;doubles,t,x;

s=0;k=1;i=2;

/**********found**********/

x=【1】/4;

/**********found**********/

while(x【2】e)

{s=s+k*x;

k=k*(-1);

t=2*i;

/**********found**********/

x=【3】/(t*t);

i++;

}

returns;

}

main()

{doublee=1e-3;

printf("\nTheresultis:

%f\n",fun(e));

}

2、程序改错题

给定程序MODI1.C中函数fun的功能是:

求出以下分数序列的前n项之和。

和值通过函数值返回到main函数。

例如,若n=5,则应输出:

8.391667。

请改正程序中的错误,使它能计算出正确的结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构!

给定源程序:

#include

/************found************/

fun(intn)

{inta,b,c,k;doubles;

s=0.0;a=2;b=1;

for(k=1;k<=n;k++)

/************found************/

{s=s+(Double)a/b;

c=a;a=a+b;b=c;

}

returns;

}

main()

{intn=5;

printf("\nThevalueoffunctionis:

%lf\n",fun(n));

}

3、程序设计题

编写函数fun,其功能是:

根据以下公式计算s,并计算结果作为函数值返回,n通过形参传入。

例如:

若n的值为11时,函数的值为1.83333

请不要改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include

floatfun(intn)

{}

main()

{intn;floats;

voidNONO();

printf("\nPleaseenterN:

");scanf("%d",&n);

s=fun(n);

printf("theresultis:

%f\n",s);

NONO();

}

第二套

1、程序填空题

下列给定程序中,函数fun的功能是:

计算如下公式前n项的和并作为函数值返回。

例如,当形参n的值为10时,函数返回值为9.612558。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:

不得增行或删行,也不得更改程序结构!

#include

doublefun(intn)

{inti;doubles,t;

/**********found**********/

s=【1】;

/**********found**********/

for(i=1;i<=【2】;i++)

{t=2.0*i;

/**********found**********/

s=s+(2.0*i-1)*(2.0*i+1)/【3】;

}

returns;

}

voidmain()

{intn=-1;

while(n<0)

{printf("Pleaseinput(n>0):

");scanf("%d",&n);}

printf("\nTheresultis:

%f\n",fun(n));

}

2、程序改错题

已知一个数列从0项开始的前3项:

0、0、1,以后的各项都是其相邻的前3项之和。

下列给定的程序中,函数fun的功能是:

计算并输出该数列前n项的平方根之和sum。

n的值通过形参传入。

请改正程序中的错误,使它能得出正确的结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

#include

#include

#include

/*************found**************/

fun(intn)

{doublesum,s0,s1,s2,s;intk;

sum=1.0;

if(n<=2)sum=0.0;

s0=0.0;s1=0.0;s2=1.0;

for(k=4;k<=n;k++)

{s=s0+s1+s2;

sum+=sqrt(s);

s0=s1;s1=s2;s2=s;

}

/*************found**************/

returnsum

}

voidmain()

{intn;

system("CLS");

printf("InputN=");

scanf("%d",&n);

printf("%f\n",fun(n));

}

3、程序设计题

请编写函数fun,它的功能是计算下列级数和,和的值由函数值返回。

例如,当n=10,x=0.3时,函数值为1.349859。

注意:

请不要改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include

#include

#include

#include

doublefun(doublex,intn)

{}

voidmain()

{FILE*wf;

system("CLS");

printf("%f",fun(0.3,10));

/******************************/

wf=fopen("out.dat","w");

fprintf(wf,"%f",fun(0.3,10));

fclose(wf);

/*****************************/

}

三、课后练习

1、程序填空题

函数fun的功能是:

计算

的前n项之和。

若x=2.5,n=15时,函数值为:

1.917914。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:

源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

#include

#include

doublefun(doublex,intn)

{doublef,t;inti;

/**********found**********/

f=【1】;

t=-1;

for(i=1;i

{

/**********found**********/

t*=(【2】)*x/i;

/**********found**********/

f+=【3】;

}

returnf;

}

main()

{doublex,y;

x=2.5;

y=fun(x,15);

printf("\nTheresultis:

\n");

printf("x=%-12.6fy=%-12.6f\n",x,y);

}

2、程序填空题

函数fun的功能是计算:

若x=2.5函数值为1.917915。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:

不得增行或删行,也不得更改程序结构!

#include

#include

doublefun(doublex)

{doublef,t;intn;

f=1.0+x;

t=【1】;

n=1;

do{

n++;

t*=(-1.0)*x/【2】;

f+=t;

}

while(【3】>=1e-6);

returnf;

}

main()

{doublex,y;

x=2.5;

y=fun(x);

printf("\nTheresultis:

\n");

printf("x=%-12.6fy=%-12.6f\n",x,y);

}

3、程序填空题

下列给定程序中,函数fun的功能是计算下式

例如,若形参e的值为le-3,函数的返回值为2.985678.

请在下画线填入正确内容并将下画线删除,使程序得出正确结果。

注意:

不得增行或删行,也不得更改程序结构。

#include

doublefun(doublee)

{inti;doubles,x;

/**********found**********/

s=0;i=【1】;

x=1.0;

while(x>e){

/**********found**********/

【2】;

/**********found**********/

x=(2.0*i-1)/((【3】)*(2.0*i));

s=s+x;

}

returns;

}

main()

{doublee=1e-3;

printf("\nTheresultis:

%f\n",fun(e));

}

4、程序填空题

函数fun的功能是:

计算

的前n项。

若x=2.5,函数值为12.182340。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:

不得增行或删行,也不得更改程序结构!

#include

doublefun(doublex,intn)

{doublef,t;inti;

f=1.0;

/**********found**********/

t=【1】;

/**********found**********/

for(i=【2】;i

{

/**********found**********/

t*=x/【3】;

f+=t;

}

returnf;

}

main()

{doublex,y;

x=2.5;

y=fun(x,12);

printf("\nTheresultis:

\n");

printf("x=%-12.6fy=%-12.6f\n",x,y);

}

5、程序填空题

函数fun的功能是:

计算

直到

,若x=2.5,函数值为12.182494。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:

不得增行或删行,也不得更改程序结构!

#include

#include

doublefun(doublex)

{doublef,t;intn;

/**********found**********/

f=1.0+【1】;

t=x;

n=1;

do{

n++;

/**********found**********/

t*=x/【2】;

/**********found**********/

f+=【3】;

}while(fabs(t)>=1e-6);

returnf;

}

main()

{doublex,y;

x=2.5;

y=fun(x);

printf("\nTheresultis:

\n");

printf("x=%-12.6fy=%-12.6f\n",x,y);

}

6、程序改错题

给定程序MODI1.C中函数fun的功能是:

根据整型形参m,计算如下公式的值。

,例如,若m=2000,则应输出:

0.000160。

请改正程序中的语法错误,使它能计算出正确的结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

/************found************/

fun(intm)

{doubley=0,d;inti;

/************found************/

for(i=100,i<=m,i+=100)

{d=(double)i*(double)i;

y+=1.0/d;

}

return(y);

}

main()

{intn=2000;

printf("\nTheresultis%lf\n",fun(n));

}

7、程序改错题

下列给定程序中函数fun的功能是:

根据以下公式求

的值,并作为函数值返回。

例如,当给指定精度的变量esp输入0.00005时,应输出Pi=3.140578。

请改正程序中的错误,使它能得出正确结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序结构!

#include

#include

doublefun(doubleeps)

{doubles,t;intn=1;

s=0.0;

/************found************/

t=0;

while(t>eps)

{s+=t;

t=t*n/(2*n+1);

n++;

}

/************found************/

return(s);

}

main()

{doublex;

printf("\nPleaseenteraprecision:

");scanf("%lf",&x);

printf("\neps=%lf,Pi=%lf\n\n",x,fun(x));

}

8、程序改错题

下列给定程序中函数fun的功能是:

用下面的公式

的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。

例如,程序运行后,输入0.0001,则程序输出3.1414。

请改正程序中的错误,使它能得出正确结果。

注意:

不得增行或删行,也不得更改程序结构!

#include

#include

floatfun(floatnum)

{ints;

floatn,t,pi;

t=1;pi=0;n=1;s=1;

/**************found**************/

while(t>=num)

{pi=pi+t;

n=n+2;

s=-s;

/**************found**************/

t=s%n;

}

pi=pi*4;

returnpi;

}

main()

{floatn1,n2;

printf("Enterafloatnumber:

");

scanf("%f",&n1);

n2=fun(n1);

printf("%6.4f\n",n2);

}

9、程序改错题

下列给定程序中fun函数的功能是:

求表达式s=aa…aa-…-aaa-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)

例如,a=3,n=6则以上表达式为:

s=333333-33333-3333-333-33-3,其值是296298。

a和n是fun函数的形参,表达式的值作为函数值传回main函数。

请改正程序中的错误,使它能得出正确结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序结构!

#include

longfun(inta,intn)

{intj;

/**************found**************/

longs=0,t=1;

for(j=0;j

t=t*10+a;

s=t;

for(j=1;j

/**************found**************/

{t=t%10;

s=s-t;

}

return(s);

}

main()

{inta,n;

printf("\nPleaseenteraandn:

");

scanf("%d%d",&a,&n);

printf("Thevalueoffunctionis:

%ld\n",fun(a,n));

}

10、程序改错题

下列给定程序中函数fun的功能是:

计算并输出下列级数的请N项和

直到

的值大于q为止,q的值通过形参传入。

例如,若q的值为50.0,则函数值应为49.394948。

请改正程序中的错误,使它能得出正确结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序结构!

#include

#include

doublefun(doubleq)

{intn;doubles,t;

n=2;

s=2.0;

while(s<=q)

{t=s;

/************found************/

s=s+(n+1)/n;

n++;

}

printf("n=%d\n",n);

/************found************/

returns;

}

main()

{printf("%f\n",fun(50));}

11、程序设计题

编写函数fun,其功能是:

根据以下公式求

的值(要求精度0.0005,即某项小于0.0005时停止迭代)。

程序运行后,若输入精度0.0005,则程序应输出3.14…。

注意:

请不要改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include

#include

doublefun(doubleeps)

{}

main()

{doublex;voidNONO();

printf("Inputeps:

");

scanf("%lf",&x);printf("\neps=%lf,PI=%lf\n",x,fun(x));

NONO();

}

12、程序设计题

编写函数fun,其功能是:

求Fibonacci数列中大于t的最小的数,结果由函数返回。

Fibonacci数列F(n)的定义为:

F(0)=0,F

(1)=1

F(n)=F(n-1)+F(n-2)

例如,当t=1000,函数值为1597。

注意:

请不要改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

#include

#include

intfun(intt)

{}

main()/*主函数*/

{intn;

n=1000;

prin

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2