国家开放大学试卷数学专业高等代数专题研究试题202207及答案

按逻辑关系符号:与(and)、或(or)、非(not)并根据如下条件检索病历:年龄>60岁(代号I)的胃癌(代号Ⅱ)或肝癌(代号Ⅲ),其检索逻辑关系表达式是( )。

A、I and Ⅱ and Ⅲ

B、I and (Ⅱ or Ⅲ)

C、I or Ⅱ or Ⅲ

D、I or (Ⅱ and Ⅲ)

E、not (I) and (Ⅱ or Ⅲ)


参考答案:B


下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。

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

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

试题程序:

include <conio.h>

include <stdio.h>

define MAXLINE 20

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

fun(char *pstr[6])

{int i, j;

char *p;

for(i=0;i<5;i++)

{for(j=i+l;j<6;j++)

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

{ if(strcmp(*(pstr+i),pstr+j)>0)

{

p=*(pstr+i);

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

* (pstr+i) -pstr+j;

* (pstr+j)=p;

}

}

}

}

main ( )

{ int i;

char *pstr[6],str[6][MAXLINE];

clrscr();

for(i=0;i<6;i++) pstr[i]=str[i];

printf("\nEnter 6 string(1 string at each

line):\n ");

for(i=0;i<6;i++) scanf("%s",pstr[i]);

fun(pstr);

printf("The strings after sorting:\n ");

for(i=0;i<6;i++) printf("%s\n ",pstr[i]);

}


正确答案:(1)错误: fun(char *pstr[6]) 正确: void fun(char *pstr[6]) (2)错误: if(strcmp(*(pstr+i)pstr+j)>0 正确: if(strcmp(*(pstr+i)*(pstr+j))>0 (3)错误: *(pstr+i)=pstr+j; 正确: *(pstr+i)=*(pstr+j);
(1)错误: fun(char *pstr[6]) 正确: void fun(char *pstr[6]) (2)错误: if(strcmp(*(pstr+i),pstr+j)>0 正确: if(strcmp(*(pstr+i),*(pstr+j))>0 (3)错误: *(pstr+i)=pstr+j; 正确: *(pstr+i)=*(pstr+j); 解析:冒泡法对字符串排序的方法是将相邻两个字符比较,将小的调到前面。令x等于字符串的第i位字符,若该字符的前一位字符大于x,则将该字符与x互换位置。从字符山中的第2位字符到字符串的最后一们字符重复以上过秆,即可完成排序。可用循环语句实现。


下列给定程序中,函数fun()的功能是求出数组中最小数和次最小数,并把最小数和a[0]中的数对调,次最小数和a[1]中的数对调。

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

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

试题程序:

include <conio.h>

include <stdio.h>

define N 20

void fun(int *a,int n)

{

int i, m,t,k;

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

for(i=O; i<n; i++)

{

m==i;

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

if(a[k]<a[m])

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

k=m;

t=a[i];

a[i]=a[m];

a[m]=t;

}

}

main()

{

int x,b[N]={11,5,12,0,3,6,9,7,10,8},

n=10,i;

clrscr();

for(i=0; i<n; i++)

printf("%d",b[i]);

printf("\n");

fun(b,n);

for(i=0; i<n; i++)

printf("%d",b[i]);

printf("\n");

}


正确答案:(1) 错误: for(i=0;in;i++) 正确:for(i=0;i2;i++) (2) 错误:k=m; 正确:m=k;
(1) 错误: for(i=0;in;i++) 正确:for(i=0;i2;i++) (2) 错误:k=m; 正确:m=k; 解析:错误1:由于题目要求将最小数和次最小数分别与a[0]和a[1]中的数对调,因此这层循环只需循环两次。错误2:赋值语句的执行方向是从右向左,即把右边的值赋给左边的变量。


下列语句中不是死循环的是

A.int i=10; while(1) { i-- ; if (i= =1)break; }

B.for(int i=l ;i<10;i++) { i -- ; }

C.int i=0; do{ i++; }while(i >= 0);

D.int i=l ; for (;;)i = i+1;


正确答案:A
解析:选项A)中i自减到1时就会执行break语句跳出循环,选项B)中i10永远成立不会跳出循环,选项C)中第一次进入循环体后i>0永远不会跳出循环,选项D)中未给出结束循环的条件。


ITU-T的I系列建议共分6个部分,()是关于ISDN的用户一网络接口.

A.I.100系列

B.I.400系列

C.I.600系列


本题答案:B


试卷代号:1079 座位号rn中央广播电视大学2012-2013学年度第一学期开敖本科期末考试半开卷)高等代数专题研究试题2013年1月 |题号I -!二!五!归!总分!分数|得分!评卷入|i i i 一、单项选择黯本题共叶,梅小题4分 L关于一结多项式,下列i锚法正确的是( ). A.可的一定有根B.不可约一定无根 C.有根一定可约 D.元辍未必不可约 2.设叭,只都是线性空间V的真子空间,则F;集合不一定是V的子空间的有( A.U B.n C. V1十V2 D.V1n0 3.招复数域C着成实数域R上的线性空间,它的维数是( ). A. O B.1 C.2 D.无法确定 4.设A.B是正定实对称虫在阵,则( ). A.AB.A十B一定都是正定实对称矩阵 B.AB是正定实对称矩碎.A十B不是正定实对称短阵 C.A十B是正定实对称短阵.AB习之一定是iE定实对称短阵 D.AB必不是iE定实对称短阵.A十B必是正定实对称短阵 5.设A是欧氏空间V关于荔酌,的,曲的度璧矩阵,1哟,均是标准正交萃的充分必要条件是( ). 人A是正变主在阵 B.A是单位矩阵 C.A是对称阵 D.A是矩得 443 二、填空踵本黯共 20分,每小黯4分尸i旦l6.实数壤上的不可约多项式的次数是一一一一段的. 7.由蠢组1=(1,2.出 a2 = ( 1.0 .0) .的口口.1.0)线性一一一-8.多璃式f(:C) =X4 -2x3十2X21的有理很为一一一 9.第工类正交矩阵的行列式的最等于一一J 10.设 是欧民空间V的对称变换,因 在的挥礁正交基下的矩阵! !得分!评替人| 三、计算黯本题共45分,每小题15分 11.设 f(x) =x十3x3 - X2-4x-3 ,g(x) = 3x3十10 x2十2x-3.求(f(x) .g(x). 12.己知l = (1, 1,1,口.z=口.0.1.D.3=C1.3.0.一的,求W古L(品,舟.a)的基与雄数. 13.用正交钱性替换化实二改型2xi -2XIXZ -2XIX3十2x -2X2X3十2xi为标准丑5.胃、证明建本题 15分 14.设S为n维欧氏空间V的非平凡子空间,/V.a=al十a2 (1 ES.的ES1-),给定伊(a)=al证明z伊是线性变换. 444 试卷代号:1079中央广播电视大学2012-2013学年度第一学期u开政本斜期末考试半开卷高等代数专题研究试题答案及评分标准供参考2013年1月 一、单项选择题本题共20分,每小题4分 l. D 2.A 3. C 4.C 5. B 二、填空黯本题共 20分,每小题4分 6.1或2 7.无关 8.1 10.对称短阵三、计算题本题共 45分,每小题 15分 11.解z用辗转精黠法 q2 (x) = 27-5 x十9 g(x) f(x) ql (x)= 1 1 X一一3 9 3x3个10 x2十2x-3 x4十3x3 -x 2 -4x-3 3x3十15二r2十18x x4十号x3个仨z -5x2 -16x-3 一5x2-25立一30 -tzz一手z-fx十 r2 (x) =9x十27 二丐工宇平1川捏一杂-3 10 10 -叫一 9x叩-一一 445 5 25 10 l(X)=一: X Z一 7X一一 6分9 9 . 3 rz (X) =工9x十27, . .10分 因此 (al +l十z十z) =al十l=铲(十冉 .9分q(是)=吨位al十 kaz) =kal 口均 (a) 故伊为钱性变换. 15分 447


下列给定程序中函数fun()的功能是:将长整型数中每一位上为偶数的数依次逆向取出,构成一个新数放在t中。高位在低位,低位在高位。例如当s中的数为25846513时,t中的数为6482。 请改正函数fun()中的错误,使它能得出正确的结果。

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

试题程序:

include <stdio.h>

include <conio.h>

void fun(long S,long *t)

{

int d;

long sl=l,i=1;

*t=0;

while(s/i>0)

i=i*10;

i=i/10;

while(s>0)

{

d=s/i

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

if(d%2!=0)

{

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

t=d*sl+t;

sl*=l0;

}

S=S%i;

i=i/10;

}

}

main()

{

long S,t;

clrscr();

printf("\nPlease enter S:");

scanf("%ld",&s);

fun(S,&t);

printf("The result is:%ld\n",t);

}


正确答案:(1)错误:if(d%2!=0) 正确:if(d%2==0) (2) 错误:t=d*s1+t; 正确:*t=d*s1+*t;
(1)错误:if(d%2!=0) 正确:if(d%2==0) (2) 错误:t=d*s1+t; 正确:*t=d*s1+*t; 解析:错误1:偶数是能被2整除,而奇数是不能被2整除,题目要求找出偶数。错误2:t为指针类型,所以进行运算时要加‘*’号。


阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

对20个数进行排序,可以利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依次类推,即用第二个元素与后18个进行比较,并进行交换。

【函数】

define N 20

main()

{

int i,j,min,tem,a[N];

printf("please input twenty num:\n");

for(i=0;i<N;i)

{

printf("a[%d]=",i);

scanf("%d",&a[i]);

}

printf("\n");

for(i=0;i<N;i)

printf(",",a[i]);

printf("\n");

for(i=0;(1);i)

{

min=(2);

for(j=(3);j<N;j++)

if((4))

min=j;

tem=a[i];

(5);

a[min]=tem;

}

printf("After sorted \n");

for(i=0;i<N;i++)

printf(",",a[i]);

}


正确答案:(1)iN-1 (2)i (3)i+1 (4)a[min]>a[j] (5)a[i]=a[min]
(1)iN-1 (2)i (3)i+1 (4)a[min]>a[j] (5)a[i]=a[min] 解析:本题考查C语言中的排序算法。
题目要求对20个数进行排序,并告诉我们利用选择法,即从后19个比较过程中,选择一个最小的与第一个元素交换,依此类推,即用第二个元素与后18个进行比较,并进行交换。它的每次排序的过程都是从元素中选取最小的一个排在当前排序序列的最前面,需要注意的是,程序中用数组的下标来协助完成排序。下面来具体分析程序。
第(1)空是循环的判断条件,而这个循环是一个二重循环的第一重,从程序中不难分析出,这个二重循环的作用是完成排序的过程,且这个排序的元素存放在数组a中,元素的个数为N个,而数组的下标是从0开始的,根据题目的意思,最多到最后一个元素的时候就不需要再排序了,它就是最大的元素。那么循环的上界应该是不大于N-1,因此此空答案为iN-1。
第(2)空是给变量min赋一个值,根据题目要求,这个变量中存放的是当前排序序列中最小的元素的数组下标,而在开始排序之前,这里存放的是当前排序序列的第一个元素,每次参加排序的序列的第一个元素下标就是i,因此此空答案为i。
第(3)空是给第二重循环的循环变量j赋一个初值,这重循环的作用是从当前位置后面的元素中选一个最小的元素排在当前位置的后一个位置,那么循环应该是从当前位置的后一个位置开始,因此此空答案为i+1。
第(4)空是条件判断语句的判断条件,很明显,这个条件判断语句的作用是判断当前数组min中的值(最小元素)与当前位置元素的大小关系,如果小则继续与下一个元素比较,如果大则把数组中当前位置的元素的下标存放到min中,从min=j可以看出,应该是大,因此此空答案为a[min]>a[j]。
第(5)空也在循环中,从程序中不难看出是用来调换序列中元素的位置,上面的程序是将a[i]的值存放到临时变量tem中,a[i]中存放的元素应该是参加排序的序列中最小的元素值,而数组中下标min指明了序列中最小元素在数组中的位置,此空的任务就是将最小的元素放到数组的i位置,因此此空答案为a[i]=a[min]。


执行下列程序后,输出“*”号的个数是______。 include main() { int i,j; for(i=1;i<5;

执行下列程序后,输出“*”号的个数是______。

include<iostream.h>

main()

{

int i,j;

for(i=1;i<5;i++)

for(j=2;j<=i;j++)

cout<<'*';

}


正确答案:6
6 解析:外层for循环“for(i=1;i5;i++)”是由1到4,一共是4次循环。内层循环“for(j=2;j=i;j++)”是j初始等于2,当j小于等于i那么j就加1。所以只有当i等于2时才进入内层循环,当i等于 2时,内层循环进行一次,输出一个“*”,同理i=3时,输出两个“*”, i=4时,输出3个“*”,所以一共是6个。


执行以下程序后,输出“”号的个数是【】。 include main() { int i,j; for(i=1;i<5;i++)

执行以下程序后,输出“”号的个数是【 】。

include<iostream.h>

main()

{

int i,j;

for(i=1;i<5;i++)

for(j=2;j<=i;j++)

cout<'';

}


正确答案:6
6


设变量已正确定义,则以下能正确计算f=n!的程序是( )。

A.f=0: for(i=1;i<=n;i++)f*=i:

B.F=1: for(i=l;i<2n;i++)f*=i:

C.f=l: for(i=n;i>1;i++)f*=i:

D.f=1; for(i=n;i>=2;i--)f*=i:


正确答案:D
由i"11的数字定义可知n!=n*(n-1)*(n-2)*…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以1,2,3,…,n,最后计算得到f=n!一0,所以选项A不正确。在选项B中,f的初值为1,在for循环语句中,f依次乘以1,2,3,…,(n-1),最后计算得到f=(n-1)!,所以选项B不正确。在选项C中,f的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项c不正确。在选项D中,f的初值为l,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。


相关考题:

考题 如何理解“使用i从1000到100步长为-100”,下列说话错误的是?()A、其中i是变量,取值范围是100-1000B、i的值一共会有11个,最后一次i的值是0C、执行这段程序,第一次i=1000,第二次i=900D、此段程序设计用到了顺序结构、循环结构、变量正确答案:B

考题 请简述以下两个 for 循环的优缺点// 第一个 for (i=0; i ing();} // 第二个 if (condition){for (i=0; i for (i=0;i 优点:缺点: 优点:缺点: 正确答案:

考题 试题8以下程序运行后的输出结果是_____。#include stdio.hmain(){ int i, j;for(i=6; i3; i--) j=i;printf(“%d%d\n”,i, j );} 正确答案:试题8分析i=6,j=i=6;i=5,j=i=5;...i=3,不满足条件i3,退出循环,此时j=4。试题8答案 34

考题 下列程序的输出结果是______。 main () { int i, k, ai[0], p[3]; k=5; for (i=0;i<10;i++) a[i]=i; for (i=0;i<3;i++) p[i]=a[i*(i+l)]; for (i=0;i<3;i++) k+=p[i]*2; printf ("%d\n", k); }A.20B.21C.22D.23 正确答案:B

考题 在双代号网络图中工作i-j中i和j的大小关系是()。A、i=jB、ijC、i正确答案:C

考题 I号泵型号4I304-8左1400中的数字“4”和“04”各代表什么含义()A、缸数;调速器B、调速器;喷油泵系类号C、缸数;工厂代号D、调速器;工厂代号正确答案:D

考题 试题13以下程序运行后的输出结果是______.#include stdio.hmain(){ int n[2], i, j;for(i=0; i2;i++) n[i]=0;for(i=0; i2; i++)for(j=0; j2; j++) n[j]=n[i]+1;printf(“%d\n”, n[1]);} 正确答案:试题13分析for(i=0; i2;i++) n[i]=0;使得每个项的值赋为0。i=0,j=0,n[0]=n[0]+1=1;i=0,j=1,n[1]=n[0]+1=2;i=1,j=0,n[0]=n[1]+1=3;i=1,j=1,n[1]=n[1]+1=3;试题13答案 3

考题 单选题残存概率法是针对从t(i-1)到t(i)的这一时区来说的,正确表达这一时区的是()。A[t(i-1),t(i)]B[t(i-1),t(i))C(t (i-1),t(i)]D(t(i-1),t(i))正确答案: B解析: 暂无解析

考题 本题中定义了长度为20的一维整型数组a,并将数组元素的下标值赋给数组元素,最后打印输出数组中下标为奇数的元素。 public class javal{ public static void main(String[]args){ int a[]= ; int i; for( ;i++) a[i]=i; for(i=0;i20;i++){ if( ) System.OUt.print("a[It+i+"]="+a[i]+","); } } } 正确答案:第1处:new int[20]第2处:i=0;i20第3处:i%2 1=0【解析】第1处定义、了长度为20的一维整型数组a;第2处的for循环将数组元素的下标值赋给数组元素;第3处判断数组各个元素下标是否为奇数。

考题 本题定义了一个长度为l0的boolean型数组,并给数组元素赋值,要求如果数组元素下标为奇数,则数组元素值 为false,否则为true。 public class javal{ pubhc static void main(String[]args){ boolean b[]= ; for(int i=0;i10;i++){ if( ) b[i]=false; else ; } for(int i=0;i10;i++) System.Out.print("bE"+i+"]="+b[i]+","); } } 正确答案:第1处:new boolean[10]第2处:i%2 1=0第3处:b[i]=true【解析】第1处定义了一个长度为10的boolean型数组;第2处判断数组元素下标是否为奇数。第3处不为奇数的情况下数组元素值设为true。
最新考题