实习报告
浙江省XX市XX县审计局实习报告
学生姓名 张 指导教师 李
学生所在分院 专业名称
20xx年9月XX日
浙江省XX市XX
摘
要:本人于20xx年X月X日至20xx年X月X
日在xx县审计局进行了为期一个月的阶段实习。通过这一个月的实习,使我在实践中了解社会、在实践中
又
增长了见识,第一步。
关键词:
一、实习单位介绍
在20xx年X月X日至20xx年X月X日期间,我前去XX县审计局进行我为期四周的实习。
XX县审计局位于XX县海游镇曙光路5有条不紊地进行中,主要职责有:
首先组织实施国家审计的方针、政策和法律、法规。完善有关政策法规、宏观调控措施的建议。
再次根据《中华人民共和国审计法》的规定,直接进行下列审计: ......
二、实习的具体计划安排
第一周:熟悉浙江省xx
1
......
第二周:......
三、实习过程与内容
在四周的实习时间内,我各周的安排如下:
第一周:了解浙江省xx县审计局目前的审计事务的操作流程。
......
第二周:......
四、实习心得体会
经过一个月的阶段实习,我获得了很多宝贵的实践工作经验。在指导老师的耐心教导下,我在很好的巩固了自己理论知识的同时,也加强了实际操作能力。在另一方面,我也认识到了自己很多的不足感觉收益非浅,以下是我在实习期间
(一)...... ......
1.业务。不会在审计工作过程中胡子眉毛一起抓,没有重点的。比如在其他资料的“实质性测试审计人员时间安排表”可以知道审计程序的执行人员,审计时间,复核人,复核时间等。
......
以上是我为期四周的实习生活的总结,总结是为了寻找差距、修订目标,是为了今后更好的提高。通过不断的总结,不断的提高,我有信心在未来的工作中更好的完成任务。我希望以后有更加多的机会去社会上实践,早点适应社会! 2
[1]徐亚明:《中级财务会计》,浙江人民出版社,20xx年7
[2]蔡俊:“论信息技术对会计的影响”,《财务与会计导刊》,...... [5] 李荣梅、陈良民:《企业内部控制与审计》
3
第二篇:上机实习报告示例
数算实习报告?
姓名:????????????????学号:????????????????完成日期:??????????????题目:编制一个求解迷宫通路的程序?
问题描述:以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。??
?
一、需求分析?
1. 以而为数组Maze[m+2][n+2]表示迷宫,其中,Maze[0][j](0?j?n?1)及Maze[i][0]和Maze[i][n+1](0?i?m?1)为添加的一圈障碍。数组中以元素值为0表示通路,1表示障碍,限定迷宫的大小m,n?10。?
2. 用户以文件的形式输入迷宫的数据:文件中第一行的数据为迷宫的行数m和列数n;从第2行至第m+1行(每行n个数)为迷宫值,同一行中的两个数字用空格相隔。?
3. 迷宫的入口位置和出口位置可由用户随时设定。?
4. 若设定的迷宫存在通路,则以长方阵形式将迷宫及其通路输出到标准输出文件上,其中,字符“#”表示障碍,字符“*”表示路径上的位置,字符“@”表示“死胡同”,即曾经途径而不能到达出口的位置,余下的用空格符印出。若设定的迷宫不存在通路,则报告相应的信息。?
5. 本程序只求出一条成功的通路。然而,只需要对迷宫求解的函数作小量修改,便可求得全部路径。?
?
二、概要设计?
1. 设定栈的抽象数据类型定义:?
?
ADT?Stack?{?
?数据对象:D??a?|a??CharSet,i?1,2,…,n,n?0??
?数据关系:R1???a???,a??|a???,a??D,i?2,…,n??
?基本操作:?
InitS?tack(&S)???
?操作结果:构造一个空栈S。???
DestoryStack(&S)???
???初始条件:栈S已存在。?
???操作结果:销毁栈S。?
??ClearStack(&S)?
???初始条件:栈S已存在。?
???操作结果:将S清为空栈。?
??StackLength(&S)?
???初始条件:栈S已存在。?
???操作结果:返回栈S的长度。?
??StackEmpty(&S)?
???初始条件:栈S已存在。?
???操作结果:若S为空栈,则返回TRUE,否则返回FALSE。?
??GetTop(S,?&e)?
???初始条件:栈S已存在。?
???操作结果:若栈S不空,则以e返回栈顶元素。???Push(&S,?e)?
???初始条件:栈S已存在。?
???操作结果:在栈S的栈顶插入新的栈顶元素e。???Pop(&S,?e)?
???初始条件:栈S已存在。?
???操作结果:删除S的栈顶元素,并以e返回其值。???StackTraverse(S,?visit())?
???初始条件:栈S已存在。?
???操作结果:从栈底到栈顶依次对S中的每个元素调用函数visit()。?}?ADT?Stack?
?
2. 设定迷宫的抽象数据类型为:?
?
ADT?maze?{?
?数据对象:D??a?,??a?,???? ?,‘#’,?@?,????,0?i?m?1,0?j?n?1,m,n?10}?
数据关系:R??ROW,COL??
??????????ROW???a???,?,a?,??|a???,?,a?,??D,i?1,…,m?1,j?0,…,n?1????????????COL???a?,???,a?,??|a?,???,a?,??D,i?0,…,m?1,j?1,…,n?1??}??
?
?
?
?
?
?
?基本操作:??InitMaze(&M,?a,?row,?col)?初始条件:二维数组a[row+2][col+2]已存在,其中自第1行至第row+1行、每行中自第1列至第col+1列的元素已有值,并且以值0表示通路,以值1表示障碍。?操作结果:构成迷宫的字符型数组,以空白字符表示通路,以字符‘#’表示障碍,并在迷宫四周加上一圈障碍。???MazePath(&M)????初始条件:迷宫M以被赋值。?操作结果:若迷宫M中存在一条通路,则按如下规定改变迷宫M的状态:以字符“*”表示路径上的位置,字符“@”表示“死胡同”;否则迷宫的状态不变。???PrintMaze(M)????初始条件:迷宫M已存在。????操作结果:以字符形式输出迷宫。?}?ADT?maze???
3. 本程序包含三个模块?
?
a. 主程序模块?
?
?
Void?main(){?
?初始化;?
?Do{?
??接受命令;?
??处理命令;?
?}?while(命令?!=?“退出”);?
}?
b. 栈模块‐‐‐实现栈抽象数据类型?
c. 迷宫模块‐‐‐实现迷宫抽象数据类型?
各模块之间的调用关系如下:?
主程序模块?
迷宫模块
?
栈模块?
4. 求解迷宫中一条通路的伪码算法:?
设定当前位置的初值为入口位置;?
Do{?
??若当前位置可通,?
??则?{?将当前位置插入栈顶;?????????????????????//纳入路径?
????若该位置是出口位置,则结束;????????//求得路径已在栈中?????否则切换当前位置的东邻方块为新的位置;?
?????}?
??否则?{?
???若栈不空且栈顶位置尚有其他方向未被探索,?
????则设定新的当前位置为沿顺时针方向旋转找到的栈顶位置的下一相邻块;?
???若栈不空但栈顶位置的四周均不可通,?
????则?{?删去栈顶位置;??????????//后退一步,从路径中删去该通道块??????若栈不空,则重新测试新的栈顶位置,知道找到一个可通的相邻块或出栈至栈空;?
?????}?
???}?
}?while(栈不空)?
{栈空说明没有路径存在}?
?
三、详细设计
1. 坐标位置类型?
typedef?struct{?
??Int??r,?c;???????
}?PosType;?
?
2. 迷宫类型??//迷宫中r行c列的位置?
typedef?struct{?
??int??m,n;?
char??arr[RANGE][RANGE];????//各位置取值‘?’,‘#’,‘*’?}?MazeType;?
void?InitMaze(MazeType?&maze,?int?a[][],?int?row,?int?col)?
??//按照用户输入的row行和col列的二维数组(元素值为0或1)???//设置迷宫maze的初值,包括加上边缘一圈的值?
bool?MazePath(MazeType?&maze,?PosType?start,?PosType?end)?
??//求解迷宫maze中,从入口start到出口end的一条路径???//若存在,则返回TRUE;否则返回FALSE?
Void?PrintMaze(MazeType?maze)?
??//将迷宫以字符型方阵的形式输出到标准输出文件上?
?
3. 栈类型?
Typedef?struct?{?
??Int?step;??//当前位置在路径上的“序号”?
??PosType??seat;?//当前的坐标位置?
??directiveType??di;?//往下一坐标位置的方向?
}?ElemType;???//栈的元素类型?
Typedef?struct???NodeType?{?
??ElemType??data;?
??NodeType??*next;?
}?NodeType,?*LinkType;???//节点类型,指针类型?
Typedef?struct?{?
??LinkType??top;?
??Int???size;?
}?Stack;?????//栈类型?
?
其中部分操作的算法:?
Status??Push?(Stack?&S,?ElemType?e)?{?
??//若分配空间成功,则在S的栈顶插入新的栈顶元素e,并返回TRUE;???//否则栈不变,并返回FALSE?
??If(MakeNode(p,?e))?{?
???p.next?=?S.top;?
???S.top?=?p;?
???S.size++;?
???Return?TRUE;?
??}?
??else?return?FALSE;?
}?
?
Status??Pop?(Stack?&S,?ElemType?&e)?{?
??…?
??…?
??…?
}?
?
4. 求迷宫路径的伪码算法:?
Status?MazePath(MazeType?maze,?PosType?start,?PosType?endJ)?{?
??//若迷宫maze中存在从入口start到出口end的通道,则求出这条路径,并返???//回TRUE;否则返回FLASE?
??InitStack(S);?
??Curpos?=?start;?
??Curstep?=?1;?
??Found?=?FLASE;?
??do?{?
???if?(?Pass(maze,?curpos))?{?
????//当前位置可以通过,即是未曾走到过的通道块留下足迹?????FootPrint?(maze,?curpos);?
????e?=?(curstep,?curpos,?1);?
????Push?(S,?e);?
????If?(Same(curpos,?end))?found?=?TRUE;???//到达终点?????else?{?
?????curpos?=?NextPos(curpos,?1);??//下一位置是当前位置的东邻??????curstep++;?
????}?
???}?
???else???//当前位置不能通过?
????if?(?!StackEmpty(S))?{?
?????Pos(?S,?e);?
?????while?(?e.di?==?4?&&?!StackEmpty(S))?{?
??????MarkPrint(maze,?e.seat);?
??????Pop(S,?e);?
??????Curstep‐‐;?
?????}?
?????if?(e.di?<?4)?{?
??????e.di++;?
??????Push(S,?e);?????//换下一个方向搜索?
??????Curpos?=?NextPos?(?e.seat,?e.di);?//设定当前位置是该新方向上的相邻块?
?????}?
????}?
??}?while?(!StackEmpty(S)?&&?!found);?
??return?found;?
}?
?
?
5. 主函数和其他函数的伪码算法:?
void?main()?{?
??Initialization();?
??do?{?
???ReadCommand(?cmd);?//读入一个操作命令符?
???Interpret(?cmd?);??//解释执行操作命令符?
??}?while?(?cmd?!=?‘q’?&&?cmd!=?‘Q’);?
}?
?
void?Initialization()?{?
??clrscr();?
??在屏幕上显示操作命令清单:?
??CreatMaze—c??MazePath—m??PrintMaze—p??Quit—q?;?
??在屏幕下方显示操作命令提示框;?
}?
?
void?ReadCommand(char?&cmd)?{?
??…?
??…?
??}??
void?Interpret(?char?cmd)?{?
??//解释执行命令?
??Switch?(cmd)?{?
???Case?‘c’,’C’:?提示用户输入“迷宫文件名filename”,读入数据;???????InitMaze(ma,?filename);?
??????输出建立完毕信息;?
??????break;?
???case?‘m’,’M’:?提示用户输入入口from和出口term的坐标;???????if?(?MazePath(?ma,?from,?term);??
//存在路径
???
?????提示用户查看迷宫;?
??????else?输出不存在路径的信息;?
??????break;?
???case?‘p’,’P’:??PrintMaze(ma);?????//将迷宫打印到终端???}?
}?
?
6. 函数调用关系?
?
?????????????????
???????????????
?
?
四、调试分析
1. 本次作业比较简单,只有一个核心算法,即求迷宫的路径,所以总的调试比较顺利,只在调试MazePath算法时,遇到两个问题:首先是,起初输入的迷宫没有加上‘@’的记号,后发现是因为在MarkPrint函数中的迷宫参数丢失“变参”的原因;其次是,由于退回时没有将curpos减一,致使栈中路径上的序号有错。?
2. 栈的元素中的step域没有多大用处,可以省略。?
3. StackTravers在调试过程中很有用,它可以插入在MazePath算法中多处,以查看解迷宫过程中走的路径是否正确,但对最后的执行版本没什么用。?
InitMaze,?MazePath和PrintMaze的时间复杂度均为O(m×n),4. 本题中三个主要算法:
本题的空间复杂度为O(m×n)(栈所占最大空间)。?
5. 经验体会:借助DEBUG调试器和数据观察窗口,可以更快地找到程序中的错误。??
五、测试结果?
三组测试数据和输出结果分别如下:?
1. 输入文件名为:m1.dat,其中迷宫数据为:?
3???2?
0 0?
0 0?
0 0?
入口位置:1???1?
出口位置:3???2?
求解路径后输出的迷宫:?**
*
*
?
2. 输入文件名:m2.dat,其中迷宫数据:?
3???4?
0???0???0???0?
0???0???1???1?
0???0???0???0?
入口位置:1???1?
出口位置:3???4?
求解路径后输出的迷宫:?**
*
*@#*
?
3. 输入文件名:m3.dat,其中迷宫数据:?
4???9?
0 0??0??0??0??0??1??0??0?
0 1??0??0??0??1??0??0??0?@#*
0??0??1??1???1??0??0??1??1?
0??0??1??1???1??0??1??0??0?
入口位置:1??1?
出口位置:4??9?
输出信息:此迷宫从入口到出口没有路径。?
六、附录?
源文件清单:?
base.H?????????//共用的常量和类型?
stkpas.H???????//栈类型?
maze.H????????//迷宫类型?
testmaze.C??????//主程序?
?
?
?
?
?
作业提交邮箱:
dsaa2011@sina.com
?
?
?
?
?
?
?
?
?
?
?
?
?