某些图创作时代已经很久远了,见谅
基础知识
- 与(&)
1&1=1
1&0=0
0&1=0
0&0=0
eg: 25&13
25=
13=
- 或(|)
1|1=1
1|0=1
0|1=1
0|0=0
两边都是0,结果就是0,否则结果就是1
- 按位异或(xor,^)
一位二进制数字进行按位或操作的结果
1^1=0
0^0=0
1^0=1
0^1=1
两个数相同xor结果为0,不同为1
4. 按位取反
-
左移
-
右移
第一台计算机是EINAC
原码,反码,补码:
(皆为二进制)
原码:
一个数X的原码表示为:
符号位用0表示正,用1表示负。
数值部分为X的绝对值的二进制形式
反码:
若X为正数,反码=原码,若X为负数,则在原码的基础上符号位保持不变,数值位各位去反
补码:
如果X是负数,则在原码的基础上符号位依然保持不变,数值位取反+1
如果是正数,原码=补码=反码
计算机软件保护法
是用来保护计算机软件的著作权
Turing
英国人 计算机科学之父
Ada Lovelace
是第一个写程序的人
计算机数学模型是Turing
提出的
IT
是指信息技术
巨型机
:超级计算机,运算快,容量大,主要用于顶尖科研领域
大、中型机
:国家级科研机构、中点院校使用。
小型机
:一般科研机构、学校使用
微型机
:家用计算机(PC机、个人计算机)运用最为广泛,70年代之后开始普及。
微机内存储器的地址是以字长编址的
1B=8bit
绘图仪
是输出设备
RAM
是读写存储器
ROM
是只读存储器
cache
是高速缓冲
计算机主机是由CPU
+内存储器
构成的
存取速度:
寄存器
>高速缓存
>内存
>外存
既是输入设别又是输出设备的是触摸屏
数字化仪
是输出设备
微机缺了光驱也可正常运行
液晶显示器
不具有计算功能
断电后ROM
/硬盘
可以保存数据
.com
是商业组织
.gov
是政府
.edu
是教育机构
IP地址
A类:第一个字段的范围是1~126
B类:第一个字段的范围是128~191
C类:第一个字段的范围是192~223
IP地址每段最大不超过255
………………
与运算:两个条件都成立才返回true
,否则返回false
或运算:其中有一个条件成立就返回true
,否则返回false
非运算:取反,例如!1=0
汉字是象形文字,常见的汉字有多个,一级汉字字,二级汉字字,一级汉字是通过字典序排序的,二级汉字是通过偏旁部首排序的。
为什么要扯这些东西(
参考资料
数据结构
栈
{
先进先出
有以下几个基本操作:
入栈
出栈
求大小
}
队列
{
先进后出,类似排队
头和尾皆可操作
}
链表
{
分为单向链表 双向链表 和 循环链表
单向链表就是一个元素:
双向链表就是一个元素一个地址,地址指向下一个元素的地址
插入删除不需要移动元素,也不需要事先估计存储空间
注意:链表不可以随机访问任意一个元素!
}
树
{
题外话:其实autodraw也可以当做图床(
好像还比gitee快(
结点度指的是儿子的数量
树的度指的是最大结点度
二叉树:
- 完全二叉树,前面都是满的而后面可以空
- 满二叉树:
每个节点都有两个儿子。
例:
前序遍历:先遍历根,然后遍历左子树,在遍历右子树。
中序遍历:先遍历左子树,然后遍历根,在遍历右子树。
后序遍历:先遍历左子树,然后遍历右子树,最后遍历根。
}
阅读&完善程序
方法1 模拟:
例题:
#incldue<iostream>
using namespace std;
int main(){
int i,a,b,c,d,f[5];
for(int i=0;i<4;i++) cin>>f[i];
a=f[0]+f[1]+f[2]+f[3];
b=f[0]+f[2]+f[3];
a=a/f[0],b/=a;
c=(b*f[1]+a)/f[2];
d=f[(b/c)%4];
if(f[(a+b+c+d)%4]>f[2]) cout<<a+b;
else cout<<c+d;
}
就是把a,b,c,d求出来,算一算,最后时间充裕的话在验证一下,就行了。
- 书P90 第1题
程序输入输出非常简单
处理:
maxx=a[1];s=a[1];
for(int i=2;i<=10;++i){
if(s<0) s=0;//联系上下可知,去掉s<0的数列的和的值,并让其值为0
s=s+a[i];
if(s>maxx) maxx=s;//保留最大的连续序列和
}
根据阅读,不难知道这是一个简单的利用累加算法求最大的连续序列和的问题,所以,可以直接计算或找出输入中的最大连续数列和。
- 书P90 第2题
本题为函数题,需要明白函数的作用。
分析:
已知n=10;
int co(int i1){
int j1,s1;
s1=n;//即s1=10;
for(int j1=n-1;j1>=n-i1+1;--j1)
s1=(s1*j1)/(n-j1+1);
return s1;
}
主函数
int s=n+1;//即s=11;
for(int i=2;i<=n;++i) s=s+co(i);
3.书P91 第3题
此题为递归函数题
因为递归需要递和归两步,所以我们可以直接由边界来递推求解
求fun(9)
inline int fun(int x){
if(x==0||x==1) return 3;
else return x-fun(x-2);
}
列表即可
fun(0)= fun(1)=3;
fun(6)=6-fun(6-2)=1;
fun(2)=2-fun(2-2)=-1;
fun(7)=7-fun(7-2)=2;
fun(3)=3-fun(3-2)=0;
fun(8)=8-fun(8-2)=7;
fun(4)=4-fun(4-2)=5;
fun(9)=9-fun(9-2)=7;
fun(5)=5-fun(5-2)=5;
4.书P91 第4题
此题为特殊的函数题,递归函数中又有不断调用。这是经典的阿克曼(Ackermann)函数,是非原始递归函数的例子。它需要两个自然数作为输入值,输出一个自然数。(它的输出值增长速度非常高,对于(4,3)的输出已大得不能准确计算。) 求ack(3,4)。
int ack(int m,int n){
if(m==0) return n+1;
else if(n==0) return ack(m-1,1);
else return ack(m-1,ack(m,n-1));
}
大概就是列这个奇怪的表格(
参考资料:
汉字国际标码(GB2312-80)把汉字分为2个等级其中一级常用汉字的排列顺序是按什么排列的
信息学奥赛一本坑(