📜  CBSE 11 级 C++ |样本纸-1

📅  最后修改于: 2022-05-13 01:55:15.175000             🧑  作者: Mango

CBSE 11 级 C++ |样本纸-1

指示:

{1}所有问题均为必答题。
{2}编程语言:c++

Q.1 [A] 解释计算机的功能组件? 2
有一些基本组件可以帮助计算机的工作周期,这些组件被称为计算机的功能组件。他们是:
1) 输入系统
2) 记忆组织
3) 输出系统
参考:计算机的功能组件

[B] 应用软件和系统软件的写法不同。 2

系统软件:
1) 这些是直接允许用户与计算机系统的硬件组件交互的软件。
2)系统软件处理了运行硬件的主要部分,可以称为计算机系统的主要软件。
3) 本系统软件可进一步分为:
操作系统
语言处理器

应用软件:
1) 这些是用于运行以完成特定动作和任务的基本软件。
2)这些是专用软件,专用于执行简单和单一的任务。
3) 分为两种:
通用应用软件
专用应用软件

参考:软件概念

[C]定义混合计算机? 1
混合计算机使用模拟和数字技术来提供模拟计算机的速度和数字计算机的准确性。这些计算机接受数字或模拟信号,但必须完成从数字到模拟和模拟到数字的广泛数据转换。混合计算机被用作复杂模拟的一种经济有效的手段。

[D]操作系统在管理内存方面起到什么函数。 1
在计算机中,CPU 和 I/O 设备都与内存交互。当一个程序需要执行时,它会被加载到主存中,直到执行完成。操作系统使用的常见内存管理技术有:
分区:将总内存分成大小相同或大小不同的各个分区。这有助于容纳内存中的程序数量。
虚拟内存:这是操作系统使用的一种技术,用户可以通过该技术加载大于计算机主内存的程序。

Q.2[A]写逻辑错误和语法错误的区别2
逻辑错误:这些类型的错误提供不正确的输出但似乎没有错误,称为逻辑错误。这些错误完全取决于程序员的逻辑思维
语法错误:当您违反编写 C/C++ 语法的规则时发生的错误称为语法错误。此编译器错误表明在编译代码之前必须修复某些内容。
逻辑错误和语法错误。

[B]程序的健壮性是什么意思。 2
鲁棒性是计算机程序在执行过程中处理错误和处理错误输入的能力。因此,为了稳健,程序应该能够处理错误输入的数据,并在所有类型的输入上正确执行。

[C]什么是保护代码。 1
计算机编程语言中的保护代码是对完整性前提条件的检查,用于避免执行期间的错误。

[D]将算法翻译成程序的过程叫什么? 1
用特定语言进行编码的过程称为将算法翻译成程序。

[E] 好的节目有什么特点? 2
应开发程序以确保计算机的正常功能,并且还应易于理解。计算机程序应该具有一些重要的特征,如下所示:
灵活性:程序应该足够灵活,可以处理大部分更改,而无需重写整个程序。
用户友好:所有类型的用户都可以轻松理解的程序。此外,用户输入数据和显示结果的正确消息,除了使程序易于理解和修改之外。
可移植性:可移植性是指应用程序在不同平台(操作系统)上运行的能力,无论是否有最小的更改。
可靠性:即使计算机系统发生很小的变化,程序也能准确地完成其预期函数的能力。
自文档代码:使用适当名称作为标识符(变量和方法)的源代码称为自文档代码。

[F] 列出两种类型的编译错误? 2

1)语法错误:这些编译器错误表明在编译代码之前必须修复某些内容。所有这些错误都被编译器检测到,因此被称为编译时错误。
最常见的语法错误是:
缺少括号 (})
打印变量的值而不声明它
缺少分号等
2)逻辑错误:在编译和执行程序时,当给定某些输入值时,无法获得所需的输出。
3)运行时错误:编译成功后在程序执行(运行时)过程中发生的错误称为运行时错误。最常见的运行时错误之一是除以零,也称为除法错误。

Q.3[A]命名以下所属的头文件:2
1. getch() : conio.h
2. isdigit() : ctype.h
3. sqrt() : 数学.h
4. atoi() : 标准库.h

[B]为以下代码编写输出:2

int val, n = 1000;
cin >> val;
res = n + val > 1500 ? 100 : 200;
cout << res;

i) 如果输入是 1000. : 100
ii) 如果输入是 200. : 200

[C] 写出等价的c++表达式2
(1) p=2(l+b)
表达式:p=2*(l+b);

(2) z=2(p/q) 2
表达式:z=2*pow((p/q), 2)) 或 2*p/q*p/q

(3) s=1/2mv 2
表达式:1/2*m*v*v;或 s=1/2*m*pow(v, 2);

(4) x=-b+?(b 2 -4ac) /2a
表达式:x=-b+sqrt(b*b-4*a*c)/2*a;或 x=-b+sqrt(pow(b, 2)-4*a*c)/2*a;

[D] 写出关键字和标识符之间的区别。 2

关键词:
1) 关键字是编程语言中的预定义或保留字
2) 每个关键字都旨在执行程序中的特定函数。由于关键字是编译器的引用名称,因此它们不能用作变量名称。
3) C 语言支持 32 个关键字,而在 C++ 中除了 C 关键字之外还有 31 个附加关键字。
身份标识:
1) 标识符用作变量、函数和数组命名的通用术语。
2) 这些是用户定义的名称,由任意长的字母和数字序列组成,字母或下划线 (_) 作为第一个字符。标识符名称的拼写和大小写必须与任何关键字不同。
3) 命名 c 标识符时应遵循某些规则:
它们必须以字母或下划线 (_) 开头。
它们必须仅由字母、数字或下划线组成。不允许使用其他特殊字符。
它不应该是关键字。
它不能包含空格。
它最多应该有 31 个字符,只要前 31 个字符有意义。

Q.4[A] 画一个流程图,打印三个给定编号中最小的一个。 2

[B] 删除语法错误后重写以下程序。 2

#include 
Void main()
{
    const MAX = 0; // Error
    int a, b;
    cin << a >> b; // Error
    if (a > b)
        MAX = a;
    for (x = 0; x < MAX; x++) // x undeclared error.
        cout << x;
}
void main()
{
    const int MAX = 0;
    int a, b;
    cin >> a >> b;
    if (a > b)
        MAX = a;
    for (int x = 0; x < MAX; x++) // x is an undefined symbol
        cout << x;

[C] 用c++编写程序打印斐波那契数列:0, 1, 1, 2, 3, 5, 8.. 3

#include 
using std::cout;
void fib(int n)
{
    int a = 0, b = 1, c;
    if (n >= 0)
        cout << a << " ";
    if (n >= 1)
        cout << b << " ";
    for (int i = 2; i <= n; i++) {
        c = a + b;
        cout << c << " ";
        a = b;
        b = c;
    }
}
  
// Driver code
int main()
{
    int n;
    cout << "Enter the value of n";
    cin >> n;
    fib(n);
    return 0;
}

[D] 用 C++ 编写一个程序来找出给定数的阶乘。 3

#include 
using namespace std;
  
int fact(int n)
{
    if (n == 1 || n == 0)
        return 1;
    return n * fact(n - 1);
}
  
int main()
{
    int n;
    cout << "Enter the number";
    cin >> n;
    cout << "factorial of n is" << fact(n);
    return 0;
}

Q.5[A] 用 C++ 编写一个程序,用连字符替换字符串中的每个空格。 2

#include 
#include 
using namespace std;
  
void replace(char* str, int len)
{
    for (int i = 0; i < len; i++) {
        if (str[i] == ' ')
            str[i] = '_';
    }
    cout << str;
}
  
int main()
{
    char str[] = "geeks for geeks";
    int len = strlen(str);
    replace(str, len);
    return 0;
}

[B] 找出总数。以下数组的元素和总大小:2
(i) int student[20] (ii) 浮点 A[4][5]

i) 总数。元素数 = 20
总大小 = 20*2 = 40 字节
ii) 总数元素数 =4*5=20
总大小 =4*4*5= 80 字节

[C] 删除语法错误后重写以下程序 2

#include 
main()
{
    int sum[2, 4];
    for (i = 0; i < 2; i++)
        for (j = 0; j <= 3; i++) {
            cout << sum;
        }

[D] 找出以下程序的输出:4

#include 
main()
{
    int a[5] = { 5, 10, 15, 20, 25 };
    int i, j, k = 1, m;
    i = ++a[1];
    j = a[2]++;
 m= a[i++
};
cout << i << j << k << m;
}

[E] 用 C++ 编写一个程序来求矩阵的行和列之和。 3

#include 
using namespace std;
#define MAX 10
  
int sum(int a[][MAX], int n)
{
    int i, j;
    int sum = 0;
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            if (i == 0 || j == 0 || i == (n - 1) || j == (n - 1))
                sum = sum + a[i][j];
        }
    }
    cout << sum;
    return 0;
}
  
int main()
{
    int a[10][10];
    int n, i, j;
    cout << "enter the dimension of matrix";
    cin >> n;
    cout << "enter the elements";
    for (i = 0; i < n; i++)
        for (j = 0; j < n; j++)
            cin >> a[i][j];
    sum(a, n);
    return 0;
}
[F] 为以下内容给出正确的数组声明:- 2
(i) 声明一个可以容纳 30 个值的整数数组 A。
(ii) 声明一个二维数组,称为 MIN,4*5 的整数。
(i) 诠释 A[30];
(ii)int MIN[4][5];

Q.6[A] 使用函数的三个步骤是什么。 3
正确使用函数的三个步骤是:
i)函数声明:声明函数原型,以便编译器知道函数的参数和返回类型
ii)函数定义:功能的整个主体和函数函数内设计和编写。
iii)函数调用:最后在定义和声明函数之后,在驱动程序/主函数内部调用它以执行所需的功能。

[B] 找到以下程序的输出:2

#include 
void Execute(int& x, int y = 200)
{
    int temp = x + y;
    x + = temp;
    if (y != 200)
        cout << temp << x << y;
}
main()
{
    int a = 50, b = 20;
    Execute(a, b);
    cout << a << b;
}

输出:

(一) a= 120
(ii)b=20

[C] 用 C++ 编写一个函数,具有 2 个整数类型的参数 x 和 n,结果类型为浮点数,以找到以下系列的总和:-
1 + x/2! + x 2 /3! +……………………..+x n /(n+1)! 3

#include 
#include 
  
int fact(int z)
{
    if (z == 1)
        return 1;
    return x * fact(x - 1);
}
  
double sum(int x, int n)
{
    double i, total = 1.0;
    for (i = 1; i <= n; i++)
        total = total + (pow(x, i) / fact(i + 1));
    return total;
}
  
// Driver code
int main()
{
    int x;
    int n;
    cout << "" enter x and n ";
                               cin
                               >> x >> n printf("%.2f", sum(x, n));
    return 0;
}

[D] 编写程序,用函数计算n个自然数之和。
3

#include 
using namespace std;
int sum(int n)
{
    int i, sum;
    sum = 0;
    for (i = 1; i <= n; i++) {
        sum = sum + i;
    }
    cout <<”sum of natural numbers is”<< sum;
}
  
int main()
{
    int n;
    cout << "enter the range of sum";
    cin >> n;
    sum(n);
    return 0;
}

Q.7[A] 将下面的代码转换成它的等价二进制代码。 4
(i) (84) 10 = (?) 2
= (1010100) 2
(ii) (2C9) 16 = (?) 10
= (2C9) 16 = (001011001001) 2 = (713) 10
(iii) (101010) 2 = (?) 10
= (42) 10
(iv) (3674) 8 =(?) 2
= (11110111100) 2

参考:数字系统和基本转换

[B] 以 1 的补码形式表示 -4。 1

[C] 总线的函数是什么。 1
总线是一组承载信息的导线,所有外围设备都通过总线连接到微处理器。

[D] 写两种类型的高速缓冲存储器。 2
两种类型的高速缓存是 L1 和 L2 Cache。

[D] SRAM和DRAM的写区别。 2
SRAM 的访问时间较短。所以它比DRAM快。
SRAM更贵。
DRAM 具有更长的访问时间。所以它比DRAM慢。
DRAM更便宜。

参考:SRAM和DRAM