课后作业
本次课堂检测是循序渐进,层层深入的,建民老师课上便一直强调将每个程序分为不同的功能块,循序渐进,将每一板块都对应实现完成。
课堂测试1:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 “软件”。
课堂测试2:
(1)题目避免重复;
(2)可定制(数量/打印方式);
首先课堂检测一进行一个随机数的设定和调用,再搭配一个switch函数循环生成运算符便可实现。两个检测中可以看出,课堂检测2 是在课堂检测1的基础上进行改造,满足不同地功能。仅仅进行一些增添以及修改便可以完成,在整体的基础上增添一个确定打印数量和分行列表的形式功能即可。
看课堂检测三:
1、可定制(数量/打印方式):输入大的数量值,测试一下系统是否崩溃,反向查找系统是否优化的余地;
2、定制操作数的个数:
3、定制是否有乘除法
4、定制是否有括号(随机加入)
5 、定制数值范围(确定操作数的取值范围)
这时我们感觉代码内容增添了很多,但我们又不难发现这些改动前几个都是在原有的基础上进行限制条件,只要判断和所限制性条件的具体应用类别以及应用方法可以从细微处进行增添,然后在对代码的数量增加到稳定性进行测试修改来完成。定制操作个数,输入操作个数,在输出的时候增加循环即可。
这一步实现了对乘除法的选择,如果用户输入1,那么系统便选择从4个运算符号中用switch函数来全部循环调用,当用户不选择乘除时,便从加减法中随机调用。
此次实验充分意识到了代码书写过程中逻辑的重要性。同时也了解到了在分析问题时。要统看全局,分工做,首先要有一个眼观全局的大局观,随后充分分析该相应问题的代码书写逻辑。一步一步来,既要顾头,也要顾尾,有始有终,功能分步分段实现,要有充分的逻辑性,既要看上去整洁大气,也要便于查找。
这次测试也发现了自己在代码书写过程中不够仔细,对全局观的把控不到位,逻辑性较差,仍然需要继续多加练习,掌握更好顾头顾尾,环环相扣,课下要严格要求自己多加练习。
课后作业验证码的问题:
先定义一个随机生成的Random来随机生成函数,再定义一个空的string变量来获取赋值,随后选择三种包含数字大小写字母的生成,运用switch函数来循环获取,我选择的是四位数字验证码,进行四次循环便可以完成,但是如何生成老师ppt中的界面和画面我不会,不知该如何去做,只能依靠简单的随机生成数来形成一个代码。
【金山文档】 课后作业
https://kdocs.cn/l/cq5ZAsBWGyeX
原码 :最高位是符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。
反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。
补码:正数的补码与原码一致,负数的补码是对原码按位取反加1,符号位不变。
例如 十进制数字:5
5=2^2+2^0 101 至少要三位数字 加上符号位 就是4位数字
原码:0101
反码:0101
补码:0101
例如 十进制数字:-5
5=2^2+2^0 101 至少要三位数字 加上符号位 就是4位数字
原码:1101
反码:1010
补码:1011
例如 将补码1011 转换为原码
补码:1011
符号位不变,数值位取反:1100
加1后得到原码:1101
用4位二进制原码表示0:-0=1000 +0=0000
用4位二进制反码表示0:-0=1111 +0=0000
用4位二进制补码表示0:-0=0000 +0=0000
范围表示:
n+1位数字,绝对值最大的原码是 -(2^n - 1)和 2^n - 1
n+1位数字,绝对值最大的反码是 -(2^n - 1) 和 2^n - 1
n+1位数字,绝对值最大的补码是 -2^n
例如
原码:
二进制无符号000~111 十进制0~ 7 0 ~ 2^3-1
二进制有符号0000~0111 十进制0~7 0 ~ 2^3-1
二进制有符号1111~1000 十进制-7~0 -(2^3-1) ~ 0
综上所述:4位原码的表示范围: -(2^3 - 1) ~ 2^3-1
用4位二进制原码表示的范围 1111~0111可以表示15个十进制数字 -(2^3 - 1) ~ 2^3-1
用4位二进制反码表示的范围 1000~0111可以表示15个十进制数字 -(2^3 - 1) ~ 2^3-1
用4位二进制补码表示的范围 1000~0111 可以表示16个十进制数字 -2^3 ~ 2^3-1
补码:位数一定,绝对值最大的补码是符号位是1,数值位全为0
用4位补码数字表示 -8: 1000
4位数字,绝对值最大的原码是 1111 和 0111 -7和7 -(2^3-1) 和 2^3-1
4位数字,绝对值最大的反码是 1000和 0111 -7和7
4位数字,绝对值最大的补码是 1000 -2^3 -8
对一下十进制数字排序 从小到大
-001 001 -011 011 -101
-101<-011<-001<001<011
对一下二进制数字排序 从小到大
1001 0001 1011 0011 1101
1101<1011<1001<0001<0011