当前位置:文档之家› Linux程序设计 实验报告 大作业

Linux程序设计 实验报告 大作业

Linux程序设计 实验报告 大作业
Linux程序设计 实验报告 大作业

实验报告

课程名称:LINUX程序设计

学院:计算机学院

专业:软件工程班级:14-3

姓名:张正锟学号:201401061038

2017年1月1日

山东科技大学教务处制

实验报告

一、实验目的

熟悉并掌握Linux操作系统基本命令

二、常用的普通命令

1.了解系统的uname,date,w命令

2.了解文件的ls和file命令

3.cat,less,head,tail,nl,wc等命令的使用

4.文本内容查找grep 命令

5.文件权限的修改chmod,chown,umask

6.文件夹操作:mkdir,rmdir

三、用户和组的管理管理

1.探究用户配置文件/etc/passwd, /etc/shadow

/etc/passwd是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息. /etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对超级用户( r o o t )可读。这使破译口令更困难,以此增加系统的安全性。

2.探究组配置文件组的配置文件/etc/group, /etc/gshadow

3.id, who, whoami,groups等命令

四、文件打包与压缩

1.tar压缩和解压

五、软件包管理

1.安装软件tree

2.卸载软件tree

六、进程管理

1.top命令动态显示进程状态

2.ps命令显示瞬时进程状态

3.Kill命令终止一个进程

用gedit打开一个文件a.cpp并在后台运行,显示的进程号为17271,然后用kill命令杀死这个进

程,观察到gedit关闭

七、实验总结

通过本次实验,熟悉了好多Linux下面的基本命令,可以看出Linux的命令基本上都有好多参数可选,这样就可以用一条命令完成好多任务,大大提高效率。另外还学会了当命令不会使用的时候,可以调用man来查看命令的使用方法。

实验报告

一、实验目的

掌握Shell命行的运行

掌握编写和执行Shell程序的步骤

掌握在Shell中使用参数和使用变量的方法

掌握表达式比较,循环结构语句和条件结构语句的写法 掌握在shell脚本中使用函数的方法

二、简单bash脚本

1.编写bash脚本

2.添加执行权限

3.运行结果

三、计算器:变量读入和输出

1.编辑程序

2.添加可执行权限

3.运行程序

四、比较两个数字是否相等

1.编写程序

2.添加可执行权限

3.运行程序

五、循环计算累加和

1.编写程序

2.添加可执行权限

3.运行程序

六、利用shell函数计算两数之和

1.编写程序

2.添加可执行权限

3.运行程序

七、计算数组累乘

1.编写程序

2.添加可执行权限

3.运行程序

八、实验总结

通过本次实验,我学会了shell中的各种写法,包括流程控制,循环,数组,函数等等,了解到shell在Linux是一种强大的神器,可以批量完成各种操作。

实验报告

一、实验目标

1.熟悉cd、date、pwd、cal、who、echo、clear、passwd等常用命令。

2.掌握在用户主目录下对文件进行的操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。

3.学会对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。

二、文件操作:修改文件权限

设计一个程序,要求把系统中“/etc”目录下的passwd文件权限,设置成文件所有者可读可写,所有其他用户为只读权限。

1.编写C语言程序

2.编译执行

3.查看结果

三、从终端读写数据

文件的打开可以用open函数,即使原来的文件不存在,也可以用open函数创建文件。在打开或者创建文件时,可以指定文件的属性及用户的权限等参数。

关闭一个打开的文件,用close函数。当一个进程终止时,它所有已打开的文件都由内核自动关闭。

1.编写C语言程序

2.查看运行结果

四、文件上锁和锁的释放

1. 题目要求

设计一个程序,要求在“/root”下打开一个名为“5-11file”的文件,如果该文件不存在,则创建此文件。打开后对其加上强制性的写入锁F_WRLCK,按回车后解锁F_UNLCK,然后加上读出锁F_RDLCK,按回车后再解锁F_UNLCK。程序在终端1运行后会显示程序的进程号,再打开终端2,会提示此文件处于锁定状态,此时在终端2可以多按回车,观察程序的运行结果。然后在终端1按回车,等待终端1解锁后,在终端2才可锁定此文件,你可观察到强制性锁是独占状态,当在终端2解锁后,在终端1或2可加读出锁,在读出锁状态终端1或2的运行不需要等待,因为读出锁是处于共享状态,请编写程序并测试程序运行的结果。

2.分析

主程序先用open函数打开文件“5-11file”,如果该文件不存在,则创建此文件;接着调用自定义函数lock_set:先传递参数“F_WRLCK”给文件“5-11file”加锁,并打印输出给文件加锁进程的进程号,然后先传递参数“F_UNLCK”给文件“5-11file”解锁,并打印输出给文件解锁进程的进程号;在自定义函数lock_set给文件上锁语句前,加上判断文件是否上锁的语句,如果文件已经被上锁,打印输出给文件上锁进程的进程号。

3.编写C语言程序

4.执行程序

终端1:

加上写入锁的是:5403

释放强制性锁:5403

文件已加上写入锁,其进程号是:5404

文件已加上写入锁,其进程号是:5404

文件已加上写入锁,其进程号是:5404

加上读取锁的是:5403

释放强制性锁:5403

终端2:

文件已加上写入锁,其进程号是:5403

文件已加上写入锁,其进程号是:5403

4.运行结果

可以看到程序运行后创建了”5-12file”文件

六、实验总结

通过本次实验,我掌握了Linux下用C语言读写文件的方法,包括带缓存和不带缓存的方法。另外也学会了用C语言修改文件权限等知识点。可以看出Linux和C语言是浑然一体地,可以用C语言无缝地操作Linux系统。

2016Linux程序设计复习题

一、填空题 1、在Linux 系统中,以文件方式访问设备。 2、Linux 内核引导时,从文件/etc/fstab 中读取要加载的文件系统。 3、Linux 文件系统中每个文件用i 节点来标识。 4、全部磁盘块由四个部分组成,分别为引导块、专用块、i 节点表块和数据存储块。 5、链接分为:硬链接和符号链接。 6、超级块包含了i 节点表和空闲块表等重要的文件系统信息。 7、某文件的权限为:drw-r--r-- ,用数值形式表示该权限,则该八进制数为:644 ,该文件属性是目录。 8、前台起动的进程使用Ctrl+C 终止。 9、静态路由设定后,若网络拓扑结构发生变化,需由系统管理员修改路由的设置。 10、网络管理的重要任务是:控制和监控。 11、安装Linux 系统对硬盘分区时,必须有两种分区类型:文件系统分区和交换分区。 12、编写的Shell 程序运行前必须赋予该脚本文件执行权限。 13、系统管理的任务之一是能够在分布式环境中实现对程序和数据的安全 保护、备份、恢复和更新。 14、系统交换分区是作为系统虚拟存储器的一块区域。 15、内核分为进程管理系统、内存管理系统、I/O 管理系统和文件管理系统等四个子系统。 16、内核配置是系统管理员在改变系统配置硬件时要进行的重要操作。 17、在安装Linux 系统中,使用netconfig 程序对网络进行配置,该安装程序会一步步提示用 户输入主机名、域名、域名服务器、IP 地址、网关地址和子网掩码等必要信息。 18、唯一标识每一个用户的是用户ID 和用户名。 19、RIP 协议是最为普遍的一种内部协议,一般称为动态路由选择协议。 20、在Linux 系统中所有内容都被表示为文件,组织文件的各种方法称为文件系统。 21、DHCP可以实现动态IP 地址分配。 22、系统网络管理员的管理对象是服务器、用户和服务器的进程以及系统的各种资源。 23、网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的 中心。 24、当想删除本系统用不上的设备驱动程序时必须编译内核,当内核不支持系统上的 设备驱动程序时,必须对内核升级。 25、Ping 命令可以测试网络中本机系统是否能到达一台远程主机,所以常常用于测试网络 的连通性。 26、vi 编辑器具有三种工作模式:命令模式、底行模式和输入模式。 27、可以用ls –al 命令来观察文件的权限,每个文件的权限都用10 位表示,并分为四段, 其中第一段占 1 位,表示文件类型,第二段占 3 位,表示文件所有者对该文件的权限。 28、进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基 本状态为:运行态、就绪态和等待态(阻塞态)。 29、DNS实际上是分布在internet 上的主机信息的数据库,其作用是实现IP地址和主

vb大作业 实验报告

软件技术实验报告 学号2009300186 姓名赵佶男班级010109卓 越 大作业机房管理系统 课题基本目标要求: 1)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 2)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动 提前5分钟提示,待真正结束时即自动锁屏。 3)除上机课时安排以外,可以在机动时间段接受学生凭个人一卡通上机,且上机实施计时自动收费(即扣除学生一卡通上因上机而应缴 纳的上机服务费) 4)在接受零散学生付费上机时,可自动为其分配空闲机器并授权使用,在分配机器时应考虑机器的使用情况分布均匀,即每次分配机器是 前一时段未曾使用的机器,当学生一卡通上的余额,不足以支付1 小时上机服务费时,应提示其下机充值,并实施锁屏。 实验步骤: 首先,根据大作业的要求,我建立了机器表,流水表,学生基本情况表,上课表,以及一卡通表五个数据库表。机器表用来按照使用情况,选择空闲时间最长的机器。流水表用来记录现在机器以及人员使用的情况,是个

动态表,用来方便的取用和修改数据。学生基本情况表用来存放学生的学号,密码,班级等基本情况,以实现学生上课登录和自由登录。上课表存放各个班级的上课下课时间,以实现排课功能。一卡通表记录了每个学生一卡通内的金额,用来帮助实现上下机的扣费,以及余额不够支付一小时时间情况下得强制下机。 然后,我进行了窗体的设计。经过筛选优化,我设计了五个窗体,分别是主选择窗体,注册窗体,登录窗体,上课安排窗体,实时计费和下机窗体。 主选择窗体可以用来进行上课登录、学生自由登录、管理员登录和机器的推荐。注册窗体是用来进行学生登录密码的注册。登录窗体限制学生的学号和密码必须匹配才能登录。上课安排窗体可以输入班号、上下课时间并选择星期值。实时计费和下机窗体用来扣费并方便学生随时下机。 接下来,要按照要求进行代码的编写。 A)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。 此功能我在排课窗体下用select选择出全体班级的上下课以及星期值,并将管理员希望的上下课时间转换为时间类型数值,进行循环比较,用do until 语句逐个比较,使得上下课时间点都不得在其他班级的上课时间段内。如果时间不冲突,就实施修改数据库的功能,并更新保存。 B)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动提前5分钟提示,待真正结束时即自动锁屏。 在主选择窗体内有上课登录按钮和自由登录按钮。点击上课登录,输入学

sql大作业实验报告

目录 第一章、需求分析 (2) 1 、需求概述 (2) 2 、功能简介 (2) 第二章、概念结构设计 (3) 1、在员工实体内的E-R图 (3) 2、部门实体内的E-R图 (3) 3、在工资实体内的E-R图 (3) 第三章、逻辑结构设计 (4) 第四章、物理结构设计 (4) 第五章、数据库的实施和维护 (5) 一、数据库的创建 (5) 二、表格的建立 (5) 1、建立Employsse表插入数据并设计相关的完整性约束 (5) 2、建立departments表插入数据并设计相关的完整性约束 (7) 3、建立 salary表插入数据并设计相关的完整性约束 (8) 三、建立视图 (9) 四、建立触发器 (10) 五、建立自定义函数 (12) 六、建立存储过程 (13) 第六章、总结 (14)

第一章、需求分析 1 、需求概述 针对现代化公司管理情况,员工管理工作是公司运行中的一个重环节,是整个公司管理的核心和基础。它的内容对于公司的决策者和管理者来说都至关重要,所以公司管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件工籍,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 公司员工管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。 能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。 具体功能包括:系统应该提供员工数据的插入、删除、更新、查询;员工基本信息查询的功能。 2 、功能简介 员工管理系统它可以有效的管理员工信息情况。具体功能有以下几个方面。基本信息的添加,修改,删除和查询。学生信息管理包括添加、查看学生列表等功能。

UML大作业实验报告

UML 建模大作业实验报告 组号:选题名:E-store 网上书店系统小组成员

.1.需求模型 从用户角度描述系统功能的用例 登录 (from Use Case View) .J 八. 修改 (from Use Case View) 个人信息维护 (from Use Case View) 从系统管理员角度描述系统功能的用例 (from Use Case View) 补充 注册 选购 (from Use Case View) * II f (from Use Case View) f 令查看 图书浏览 (from Use Case View) II 7 ------- 亠 '收藏夹维护 (from Use Case View) ' (from Use Case View) 游客 会员 (from Use Case View) (from Use Case View) 购物车管理 添加 I (from Use Case View), (from Use Case View) 图书查询 (from Use Case View) ■订单维护 (from Use Case View) 删除 (from Use Case View) 结账 (from Use Case View) 订单状态查询 (from Use Case View) 缺书登记 (from Use Case View) 一 一' 意见反馈 (from Use Case View)

■分配权限 管理员(from Use Case View) 添加人员(from Use Case View) (from Use Case View) 后台用户管理 ---- 弋 (from Use Case View) ■ > ^,X**(from Use Case View) (from Use Case View) 折扣管理 Z I 身份验证 (from Use Case View) ? 、 销售管理 (from Use Case View) 二d ____ - \图书管理 \ h - ■■■ ■ (from Use Case View) .辿—-- 网站用户管理 V (from Use Case View) 订货管理 (from Use Case View) 查看人员 (from Use Case View) 查看意见反馈 (from Use Case View) 2.分析模型 2.1.架构模型 (from Use Case View) r梟—_ ■<- ■- V 删除 '■ (from Use Case View) 辽二询 (from Use Case View) / 统计 (from Use Case View) 订货通知 (from Use Case View) ,沖后台数据库 (from Use Case View) / (from Use Case View) 服务商 (from Use Case View)

Linux程序设计报告

Linux程序设计课程设计 Linux程序设计课程组 长春工业大学 2017-12-24

课程设计任务书

目录 第1章设计要求 (1) 2.1设计目的 (1) 2.2设计要求 (1) 第2章测试数据设计 (2) 第3章算法实现 (3) 第4章算法结果 (19) 第5章结果可视化 (21) 第6章性能分析 (21) 参考文献 (22) 心得 (22)

第1章设计要求 2.1设计目的 理解临界区和进程互斥的概念,掌握用信号量和PV操作实现进程互斥的方法。 2.2设计要求 在linux环境下编写应用程序,该程序运行时能创建N个线程,其中既有读者线程又有写者线程,它们按照事先设计好的测试数据进行读写操作。 读者/写者问题描述如下: 有一个被许多进程共享的数据区,这个数据区可以是一个文件,或者主存的一块空间,甚至可以是一组处理器寄存器。有一些只读取这个数据区的线程(reader)和一些只往数据区中写数据的线程(writer)。以下假设共享数据区是文件。这些读者和写者对数据区的操作必须满足以下条件:读—读允许;读—写互斥;写—写互斥。这些条件具体来说就是: (1)任意多的读线程可以同时读这个文件; (2)一次只允许一个写线程往文件中写; (3)如果一个写线程正在往文件中写,禁止任何读线程或写线程访问文件; (4)写线程执行写操作前,应让已有的写者或读者全部退出。这说明当有读者在读文件时不允许写者写文件。 对于读者-写者问题,有三种解决方法: 1、读者优先 除了上述四个规则外,还增加读者优先的规定,当有读者在读文件时,对随后到达的读者和写者,要首先满足读者,阻塞写者。这说明只要有一个读者活跃,那么随后而来的读者都将被允许访问文件,从而导致写者长时间等待,甚至有可能出现写者被饿死的情况。 2、写者优先 除了上述四个规则外,还增加写者优先的规定,即当有读者和写者同时等待时,首先满足写者。当一个写者声明想写文件时,不允许新的读者再访问文件。 3、无优先 除了上述四个规则外,不再规定读写的优先权,谁先等待谁就先使用文件。

Java程序设计大作业实验报告

目录 一、前言 (2) 二、需求分析 (3) 三、系统总体设计 (3) 3.1系统总体设计系统思路 (3) 3.2数据库设计 (4) 3.2.1 login1表的设计和数据 (4) 3.2.2 student表的设计和数据 (5) 3.2.3 course表的设计和数据 (5) 3.2.4 score表的设计和数据 (6) 3.3系统功能模块设计 (6) 四、系统详细设计 (7) 4.1登录模块 (7) 4.2 学生模块 (7) 4.3 教师模块 (8) 4.4 管理员模块 (8) 五、系统测试及运行结果 (9) 5.1 主界面 (9) 5.2 学生管理中心界面 (9) 5.3 教师管理中心界面 (10) 5.4 管理员管理中心界面 (10) 5.5 查询课表界面 (11) 5.6 查询成绩界面 (11) 5.7 查询教学情况界面 (11) 5.8 查询所有学生成绩界面 (12) 5.9 学生信息管理界面 (12) 5.10 学生成绩管理界面 (13) 5.11 用户管理界面 (13) 六、实验总结 (14) 七、参考文献 (14)

一、前言 随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。 本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。

c++大作业学生实验报告

学生实验报告 实验课名称: C++程序设计 实验项目名称:综合大作业——学生成绩管理系统专业名称:电子信息工程 班级: 学号: 学生: 同组成员: 教师:

2011 年 6 月 23 日 题目:学生成绩管理系统 一、实验目的: (1)对C++语法、基础知识进行综合的复习。 (2)对C++语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力,增强学生的自信心,提高学生学习专业课程的兴趣。 (3)熟悉掌握C++的语法和面向对象程序设计方法。 (4)培养学生的逻辑思维能力,编程能力和程序调试能力以及工程项目分析和管理能力。 二、设计任务与要求: (1)只能使用/C++语言,源程序要有适当的注释,使程序容易阅读。 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好)。 (3)要求划分功能模块,各个功能分别使用函数来完成。 三、系统需求分析: 1.需求分析: 为了解决学生成绩管理过程中的一些简单问题,方便对学生成绩的管理 (录入,输出,查找,增加,删除,修改。) 系统功能分析: (1):学生成绩的基本信息:学号、、性别、C++成绩、数学成绩、英语成绩、 总分。 (2):具有录入信息、输出信息、查找信息、增加信息、删除信息、修改信息、 排序等功能。 2.系统功能模块(要求介绍各功能) (1)录入信息(Input):录入学生的信息。 (2)输出信息(Print):输出新录入的学生信息。 (3)查找信息(Find):查找已录入的学生信息。 (4)增加信息(Add):增加学生信息。 (5)删除信息(Remove):在查找到所要删除的学生成绩信息后进行删除并输出删除后其余信息。 (6)修改信息(Modify):在查到所要修改的学生信息后重新输入新的学生信息从而进行修改,然后输出修改后的所有信息。 (7)排序(Sort):按照学生学号进行排序。 3.模块功能框架图

浙江大学Linux程序设计实验报告

Linux程序设计实验报告1 ——操作系统基本命令使用 一、实验目的 1.通过对Emacs、vi、vim、gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法; 2.通过对常用命令mkdir、cp、cd、ls、mv、chmod、rm等文件命令的操作,掌握Linux操作系统中文件命令的用法。 二、实验任务与要求 1.emacs的使用,要求能新建、编辑、保存一个文本文件 2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 3.gedit的使用,要求能新建、编辑、保存一个文本文件 4.掌握mkdir、cd命令的操作,要求能建立目录、进入与退出目录 5.掌握cp、ls、mv、chmod、rm命令的操作,要求能拷贝文件、新建文件、查看文件、文件重命名、删除文件等操作。 三、实验工具与准备 计算机PC机,Linux Redhat Fedora Core6操作系统 四、实验步骤与操作指导 任务1.学习emacs的使用,要求能新建、编辑、保存一个文本文件 (1)启动emacs (2)输入以下C程序 (3)保存文件为kk.c (4)用emacs打开文件kk.c (5)修改程序 (6)另存为文件aa.txt并退出。 任务2.vi或vim的使用,要求能新建、编辑、保存一个文本文件 (1)点击”应用程序”→ “附件”→“终端”,打开终端,在终端输入命令: [root@localhost root]#vi kk.c 按i键,进入插入状态。 (2)输入以下C程序 #include int main( ) {

printf(“Hello world!\n”); return 0; } 此时可以用Backspace、→、←、↑、↓键编辑文本。 (3)保存文件为kk.c 按Esc键,进入最后行状态,在最后行状态输入:wq保存文件,退出vi。 (4)用vi打开文件kk.c,输入命令: [root@localhost root]#vi kk.c (5)修改程序为: #include int main( ) { printf(" Hello world!\n"); printf("*****************\n"); return 0; } (6)按Esc键,进入最后行状态,在最后行状态输入:wq aa.txt保存文件,如图1所示,另存为文件aa.txt并退出vi。。 图1 程序编辑环境 任务3.gedit的使用,要求能新建、编辑、保存一个文本文件 (1)启动gedit,点击”应用程序”→ “附件”→“文本编辑器”,打开文本编辑器,如图所示。

虚拟仪器大作业实验报告

东南大学生物科学与医学工程学院 虚拟仪器实验报告 大作业 实验名称:基于MIT-BIH心率失常数据库的心电信号系统的设计专业:生物医学工程 姓名:学号: 同组人员:学号: 实验室: 综合楼716 实验时间:2013/11/28 评定成绩:审阅教师:

目录 一.实验目的 二.实验内容 基于MIT-BIH心率失常数据库的心电信号系统的设计 1.实验要求和说明 2.程序设计流程图 3.程序各版块介绍说明 4.前面板的设计 5.调试过程 6.结果及分析 三.实验收获及小结 四.参考文献

一.实验目的 现代医学表明,心电信号(ECG)含有临床诊断心血管疾病的大量信息,ECG的检测与分析在临床诊断中具有重要价值,是了解心脏的功能与状况、辅助诊断心血管疾病、评估各种治疗方法有效性的重要手段。 本次大作业利用具有直观图形化编程和强大数字信号处理功能的虚拟仪器编程语言LabVIEW作为开发平台,设计一个基于虚拟仪器的简单心电信号分析系统,该系统具有心电信号的读取,处理分析,波形显示、心率显示及报警,波形存储和回放等功能。 二.实验内容 1.实验内容及要求 基于MIT-BIH心率失常数据库的心电信号系统的设计 1. 本次大作业所用原始信号是从MIT-BIH(Massachusettes Institute of and Beth Israel Hospital,美国麻省理工学院和波士顿贝丝以色列医院)心率数据库(https://www.doczj.com/doc/d915244991.html,/physiobank/database/mitdb/)中选取心电信号作为实验分析的数据。设计的系统要求对原始心电信号进行读取、绘制出其时域波形,利用原始心电数据中的时间数据控制显示时间,并具有保存回放功能,同时具有心率过快或过缓报警提示功能。 2. 心电信号是微弱低频生理电信号,通常频率在0.05Hz~100Hz,幅值不超过 4mV,它通过安装在皮肤表面的电极来拾取。由于实际检测工况的非理想,在ECG 信号的采集过程中往往会受到工频噪声及电极极化等各种随机噪声的影响。噪声的存在降低了诊断的准确性。其中影响最大的是工频干扰和基线漂移噪声。因此,在ECG 信号检测过程中,如何抑制工频干扰和基线漂移等是必须解决的问题。要求选择并设计合适的滤波器,除去所给心电信号的工频干扰和基线漂移。 3. 检测心率:检测信号心电的R波,计算平均心率和实时心率(R-R波时间间隔 的倒数),并显示实时心率和平均心率。 4. 对任一路心电信号滤波前后的信号进行时域分析和频谱分析,分别显示出结 果。

《数字逻辑电路》期末大作业实验报告

大连外国语大学软件学院 1数字逻辑电路概述 数字逻辑是数字电路逻辑设计的简称,其内容是应用数字电路进行数字系统逻辑设计。电子数字计算机是由具有各种逻辑功能的逻辑部件组成的,这些逻辑部件按其结构可分为组合逻辑电路和时序逻辑电路。组合逻辑电路是由与门、或门和非门等门电路组合形成的逻辑电路;时序逻辑电路是由触发器和门电路组成的具有记忆能力的逻辑电路。有了组合逻辑电路和时序逻辑电路,再进行合理的设计和安排,就可以表示和实现布尔代数的基本运算。 数字逻辑电路有易于集成、传输质量高、有运算和逻辑推理能力等优点,因此被广泛用于计算机、自动控制、通信、测量等领域。一般家电产品中,如定时器、告警器、控制器、电子钟表、电子玩具等都要用数字逻辑电路。 (阐述数字逻辑的现状、目的、意义、功能、方法及作用)2第一种数字逻辑电路 方法原理及功能 数据选择器又称为多路开关,是一种重要的组合逻辑器件,它可以实现从多路数据中选择任何一路数据输出,选择的控制由专门的端口编码决定,称为地址码,数据选择器可以完成很多的逻辑功能,例如函数发生器、桶形移位器、并串转换器、波形产生器等。 1、与非门实现二选一数据选择器: 用一种74SL153及门电路设计实现一位全加器,输入用三个单刀双掷开关分别代表A、B、C,输出用两个指示灯分别代表L1、L1。 设计过程与结果(描述方法的操作过程和结果,配截图详细介绍) 在元件库中单击TTL,再单击74LS系列,选中74LS153D。

仿真结果实际结果 L 1 亮单独打开开关A,B,C时; L1灯泡亮 L 2 亮任意打开两个开关; 灯泡L2亮

L 1 和 L 2 都 亮 同时打开开关A,B,C时; 灯泡L1,L2同时亮。 心得体会 经过许多次的失败,在不断尝试中选择一个适合的方式去解决问题,加强对电路的 理解。通过该实验可以培养我们的动手能力和对数字电路的理解。经检验,符合真值表, 达到数据选择的作用。74ls153为双四选一数据选择器,几多一个非门和或门可以组成 数据比较器。能更好的掌握相关芯片的知识,了解其用途。 失败电路一: 失败电路二:

车牌识别综合实验报告大作业

数字图像处理综合实验报告 车牌识别技术(LPR) 组长:__ ******_____ 组员:___ _****** _ ___ _******_____ ____ _*******___ 指导老师:___ *******_____ *****学院****学院 2010年6月10日

实验五车牌识别技术(LPR) 一、实验目的 1、了解车牌识别系统的实现,及车牌识别系统的应用; 2、了解并掌握车牌识别系统如何实现。 二、实验内容 1、车牌识别系统的图像预处理、 2、车牌定位、 3、字符分割 4、字符识别 三、实验原理 车辆牌照识别(LPR)系统是一个专用的计算机视觉系统,它能够自动地摄取车辆图像和识别车牌号码,可应用在公路自动收费、停车场管理、失窃车辆侦察、门卫系统、智能交通系统等不同场合。LPR系统的广泛应用将有助于加快我国交通管理自动化的进程。 1、预处理 摄像时的光照条件,牌照的整洁程度,摄像机的状态(焦距,角度和镜头的光学畸变),以及车速的不稳定等因素都会不同程度的影响图像效果,出现图像模糊,歪斜或缺损,车牌字符边界模糊不清,细节不清,笔画断开,粗细不均等现象,从而影响车牌区域的分割与字符识别的工作,所以识别之前要进行预处理。预处理的包括: 1)消除模糊—— 用逆滤波处理消除匀速运动造成的图像运动模糊 2)图像去噪。 通常得到的汽车图像会有一些污点,椒盐噪声,应用中值滤波 3)图像增强 自然光照度的昼夜变化会引起图像对比度的不足,所以必须图像增强,可以采用灰度拉伸,直方图均衡等 通过以上处理,提高了图像的质量,强化了图像区域。

2、车牌定位 自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。 ? 图像的灰度化 ? 图像灰度拉伸 ? 对图像进行边缘检测 采用Sobel 算子经行边缘检测 该算子包含两组3*3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A 代表原始图像,Gx 及Gy 分别代表经横向及纵向边缘检测的图像,其公式如下: A Gx *]101202101?????+-+-+-?????= and A *121000121Gy ?? ?? ? ---+++?????= 图像的每一个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。 2 y 2 x G G G += 然后可用以下公式计算梯度方向。 ??? ? ??=x y G G arctan θ 在以上例子中,如果以上的角度θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。 ? 对其进行二值化 ? 纹理分析法 行扫描行法是利用了车牌的连续特性。车牌区域有连续7个字符,而且字符与字符之间的距离在一定范围内。定义从目标到背景或者从背景到目标为一个跳变。牌照区域相对于其它非车牌区域跳变多,而且间距在定范围内和跳变次数大于一定次数,并且连续满足上述要求的行要达到一定的数目。 从下到上的顺序扫描,对图像的每一行进行从左向右的扫描,碰到跳变点记录下当前位置,如果某行连续20个跳变点以上,并且前一个跳变点和后一个跳变点的距离在30个像素内,就记录下起始点和终止点位置,如果连续有10行以上这样的跳变点,我们就认为该区域就是车牌预选区域。 3、字符分割: 完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。 ? 车牌区域灰度二值化

Linux程序设计模式(机制与策略)

Linux程序设计模式—机制与策略 什么是设计模式(Design pattern)? 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、软件设计经验的总结。使用设计模式是为了提高代码或模块的重用、让程序更容易被他人理解、提高代码可靠性和可维护性。同时,通过学习设计模式可以降低解决一般性问题的开发难度。 Linux程序设计模式的起源和发展 Linux程序的设计模式起源于Unix文化,是Unix哲学的重要组成部分,而Linux本身就是Unix的一个发展分支。Unix哲学说来不算是一种正规设计方法,它是自下而上的,而不是自上而下的。Unix哲学注重实效,立足于丰富的经验。你不会在正规方法学和标准中找到它,它更接近于隐性的半本能的知识,即Unix文化所传播的专业经验。它鼓励那种分清轻重缓急的感觉,以及怀疑一切的态度,并鼓励你以幽默达观的态度对待这些。 什么是Unix哲学? Unix管道的发明人、Unix传统的奠基人之一Doug McIlroy在[McIlroy78]中曾经说过: I. 让每个程序就做好一件事。如果有新任务,就重新开始,不要往原程序中加入新功能而搞得复杂。 II. 假定每个程序的输出都会成为另一个程序的输入,哪怕那个程序还是未知的。输出中不要有无关的信息干扰。避免使用严格的分栏格式和二进制格式输入。不要坚持使用交互式输入。 III. 尽可能早地将设计和编译的软件投入试用, 哪怕是操作系统也不例外,理想情况下, 应该是在几星期内。对拙劣的代码别犹豫,扔掉重写。 IV. 优先使用工具而不是拙劣的帮助来减轻编程任务的负担。工欲善其事,必先利其器。后来他这样总结道(引自《Unix的四分之一世纪》): Unix哲学是这样的:一个程序只做一件事,并做好。程序要能协作。程序要能处理文本流,因为这是最通用的接口。 从整体上来说,可以概括为以下几点: 01.模块原则:使用简洁的接口拼合简单的部件。 02.清晰原则:清晰胜于机巧。 03.组合原则:设计时考虑拼接组合。 04.分离原则:策略同机制分离,接口同引擎分离。 05.简洁原则:设计要简洁,复杂度能低则低。 06.吝啬原则:除非确无它法,不要编写庞大的程序。 07.透明性原则:设计要可见,以便审查和调试。 08.健壮原则:健壮源于透明与简洁。 09.表示原则:把知识叠入数据以求逻辑质朴而健壮。 10.通俗原则:接口设计避免标新立异。 11.缄默原则:如果一个程序没什么好说的,就沉默。 12.补救原则:出现异常时,马上退出并给出足够错误信息。 13.经济原则:宁花机器一分,不花程序员一秒。 14.生成原则:避免手工hack,尽量编写程序去生成程序。 15.优化原则:雕琢前先要有原型,跑之前先学会走。 16.多样原则:决不相信所谓“不二法门”的断言。 17.扩展原则:设计着眼未来,未来总比预想来得快。 给大家推荐一本书《UNIX 编程艺术》————这不是一本讲如何编程的书,而是一本讲UNIX设计哲学的书,当然也适应于Linux。这本书是我来威胜工作后,同事们推荐我读的第二

C--大作业图书管理系统实验报告

附件1: 《面向对象程序设计》 大作业 题学专班姓目 院 业 级 名 学生成绩管理系统 文法学院 教育学 教育学1201 杨欣 指导教师鄢红国 2013 年12 月20 日学号:0121213640126

目录 一二三四五六七八十设计目的 (1) 大作业的内容 (2) 大作业的要求与数据 (3) 大作业应完成的工作 (4) 总体设计(包含几大功能模块) (5) 详细设计(各功能模块的具体实现算法——流程图) (6) 调试分析(包含各模块的测试用例,及测试结果) (7) 总结 (8) 参考资料 (9)

一二 大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 大作业的内容 对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数等) 进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出.将图书的信息进行记录,信息内容包含:(1)图书的编号(2)图书的书名(3)图书的库存量。假设,现收集到了一个图书馆的所有图书信息,要求用C语言编写一个简单的图书管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C语言实现系统; 2、对图书信息(包括编号、书名、总入库数量、当前库存量、已借出本数)进行管理,包括图书信息的输入、输出、查询、删除、排序、统计、退出. 3、图书信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够 完成以下功能: (1)每一条记录包括一本图书的编号、书名、库存量 (2)图书信息录入功能:(图书信息用文件保存,可以一次完成若干条记录 的输入。) (3)图书信息显示浏览功能:完成全部图书记录的显示。 (4)查询功能:完成按书名查找图书记录,并显示。 (5)图书信息的删除:按编号进行图书某图书的库存量. (6)借书登记系统:可以输入读者编号和所借书号来借书。 (7)还书管理系统:可以输入读者编号和所借书号来还书。 (8)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应 尽可能清晰美观!

python大作业实验报告

大学计算机基础 (理工)大作业 ――暨南大学南校区生活指南系统 G108 甘颖欣熊梦娜翁婉晖梁绮婷李嘉顺 2015-1-3 目录目录 (2)

“暨南大学南校区生活指南系统”选题说明书 (3) 1. .............................................................................................................................................................. 成员分组和任务分工 .. (3) 2. .............................................................................................................................................................. 选题说明3 2.1 选题任务描述 (3) 2.2 设计思路描述 (4) 2.3 程序运行效果........................................................ . (4) 2.4 涵盖的主要知识点 (4) 3. .............................................................................................................................................................. 进度安排4“暨南大学南校区生活指南系统”实现报告. (5) 1. 成员分组和任务分工 (5) 2. .............................................................................................................................................................. 设计实现详细说明 . (5) 2.1 选题任务详细描述 (5) 2.2 设计思路详细描述 (6) 2.3 涵盖的主要知识点 (12) 3. 总结 (12)

Linux程序设计考试例题

例题1程序A生成1个文件,其大小为1000字节,其内容为小写字母abcd...z的循环。试编写该程序。 文件名t 1.c #include #include int main(){char x; int i; int fd=open("aa",O_CREAT|O_TRUNC|O_WRONLY,0666); if(fd<0){printf("open file error!\r\n");exit (0);}; for(i=0;i<1000;i++){x='a'+(i%26); write(fd,&x,1);}close(fd);}例题2读出一个文件a.txt的倒数第2个字节和倒数第1个字节,显示在屏幕上。并且显示出当前时间。 文件名t 2.c #include #include #include int main(){char x[2]; int fd=open("a.txt",O_RDONLY); if(fd<0){printf("open file error!\r\n");exit

lseek(fd,-3,SEEK_END); read(fd,x,2); printf("倒数第二和第一字节为%c%c\r\n",x[0],x[1]); close(fd); time_t t; time(&t); printf("当前时间: %s",asctime(localtime(&t)));}例题3产生一个进程树父进程有3个子进程,这三个子进程分别有2个子进程。每个进程退出前打印自己的进程id号 文件名t 3.c #include #include int main(){int ret,i; for(i=0;i<3;i++){ret=fork(); if(ret==0)break;}if(ret==0) for(i=0;i<2;i++){ret=fork(); if(ret==0)break;}sleep (10); printf("thread %d is exiting now \r\n",getpid());}测试方法: 在另一窗口

微机大作业实验报告 (1)

微机技术综合实验课程报告题目交通灯控制设计 学生姓名李松阳张磊 学号20111336065/68 院系信息与控制学院 专业自动化 指导教师陈逸菲 二OO一三年十二月二十七日

目录 交通灯控制设计--------------------------------------------------------------1 预期功能------------------------------------------------------------------------------------------------------1 设计方案------------------------------------------------------------------------------------------------------1 硬件电路设计------------------------------------------------------------------------------------------------2 软件设计------------------------------------------------------------------------------------------------------2 仿真结果------------------------------------------------------------------------------------------------------6 小结------------------------------------------------------------------------------------------------------------8 参考文献------------------------------------------------------------------------------------------------------8

大作业任务实验报告

武汉轻工大学2013-2014学年第 2学期《大型数据库应用》 期末考核报告 专业:信息管理与信息系统 班级:信管(2)班 学号:110502221 姓名:金楚然

2013-2014年度第二学期 《大型数据库应用》期末考核任务 1.任务内容 1.1以自己的学号为用户名建立用户; 1.2 完成以下数据库文件的创建工作: (1)创建一个永久性的表空间TEST,表空间采用自动分区管理方式,其对应的数据文件名称为USERTEST.DBF,大小为50M,并将该表空间设置为数据库默认的表空间。CREATE TABLESPACE TEST DATAFILE 'F:\app\wanglu\oradata\orcl\USERTEST.DBF' SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; ALTER DATABASE DEFAULT TABLESPACE TEST; (2)为数据库添加一个重做日志文件组,组内包含三个成员文件,成员文件的大小为3M。ALTER DATABASE ADD LOGFILE GROUP 5 ('F:\app\wanglu\oradata\orcl\redo05a.log', 'F:\app\wanglu\oradata\orcl\redo05b.log', 'F:\app\wanglu\oradata\orcl\redo05c.log'

)SIZE 5M; 1.3使用SQL语言创建下列关系表: ( CONNECT S110502221/S110502221; CREATE TABLE CHOICE ( S_NO V ARCHAR(10) NOT NULL , COURSE_NO V ARCHAR(10) NOT NULL, SCORE NUMBER(2) , PRIMARY KEY(S_NO,COURSE_NO) ); (2)CLASS表(班级表) CREATE TABLE CLASS ( CLASS_NO V ARCHAR(10) PRIMARY KEY ,

Linux程序设计2018年度-2018年度期末试地的题目部分问题详解小东编辑

兰州商学院2011-2012学年第二学期期末考试 Linux 程序设计 试卷A 一、单项选择题(每小题1分,共计20分) 1. Linux 在确定文件名filename 是否代表目录文件时,依据( C )。 A. 由程序员指定 B. filename 是否位于/etc 目录中 C. 该文件i 结点中的类型信息 D. filename 中的扩展名 2. 在进程p1中用系统函数execvp 执行程序p2,则( D )。 A. p1创建一个子进程执行p2 B. p2结束后返回prog1继续执行 C. p1和p2并行执行 D. p2将替换掉prog1的代码 3. 进程调用wait 将被阻塞,直到( D )。 A. 用户按任意键 B. 收到时钟信号 C. 子进程被创建 D . 子进程结束

4. Shell脚本中的注释用( C )标记。 A. // B. /*…*/ C. # D. * 5. head命令用于( B )。 A. 显示文件的前10行 B. 显示C语言头文件 C. 显示目录的前10行 D. 显示 6. bind调用用于( A )。 A. 为socket分配地址 B. 客户端与服务器连接 C. 接收socket上的连接 D. 监听socket上的连接 7. 一个进程收到SIGCHILD信号,表示( B )。 A. 创建子进程成功 B. 创建子进程失败 C. 子进程结束 D. 子进程开始运行 8. 当客户端用GET命令请求某文件时,Web服务器用返回码( B )表示没有该文件。 A. 200 B. 404 C. 8080. ②exit(0) 9. 删除命名管道的系统调用是( A )。 A. unlink B. close C. fcolse D. dup2 10. 设可能有多个线程调用pthread_cond_wait(&buf_empty, &lock)后等待条件变量 buf_empty,当某线程pt1调用pthread_cond_signal(&buf_empty)后,( B )。 A. 所有等待buf_empty的线程被唤醒 B. 有一个等待buf_empty的线程被唤醒

相关主题
文本预览
相关文档 最新文档