头歌
drizzle2333
这个作者很懒,什么都没留下…
展开
-
栈的实现及应用 第2关:栈应用之括号匹配问题
根据提示,在右侧编辑器 Begin - End 之间补充代码,判断字符串是否有效,即字符串中括号是否成对出现。若是,则输出 True ,否则输出 False。S3:如果当前遍历到右括号,则出栈一个元素,看其是否与当前的右括号组成一对,如果不是,则匹配失败。S4:若能顺利遍历完成,检查栈中是否还有剩余元素,如果有,则匹配失败;为了完成本关任务,你需要掌握:栈的 Python 实现。S1:遍历输入的括号序列,如果是左括号,进入S2,如果是右括号,进入S3;S2:如果当前遍历到左括号,则入栈;转载 2022-10-22 17:13:16 · 1105 阅读 · 0 评论 -
存储系统设计(HUST) 第1关:汉字字库存储芯片扩展实验
原创 2022-05-04 15:31:39 · 7916 阅读 · 9 评论 -
运算器设计(HUST)
第1关:8位可控加减法电路设计第2关:CLA182四位先行进位电路设计第3关:4位快速加法器设计第4关:16位快速加法器设计第5关:32位快速加法器设计第6关:5位无符号阵列乘法器设计第7关:6位有符号补码阵列乘法器第8关:乘法流水线设计第9关:原码一位乘法器设计第10关:补码一位乘法器设计 第11关:MIPS运算器设计原创 2022-04-27 22:58:59 · 6452 阅读 · 12 评论 -
计算机数据表示实验(HUST) 计算机数据表示实验
汉字国标码转区位码实验汉字机内码获取实验偶校验编码设计偶校验解码电路设计16位海明编码电路设计、16位海明解码电路设计海明编码流水传输实验16位CRC并行编解码电路设计CRC编码流水传输实验蓝奏云链接https://wwm.lanzoul.com/iP4zq03ijl7e密码:2pti一到九关都可以用...原创 2022-04-20 22:45:38 · 4482 阅读 · 15 评论 -
计算机数据表示实验(HUST) 第2关:汉字机内码获取实验
实验目的(1)帮助学生理解汉字机内码、区位码,最终能利用相关工具批量获取一段文字的 GB2312 机内码,并利用简单电路实现 GB2312 编码与区位码的转换;(2)学生了解字形码显示的基本原理,能在实验环境中实现汉字 GB2312 编码的点阵显示。实验内容完成国标码到区位码的转换电路后,可以在汉字显示电路中进行测试,尝试在下图所示电路中的 ROM 存储器中存入下面给出的指定句子,注意这里不允许使用逐字查码表的方式获得编码,应掌握批量转换的方法和原理。指定句子如下:请思考数字,英文字符怎么原创 2022-04-13 15:09:10 · 7778 阅读 · 4 评论 -
Python基础之综合练习一 第2关:输出指定范围内的素数
任务描述本关任务:编写一个能输出指定范围内的素数的小程序。相关知识为了完成本关任务,你需要掌握:如何判断一个正整数是否是素数。如何判断一个正整数是否是素数素数(Prime Number),又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则,称为合数(Composite Number)。1既不是素数,也不是合数。如2、3、5、7、11都是素数,因为找不到除了1和其本身之外的约数;而4、6、8都是合数,因为4可以整除2,6可以整除2和3,8可以整除2和4转载 2022-04-08 15:19:30 · 3585 阅读 · 1 评论 -
《深入理解计算机系统》Lab1:Data Lab(一) 下
计算机整数编码实验 《深入理解计算机系统》Lab1:Data Lab(一)https://download.csdn.net/download/qq_53149358/85083344实验7实现函数int fitsBits(int x, int n),如果x可以只用n位补码表示则返回1,否则返回0(1<=n<=32)。要求最多使用15个操作符。实验原理:一个数如果能左移N位后,在右移N位,仍然等于这个数,表明 这个数可以用N位来表示。实验代码:int fitsBi..原创 2022-04-06 14:39:22 · 3714 阅读 · 1 评论 -
《深入理解计算机系统》Lab1:Data Lab(一)
第1关:bitAnd任务描述本关任务:补充函数bitAnd(),只用~、|实现x&y,将结果return返回。操作符限制:~、| 操作符使用数量限制:8测试说明平台会对你编写的代码进行测试:测试输入:65预期输出:4int bitAnd(int x, int y) { /********* Begin *********/ int ret; x=~x; y=~y; ret =x|y; ret=~ret; return ret; /*******转载 2022-04-06 14:20:35 · 6766 阅读 · 0 评论 -
《深入理解计算机系统》Lab1:Data Lab(二)
第1关:float_neg任务描述本关任务:补充函数float_neg(),返回-uf的位级表示。操作符使用数量限制:10注意:本题及以下所有的题目都采用unsigned int来存放位级表示 所有的浮点类型都为float 如果输入为NaN,返回NaN测试说明平台会对你编写的代码进行测试:测试输入:-111预期输出:0xffffff91测试输入:-12345预期输出:0xffffcfc7int bitAnd(int x, int y) { retu...转载 2022-04-06 13:20:12 · 5363 阅读 · 1 评论 -
lambda 函数 - 匿名函数的使用
任务描述在 Python 编程中我们除了可以用def语句来定义函数之外,还可以使用lambda来定义。我们用def语句来定义函数时需要指定函数名字,而使用lambda来定义函数时则不需要。lambda函数是 Python 中一个非常独特的函数类型。本关目标就是让学习者了解并掌握lambda函数的相关知识。相关知识lambda函数又称匿名函数,匿名函数顾名思义就是没有名字的函数。可能我们现在还无法接受,函数没有名字怎么能行?但实际上是可以的。当我们在编程过程中只是临时使用某些函数,而且这些函数的逻原创 2022-04-05 17:17:23 · 2639 阅读 · 0 评论 -
Python入门之collections模块 第2关:计数器 (Counter)
任务描述本关任务:编写一个对输入的字符串,进行计数的程序。计数器(Counter)计数器是一个无序容器,用于记录各种值出现的次数。它采用键值对的形式存储,要记录的值作为key,这个值出现的次数作为value,value值可正可负。#####创建计数器要创建一个计数器实例,可以调用它的无参构造函数:c = collections.Counter() 这样就创建了一个空的计数器实例c。也可以从list,tuple,dict,字符串等**可迭代对象(iterable)**创建:原创 2022-03-22 22:00:33 · 1260 阅读 · 0 评论 -
玩转列表 第1关:列表元素的增删改:客人名单的变化
任务描述本关任务是对一个给定的列表进行增、删、改等操作,并输出变化后的最终列表。列表是由按一定顺序排列的元素组成,其中的元素根据需要可能会发生变化。其中,列表元素的添加、删除或修改等是最常见的操作。下面以一则请客的故事来说明列表元素操作的应用场景:有个人邀请几个朋友吃饭,初步拟定了一个客人名单列表guests=['Zhang san','Li si','Wang wu','Zhao liu']。后面因为一些临时情况,这个客人名单不断变化: Zhao liu说要带他的朋友Hu qi一起来;.原创 2022-03-21 20:24:03 · 8367 阅读 · 1 评论 -
字符串处理 第3关:字符串查找与替换
任务描述本关的任务是,给定一个字符串,要利用 Python 提供的字符串处理方法,从该字符串中,查找特定的词汇,并将其替换为另外一个更合适的词。例如,给定一个字符串Where there are a will, there are a way,我们发现这句话中存在语法错误,其中are应该为is,需要通过字符串替换将其转换为Where there is a will, there is a way。在大家日常工作使用 Word 编写文档的过程中,经常会遇到一个问题,发现前面写的文档中某个词用错了,需要原创 2022-03-19 10:49:48 · 5976 阅读 · 0 评论 -
字符串处理 第2关:字符转换
任务描述本关任务:对给定的字符串进行处理,包括字符串长度计算、大小写转换以及去除字符串前后空格等。在字符串处理中,经常需要统计字符串的长度、进行大小写转换以及去除字符串前后空格等操作。例如,在基于关键词的搜索引擎中,要查询关键词是否在文档或者网页中出现,搜索引擎并不需要区分关键词中字符的大小写以及关键词前后的空格等。这时就需要对字符串进行处理,将其中的大写字符都转换为小写,并剔除字符串开头和结尾处的空格,然后再统一进行字符串匹配。相关知识Python 标准库提供了一系列关于字符串处理的函数。本转载 2022-03-19 00:56:49 · 3897 阅读 · 0 评论 -
Java入门 - 数组进阶 冒泡排序
任务描述本关任务:使用冒泡排序实现数组的升序排序(从小到大)。相关知识冒泡排序看完上图,相信你已经能明白冒泡排序的原理了。将序列当中的左右元素,依次比较,如果左边的元素大于右边元素则交换位置,保证右边的元素始终大于左边的元素;( 第一轮结束后,序列最后一个元素一定是当前序列的最大值;)对序列当中剩下的n-1个元素再次执行步骤1。对于长度为n的序列,一共需要执行n-1轮比较。在代码中实现一轮比较:输出结果:[5, 8, 0, 2, 6, 9]编程要求在编辑器Begi原创 2021-12-10 17:27:34 · 2371 阅读 · 0 评论 -
Java入门 - 数组进阶 选择排序
任务描述本关任务:实现数组从大到小的排序(降序排序)。相关知识为了解决数组排序的问题你需要先了解:选择排序。选择排序关于选择排序,你可以理解为一个循环打擂台的过程,还记得我们在上一章节中求数组中的最大值吗?我们运用打擂台的原理,可以求出数组中的最大值。 核心代码:int max = scores[0]; for (int i = 1; i < scores.length; i++) { if(max < scores[i]){ //求最大值 max原创 2021-12-10 17:26:19 · 3054 阅读 · 0 评论 -
Java面向对象 - 类与对象 类与对象练习
任务描述本关任务:为“无名的粉”写一个类,编写该类的构造方法和成员变量。相关知识包的概念在之前我们定义类和定义方法都是在一个文件中编写的,但是在实际开发过程中我们肯定不能使用一个文件去编写所有的代码。 怎么解决这个问题呢?Duang,包,登场了,包就像我们windows系统中的文件夹一样,只不过包是专门存放代码文件的。包的主要作用就是给代码文件分类。如果一个类被定义在某一个包下那么在定义类的时候需要声明包名,否则程序会报错。如:编程要求我已经帮你创建好了两个文转载 2021-12-10 15:25:18 · 4396 阅读 · 0 评论 -
Java面向对象 - 封装、继承和多态 final关键字的理解与使用
学习-Java继承和多态之final关键字final关键字的理解与使用转载 2021-12-10 14:52:47 · 1841 阅读 · 0 评论 -
Java面向对象 - 封装、继承和多态 super关键字的使用
super关键字的使用原创 2021-12-10 09:05:28 · 1135 阅读 · 0 评论 -
练习- Java字符串之String类创建字符串之字符数组创建字符串
任务描述本关任务:接收输入值创建字符数组,对该字符数组排序后通过该字符数组创建字符串。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。首先获取输入值,第一个为整数,代表数组长度,最后一个为 %,代表终止输入,中间的值为一组字符,中间用空格分隔; 把输入值中的第二个到倒数第二个字符赋值给一维数组; 对数组升序排序; 通过字符数组创建字符串; 输出字符串。测试说明平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。可在右侧 “测试结果”区原创 2021-12-06 15:15:26 · 3439 阅读 · 0 评论 -
Java入门 - 方法的使用 第5关:掌握数组作为参数的使用
任务描述本关任务:将考试成绩排序并输出,返回成绩的个数。相关知识数组作为参数的样例:public static void main(String[] args) { // 调用方法时传递一个数组 int [] arrayData = {1 ,2 ,3 }; arrayManage(arrayData); } public static void arrayManage(int [] data){ for(int i = 0 ; i < data.length ;i原创 2021-12-05 14:52:53 · 6518 阅读 · 0 评论 -
Java入门 - 循环结构进阶 第2关:for循环的进阶使用-嵌套循环(2)
for循环的进阶使用-嵌套循环打印出正三角形打印出倒三角形原创 2021-11-26 16:30:52 · 1889 阅读 · 0 评论 -
学习-Java字符串之String类创建字符串之使用equals和==判断字符串是否相等
使用 new 创建两个字符串(获取键盘输入的两个字符串,中间用空格分隔),并分别通过 equals 和 == 判断字符串是否相等。原创 2021-11-18 16:00:33 · 3913 阅读 · 0 评论 -
学习-Java数组之二维字符数组之按字母序排序
Java数组之二维字符数组之按字母序排序对给定二维字符数组排序(把所有元素按照字母降序排序),并输出排序后的结果原创 2021-11-18 15:22:59 · 2242 阅读 · 0 评论 -
练习-Java数组之Arrays类操作数组之数组排序
任务描述本关任务:根据控制台接收的数据,创建数组,对数组中的每个值求平方,将得到的结果进行升序排序,并输出最后的结果。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,根据控制台接收的数据,创建数组,对数组中的每个值求平方,将得到的结果进行升序排序,并输出最后的结果,具体要求如下: 接收给定的一行整数(如:12 345 646 44 365 23 56 5 1 6 58 12 3 %。其中第一个数为数组长度,其余数为数组元素,最后一个 % 用于从控制原创 2021-11-18 15:19:34 · 4965 阅读 · 0 评论 -
学习-Java数组之Arrays类操作数组之填充替换数组元素
Java数组之Arrays类操作数组之填充替换数组元素java.util.Arrays 类提供多种方法用来操作数组,比如排序和替换等。原创 2021-11-18 15:05:01 · 7548 阅读 · 0 评论 -
练习-Java数组之二维数值数组之矩阵乘
任务描述本关任务:给定两个矩阵,求它们的乘积。 矩阵乘示例如下:图1 矩阵乘从图 1 可以看到,相乘后的矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,给定以下两个矩阵,求它们的乘积。 矩阵一:⎣⎢⎢⎢⎢⎢⎡5153211466543889874322666⎦⎥⎥⎥⎥⎥⎤矩阵二:⎣⎢⎡9448386522931066877188219810原创 2021-11-13 15:40:28 · 2867 阅读 · 0 评论 -
练习-Java数组之二维数值数组之矩阵转置
任务描述本关任务:对给定的矩阵做转置操作。 什么是矩阵:矩阵是一个由 m 行(row)n 列(column)元素排列成的矩形阵列,以下是一个 2 行 3 列的矩阵:[12095−13−6]什么是矩阵转置:矩阵中的每个数可用第 i 行第 j 列来表示,比如以上矩阵中的 9 可表示为A12,矩阵的转置就是把矩阵中所有元素的行列值交换,矩阵中的 9 通过转置后就变成了A21。整个矩阵转置后数据如下:⎣⎢⎡19−132056⎦⎥⎤注意:矩阵可以用二维数组表示。编程要求原创 2021-11-13 15:12:37 · 3924 阅读 · 0 评论 -
学习-Java数组之一维字符数组之大小写转换
任务描述本关任务:实现一维字符数组的大小写转换,将数组中的大写字母转化为小写字母,小写字母转化为大写字母,最后输出转换后的字符数组。相关知识为了完成本关任务,你需要掌握: 1.一维字符数组的创建; 2.一维字符数组的初始化。数组对于每一门编程语言来说都是重要的数据结构之一,Java 语言中提供的数组是用来存储固定大小的同类型元素。下面我们将介绍用于存储字符的一维数组。创建一维字符数组Java 语言使用 new 操作符来创建数组,语法如下:数据类型[] 数组名 = new原创 2021-11-13 14:29:56 · 4428 阅读 · 0 评论 -
学习-Java数组之一维数值数组之查找Key值
任务描述本关任务:使用折半方法查找数组中某元素的索引,并统计出查找次数。相关知识顺序查找顺序查找就是从数组的第一个元素开始,依次比较,直到找到目标数据或查找失败。顺序查找举例:查找数组中是否存在值 432。public class FindTest { public static void main(String[] args) { int i; int[] arr={1,2,4,5,54,321,867,432,3}; for( i=0;i<arr.lengt原创 2021-11-12 19:27:29 · 2027 阅读 · 1 评论 -
学习-Java数组之一维数值数组之排序
任务描述本关任务:使用直接选择排序(按升序)对给定的数组排序,并输出每次排序结果以及排序完成后的数组。相关知识直接选择排序直接选择排序是一种简单的排序算法。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置;再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。代码实现:import java.util.Arrays; public class SortTest { public static void m原创 2021-11-12 18:55:27 · 5996 阅读 · 0 评论 -
学习-Java数组之一维数值数组之随机数统计
任务描述本关任务:统计数组中随机数出现的次数。相关知识在 Java 中有一个 Random 类,他可以在指定的取值范围内随机产生数字。Random 类要想使用 Random 类,第一步需要导入 java.util.Random 这个包。 import java.util.Random;第二步需要创建 Random 对象。 Random random = new Random();创建完 Random 对象之后,我们就可以使用它提供的方法来创建随机数了。方法名 方法说明原创 2021-11-12 16:51:58 · 2703 阅读 · 0 评论 -
练习- Java位运算之综合练习
任务描述本关任务:使用位运算符判断 x 的奇偶性,如果 x 为 1,是奇数,换行输出:1 为奇数; 对于变量 y,使用位运算符求取它的相反数,将结果换行输出; 使用位运算符求取变量 x 和 y 的平均值,将结果不换行输出。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。参考答案import java.util.Scanner;/** * 任务: * 1. 使用位运算符判断 x 的奇偶性,如果 x 为 1,是奇数,换行输出:1 为奇数; * 2. 对原创 2021-11-12 09:42:13 · 1710 阅读 · 0 评论 -
学习-Java位运算之移位运算
任务描述本关任务: 将 -20 到 -11 中的整数经过 << 运算符向左移动 2 位(包括 -20 和 -11); 将 -10 到 9 中的整数经过 >>> 运算符向右移动 1 位(包括 -10 和 9); 将 10 到 20 中的整数经过 >> 运算符向右移动 3 位(包括 10 和 20); 将上述结果依次输出(顺序为从 -20 到 10)。 输出例子:将-20经过<<运算符向左移动2位后的结果为-80原创 2021-11-12 09:24:51 · 832 阅读 · 0 评论 -
学习-Java位运算之逻辑位运算
任务描述本关任务:根据输入获取的位运算符和运算数完成相应运算。键盘第一次输入的值为四种位运算符的一种,类型为字符型;第二次输入的是变量 a 的值,类型为 int 型;判断第一次输入的为何种位运算符,计算变量 a 使用该运算符与常量 10 的值,如果该位运算符为 ~,则将变量 a 的值进行取反,将最后结果不换行输出,如果不属于任何一种,输出:该字符无效。相关知识为了完成本关任务,你需要掌握: 什么是位运算; 逻辑位运算的使用。 位运算位运算:计算机在底层使用的是二进制补码进原创 2021-11-12 08:42:50 · 1947 阅读 · 0 评论 -
练习-Java循环综合练习三之杨辉三角形
任务描述本关任务:给定一个正整数 n,打印出有 n 行的杨辉三角形。杨辉三角形的特征:第 n 行有 n 个数字; 每一行的开始和结尾数字都为 1; 从第 3 行起,除去每一行的开始和结尾数字,其余每个数都满足以下条件:任意一个数等于上一行同列和上一行前一列的和,如以下杨辉三角形中第 3 行第 2 列中的 2 等于它上一行同列(第 2 行第 2 列中的 1)和上一行前一列(第 2 行第 1 列中的 1)的和。以下是行数有 5 行的杨辉三角形:1 1 1 1 2 1 1 3原创 2021-11-08 14:43:30 · 4521 阅读 · 0 评论 -
练习-Java循环综合练习一之住房贷款还款计算
任务描述本关任务:编写一个程序,由用户输入住房贷款和贷款年限,程序输出不同利率下的月还款额和总还款额,利率从 5%~8%,增长间隔为 1/8。例如,如果输入贷款额 10000 元人民币,贷款期限 5 年,程序应输出如下内容:贷款金额: 10000 贷款年限: 5 利率 月还款额 总还款额 5.000% 188.71 11322.74 5.125% 189.28 11357.13 …… 8.000% 202.76 12165.83注意:贷款金额、贷款年限和结果之间用英文冒号和一原创 2021-11-08 14:01:45 · 3433 阅读 · 2 评论 -
练习-Java循环之嵌套循环之比赛名单判断
任务描述本关任务:两个乒乓球队进行比赛,各出 3 人。甲队为 a、b、c,乙队为 x、y、z。有人向队员打听比赛的名单,a 说他不是和 x 比,c 说他不是和 x、z 比。请编写程序推断出比赛对战名单。编程要求仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。/*任务:求出对战人信息。输出样式:a的对手x*/public class TeamMate { public static void main(String[] args) {原创 2021-11-07 17:19:09 · 2447 阅读 · 0 评论 -
学习-Java循环之continue
任务描述本关任务:给定一个正整数 n,统计比 n 小的正奇数的个数。输出格式:n前面共有xx个奇数。相关知识在之前的学习中,我们已经了解到 break 语句可以退出整个循环,如果我们只想退出本次循环,那就需要使用 continue 语句。continue 语句continue 和 break 有点类似,区别在于 continue 只是终止本次循环,接着还执行后面的循环,break 则完全终止整个循环。continue 语句使用案例:打印 1 到 10,遇到 4 的倍数时跳过。原创 2021-11-07 16:57:44 · 1265 阅读 · 0 评论 -
学习-Java循环之break之判断素数
任务描述本关任务:判断给定的任意一个大于 1 的正整数是否是素数。 素数的定义:在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。相关知识在之前学习的 Java 循环语句中,只有当循环的判断条件不成立时,才能退出整个循环,如果我们想在循环的判断条件依然成立,但在满足某种条件时,退出整个循环,执行循环体以外的语句,这时候就需要使用到 break 语句。break 语句break 语句用于强行退出整个循环,而不管循环的条件判断是否成立,并且不执行循环体内后续的语句。b原创 2021-11-07 16:36:44 · 2283 阅读 · 0 评论