实验报告_实验3 指针(3)(1540707103_周家尧)

实验报告_实验3 指针(3)(1540707103_周家尧)
实验报告_实验3 指针(3)(1540707103_周家尧)

实验报告_实验3 指针(3)(1540707103_周家尧)

一、实验目的:

1、熟悉指针变量引用字符串的方法,掌握字符指针变量作函数参数的使用方法;

2、熟悉函数指针的基本用法:

3、熟悉指针数组的基本用法和字符串的排序算法;

4、能够用指针解决一些实际问题。

二、实验内容

1、(基础题)以下程序的功能是:在主函数中定义一个int型4行5列的数组并初始化,然后调用print_array()、change_values()来输出、修改数组元素的值,请根据题意填写所缺代码,再运行程序,体会数组元素的不同访问方法。程序运行结果如下所示:

填写所缺程序代码:

(1) :print_array(a, 4);

(2) :change_values(*a, 20);

(3) :print_array(a, 4);

//代码段1 :

for(i=0;i

*(p+i) = rand()%100+1;

//代码段2 :

for (i=0; i

{

for(j=0;j<5;j++)

printf("%d ",*(*(p+i)+j));

printf("\n");

}

2、(基础题)自己编写一个类似于strcat()的字符串连接函数,并在主函数中调用,输出连接后的内容。补充程序所缺代码,使程序运行输出如下所示结果:

填写所缺程序代码:

(1) :void my_strcat(char * str1,char * str2) ;

(2) :my_strcat(str, p);

//代码段:

while(*str1 != '\0')

str1++;

str1--;

while(*str2 != '\0')

{

*(++str1) = *str2;

str2++;

}

3、(基础题)函数指针的应用:sin(x)、cos(x)、tan(x)都是三角函数,形参、函数返回结果都是double类型,它们的声明、定义已包含在math.h中。请编写编程实现如下功能:根据输入的整数(1、2、3)分别调用sin(x)、cos(x)、tan(x),x的值也需要输入,请补充程序所缺代码:

填写所缺程序代码:

(1) :double (*p)(double z) = NULL;

(2) :fun(p, x, n);

//代码段:

if( n == 1 )

p = sin;

else if( n == 2)

p = cos;

else if( n == 3)

p = tan;

else

printf("输入的数据有误,不能调用任何函数!\n");

printf("x = %f, 结果= %f\n", x, p(x));

4、(基础题)指针数组的应用:学院现有10系2部,建立一个char型指针数组指向这些单位名称,之后用冒泡排序法排序,并输出排序后的单位名称,如下图所示:

填写所缺程序代码:

(1) :bubble_sort(dept,12);

(2) :print(dept, 12);

//代码段1 :

char str[30];

char *temp;

int i,j;

for (i=0;i<12;i++)

for(j=0;j<12-i-1;j++)

{

if(strcmp(name[j], name[j+1])>0)

{

temp = name[j];

name[j] = name[j+1];

name[j+1] = temp;

}

}

//代码段2 :

int i;

for(i=0;i

printf("%s\n", name[i]);

PHOTOSHOP实验报告

实验一 一,实验名称:黑白照片上色 二,实验目的:掌握Photoshop的基本上色操作技巧,三,实验内容(步骤和方法)及数据记录 ①导入第一张图片到PhotoShop中。 ②复制背景图层,并在背景副本上处理导入的图像。 ③使用魔棒工具抠出男军装

④调整色相,饱和度 ⑤如上述步骤依次抠出女装,皮肤,嘴唇,领章,五角星。再上色

四.实验总结: 1.PhotoShop是一款功能非常强大图像处理软件,我们在本次试验中所用 到的功能只不过是其所有功能的冰山一角,要想精通PhotoShop还需要漫长的学习和不断的实践。 2.使用图层可以很好地保护原图像和保存我们的修改效果,一般情况下不 建议直接在背景图层上直接修改图像。 3.对图片进行色阶、曲线、色彩平衡、亮度、对比度等的调整没有具体的 规范,一切以视觉上的美观为准。 4.图像处理是一项需要耐心和细心的工作。 实验二 一,实验名称:建立选区 二,实验目的:掌握Photoshop的基本抠图操作技巧,

三,实验内容(步骤和方法)及数据记录 ①导入第一张图片到PhotoShop中。 ②利用魔棒工具或快速选择工具抠出各个元素

③对花朵图层复制并用变形工具(快捷键ctrl+T)对花朵进行缩小 ④可加上白背景使图像更完整

四,实验总结: 通过这次的学习,我们懂得了基本抠图方法并明白抠图要注意细节来使图片更加真实。Photoshop的魔棒工具对颜色边界明显的图像抠图效果快又好,但是如果图像色彩相差不大,或者边缘不明显,应使用其他抠图方法。 一,实验名称:通道建立选区 二、实验目的 熟练PS通道用途,对图像进行细致抠图 三、实验具体操作过程 1、打开运行Photoshop软件,执行菜单:“文件”/“新建”(Ctrl+N),在弹出的“新建”对话框中,新建一个空白文件。文件规格为450*559. 2、单击左上角“文件”选项,选择素材库里的文件,

操作系统实验报告--实验一--进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5)); jincheng.rtime = 0;

ps实训报告总结优秀范文

ps实训报告总结优秀范文 ps实训报告总结优秀范文 篇一 一周的实训已经结束了,在这短短的一段时间内,发现了制作网页的确是个艰苦且繁琐的工作,也体会到了一些平常上课时所没有体会到的东西。多媒体制作综合实训是计算机应用技术专业结合图像处理与flash设计与制作这两门核心课程所教授实践的技能而开设的项目化综合实训。它是根据专业教学计划的要求,在教师指导下对学生进行的图像处理与flash动画相结合的网页多媒体制作的综合训练,培养学生综合运用理论知识分析和解决实际问题的能力,实现由理论知识向操作技能的转化,是对理论与实践教学效果的检验,也是对学生综合分析能力与独立工作能力的培养过程。 第一周是制作网页的效果图,包括其排版,颜色搭配,内容设计等。整个网页的制作都是靠自己的灵感来设计并发挥的。这需要我们相当大的创造能力和丰富的想象力。 在脑海里规划好整个网页的制作后就要开始对网页的制作做充分的准备了。其中必然会用到对之前ps课所学的知识,而在ps处理图片的效果时,会发现很多的原先掌握不好的知识在不知不觉中已经用的相当熟练了,但是在过程中,特别是一些比较难处理的图片要抠图或者处理成特殊效果实属不易。不仅要有相当大的耐心,也必须有相当的基础知识的掌握才行。而这次的实训课无疑是给自己一个很好

的锻炼机会了,不仅可以根据自己掌握的知识尽情发挥,而且还可以锻炼自己的耐心和创造力。 这次实训课的达到了很好的培养学生熟练使用photoshop图像处理软件的功能的能力,让我们能够进行图像抠图、处理和色彩修饰;能够通过对素材处理后合成图像;能够制作图像特效、纹理图案等;能够设计与绘制logo、图形等手绘作品;能够绘制背景、按钮、标题、导航栏等网页元素;能够完成网页广告、banner图像、网页界面的设计与制作;能够使用flash绘制编辑素材与制作原创场景元素;能够使用flash制作网站banner条动画;能够使用flash制作网站引导片头动画;能够使用flash制作各类网页特效动画; 而这些在平常的课上很难有那么好的机会接触到,平常的ps课程都知识针对某个效果进行特别的训练,而这种实训课使我们能够将所学的都应用到作品当中去,从我们制作的作品中,也很好的看到了哪些功能是所有人都掌握的,而哪些是比较薄弱的,这样我们也可以在看到自己与别人的作品中找到差距,找到自己的弱点,以便于以后的加强。 总体来说,通过这次实训课的学习,自己有了个很好的定位,也磨砺了自己的耐心,在制作的过程中也发现了自己的缺点,和别人的差距,自己所学的效果时能制作出来一些,但一旦失去了所谓的效果图,就没有了创造力,对自己所学的不知道如何能够用的恰当和灵活,在今后的日子里,需要努力加强自己在创造力和想象力方面的缺陷。也要在平时多练习加强自己知识方面的能力。很感谢这次实训的机会

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

操作系统实验报告三

课程实验报告 课程名称姓名实验名称实验目的及要求 实验3进程并发与同步 1、加深对进程概念的理解,区分进程并发执行与串行执行; 2、掌握进程并发执行的原理,理解进程并发执行的特点; 3、了解fork()系统调用的返回值,掌握用fork()创建进程的方法;熟悉wait、exit等系统调用; 4、能利用相应的系统调用实现进程树与进程间的同 步。 实 验操作系统:linux Un bu ntu 11.10 环 境实验工具:Vmware 实验内容 1、编写一C语言程序,实现在程序运行时通过系统调用fork()创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father ”,儿子进 程执行时屏幕显示“ I am son ",女儿进程执行时屏幕显示“ I am daughter ”。 要求多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。要求有运行结果截图与结果分析 2、连续4个fork()的进程家族树,family1-1.c 程序清单如下: #in clude main () { fork(); fork(); fork(); fork(); printf( A\n ”); } 请根据程序运行结果,画出进程家族树,并分析原 因。

3、 修改程序1,在父、子进程中分别使用 wait 、exit 等系统调用“实现”其同 步推进,父进程必须等待儿子进程与女儿进程结束, 才可以输出消息。 写出相应的同 步控制,并分析运行结果。 4、 创建一个子进程,并给它加载程序,其功能是调用键盘命令“ ls -I ”,已知 该键盘命令的路径与文件名为: /bin/ls 。父进程创建子进程, 并加载./child2 程序。 写出相应的程序代码并分析程序运行结果。 1、编写一 C 语言程序,实现在程序运行时通过系统调用 fork()创建两个子进 程,使父、子三进程并发执行,父亲进程执行时屏幕显示“ I am father ”, 儿子进程执行时屏幕显示“ I am son ”,女儿进程执行时屏幕显示“ I am daughter "。并且反复的测试,观察每一次的执行的顺序有什么不同 2、修改程序1,在父、子进程中分别使用 wait 、exit 等系统调用“实现”其同 步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。 4、创建一个子进程,并给它加载程序,其功能是调用键盘命令“ ls -I ”,已知 该键盘命令的路径与文件名为: /bin/ls 。父进程创建子进程, 并加载./child2 程序。 法 描 述 及 实 验 步 骤 调 试过 程及实 验结果

实时操作系统报告

实时操作系统课程实验报告 专业:通信1001 学号:3100601025 姓名:陈治州 完成时间:2013年6月11日

实验简易电饭煲的模拟 一.实验目的: 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,基于多任务的模式的编程方法。锻炼综合应用多任务机制,任务间的通信机制,内存管理等的能力。 二.实验要求: 1.按“S”开机,系统进入待机状态,时间区域显示当前北京时间,默认模式“煮饭”; 2.按“C”选择模式,即在“煮饭”、“煮粥”和“煮面”模式中循环选择; 3.按“B”开始执行模式命令,“开始”状态选中,时间区域开始倒计时,倒计时完成后进入“保温”状态,同时该状态显示选中,时间区域显示保温时间; 4.按“Q”取消当前工作状态,系统进入待机状态,时间区域显示北京时间,模式为当前模式; 5.按“X”退出系统,时间区域不显示。 6.煮饭时长为30,煮粥时长为50,煮面时长为40. 三.实验设计: 1.设计思路: 以老师所给的五个程序为基础,看懂每个实验之后,对borlandc的操作有了大概的认识,重点以第五个实验Task_EX为框架,利用其中界面显示与按键扫描以及做出相应的响应,对应实现此次实验所需要的功能。 本次实验分为界面显示、按键查询与响应、切换功能、时钟显示与倒计时模块,综合在一起实验所需功能。 2.模块划分图: (1)界面显示: Main() Taskstart() Taskstartdispinit() 在TaskStartDispInit()函数中,使用PC_DispStr()函数画出界面。

(2)按键查询与响应: Main() Taskstart() 在TaskStart()函数中,用if (PC_GetKey(&key) == TRUE)判断是否有按键输入。然后根据key 的值,判断输入的按键是哪一个;在响应中用switch语句来执行对应按键的响应。 (3)切换功能: l计数“C”按 键的次数 M=l%3 Switch(m) M=0,1,2对应于煮饭,煮粥,煮面,然后使用PC_DispStr()函数在选择的选项前画上“@”指示,同时,在其余两项钱画上“”以“擦出”之前画下的“@”,注意l自增。 四.主要代码: #include "stdio.h" #include "includes.h" #include "time.h" #include "dos.h" #include "sys/types.h" #include "stdlib.h" #define TASK_STK_SIZE 512 #define N_TASKS 2 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; INT8U TaskData[N_TASKS];

操作系统实验报告三

课程实验报告

3、修改程序1,在父、子进程中分别使用wait、exit等系统调用“实现”其同步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。写出相应的同步控制,并分析运行结果。 4、创建一个子进程,并给它加载程序,其功能是调用键盘命令“ls -l”,已知该键盘命令的路径与文件名为:/bin/ls。父进程创建子进程,并加载./child2程序。写出相应的程序代码并分析程序运行结果。 算法描述及实验步骤 1、编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子进 程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”, 儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。并且反复的测试,观察每一次的执行的顺序有什么不同 2、修改程序1,在父、子进程中分别使用wait、exit等系统调用“实现”其同 步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。 4、创建一个子进程,并给它加载程序,其功能是调用键盘命令“ls -l”,已知该键盘命令的路径与文件名为:/bin/ls。父进程创建子进程,并加载./child2程序。 调试过程及实验结果

总结 1、实现在程序运行时通过系统调用fork( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。这一点需要注意。返回结果时,由于每一次的不确定性,所以要想得到比较具有说服性的,就必须经过多次的测试。 2、连续4个fork()的进程家族树在进行实验的时候可能会出现进程输出信息一直一样的情况,需要多次执行输出才有可能会看到输出结果不一样的情况

PS实验报告要点

西安邮电大学数字艺术学院 本科学生实验报告 姓名学院计算机学院 专业班级 实验课程名称 PS实验 试验时间 2014 年 5 月 29 日指导教师及职称雷子昂助教 实验成绩 开课时间 2013-2014 学年第 2 学期

具箱、控制面板、状态栏进行操作,了解其功能窗口;观察工具箱中选择不同的工具时对应的属性栏的变化; 3、Photoshop CS2预设功能操作;(Ctrl+k进入预设界面) 4、练习新建、打开、保存、关闭图像文件的基本操作; 5、练习画布大小调整、图象显示、前景色和背景色切换、变换图像的操作; 6、制作立体效果,要求有最终效果的截图。 实验二:PHOTOSHOPCS2图像处理常用工具练习 1、使用选框工具组,对图像文件中的部分图像进行选取操作,观察不同选框工具的操作效果; 2、使用魔棒工具、套索工具、移动工具完成水果拼盘效果; 3、使用填充工具、路径工具、画笔工具、文字工具完成广告制作; 4、使用各种修图工具修复照片; 实验三 PHOTOSHOPCS2图层的应用 1.图层面板基本操作 2.图层操作: 新建:使用面板上的新建按钮;Ctrl+Shift+N;使用文字工具时自动生成新图层;在两个文件中选择一个文件的某个图层拖动到另一个文件中自动生成新层;选择一个文件中的某个图层\复制图层\在对话框中选择目标层\确定。 删除:拖至图层面板的垃圾箱;鼠标右键;选择要删除图层,在图层面板右上角点击黑色箭头\删除图层。 更改图层名称:双击图层名称处;选择某图层\点击鼠标\图层属性\名称\确定。 调整图层顺序:用鼠标左键上下拖动;“Ctrl+[”和“Ctrl+]”下移或上移;“Ctrl+Shift+[”和“Ctrl+Shift+]”置底或置顶; 链接与合并:点击链接按钮,被链接的图层一起实现编辑操作。 图层混合模式:用于创建特效,默认混合模式为正常,混合指的是当前层与下一层的混合效果。 图层样式:用于为图像增加特效,双击图层缩略图或单击图层面板下方图层样式按钮打开对话框设置 实验四 PHOTOSHOPCS2路径的应用

操作系统实验报告 实验三

昆明理工大学信息工程与自动化学院学生实验报告 (2012 —2013 学年第二学期) 课程名称:操作系统开课实验室:信自楼445 2013 年 5 月 16 日 一、实验要求 对给定的一个页面走向序列,请分别用先进先出算法和二次机会算法,计算淘汰页面的顺序、缺页次数和缺页率,具体的页面走向可参考教材例题或习题。 二、实验目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。通过本次实验,要求学生通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解,通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。 三、实验原理及基本技术路线图(方框原理图) 用C或C++语言模拟实现请求式分页管理。要求实现:页表的数据结构、分页式内存空间的分配及回收(建议采用位图法)、地址重定位、页面置换算法(从FIFO,LRU,NRU中任选一种)。 提示:可先用动态申请的方式申请一大块空间,然后假设该空间为内存区域,对该空间进行

流程图:

数据结构定义: 我提供定义了两个类。第一个类就是页面类,在这类里面包括一些重要的数据成员。

有页号(page_no),页框号(frame_no),页面是否在内存的标志(flag(1表示在内存,0表示不在内存)),访问次数(times)。另一个类是进程控制块类PCB。类的数据成员有id(进程编号),name(进程名),size(进程大小),*p(页类指针)。在本类中,有一些成员函数:构造函数(用来初始化本类的所有数据),displayPCB(输出函数),convert(地址映射函数),allocation(分配函数),restore(回收函数)。另外还有一些类外的函数:initMemorySpace(初始化内存空间的函数),displayMemorySpace(输出内存空间的状态1(表示占用)0(表示空))。 四、所用仪器、材料(设备名称、型号、规格等)。 计算机一台 五、实验方法、步骤 程序代码: #include #include #include using namespace std; const int frame_size=1024;//页框长度,固定为 1k const int page_size=1024;//页面长度,固定为 1k const int memory_size=102400;//内存容量,固定为 100k const int frame_number=memory_size/frame_size;// 100k/1k=100 frames int *memory;//指针变量,用来存内存的状态1还是0。 void initMemorySpace()//初始化内存空间 { int i,ran,times; time_t t;//定义time_t对象 t t=time(0); srand(t);//随机改变每秒 times=0;//变量times初始化为0,变量的功能是检查内存空间是否有一半空了没。 memory=new int[frame_number];//申请内存空间,有frame_number 这么大的空间 for(i=0;i

photoshop实验报告

景德镇陶瓷学院设计艺术学院 实验报告 课程名称计算机辅导设计姓名陈泽宇学号201110113304 专业班级11装潢3班成绩教师魏文卿 实验项目名称Photoshop基础知识与基本操作、基本功能、高级功能、高级编辑技巧 实验学时: 1.Photoshop基础知识与基本操作8学时 2.基本功能16 学时 3.高级功能8 学时 4.高级编辑技巧16学时 5.综合设计8个学时 实验目的与要求:1.掌握不同选取工具的使用 2.掌握选区的功能和不同逻辑关系的设置 3.掌握图形绘制工具的使用 4. 掌握钢笔路径的绘制和编辑功能 5.掌握文字的创建和修改编辑 6.掌握图像颜色的调节7.掌握笔刷工具、渐变填充工具、变形工具8.掌握图层的设置、滤镜、通道、蒙版9.掌握高级编辑技巧,例如画笔和图案的设置、图层的高级应用、典型通道的应用 实验内容: 1.Photoshop的基本介绍、工作界面、菜单、控制面板、常用快捷键 2.Photoshop的工具箱、菜单命令、选项栏

3.Photoshop的导航器、标尺与参考线、网格 4.Photoshop的图形工具、自由绘画工具、对象的操作、文档的操作 5.Photoshop的图层编辑、图层混合模式、图层效果、图层样式 6.Photoshop的色彩的调整、矢量绘图、色彩的调整 7.Photoshop的填充渐变、图形的编辑、文字的编辑 8.Photoshop的滤镜、通道、蒙版的编辑以及一些高级编辑技巧 9.Photoshop的动作的设置、批处理、简易网络动画的制作 10.综合创意设计 小结在学习photoshop的过程中既有收获,又有不足之处。第一学习这门课程一定有耐心,其次要坚持不懈,要肯下功夫,但是自己有时真的不够耐心,有时稍微难些的图不会做就放下了,自己知道要学号ps就要不断地做,可能一次不行,第二次就可以了,但往往会耽搁掉了,复杂些就不去理它了。其实自己是比较喜欢photoshop的,原因是这软件实在是太厉害了,能化腐扭为神奇,所以平时都有认真听课,也掌握了一些制图的技巧。 在本实训中掌握了一些文字的特效处理,照片的处理和广告设计。主要涉及画笔的应用、抠图、滤镜、色阶、曲线、色彩的应用等。几乎很多例子都有应用这些方面的技巧的,所以一定要学号这方面的知识。学习photoshop单单只有理论是不行的,最重要的是要多实践,看十本书还不如亲手做一次,做不好也不要气馁,因为你从失败中得到了经验.有了经验你就会继续尝试做下去,试图掌握里面的每一个功能,熟悉每一个工具的运用。拿到每一个例子都要分析其中的每一个元素,需要用到什么工具,要在大脑里有个印象,这样做起来就会顺心多了。 现在学习photoshop通常都是按照书本上和老师的例子来做,要是离开了例子要自己创作,可能就有些困难。这就说明了自己缺少训练。其中要学好photoshop不但要懂技术,更要懂艺术和创意,加上思维要发散,才能做出好的作品。自己就是缺少对艺术和创意的造诣,所以有时拿到一些素材就会有种无从下手的感觉。 经过本次的实训练习,使我对photoshop的一些技巧有了一定的了解。实训一是文字特效处理,文字作为人类文化的重要组成部分,无论在何种视觉媒体中,文字和图片都是其两大构成要素,文字排列组合的好坏,直接影响着版面的视觉传达效果。因此,文字设计是增强视觉传达效果,提高作品的诉求力,赋予版面审美价值的一种重要构成技术。在文字特效处理中必须要掌握好以下7个方面:①提高文字的可读性②文字的位置应符合整体要求③在视觉上应给人以美感④在设计上要富于创造性⑤更复杂的应用⑥综合应用⑦精彩作品欣赏。实训二主要围绕背景处理,仿手绘效果,人物美容,上色,图片清晰处理,照片修复和照片特效来对图片的处理。图片处理要求高,必须要充分分析好图片的效果,针对不同的需要来对其加工,个人感觉要做到一副效果好的图片要不断练习,打好一定的基础才可以。实训三可以说是将前面所学到的知识用来制作,这需要有一定的扎实基础。 Photoshop是自己喜欢的一门课程,本人也很用心来学,不过就是有点懒,缺少训练,虽然平时都有上一些论坛和看一些ps的教程,但还是不够勤快,所以还不能熟练运用

嵌入式实时操作系统实验报告

嵌入式实时操作系统实验报告 任务间通信机制的建立 系别计算机与电子系 专业班级***** 学生姓名****** 指导教师 ****** 提交日期 2012 年 4 月 1 日

一、实验目的 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,任务使用信号量的一般原理。掌握在基于优先级的可抢占嵌入式实时操作系统的应用中,出现优先级反转现象的原理及解决优先级反转的策略——优先级继承的原理。 二、实验内容 1.建立并熟悉Borland C 编译及调试环境。 2.使用课本配套光盘中第五章的例程运行(例5-4,例5-5,例5-6),观察运行结果,掌握信号量的基本原理及使用方法,理解出现优先级反转现象的根本原因并提出解决方案。 3.试编写一个应用程序,采用计数器型信号量(初值为2),有3个用户任务需要此信号量,它们轮流使用此信号量,在同一时刻只有两个任务能使用信号量,当其中一个任务获得信号量时向屏幕打印“TASK N get the signal”。观察程序运行结果并记录。 4. 试编写一个应用程序实现例5-7的内容,即用优先级继承的方法解决优先级反转的问题,观察程序运行结果并记录。 5.在例5-8基础上修改程序增加一个任务HerTask,它和YouTask一样从邮箱Str_Box里取消息并打印出来,打印信息中增加任务标识,即由哪个任务打印的;MyTask发送消息改为当Times为5的倍数时才发送,HerTask接收消息采用无等待方式,如果邮箱为空,则输出“The mailbox is empty”, 观察程序运行结果并记录。 三、实验原理 1. 信号量 μC/OS-II中的信号量由两部分组成:一个是信号量的计数值,它是一个16位的无符号整数(0 到65,535之间);另一个是由等待该信号量的任务组成的等待任务表。用户要在OS_CFG.H中将OS_SEM_EN开关量常数置成1,这样μC/OS-II 才能支持信号量。

操作系统实验报告

实验报告 实验课程名称:操作系统 实验地点:南主楼七楼机房 2018—2019学年(一)学期 2018年 9月至 2019 年 1 月 专业: 班级: 学号: 姓名: 指导老师:刘一男

实验一 实验项目:分时系统模拟 实验学时:2实验日期: 2018-10-25 成绩: 实验目的利用程序设计语言模拟分时系统中多个进程按时间片轮转调度算法进行进程调度的过程; 假设有五个进程A,B,C,D,E,它们的到达时间及要求服务的时间分别为:进程名 A B C D E 到达时间0 1 2 3 4 服务时间 4 3 4 2 4 时间片大小为1,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。 执行过程并计算各进程的周转时间及带权周转时间。 轮转调度:BDACE

(1)修改时间片大小为2,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间。 轮转调度:ADBCE (2)修改时间片大小为4,利用程序模拟A,B,C,D,E五个进程按时间片轮转的调度及执行过程并计算各进程的周转时间及带权周转时间.

顺序:ABCDE 1、思考 时间片的大小对调度算法产生什么影响?对计算机的性能产生什么影响?答:通过对时间片轮转调度算法中进程最后一次执行时间片分配的优化,提出了一种改进的时间片轮转调度算法,该算法具有更好的实时性,同时减少了任务调度次数和进程切换次数,降低了系统开销,提升了CPU的运行效率,使操作系统的性能得到了一定的提高。 A B C D E 时间片为1 周转时间12 9 14 8 13 3 3 3.5 4 3.25 带权周转 时间 时间片为2 周转时间8 12 13 7 13 2 4 3.25 3.5 3.25 带权周转 时间 时间片为4 周转时间 4 6 9 10 13 1 2 2.25 5 3.25 带权周转 时间

Windows操作系统实验三实验报告

Windows操作系统C/C++ 程序实验 姓名:___________________ 学号:___________________ 班级:___________________ 院系:___________________ ______________年_____月_____日

实验三Windows 2000/xp线程同步 一、背景知识 二、实验目的 在本实验中,通过对事件和互斥体对象的了解,来加深对Windows 2000/xp线程同步的理解。 1) 回顾系统进程、线程的有关概念,加深对Windows 2000/xp线程的理解。 2) 了解事件和互斥体对象。 3) 通过分析实验程序,了解管理事件对象的API。 4) 了解在进程中如何使用事件对象。 5) 了解在进程中如何使用互斥体对象。 6) 了解父进程创建子进程的程序设计方法。 三、工具/准备工作 在开始本实验之前,请回顾教科书的相关内容。 您需要做以下准备: 1) 一台运行Windows 2000/xp Professional操作系统的计算机。 2) 计算机中需安装V isual C++ 6.0专业版或企业版。 四、实验内容与步骤 1. 事件对象 清单4-1程序展示了如何在进程间使用事件。父进程启动时,利用CreateEvent() API创建一个命名的、可共享的事件和子进程,然后等待子进程向事件发出信号并终止父进程。在创建时,子进程通过OpenEvent() API打开事件对象,调用SetEvent() API使其转化为已接受信号状态。两个进程在发出信号之后几乎立即终止。 步骤1:登录进入Windows 2000/xp Professional。 步骤2:在“开始”菜单中单击“程序”-“Microsoft V isual Studio 6.0”–“Microsoft V isual C++ 6.0”命令,进入V isual C++窗口。 步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-1.cpp。 步骤4:单击“Build”菜单中的“Compile 3-1.cpp”命令,并单击“是”按钮确认。系统

实时操作系统实验报告2

实时操作系统实验报告 专业:11通信工程 学号:20110306136 姓名: 王帅 指导老师:申屠浩

实验二 任务管理实验 实验目的: 1、理解任务管理的基本原理,了解任务的各个基本状态及其变迁过程; 2、掌握μC/OS -II 中任务管理的基本方法(挂起、解挂); 3、熟练使用μC/OS -II 任务管理的基本系统调用。 实验要求与思路: 为了体现任务的各个基本状态及其变迁过程,本实验设计了T0、T1和T3三个任务,它们交替运行,如图2-2所示。 T0 T1 T2 T3 T4 T5 T6 T7 T8 图2-2 注意: 图中的栅格并不代表严格的时间刻度,而仅仅表现各任务启动和执行的相对先后关系。 说明: 在系统完成初始化后,可以先创建并启动优先级最低的TaskStart ,由它创建其他3个应用任务T0、T1和T2,之后整个系 T0 T2 T1 T0 T1 T2 T1 T0

统的运行流程如下: 1)优先级最高的T0开始执行,之后T0挂起自己; 2)然后系统调度选中T1开始执行,之后T1挂起自己; 3)接着系统调度选中T2,之后唤醒T0; 4)如此循环 实现提示: 在启动任务中创建三个任务后,应挂起任务1和任务2。 在每个任务恢复其它任务并挂起自己之前,显示当前三个任务的状态,并延时1秒。 函数说明: void PC_GetDateTime (char *s); 获取"YYYY-MM-DD HH:MM:SS"格式的时间字串存放在字符串s中,s的长度最少为21字节。 void PC_DispStr (INT8U x, INT8U y, INT8U *s, INT8U color); 在y行x列以color颜色值显示字串s,注意color由背景色和前景色两种颜色构成。 INT8U OSTimeDlyHMSM (INT8U hours, INT8U minutes, INT8U seconds, INT16U milli); 按时、分、秒、毫秒设置进行延时。 void OSTimeDly (INT16U ticks) 按ticks值进行延时,1 ticks一般为10ms。 INT32U OSTimeGet (void)

计算机操作系统进程调度实验报告材料

操作系统实验题:设计一若干并发进程的进程调度程序 一、实验目的 无论是批处理系统、分时系统还是实时系统,用户进程数一般都大于处理机数,这将导致用户进程互相争夺处理机。这就要求进程调度程序按一定的策略,动态地把处理及分配给处于就绪队列中的某一进程,以使之执行。进程调度是处理机管理的核心内容。本实验要求采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念。并体会了优先数和先来先服务调度算法的具体实施办法。 二、实验要求 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 三、实验内容 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法(将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理)。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。

每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。 四、实验算法流程 调度算法的流程图如下:

操作系统实验报告16487

西安邮电大学 (计算机学院) 课实验报告 实验名称:进程管理 专业名称:计算机科学与技术 班级: 学生: 学号(8位): 指导教师: 实验日期:*****年**月**日

一. 实验目的及实验环境 目的:(1)加深对进程概念的理解,明确进程和程序的区别。 (2)进一步认识并发执行的实质。 (3)分析进程竞争资源现象,学习解决进程互斥的方法。 (4)了解Linux系统中进程通信的基本原理。 环境:Linux操作系统环境: 二. 实验容 (1)阅读Linux的sched.h源文件,加深对进程管理概念的理解。 (2)阅读Linux的fork.c源文件,分析进程的创建过程。 三.方案设计 (1)进程的创建 编写一段源程序,使系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察纪录屏幕上的显示结果,并分析原因。(2)进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。 如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 (3)①编写一段程序,使其现实进程的软中断通信。 要求:使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按DEL键);当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Processll is Killed by Parent! Child Processl2 is Killed by Parent! 父进程等待两个子进程终止后,输出如下的信息后终止 Parent Process is Killed! 程序流程图如下:

操作系统实验报告

操作系统教程实验报告 专业班级 学号 姓名 指导教师

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows “命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序:E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环:

相关文档
最新文档