南邮实验报告
南邮各种学科编程类实验报告
Wonz
后端 -> 全栈 -> 后端
技术很菜,但一直在学习。
「人们会被自己热爱的事物改变」
展开
-
合集 | 南邮实验报告目录
南邮各种学科编程类实验程序原创 2020-02-10 15:02:20 · 42183 阅读 · 7 评论 -
南邮 | 计算机图形学大作业:Skybox + Shadow volume
计算机图形学期末大作业:实现 Skybox 天空盒,以及 Shadow volume 阴影体。写在前面本人才疏学浅,水平有限,只实现了 Skybox ,Shadow volume 没有完全实现(我真的太菜了)。前期跟着老师课堂教学,感觉都能跟上。后期直接跳到引入 模型 ,发现自己真的跟不上了。大作业做得我心态爆炸,网上教程看一下午,就是看不进去,怎么也做不出来。加上隔得时间有点长,所以...原创 2019-02-07 23:01:11 · 8148 阅读 · 3 评论 -
南邮 | 计算机图形学第二次小作业:滚轮缩放 + 增加纵向光源
计算机图形学第二次小作业:在 camera.h 中增加滚轮缩放功能。再生成一个纵向的光源。构建自己的数据结构,实现回放功能。(选做)一、思路这次小作业,老师直接给了引入模型的代码。因此,我们要在老师代码的基础上进行程序修改,实现上述功能。二、代码main.cpp//// main.cpp// Course 4//// Created by r...原创 2019-02-07 22:24:24 · 2105 阅读 · 1 评论 -
南邮 | 计算机图形学第一次小作业:实现两个纹理交替变化
教完纹理,老师布置了第一个小作业:生成两个物体,在其中至少一个物体上实现两个纹理交替变化。一、思路首先,要先做出生成两个物体。这里我是用两个 VAO 、 VBO 实现的。其次,你要传两个纹理进去。然后,其中一个物体的纹理固定,另一个物体上的纹理,用一个 循环 就行了,每隔一段时间换一个纹理就行。二、代码main.cpp#include <iostream>/...原创 2018-10-18 00:21:40 · 3920 阅读 · 2 评论 -
南邮 | 算法分析与设计实验四:密码算法
题目:构造一个简单的RSA公开密钥系统。程序代码#include <iostream>using namespace std;int MOD;//Óɹ«¿ªÃÜÔ¿eºÍn£¬Çó˽ÓÐÃÜÔ¿dint ext_euclid(int a, int b, int &x, int &y) { if(b == 0) { ...原创 2019-02-08 13:10:09 · 3009 阅读 · 0 评论 -
南邮 | 算法分析与设计实验三:回溯法
题目:用回溯法求解N皇后问题。程序代码#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>using namespace std;int count = 0;//判定两个皇后是否在同一列或在同一斜线上bool Place(int k, i...原创 2019-02-08 13:09:19 · 3672 阅读 · 0 评论 -
南邮 | 算法分析与设计实验二:动态规划法
题目:用动态规划法实现求两序列的最长公共子序列。程序代码#include <iostream>#include <cstring> //memset需要用到这个库#include <algorithm>using namespace std;int const MaxLen = 50; class LCS{public: LC...原创 2019-02-08 13:08:22 · 4434 阅读 · 2 评论 -
南邮 | 算法分析与设计实验一:分治策略
题目:用分治法实现一组无序序列的两路合并排序和快速排序以及其它排序算法。程序代码#include<iostream>using namespace std;#include<time.h>#include<algorithm>#include<stdlib.h>#include <cstdio>#include &l...原创 2019-02-08 13:07:08 · 5115 阅读 · 0 评论 -
南邮 | 离散数学实验四:图的随机生成及欧拉(回)路的确定
题目:输入n,随机生成一个n个顶点的无向图。再随机生成路径。最后判断该无向图是否是欧拉图或者半欧拉图。输入一个1~20的值作为无向图的顶点个数。程序代码#include <iostream>#include <ctime>#include <cstdlib>#include <string.h>using namespace st...原创 2019-02-08 13:04:56 · 3290 阅读 · 2 评论 -
南邮 | 离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定
题目:输入 n,求 1~n 中的满足整除关系的因子。再根据盖住关系的原理求盖住关系。最后判断是否为有补格。任意输入一个整数作为 n 值。程序代码#include <iostream>#include <cstring>#include <cstdio>#include <string>using namespace std;int...原创 2019-02-08 13:03:26 · 7194 阅读 · 7 评论 -
南邮 | 离散数学实验二:集合上二元关系性质判定的实现
题目:根据某一集合元素以及关系矩阵,判断其满足什么特性,输出满足的特性,再求此集合的闭包。举例:以集合{1,2,3,4}为例。关系矩阵为:[[1,0,1,0],[0,1,0,0],[1,0,1,1],[0,0,1,1]]。程序代码//集合 A = {1,2,3,4}//关系矩阵为://1 0 1 0//0 1 0 0//1 0 1 1//0 0 1 1//满足:自反性、对称...原创 2019-02-08 13:00:24 · 7953 阅读 · 4 评论 -
南邮 | 离散数学实验一:利用真值表法求取主析取范式以及主合取范式的实现
题目:根据给定的式子,先输出其真值表,再利用真值表法求取主析取范式以及主合取范式,输出答案。举例:以 (P^Q) V (非P^R) 为例。程序代码//(P^Q) V (非P^R)//主合取范式: (非PVQV非R) ^ (非PVQVR) ^ (PV非QVR) ^ (PVQVR)//主析取范式: (P^Q^R) V (P^Q^非R) V (非P^Q^R) V (非P^非Q^R)#i...原创 2019-02-08 12:57:22 · 16500 阅读 · 1 评论 -
南邮 | 操作系统实验四:文件系统
学习LINUX系统下对文件进行操作的各种命令和图形化界面的使用方法。深入学习和掌握文件管理系统的基本原理和LINUX等操作系统下常用的系统调用,编写一个使用系统调用的例程。1. 目录/proc下与系统相关的文件和目录(1) /proc/pid/fd:这是一个目录,该进程(pid/fd:这是一个目录,该进程(pid/fd:这是一个目录,该进程(PID号码进程)每个打开的文件在该目录下...原创 2019-02-09 14:04:14 · 4182 阅读 · 0 评论 -
南邮 | 操作系统实验三:存储管理
理解操作系统存储管理原理。研读Linux 内存管理所用到的文件include/linux/mm.h,主要包括两个数据结构:mem_map、free_area。在Linux 下,用malloc()函数实现cat或copy命令。例程1申请内存、使用内存以及释放一块内存#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; //exi...原创 2019-02-09 14:04:09 · 5052 阅读 · 0 评论 -
南邮 | 操作系统实验二:进程控制
学习和了解进程控制的基本和常用的系统调用 fork wait sleep exit exec 等等。查看 /usr/src/include/sched.h中的task_struct 数据结构,并分析Linux 操作系统进程状态。通过进程创建的应用实例,深刻理解进程创建的过程。程序例题1#include &lt;stdio.h&gt; #include &l...原创 2019-02-09 14:04:03 · 4334 阅读 · 0 评论 -
南邮 | 操作系统实验一:Linux操作、使用、编程
能够安装某Linux发行版本(例如Red Hat)了解Linux的启动过程了解Linux文件的组织结构熟悉X Window 环境练习使用Linux 常用命令熟练使用Linux的C语言开发环境学习并掌握Linux 编译工具 gcc 的使用方法其它的部分不做详细记录,实验指导上都有,但是实验指导上有错误的程序代码,这里记录一下。练习使用Linux ...原创 2019-02-09 14:03:57 · 4410 阅读 · 0 评论 -
南邮 | Linux实验八:Linux/C 编程 I/O 重定向和管道
I/O重定向编程管道编程1. I/O重定向(1) 运用open-close-open方法//demo1.c#include &lt;stdio.h&gt;#include &lt;fcntl.h&gt;main(){ int fd ; char line[100]; fgets( line, 100, stdin ); printf("%s", line ); fge...原创 2019-02-09 14:03:46 · 802 阅读 · 0 评论 -
南邮 | Linux实验七:Linux/C 编程 文件与目录
基本文件的输入输出目录操作标准I/O函数库1. 基本文件输入输出(1) 验证三个已打开的标准输入、标准输出和标准错误输出// exam6-1.c#include &lt;sys/types.h&gt;#include &lt;sys/stat.h&gt;#include &lt;fcntl.h&gt;#include &lt;unistd.h&gt;#de原创 2019-02-09 14:03:33 · 986 阅读 · 0 评论 -
南邮 | Linux实验六:Linux/C 开发环境 函数库和 glibc
静态函数库的创建和使用共享函数库的创建和使用glibc函数库的使用1. 静态函数库的创建与使用项目中模块的构成见实验五,源代码,分别为add.c,sum.c,mylib.h和app.c.使用编辑器 vi 编辑下列脚本static_lib:add.c sum.c gcc -c add.c gcc -c sum.c ar -cru libdemo.a add.o sum...原创 2019-02-09 14:03:26 · 855 阅读 · 0 评论 -
南邮 | Linux实验五:Linux/C 开发环境 gcc 编译和 make 项目管理
gcc编译链接工具的使用make工具的使用理解make的工作原理1. 编译链接器(gcc)用编辑器 vi 编辑一下C源代码#include&lt;stdio.h&gt;int count =20;int main(void){ int k; int sum=0; #ifdef DEBUG printf("runing in deb...原创 2019-02-09 14:03:19 · 1875 阅读 · 0 评论 -
南邮 | Linux实验四:Shell 程序设计 Shell 控制语句
条件表达式判断和分支语句循环语句函数1. 条件表达式$ test 10 -gt 5 // 算数表达式 10&gt;5$ echo $? //显示上述表达式的运行结果,0$ [ 10 -lt 5 ] //算数表达式 10&lt;5,方括号与10、5之间有空格$ echo $? //显示上述表达式的运行结果,12. 条件和分支语句使用编辑器vi编辑下列sh...原创 2019-02-09 14:03:13 · 1354 阅读 · 0 评论 -
南邮 | Linux实验三:Shell 程序设计 Shell基础
四种变量的使用配置环境变量元字符和正则表达式引号1. 本地变量$ var1="hello Linux" //定义本地变量var1$ read var2 //定义本地变量vae2$ echo $var1 $var2 //显示本地变量的值2. 环境变量$ env //显示系统的环境变量$ echo $PATH //显示搜索路径变量PATH$ MY...原创 2019-02-09 14:03:06 · 3246 阅读 · 0 评论 -
南邮 | Linux实验二:Linux 基本命令 进程管理
掌握 Linux 系统中进程的组织结构。掌握会话、进程、进程组和作业的关系。理解前后台进程与控制终端的关系。一: 观察进程的组织结构输入命令pstree观察当前系统中各进程的父子关系。$ pstree观察init进程与其他进程的关系,分析pstree、login和bash进程之间的关系pstree显示系统中进程继承关系,Linux系统中进程间的派生关系为:login——bas...原创 2019-02-08 13:11:32 · 1977 阅读 · 0 评论 -
南邮 | Linux实验一:Linux 基本命令 权限管理
掌握Linux/bash环境下命令的使用。掌握Linux用户权限管理。一:观察系统的结构和文件属性以超级用户身份登录系统(用户名root)$ pwd //观察用户主目录$ cd / //退至根目录$ ls //观察目录结构$ cd /dev //进入设备文件目录$ ls -l //观察设备文件的类型,观察每一行的第一个字符$ cd /etc //...原创 2019-02-08 13:10:54 · 4092 阅读 · 0 评论 -
南邮数据结构实验4:各种内排序算法
各种内排序算法简单选择排序//简单选择排序void SelectSort(List *list){ int small,i,j; for(i = 0;i &amp;lt; list-&amp;gt;n-1;i ++){ small = i; //标记每次第一位元素下标 f...原创 2018-09-02 00:11:05 · 10376 阅读 · 2 评论 -
南邮数据结构实验3.1:邻接矩阵的初始化、撤销、边的搜索、插入、删除等操作
题目:参照程序9.1~程序9.5,编写程序,完成邻接矩阵的初始化、撤销、边的搜索、插入、删除等操作。部分代码:邻接矩阵的结构体定义://邻接矩阵的结构体定义typedef struct{ ElemType **a; //邻接矩阵 int n; //图的当前顶点数 int e; //图的当前边数 El...原创 2018-06-30 12:38:04 · 9748 阅读 · 7 评论 -
南邮数据结构实验3.2:以邻接矩阵为存储结构的图的深度、宽度优先遍历
题目:以实验3.1所示邻接矩阵为存储结构,编写程序,实现图的深度、宽度优先遍历。部分代码:邻接矩阵的单一顶点DFS://邻接矩阵的单一顶点DFSvoid DFS(int v,int visited[],mGraph g){ int j; printf("%d ",v); //访问顶点v visited[v] = 1; ...原创 2018-06-30 15:08:10 · 7170 阅读 · 1 评论 -
南邮数据结构实验3.3:邻接表的初始化、撤销、边的搜索、插入、删除等操作
题目:参照程序9.6~程序9.10,编写程序,完成邻接表的初始化、撤销、边的搜索、插入、删除等操作。部分代码:邻接表的结构体定义://邻接表的结构体定义typedef struct ENode{ int adjVex; //任意顶点u相邻的顶点 ElemType w; //边的权值 struct ENode *...原创 2018-06-30 23:44:24 · 9313 阅读 · 7 评论 -
南邮数据结构实验3.4:以邻接表为存储结构的图的深度、宽度优先遍历
题目:以实验3.3所示邻接表为存储结构,编写程序,实现图的深度、宽度优先遍历。部分代码:邻接表的单一顶点DFS://邻接表的单一顶点DFSvoid DFS(int v,int visited[],LGraph g){ ENode *w; printf("%d ",v); //访问顶点v visited[v]...原创 2018-06-30 23:44:46 · 5789 阅读 · 2 评论 -
南邮数据结构实验3.5:飞机换乘最短距离(Dijkstra单源最短路径)
题目:编写程序,实现智能交通中的最佳路径选择问题:设有n个地点,编号为0~n-1,m条路径的起点、终点和代价由用户输入提供,采用实验3.1所示邻接矩阵为存储结构,寻找最佳路径方案(如花费时间最少、路径长度最短、交通费用最小等,任选其一即可)。部分代码:选出最小的d[i]://选出最小的d[i],i ∈ V-Sint Choose(int d[],int n,int s[]){ /...原创 2018-06-30 23:49:47 · 5105 阅读 · 2 评论 -
南邮汇编实验3.18:用户登录验证程序的实现
题目:程序执行后,给出操作提示,请用户输入用户名和密码;用户在输入密码时,程序不回显输入字符;只有当用户名输入的用户名、密码字符串和程序内定的字符串相同时,才显示欢迎界面,并返回DOS。界面颜色自定(彩色或黑白)。程序清单:DATA SEGMENT USE16MESG1 DB 0DH,0AH DB 'Please enter your username:$'LL EQU...原创 2018-11-14 20:52:23 · 19505 阅读 · 4 评论 -
南邮微机接口实验6.9:基于中断的字符串屏幕动态显示
题目:利用系统定时源设计1CH中断程序,要求每隔一定时间在系统机屏幕上显示一行字符串(字符串内容自定)。程序清单:;FILENAME:861-1.ASM.486DATA SEGMENT USE16MESG DB 'WWW',0DH,0AH,'$'OLD1C DD ?ICOUNT DB 18 ;中断计数初值COUNT DB 10 ;显示行数控制DATA ENDSCO...原创 2018-10-29 22:10:50 · 7060 阅读 · 1 评论 -
南邮微机接口实验4:实现内环自检功能
题目:通过内环自检的方式,将以下电文,显示在屏幕上,输出十行结束。Hello Masm!程序清单:;FILENAME:931_1.asm.586DATA SEGMENT USE16BUF DB 'Hello Masm!'LENS EQU $-BUFERROR DB 'COM1 BAD!',0DH,0AH,'$'DATA ENDSCODE SEGMENT USE1...原创 2018-10-29 22:11:07 · 6086 阅读 · 0 评论 -
南邮数据结构实验1.1:顺序表的相关操作
题目:参照程序2.1~2.7,编写代码,完成顺序表的初始化、查找、插入、删除、输出、撤销等操作。部分代码:顺序表的结构体定义:typedef struct { int n; //顺序表的长度 int maxLength; //顺序表的最大长度 ElemType *element; //存放动态分配一维数组首地址}SeqList;...原创 2018-05-25 20:55:20 · 8358 阅读 · 1 评论 -
南邮数据结构实验1.2:带表头结点单链表的相关操作
题目:参照程序2.8~2.14,编写程序,完成带表头结点单链表的初始化、查找、插入、删除、输出、撤销等操作。部分代码:带表头结点单链表的结构体定义:typedef struct Node { ElemType element; //结点的数据域 struct Node * link; //结点的指针域}Node;typedef struct { struct ...原创 2018-05-26 11:19:27 · 6618 阅读 · 0 评论 -
南邮数据结构实验1.3:带表头结点单链表的逆置
题目:以实验1.2的带表头结点单链表为存储结构,编写程序实现单链表的逆置操作(要求不引入新的存储空间)。部分代码:带表头结点单链表的逆置函数://带表头结点单链表的逆置void Inverse(HeaderList *h){ Node *p=h->head->link,*q; h->head->link = NULL; while(p){ q=p-...原创 2018-05-26 11:34:17 · 8132 阅读 · 1 评论 -
南邮数据结构实验1.4:带表头结点单链表的非递减排序
题目:以实验 1.2 的带表头结点单链表为存储结构,编写程序实现单链表的非递减排序。部分代码:带表头结点单链表的非递减排序函数:本来想用冒泡排序的,但是没成功,此部分程序参考了这里:https://bbs.csdn.net/topics/390668062//简单选择排序:每次选择min的排到前面Status Order(HeaderList *h){ Node *s1...原创 2018-05-26 16:49:12 · 6991 阅读 · 9 评论 -
南邮数据结构实验1.5:一元多项式的相加和相乘
题目:编写程序实现一元多项式的创建、输出、撤销以及两个一元多项式相加和相乘的操作。部分代码:带表头结点一元多项式的结构体定义:typedef struct PNode{ int coef; //系数 int exp; //指数 struct PNode* link;}PNode;typedef struc...原创 2018-05-26 19:45:18 · 9102 阅读 · 2 评论 -
南邮数据结构实验2.1:二叉树的先序创建、先序遍历、中序遍历、后序遍历
题目:参照程序5.1~5.4,编写程序,完成二叉树的先序创建、先序遍历、中序遍历、后序遍历等操作。部分代码:二叉树结构体定义:typedef struct BinaryTreeNode{ T Data; struct BinaryTreeNode *LChild, *RChild;}BinaryTreeNode;先序遍历构建二叉树://先序遍历构建二叉树...原创 2018-05-27 16:31:58 · 9278 阅读 · 3 评论 -
南邮数据结构实验2.2:二叉树遍历的一些应用
题目:以实验2.1的二叉链表为存储结构,编写程序实现求二叉树结点个数、叶子结点个数、二叉树的高度以及交换二叉树所有左右子树的操作。部分代码:求二叉树结点个数://求二叉树结点个数int Size(BinaryTreeNode *t){ if(!t) return 0; return Size(t->LChild) + Size(t->RChild) + ...原创 2018-05-27 16:40:57 · 7179 阅读 · 1 评论