首页 > 编程语言 >信息学奥赛初赛天天练-82-NOIP2014普及组-完善程序-机器语言、汇编语言、高级语言、计算机存储、二进制加法、IP地址、整数除法

信息学奥赛初赛天天练-82-NOIP2014普及组-完善程序-机器语言、汇编语言、高级语言、计算机存储、二进制加法、IP地址、整数除法

时间:2024-09-02 17:25:12浏览次数:8  
标签:10 NOIP2014 计算机 汇编语言 高级 初赛 IP地址 机器语言 语言

1 NOIP 2014 普及组 基础题1

1 以下哪个是面向对象的高级语言( )
A 汇编语言
B C++
C Fortran
D Basic

2 TB 代表的字节数是( )
A 2 的10 次方
B 2 的20 次方
C 2 的30 次方
D 2 的40 次方

3 二进制数 00100100 和 00010101 的和是( )
A 00101000
B 001010100
C 01000101
D 00111001

12 下列几个 32 位 IP 地址中,书写错误的是( )
A 162.105.135.27
B 192.168.0.1
C 256.256.129.1
D 10.0.0.1

13 要求以下程序的功能是计算 s=1+1/2+1/3+...1/10

#include <iostream>  
using namespace std;  
int main()  
{ 
    int n;     
    float s;     
    s = 1.0; 
    for(n = 10; n > 1; n--)       
    s = s + 1 / n;     
    cout << s << endl;     
    return 0;   
} 

程序运行后输出结果错误,导致错误结果的程序行是( )
A s = 1.0
B for(n = 10; n > 1; n--)
C s = s + 1 / n;
D cout << s << endl;

2 相关知识点

1) 编程语言

编制程序的过程称程序设计。书写程序用的“语言”叫做程序设计语言即计算机语言。计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。

一般的计算机目前还不能在人类的自然语言上直接操作,用计算机解决实际问题,必须对所要解决的问题周密考虑一个明确的处理方法(算法),再使用计算机能理解的计算机语言编制成程序,然后通过输入设备才能告诉计算机该怎么去做

机器语言

机器语言是指一台计算机全部的指令集合,由“0”和“1”组成的二进制数指令序列,运算效率是所有语言中最高的。机器语言,是第一代计算机语言。

机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行

汇编语言

汇编语言用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串。

比如,用“ADD”代表加法,“MOV”代表数据传递等等。汇编语言,是第二代计算机语言,如:PUSH AX、PUSH BX、POP AX、ADD CX,BX等。

为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言,亦称符号语言。由于汇编语言是面向具体机型的,仍离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。汇编语言是低级语言,使用起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途

高级语言

计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。

高级语言普遍的有BASIC、Pascal、C、C++、VC、VB、Delphi、JAVA等。与机器语言、汇编语言相比,高级语言的主要好处包括:

高级语言接近算法语言,易学、易掌握;
高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;
高级语言远离机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好,重用率高;
自动化程度高,开发周期短

描述客观系统分类

面向过程语言

以“数据结构+算法”程序设计范式构成的程序设计语言,称为面向过程语言。前面介绍的程序设计语言大多为面向过程语言。

面向对象语言

以“对象+消息”程序设计范式构成的程序设计语言,称为面向对象语言。比较流行的面向对象语言有 Delphi、Visual Basic、Java、C++等

2) 计算机存储

比特(bit)

比特是计算机中最基本的存储单元,它代表数字信息的最小单位。比特只能表示两种状态之一,通常用0和1来表示

字节(byte)

字节(byte)是计算机存储容量的基本单位之一,通常用来表示数据的大小或存储空间的大小。一个字节由8个比特组成

千字节(kilobyte) 简称KB,1KB等于1024字节

常用存储单位

1B=8b

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

3) 二进制加法

二进制加法,和十进制加法类似,可以使用竖式进行相加

和十进制加法区别为,十进制是逢十进一,二进制加法是逢二进一

例如

1001+0011=1100

 1001
+0011
-----
 1100

4) IP地址

现在的Internet最早起源于60年代末期美国国防部的ARPANET(阿帕网)。Internet上的每一台机器(包括服务器、PC等)都有自己独立的IP(Internet Position)地址。通过这些IP地址可以对这些机器在Internet进行唯一标识,而计算机的使用者就可以通过这些IP地址对这些计算机进行访问了。

通常一个IP地址共有32位,分为4段,每段8位(也即1个字节)。它的表示方法如下:xxx,xxx,xxx,xxx,其中每段的取值范围为0~255

5) 整数除法

整数除法中,默认是向下取整

例如 5/2=2

#include<bits/stdc++.h>
using namespace std;
/*
  2个整数相除结果也是整数,如果不能整除会向下取整 
*/ 
int main(){
	int a=15,b=2;
	int c=15/2;
	cout<<"15/2为:"<<c<<endl; 
	return 0;
}
/*
输出:
15/2为:7
*/ 

3 思路分析

1 以下哪个是面向对象的高级语言( B )
A 汇编语言
B C++
C Fortran
D Basic

分析

A 汇编语言是一种低级语言,它的语法与计算机的硬件指令非常接近,它不属于面向对象的高级语言。
B C++是一种高级编程语言,它在C语言的基础上增加了面向对象的特性,如类、对象、继承、封装和多态等,C++是一种面向对象的高级语言。
C Fortran是一种高级编程语言,主要用于科学计算和数值分析。虽然它是一种高级语言,但它不是面向对象的编程语言。
D Basic是一种高级编程语言,它的语法简单,易于学习,Basic不是一种面向对象的编程语言
所以选B

2 TB 代表的字节数是( D )
A 2 的10 次方
B 2 的20 次方
C 2 的30 次方
D 2 的40 次方

分析

1TB = 1024 GB
1GB = 1024 MB
1MB = 1024 KB
1KB = 1024 B
1TB = 1024 * 1024 * 1024 * 1024 B 
    = 2^10 * 2^10 * 2^10 * 2^10 B 
    = 2^(10+10+10+10) B
    =2^40 B

3 二进制数 00100100 和 00010101 的和是( D )
A 00101000
B 001010100
C 01000101
D 00111001

分析

根据二进制加法规则,列竖式,逢二进一
 00100100
+00010101
----------
 00111001

12 下列几个 32 位 IP 地址中,书写错误的是( C )
A 162.105.135.27
B 192.168.0.1
C 256.256.129.1
D 10.0.0.1

分析

一个IP地址共有32位,分为4段,每段8位(也即1个字节)。它的表示方法如下:xxx,xxx,xxx,xxx,其中每段的取值范围为0~255
256超出了取值范围
所以选C

13 要求以下程序的功能是计算 s=1+1/2+1/3+...1/10

#include <iostream>  
using namespace std;  
int main()  
{ 
    int n;     
    float s;     
    s = 1.0; 
    for(n = 10; n > 1; n--)       
    	s = s + 1 / n;     
    cout << s << endl;     
    return 0;   
}

程序运行后输出结果错误,导致错误结果的程序行是( C )
A s = 1.0
B for(n = 10; n > 1; n--)
C s = s + 1 / n;
D cout << s << endl;

分析

根据整数除法规则,两数相除不能整除会向下取整
1/10=0
2/10=0
1/n会导致丢失小数,所以选C

标签:10,NOIP2014,计算机,汇编语言,高级,初赛,IP地址,机器语言,语言
From: https://www.cnblogs.com/myeln/p/18393139

相关文章

  • 根据IP地址获取当前地区的货币单位,php汇率转换
    首先,通过Composer安装库:composerrequirejoshuajohnson/php-money-exchange-rate然后,使用以下PHP代码进行转换:require'vendor/autoload.php';useMoney\Currency;useMoney\Money;useMoney\Exchange\Swap;useMoney\Exchange\PhpExchange;//初始化交换机和API......
  • 如何把自动获取的ip地址固定
    在大多数网络环境中,‌设备通常会自动从DHCP服务器获取IP地址。‌这种动态分配IP的方式虽然灵活方便,‌但在某些特定场景下,‌我们可能需要将设备的IP地址固定下来,‌以确保网络连接的稳定性和可访问性。‌本文将详细介绍如何把自动获取的IP地址固定,‌帮助您掌握网络设置,‌实现IP地......
  • HJ18 识别有效的IP地址和掩码并进行分类统计
    题意…真的…好多…让人误会的地方T_T最大的教训就是,处理略微复杂以上的题目,一定要拆分成很多个子程序来写,不要一大堆东西扔在主程序里硬写,很容易出错还难调试。哦,第二个教训就是一定要自己手算一下样例,搞明白题意再写题!!!不要看着题面觉得很容易就自己YY!!T_T题目没什么好说的,思路......
  • 华为笔试——整数与IP地址间的转换
    描述原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字             相对应的二进制数10                   000010100     ......
  • 洛谷 P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布
    题目大意小A和小B,要进行\(N\)次猜拳,每次按照一定周期出拳,胜负情况如下:求出小A和小B分别赢了几次。思路枚举\(N\)次猜拳,每次比较\(a[powera]\)与\(b[powerb]\)(poewra与powerb是a和b数组的索引,详见代码)。CODE#include<bits/stdc++.h>usingnamespacestd;in......
  • 信息学奥赛初赛天天练-81-NOIP2015普及组-完善程序-二分答案、二分查找、中位数、二分
    1完善程序(单选题,每小题3分,共30分)中位数median给定n(n为奇数且小于1000)个整数,整数的范围在0∼m(0<m<2^31)之间,请使用二分法求这n个整数的中位数。所谓中位数,是指将这n个数排序之后,排在正中间的数。(第五空2分,其余3分)01#include<iostream>02usingnamespace......
  • 信息学奥赛初赛天天练-80-NOIP2015普及组-基础题5-错位排列、二叉树、完全二叉树、叶
    NOIP2015普及组基础题521重新排列1234使得每一个数字都不在原来的位置上,一共有()种排法22一棵结点数为2015的二叉树最多有()个叶子结点2相关知识点1)错位排列考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就......
  • CSP-J 2020 初赛试题解析(第一部分:单项选择题(5-10))
    ......
  • k8s中pod获取宿主机IP地址
    在Pod内部的Java环境中,你可以通过KubernetesAPI或KubernetesDownwardAPI来获取节点的IP地址。以下是几种方法来实现这一点:个人使用的第一种方法1:使用KubernetesDownwardAPI如果你已经在Pod配置中使用了DownwardAPI,将节点的IP地址注入到环境变量中,你可......
  • 【Azure Policy】添加策略用于审计Azure 网络安全组(NSG)规则 -- 只能特定的IP地址允
    问题描述对Azure上的虚拟机资源,需要进行安全管理。只有指定的IP地址才能够通过RDP/SSH远程到虚拟机上,有如下几点考虑:1)使用AzurePolicy服务,扫描订阅中全部的网络安全组(NSG:NetworkSecurityGroup)资源2)判断入站规则,判断是否是3389,22端口3)判断源地址是否是被允许的I......