实验报告_实验2 数据类型与表达式

实验报告_实验2 数据类型与表达式
实验报告_实验2 数据类型与表达式

实验报告_实验 2 数据类型与表达式(学生学号__姓名)

一、实验目的:

1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;

2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;

3、熟悉字符常量与一般常量的定义、使用;

4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;

5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。

二、实验内容

1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。

回答下列问题:

(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?

答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。可以。

(2)整数的占用长度与其数值大小有关吗?

答:有。

(3)字符串中’\’’、’\n’、’\t’的功能各是什么?

答:单引号,换行,水平制表。

(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字

符?

答:1个字节;4个字节;结束符‘\0’。

(5)整数的存储形式是什么?

答:二进制补码。

2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。

回答下列问题:

(1)字符数据在内存中是以什么方式存储的?

答: ASCII码。

(2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”

方式输出字符?

答:能,整数:”%d”,字符:”%c”。

(3)大小写字母的ASCII有什么关系?(如:’G’与’g’)

答:ASCII码相差32。

(4)如何由’A’、’a’分别得到后续的大写字母、小写字母?

答:’A+1’,’a+1.’

(5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个

字符吗?若能,如何得到?

答:两个ASCII码绝对值相减,’a’-5,’a’+10.

(6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’?

答:”C”字符串,’c’字符,能.

3、(基础题)符号常量与常变量(即用const关键字定义)的使用:

回答问题:

(1)写出用符号常量定义PI的格式;

#define PI

(2)写出用“常变量”方式定义PI值的语句。

Const float PI=;

4、(基础题)运行下列程序,体会/、%运算符的用法:

回答下列问题:

(1)运算符/的操作数有什么要求?

答:被除数不能为0.

数据结构表达式求值实验报告

竭诚为您提供优质文档/双击可除数据结构表达式求值实验报告 篇一:数据结构实验二——算术表达式求值实验报告 《数据结构与数据库》 实验报告 实验题目算术表达式求值 学院:化学与材料科学学院 专业班级:09级材料科学与工程系pb0920603 姓学 邮名:李维谷号:pb09206285箱: liwg@https://www.360docs.net/doc/156503330.html,指导教师:贾伯琪 实验时间:20XX年10月10日 一、需要分析 问题描述: 表达式计算是实现程序设计语言的基本问题之一,它的实现是栈的应用的一个典型例子。设计一个程序,演示通过将数学表达式字符串转化为后缀表达式,并通过后缀表达式结合栈的应用实现对算术表达式进行四则混合运算。

问题分析: 在计算机中,算术表达式由常量、变量、运算符和括号组成。由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。 设置运算符栈(字符型)和运算数栈(浮点型)辅助分析算符优先关系。在读入表达式的字符序列的同时完成运算符和运算数的识别处理,然后进行运算数的数值转换在进行四则运算。 在运算之后输出正确运算结果,输入表达式后演示在求值中运算数栈内的栈顶数据变化过程,最后得到运算结果。 算法规定: 输入形式:一个(:数据结构表达式求值实验报告)算术表达式,由常量、变量、运算符和括号组成(以字符串形式输入)。为使实验更完善,允许操作数为实数,操作符为(、)、.(表示小数点)、+、-、*、/、^(表示乘方),用#表示结束。 输出形式:演示表达式运算的中间结果和整个表达式的最终结果,以浮点型输出。 程序功能:对实数内的加减乘除乘方运算能正确的运算出结果,并能正确对错误输入和无定义的运算报错,能连续测试多组数据。 测试数据:正确输入:12*(3.6/3+4^2-1)#

电力系统运行方式及潮流分析实验报告

电力系统运行方式及潮 流分析实验报告 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

电力系统第一次实验报告——电力系统运行方式及潮流分析实验

实验1 电力系统运行方式及潮流分析实验 一、实验目的 1、掌握电力系统主接线电路的建立方法 2、掌握辐射形网络的潮流计算方法; 3、比较计算机潮流计算与手算潮流的差异; 4、掌握不同运行方式下潮流分布的特点。 二、实验内容 1、辐射形网络的潮流计算; 2、不同运行方式下潮流分布的比较分析 三、实验方法和步骤 1.辐射形网络主接线系统的建立 输入参数(系统图如下): G1:300+j180MVA(平衡节点) 变压器B1:Sn=360MVA,变比=18/121,Uk%=%,Pk=230KW,P0=150KW,I0/In=1%; 变压器B2、B3:Sn=15MVA,变比=110/11 KV,Uk%=%,Pk=128KW, P0=,I0/In=%; 负荷F1:20+j15MVA;负荷F2:28+j10MVA; 线路L1、L2:长度:80km,电阻:Ω/km,电抗:Ω/km,电纳:×10-6S/km。 辐射形网络主接线图 (1)在DDRTS中绘出辐射形网络主接线图如下所示: (2)设置各项设备参数: G1:300+j180MVA(平衡节点) 变压器B1:Sn=360MVA,变比=18/121,Uk%=%,Pk=230KW,P0=150KW,I0/In=1%;

变压器B2、B3:Sn=15MVA,变比=110/11 KV,Uk%=%,Pk=128KW, P0=,I0/In=%; 负荷F1:20+j15MVA;负荷F2:28+j10MVA; 线路L1、L2:长度:80km,电阻:Ω/km,电抗:Ω/km,电纳:×10-6S/km。2.辐射形网络的潮流计算 (1)调节发电机输出电压,使母线A的电压为115KV,运行DDRTS进行系统潮流计算,在监控图页上观察计算结果 项目DDRTS潮流计算结果 变压器B2输入功率+ 变压器B2输出功率+ 变压器B3输入功率+ 变压器B3输出功率+ 线路L1输入功率+ 线路L1输出功率+ 线路L2输入功率+ 线路L2输出功率+ (2)手算潮流: (3)计算比较误差分析 通过比较可以看出,手算结果与计算机仿真结果相差不大。产生误差原因:手算时是已知首端电压、末端功率的潮流计算,计算过程中要将输电线路对地电容吸收的功率以及变压器励磁回路吸收的功率归算到运算负荷中,并且在每一轮的潮流计算中都用上一轮的电压或功率的值(第一轮电压用额定电压)。 3.不同运行方式下潮流比较分析 (1)实验网络结构图如上。由线路上的断路器切换以下实验运行方式: ①双回线运行(L1、L2均投入运行) ②单回线运行(L1投入运行,L2退出)将断路器断开 对上述两种运行方式分别运行潮流计算功能,将潮流计算结果填入下表:

数据结构实验二——算术表达式求值实验报告

《数据结构与数据库》 实验报告 实验题目 算术表达式求值 学院:化学与材料科学学院 专业班级:09级材料科学与工程系PB0920603 姓名:李维谷 学号:PB09206285 邮箱:liwg@https://www.360docs.net/doc/156503330.html, 指导教师:贾伯琪 实验时间:2010年10月10日 一、需要分析 问题描述:

表达式计算是实现程序设计语言的基本问题之一,它的实现是栈的应用的一个典型例子。设计一个程序,演示通过将数学表达式字符串转化为后缀表达式,并通过后缀表达式结合栈的应用实现对算术表达式进行四则混合运算。 问题分析: 在计算机中,算术表达式由常量、变量、运算符和括号组成。由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。 设置运算符栈(字符型)和运算数栈(浮点型)辅助分析算符优先关系。在读入表达式的字符序列的同时完成运算符和运算数的识别处理,然后进行运算数的数值转换在进行四则运算。 在运算之后输出正确运算结果,输入表达式后演示在求值中运算数栈内的栈顶数据变化过程,最后得到运算结果。 算法规定: 输入形式:一个算术表达式,由常量、变量、运算符和括号组成(以字符串形式输入)。为使实验更完善,允许操作数为实数,操作符为(、)、.(表示小数点)、+、-、*、/、^(表示乘方),用#表示结束。 输出形式:演示表达式运算的中间结果和整个表达式的最终结果,以浮点型输出。 程序功能:对实数内的加减乘除乘方运算能正确的运算出结果,并能正确对错误输入和无定义的运算报错,能连续测试多组数据。 测试数据:正确输入:12*(3.6/3+4^2-1)# 输出结果:194.4

武汉大学电力系统分析实验报告

电气工程学院 《电力系统分析综合实验》2017年度PSASP实验报告 学号: 姓名: 班级:

实验目的: 通过电力系统分析的课程学习,我们都对简单电力系统的正常和故障运行状态有了大致的了解。但电力系统结构较为复杂,对电力系统极性分析计算量大,如果手工计算,将花费 大量的时间和精力,且容易发生错误。而通过使用电力系统分析程序PSASP,我们能对电 力系统潮流以及故障状态进行快速、准确的分析和计算。在实验过程中,我们能够加深对电力系统分析的了解,并学会了如何使用计算机软件等工具进行电力系统分析计算,这对我们以后的学习和工作都是有帮助的。 潮流计算部分: 本次实验潮流计算部分包括使用牛顿法对常规运行方式下的潮流进行计算,以及应用PQ分解法规划运行方式下的潮流计算。在规划潮流运行方式下,增加STNC-230母线负荷的有功至1.5.p.u,无功保持不变,计算潮流。潮流计算中,需要添加母线并输入所有母线 的数据,然后再添加发电机、负荷、交流线、变压器、支路,输入这些元件的数据。对运行方案和潮流计算作业进行定义,就可以定义的潮流计算作业进行潮流计算。 因为软件存在安装存在问题,无法使用图形支持模式,故只能使用文本支持模式,所以 无法使用PSASP绘制网络拓扑结构图,实验报告中的网络拓扑结构图均使用Visio绘制, 请见谅。 常规潮流计算: 下图是常规模式下的网络拓扑结构图,并在各节点标注电压大小以及相位。 下图为利用复数功率形式表示的各支路功率(参考方向选择数据表格中各支路的i侧母

线至j侧),因为无法使用图形支持模式,故只能通过文本支持环境计算出个交流线功率,下图为计算结果。

数据结构算术表达式求值实验报告

软件技术基础实验报告 实验名称:表达式计算器 系别:通信工程 年级: 班级: 学生学号: 学生姓名: 《数据结构》课程设计报告 题目简易计算表达式的演示 【题目要求】 要求:实现基本表达式计算的功能 输入:数学表达式,表达式由整数和“+”、“-”、“×”、“/”、“(”、“)”组成输出:表达式的值 基本操作:键入表达式,开始计算,计算过程和结果记录在文档中 难点:括号的处理、乘除的优先级高于加减

1.前言 在计算机中,算术表达式由常量、变量、运算符和括号组成。由于不同的运算符具有不同的优先级,又要考虑括号,因此,算术表达式的求值不可能严格地从左到右进行。因而在程序设计时,借助栈实现。 算法输入:一个算术表达式,由常量、变量、运算符和括号组成(以字符串形式输入)。为简化,规定操作数只能为正整数,操作符为+、-*、/、=,用#表示结束。 算法输出:表达式运算结果。 算法要点:设置运算符栈和运算数栈辅助分析算符优先关系。在读入表达式的字符序列的同时,完成运算符和运算数的识别处理,以及相应运算。 2.概要设计 2.1 数据结构设计 任何一个表达式都是由操作符,运算符和界限符组成的。我们分别用顺序栈来寄存表达式的操作数和运算符。栈是限定于紧仅在表尾进行插入或删除操作的线性表。顺序栈的存储结构是利用一组连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top 指示栈顶元素在顺序栈中的位置,base 为栈底指针,在顺序栈中,它始终指向栈底,即top=base 可作为栈空的标记,每当插入新的栈顶元素时,指针top 增1,删除栈顶元素时,指针top 减1。 2.2 算法设计 为了实现算符优先算法。可以使用两个工作栈。一个称为OPTR ,用以寄存运算符,另一个称做OPND ,用以寄存操作数或运算结果。 1.首先置操作数栈为空栈,表达式起始符”#”为运算符栈的栈底元素; 2.依次读入表达式,若是操作符即进OPND 栈,若是运算符则和OPTR 栈的栈顶运算符比较优先权后作相应的操作,直至整个表达式求值完毕(即OPTR 栈的栈顶元素和当前读入的字符均为”#”)。 2.3 ADT 描述 ADT Stack{ 数据对象:D={ i a |i a ∈ElemSet,i=1,2,…,n, n ≧0} 数据对象:R1={< 1 ,-i i a a >| 1-i a ,D a i ∈,i=2,…,n}

电力系统分析潮流实验报告(优选.)

最新文件---------------- 仅供参考--------------------已改成-----------word文本 --------------------- 方便更改 赠人玫瑰,手留余香。 南昌大学实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合■设计□创新实验日期:实验成绩: 电力系统潮流计算实验 一、实验目的: 本实验通过对电力系统潮流计算的计算机程序的编制与调试,获得对复杂电力系统进行潮流计算的计算机程序,使系统潮流计算能够由计算机自行完成,即根据已知的电力网的数学模型(节点导纳矩阵)及各节点参数,由计算程序运行完成该电力系统的潮流计算。通过实验教学加深学生对复杂电力系统潮流计算计算方法的理解,学会运用电力系统的数学模型,掌握潮流计算的过程及其特点,熟悉各种常用应用软件,熟悉硬件设备的使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何将理论知识和实际工程问题结合起来。 二、实验内容: 编制调试电力系统潮流计算的计算机程序。程序要求根据已知的电力网的数学模型(节点导纳矩阵)及各节点参数,完成该电力系统的潮流计算,要求计算出节点电压、功率等参数。 1、在各种潮流计算的算法中选择一种,按照计算方法编制程序。 2、将事先编制好的电力系统潮流计算的计算程序原代码由自备移动存储设备导入计算机。

3、在相应的编程环境下对程序进行组织调试。 4、应用计算例题验证程序的计算效果。 三、实验程序: function [e,f,p,q]=flow_out(g,b,kind,e,f) %计算潮流后efpq的终值 s=flow(g,b,kind,e,f); k=0; while max(abs(s))>10^-5 J=J_out(g,b,kind,e,f); J_ni=inv(J); dv=J_ni*s; l=length(dv)/2; for i=1:l e(i)=e(i)-dv(2*i-1); f(i)=f(i)-dv(2*i); end s=flow(g,b,kind,e,f); end l=length(e); for i=1:l s1=0; s2=0; for j=1:l s1=s1+g(i,j)*e(j)-b(i,j)*f(j); s2=s2+g(i,j)*f(j)+b(i,j)*e(j); end p(i)=e(i)*s1+f(i)*s2; q(i)=f(i)*s1-e(i)*s2;

嵌入式--计算器--实验报告

计算器设计实验报告 一、实验设计主要分工 04009320 文斌:算法设计,LCD显示。 04** 张希:界面(按钮控件)设计,文件内容读取。 共同调试、完善设计。 二、程序设计实现功能效果 (1)支持整数、小数基本加减乘除运算; (2)有优先级的判别计算。优先级由高到低一次为括号运算、乘除运算、加减运算。(3)支持键盘输入和触摸屏输入; (4)能读取指定目录下文本内容(内容为计算表达式)并计算得出结果,将内容和结果显示在LCD上。 程序任务开始后,等待键盘或触摸屏的输入。输入键有0~9数字键、+-*/()运算符、del退格键、clear清屏键、read读指定目录文本内容并计算键、enter'='键、‘.’小数点键。 每当有字符输入时,触摸屏相应键显示“AAA”,100ms后恢复原相应按键符号,同时LCD 屏幕上显示相应字符。当输入'del'键时,屏幕显示去掉最后一位字符。当输入'='号后,得出计算结果,结果显示于表达式的下一行。若是除零错误,则结果显示为“/0ERROR!”。若有非法字符(触摸点不能识别为设计按键符则视为非法字符),则结果输出为“Syntax Error!!”。若表达式有运算符连续输入,则忽略前面的运算符,只取最后一位运算符计算,正常显示数字结果。当输入'clear'键时,情况显示区域。当输入'read'键时,从指定目录文本文件中读取表达式并计算。将表达式内容和计算结果显示在LCD上。 三、程序算法实现 1、计算算法 首先将输入的0~9数字、+-*/()运算符的内容存储于一个全局变量cal[number]中, 表达为中缀表达式。用void str2repol()函数,将输入字符串cal[number]转换成逆波 兰表达式并存于全局数组char repol[maxs]中。str2repol()函数中缀表达式转成逆波兰 后缀表达式算法如下: (1)首先构造一个运算符栈stack[maxs],此运算符在栈内遵循越往栈顶优先级越高的 原则。

算术表达式语法检查实验报告

中南民族大学计算机科学学院本科课程设计 任务书 设计名称:算术表达式语法检查 指导教师:下达时间: 2015-5-8 学生姓名:学号: 专业: 一、课程设计的基本要求 根据所学知识,编写指定题目的C++语言程序,并规范地完成课程设计报告。通过课程设计,加深对《C++面向对象程序设计》课程所学知识的理解,熟练掌握和巩固C++语言的基本知识和语法规范,掌握C++语言的基础知识,理解面向对象系统的封装性、继承性和多态性;熟练使用C语言中的函数、数组、指针、链表和字符串等基本知识;掌握类的定义、标准String类和向量;理解掌握友元函数和重载操作符,动态数组;理解掌握继承和多态性;掌握模版的使用;能够进行程序调试过程中的异常处理;进一步掌握利用C++进行类的定义和操作方法;进一步掌握类的继承和派生方法;进一步理解虚函数和多态;综合利用上述知识,学习设计并编写面向对象的C++简单应用程序;培养解决复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。 学会编制结构清晰、风格良好、数据结构适当的C++语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。 具体要求如下: 1、采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构设计合理。学生也可根据自己对题目的理解增加新的功能模块(视情况可另外加分)。 2、系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。 3、程序算法说明清晰,理论分析与计算正确,运行情况良好,实验测试数据无误,容错性强(能对错误输入进行判断控制)。 4、编程风格良好(包括缩进、空行、适当注释、变量名和函数名见名知意,程序容易阅读等); 5、写出规范的课程设计报告,具体要求见相关说明文档。

四则运算表达式求值实验报告

HUNAN UNIVERSITY 课程实习报告 题目:四则运算表达式求值 学生姓名: 学生学号: 专业班级: 指导老师: 完成日期:

一、需求分析 四则运算表达式求值,将四则运算表达式用中缀表达式表示,然后转换为后缀表达式,并计算结果。 本程序要求利用二叉树后序遍历来实现表达式的转换,同时可以使用实验2的结果来求解后缀表达式的值。 在字符界面上输入一个中缀表达式,回车表示结束。如果该中缀表达式正确,那么在字符界面上输出其后缀表达式,其中后缀表达式中两相邻操作数之间利用空格隔开;如果不正确,在字符界面上输出表达式错误提示。 测试数据 输入: 21+23*(12-6) 输出: 21 23 12 6 -*+ 二、详细设计 输入和输出的格式 输入 本程序可以将输入的四则运算表达式(中缀表达式)转换为后缀表达式 输出 后缀表达式为://输出结果的位置 表达式的值为://输出结果的位置 三、调试分析 本次实验的难点主要是在建立二叉树的问题上。关于如何把中缀表达式存入二叉树中,我参考了网上的一些方法,成功实现了目标,但是却遇到了一个问题,那就是不能处理小数,甚至两位或两位以上的整数。因为如果采用字符数组来存储操作数,运算符合一位整数还可以处理,但对于两位数就就会出问题,最后我改进采用字符串数组来存储操作数,成功解决了问题。 另外在处理输入的非法表达式问题中,我也费了很大功夫,但总体问题不大。 四、测试结果 五、用户使用说明(可选) 1、运行程序时 提示输入四则运算表达式 本程序可以将中缀表达式转化为后缀表达式,并计算结果 请输入四则运算表达式: 输出 后缀表达式为: 表达式的值为: 程序源代码(c++) #include #include #include #include

潮流计算实验

电力系统分析实验报告 实验一:潮流计算的计算机算法 >> clear; n=10; nl=10; isb=1; pr=0.00001; B1=[120.03512+0.08306i0.13455i10; 230.0068+0.18375i0 1.023811; 140.05620+0.13289i0.05382i10; 450.00811+0.24549i0 1.023811; 160.05620+0.13289i0.05382i10; 460.04215+0.09967i0.04037i10; 670.0068+0.18375i0 1.023811; 680.02810+0.06645i0.10764i10; 8100.00811+0.24549i011; 890.03512+0.08306i0.13455i10] B2=[00 1.1 1.101; 001002; 00.343+0.21256i1002; 001002; 00.204+0.12638i1002; 001002; 00.306+0.18962i1002; 001002; 0.50 1.1 1.103; 00.343+0.21256i1002] Y=zeros(n);e=zeros(1,n);f=zeros(1,n);V=zeros(1,n);sida=zeros(1,n);S1=zeros(nl); for i=1:nl if B1(i,6)==0 p=B1(i,1);q=B1(i,2); else p=B1(i,2);q=B1(i,1); end Y(p,q)=Y(p,q)-1./(B1(i,3)*B1(i,5)); Y(q,p)=Y(p,q); Y(q,q)=Y(q,q)+1./(B1(i,3)*B1(i,5)^2)+B1(i,4)./2; Y(p,p)=Y(p,p)+1./B1(i,3)+B1(i,4)./2;

《数据结构课程设计》表达式求值实验报告

实验课程名称 专业班级 学生姓名 学号 指导教师 20 至 20 学年第学期第至周

算术表达式求值演示 一、概述 数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 在这次的课程设计中我选择的题目是算术表达式求值演示。表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们,同时加深对这种结构的理解和认识。 二、系统分析 1.以字符列的形式从终端输入语确的、不含变量的整数表达式。利用已知的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教科书的例子在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。 2.一般来说,计算机解决一个具体问题时,需要经过几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后编出程序,进行测试,调试直至得到想要的答案。对于算术表达式这个程序,主要利用栈,把运算的先后步骤进行分析并实现简单的运算!为实现算符优先算法,可以使用两个栈,一个用以寄存运算符,另一个用以寄存操作数和运算结果。 3.演示程序是以用户于计算机的对话方式执行,这需要一个模块来完成使用者与计算机语言的转化。 4.程序执行时的命令: 本程序为了使用具体,采用菜单式的方式来完成程序的演示,几乎不用输入什么特殊

的命令,只需按提示输入表达式即可。(要注意输入时格式,否者可能会引起一些错误)5. 测试数据。 三、概要设计 一个算术表达式中除了括号、界限符外,还包括运算数据和运算符。由于运算符有优先级别之差,所以一个表达式的运算不可能总是从左至右的循序执行。每次操作的数据或运算符都是最近输入的,这与栈的特性相吻合,故本课程设计借助栈来实现按运算符的优先级完成表达式的求值计算。 算法设计 程序包含三个模块 (1) 主程序模块,其中主函数为 void main{ 输入表达式; 根据要求进行转换并求值; 输出结果; } (2) 表达式求值模块——实现具体求值。 (3) 表达式转换模块——实现转换。 各个函数之间的调用关系

电力系统潮流计算实验报告

1. 手算过程 已知: 节点1:PQ 节点, s(1)= -0.5000-j0.3500 节点2:PV 节点, p(2)=0.4000 v(2)=1.0500 节点3:平衡节点,U(3)=1.0000∠0.0000 网络的连接图: 0.0500+j0.2000 1 0.0500+j0.2000 2 3 1)计算节点导纳矩阵 由2000.00500.012j Z += ? 71.418.112j y -=; 2000.00500.013j Z += ? 71.418.113j y -=; ∴导纳矩阵中的各元素: 42.936.271.418.171.418.1131211j j j y y Y -=-+-=+=; 71.418.11212j y Y +-=-=; 71.418.11313j y Y +-=-=; =21Y 71.418.11212j y Y +-=-=; 71.418.12122j y Y -==; 002323j y Y +=-=; =31Y 71.418.11313j y Y +-=-=; =32Y 002323j y Y +=-=; 71.418.13133j y Y -==; ∴形成导纳矩阵B Y : ?? ?? ? ?????-++-+-+-+-+--=71.418.10071.418.10071.418.171.418.171.418.171.418.142.936.2j j j j j j j j j Y B 2)计算各PQ 、PV 节点功率的不平衡量,及PV 节点电压的不平衡量: 取:000.0000.1)0(1)0(1)0(1j jf e U +=+= 000.0000.1)0(2) 0(2)0(2j jf e U +=+= 节点3是平衡节点,保持000.0000.1333j jf e U +=+=为定值。 ()()[] ∑==++-=n j j j ij j ij i j ij j ij i i e B f G f f B e G e P 1 )0()0()0()0()0()0() 0(;

表达式求值实验报告

淮海工学院计算机工程学院 课程设计报告 设计名称:数据结构课程设计 选题名称:表达式求值 姓名:学号: 专业班级: 系(院):计算机工程学院 设计时间: 设计地点:软件工程实验室、教室 指导教师评语: 成绩: 签名: 年月日

1.课程设计目的 1、训练学生灵活使用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。 2.课程设计任务和要求: 任务 根据教材《数据结构-C语言描述》(耿国华主编)和参考书《数据结构题集(C语言版)》(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择使用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。 设计题目从任务书所列选题表中选取,每班每题不得超过2人。 学生自选课题 学生原则上可以结合个人爱好自选课题,要求课题有一定的深度和难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。学生自选课题需在18周前报课程设计指导教师批准方可生效。 要求: 1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备和否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。 2、.设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。 3、程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释; 4、每位同学需提交可独立运行的程序; 5 、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算); 6、课程设计实践作为培养学生动手能力的一种手段,单独考核。 3.课程设计说明书

C语言程序设计实验报告实验数据类型运算符和表达式

凯里学院C 语言程序设计实验报告 ×××××专业××年级××班,学号××××××姓名××成绩 合作者实验日期年月日 指导教师评阅日期年月日 实验二数据类型、运算符和表达式 一、实验目的: (1)掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。 (2)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C 语言的输入和输出函数的使用 (4)进一步熟悉C 程序的编辑、编译、连接和运行的过程,学会使用stepbystep 功能。 (5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。 二、实验内容: (1)输人并运行下面的程序 #include voidmain() { charc1,c2; c1='a'; c2='b'; 装 订 线 装 订 线

printf("%c%c\n",c1,c2); } (2)按习题3.7的要求编程序并上机运行 该题的要求是: 要将“China”译成密码,密码规律是:用原来字母后面的第4个字母代替原来的字母。 例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre"。 请编一程序,用赋初值的方法使。cl,c2,c3,c4,c5五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使cl,c2,c3,c4,c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。 三、实验步骤: (1)输人并运行下面的程序 #include voidmain() { charc1,c2; c1='a'; c2='b'; printf("%c%c\n",c1,c2); } ①运行此程序。 程序结果为:

算术表达式求值-数据结构实验报告

清华大学数据结构课程实验报告(20 -20 学年第学期) 报告题目:算术表达式求值 任课老师: 专业: 学号: 姓名: 二0一年月日

摘要:现代科学技术高速发展,各种高科技产品频频问世,而各种技术的基础都离不开基本的表达式求值,它虽然简单,但却是任何复杂系统的基本执行操作。栈是一种重要的线性结构,从数据结构的角度看,它是一种特殊的线性表,具有先入先出的特点。而算符优先法的设计恰巧符合先入先出的思想。故我们基于栈这种数据结构,利用算符优先法,来实现简单算术表达式的求值。 关键字:算符优先法;算术表达式;数据结构;栈 一、课题概述 1、问题描述 一个算术表达式是由运算数、运算符、界限符组成。假设操作数是正整数,运算符只含有加“+”、减“-”、乘“*”、除“/”四种二元运算符,界限符有左括号“(”、右括号“)”和表达式起始、结束符“#”。利用算符优先法对算术表达式求值。 2、设计目的 (1)通过该算法的设计思想,熟悉栈的特点和应用方法; (2)通过对算符优先法对算术表达式求值的算法执行过程的演示,理解在执行相应栈的操作时的变化过程。 (3)通过程序设计,进一步熟悉栈的基本运算函数; (4)通过自己动手实现算法,加强从伪码算法到C语言程序的实现能力。3、基本要求: (1)使用栈的顺序存储表示方式; (2)使用算符优先法; (3)用C语言实现; (4)从键盘输入一个符合要求的算术表达式,输出正确的结果。 4、编程实现平台 Microsoft Visual C++ 6.0 二、设计思路及采取方案 1、设计思路: 为了实现算符优先法,可以使用两个工作栈。一个称做OPTR,用以寄存运

PQ分解法潮流计算实验

xxxx实验报告 学生姓名:学号:专业班级: 实验类型:□验证□综合■设计□创新实验日期:实验成绩: 一、实验项目名称 P-Q分解法潮流计算实验 二、实验目的与要求: 目的:电力系统分析的潮流计算是电力系统分析的一个重要的部分。通过对电力系统潮流分布的分析和计算,可进一步对系统运行的安全性,经济性进行分析、评估,提出改进措施。电力系统潮流的计算和分析是电力系统运行和规划工作的基础。 潮流计算是指对电力系统正常运行状况的分析和计算。通常需要已知系统参数和条件,给定一些初始条件,从而计算出系统运行的电压和功率等;潮流计算方法很多:高斯-塞德尔法、牛顿-拉夫逊法、P-Q分解法、直流潮流法,以及由高斯-塞德尔法、牛顿-拉夫逊法演变的各种潮流计算方法。 本实验采用P-Q分解法进行电力系统分析的潮流计算程序的编制与调试,获得电力系统中各节点电压,为进一步进行电力系统分析作准备。通过实验教学加深学生对电力系统潮流计算原理的理解和计算,初步学会运用计算机知识解决电力系统的问题,掌握潮流计算的过程及其特点。熟悉各种常用应用软件,熟悉硬件设备的使用方法,加强编制调试计算机程序的能力,提高工程计算的能力,学习如何将理论知识和实际工程问题结合起来。 要求:编制调试电力系统潮流计算的计算机程序。程序要求根据已知的电力网的数学模型(节点导纳矩阵)及各节点参数,完成该电力系统的潮流计算,要求计算出节点电压、功率等参数。 三、主要仪器设备及耗材 每组计算机1台、相关计算软件1套 四、实验内容: 1.理论分析: P-Q分解法是从改进和简化牛顿法潮流程序的基础上提出来的,它的基本思想是:把节点功率表示为电压向量的极坐标方程式,抓住主要矛盾,以有功功率误差作为修正电压向量角度的依据,以无功功率误差作为修正电压幅值的依据,把有功功率和无功功率迭代分开来进行。 牛顿法潮流程序的核心是求解修正方程式,当节点功率方程式采取极坐标系统时,

电力系统分析潮流计算大作业

电力系统分析潮流计算大作业(源程序及实验报告)

源程序如下: 采用直角坐标系的牛顿-拉夫逊迭代 function chaoliujisuan() m=3; %m=PQ节点个数 v=1;%v=PV节点个数 P=[-0.8055 -0.18 0]; %P=PQ节点的P值 Q=[-0.5320 -0.12 0]; %Q=PQ节点的Q值 PP=[0.5];%PP=PV节点的P值 V=[1.0];%V=PV节点的U值 E=[1 1 1 1.0 1.0]'; %E=PQ,PV,Vθ节点e的初值 F=[0 0 0 0 0]'; %F=PQ,PV,Vθ节点f的初值 G=[ 6.3110 -3.5587 -2.7523 0 0; -3.5587 8.5587 -5 0 0; -2.7523 -5 7.7523 0 0; 0 0 0 0 0; 0 0 0 0 0 ]; B=[ -20.4022 11.3879 9.1743 0 0; 11.3879 -31.00937 15 4.9889 0; 9.1743 15 -28.7757 0 4.9889; 0 4.9889 0 5.2493 0; 0 0 4.9889 0 -5.2493 ]; Y=G+j*B; X=[]; %X=△X n=m+v+1;%总的节点数 FX=ones(2*n-2,1);%F(x)矩阵 F1=zeros(n-1,n-1);%F(x)导数矩阵 a=0;%记录迭代次数 EF=zeros(n-1,n-1);%最后的节点电压矩阵 while max(FX)>=10^(-5) for i=1:m %PQ节点 FX(i)=P(i);%△P FX(n+i-1)=Q(i);%△Q for w=1:n FX(i)= FX(i)-E(i)*G(i,w)*E(w)+E(i)*B(i,w)*F(w)-F(i)*G(i,w)*F(w)-F(i)*B(i,w)*E(w); %△P FX(n+i-1)=FX(n+i-1)-F(i)*G(i,w)*E(w)+F(i)*B(i,w)*F(w)+E(i)*G(i,w)*F(w)+E(i)*B(i ,w)*E(w); %△Q end

《C语言程序设计》实验报告实验

《C语言程序设计》 实验报告 2013~2014学年第二学期 班级 姓名 学号 指导教师

实验一 实验项目名称:C程序的运行环境和运行C程序的方法 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的: 1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C源程序的特点。 二、预习内容: 教材《C语言程序设计教程》第1章。 三、实验内容: 1. 在Visual C++ 6.0环境下输入并运行下面的程序: #include int main( ) { printf("This is a C program.\n"); return 0; } 2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语 法错误,然后运行程序,并观察分析运行结果。 #include int main( ) { int a,b,sum a=3; b=4; sun=a+b; print(“%d+%d=%d\n”,a,b,sum); return 0; } 四、实验结果: 1. 运行结果(或截图): This is a C program. Press any key to continue 2. (1) 改正后的源程序: #include int main( ) { int a,b,sum; a=3; b=4; sum=a+b;

printf("%d+%d=%d\n",a,b,sum); return 0; } (2) 运行结果(或截图): 3+4=7 五、思考题: 1. 一个C程序上机的步骤有哪些? 答:上级输入与编辑源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。 2. 组成C程序的基本单位是函数,一个函数包括哪几个部分? 答:一个函数包括两部分:分别为函数头或函数首部和函数体。 成绩指导教师签名 实验二 实验项目名称:数据类型、运算符和表达式 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的: 1.掌握整型、实型与字符型这三种基本类型的概念; 2.掌握常量及变量的使用方法; 3. 掌握基本算术运算符及其表达式的使用方法; 4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。 二、预习内容: 教材《C语言程序设计教程》第2章。 三、实验内容: 1. 在Visual C++ 6.0环境下输入下面的程序,编译、连接、调试该程序。 main( ) { char m,n; m=280; n=320; printf(“%d\t%d\n”,m,n); printf(“%c\t%c\n”,m,n); } 2. 在Visual C++ 6.0环境下输入并运行下面的程序,观察分析运行结果。 #include int main( ) { int a=3,b=4,c=8; float d,e; d=a+b/c; e=a+(float)b/c;//请将此处d改为b printf("d=%f,e=%f\n",d,e);

长沙理工大学数据结构栈的实现及应用算术表达式求值实验报告

实验报告 年级班号学号姓名 实验名称:栈的实现及其应用:算术表达式的计算实验日期2016年12月2日 计算机科学与技术系 2016年制

一、实验环境 32位操作系统下的Window平台Microsoft Visual C++ 二、实验目的 掌握栈的实现及使用 三、实验内容 1.实现栈的存储结构 2.实现栈的基本操作的有关算法 3.利用栈解决*算术表达式求值问题 四、数据结构与算法思想描述 顺序读取中缀表达式: 1、当遇到数字时,将数字入数字栈 2、当遇到操作符时,与操作符栈栈顶比较: If(当前操作符优先级大于操作符栈栈顶的优先级) If(非”)”操作符) 将当前操作符进操作符栈; Else While(操作符栈栈顶不等于”(“) 取操作符栈栈顶及数字栈的两个数进行运算,并将结果压入数字栈; Else If(非(“操作符) While(操作符栈栈顶不等于”(“) 取操作符栈栈顶及数字栈的两个数进行运算,并将结果压入数字栈; Continue;(直到当前操作符比栈顶操作符优先级大) Else 将当前操作符进操作符栈; 3、While(操作符栈非空) 操作符栈栈顶及数字栈的两个数进行运算,并将结果压入数字栈; 4、在数字栈取最后结果并输出。

五、程序清单 //10*8^2+16.3+5*(5.2*5+3.01)/4-(-10)+0.1000060+4.00416-40 = 666.666666 //100+(-100)-(-10^2) = 100 //(((2016-2017+(((2015-2014)))))) = 0 //-1+(((((((((1^0))))))))+100%10^2 = 0 #include #include #include #include #include #include using namespace std; const int MAX = 105; typedef double Type; typedef struct { Type TypeStack[MAX]; char charStack[MAX];

psasp潮流计算实验说明-2014

PSASP 潮流计算实验 一、实验目的 理解电力系统分析中潮流计算的相关概念,掌握用PSASP 软件对系统潮流进行计算的过程。学会在文本方式下和图形方式下的对潮流计算结果进行分析。 二、预习要求 复习《电力系统分析》中有关潮流计算的内容,了解有关潮流计算的功能,理解常用潮流计算方法,了解PQ 、PV 和V θ(平衡节点,在PSASP 中称为Slack 节点)的设置。 三、实验内容 (一) PSASP 潮流计算概述 潮流计算是根据给定的电网结构、参数和发电机、负荷等元件的运行条件,确定电力系统各部分稳态运行状态参数的计算。通常给定的运行条件有系统中各电源和负荷点的功率、枢纽点电压、平衡点的电压和相位角。待求的运行状态参量包括电网各母线节点的电压幅值和相角,以及各支路的功率分布、网络的功率损耗等。 PSASP 潮流计算的流程和结构如下图所示: 潮流计算 各种计算公共部分 图形方式 文本方式

以一个图所示9节点系统为例,计算其在常规、规划两种运行方式下的潮流。规划运行方式即在常规运行方式下,其中接于一条母线(STNB-230)处的负荷增加,对原有电网进行改造后的运行方式,具体方法为:在母线GEN3-230和STNB-230之间增加一回输电线,增加发电机3的出力及其出口变压器的容量,新增或改造的元件如下图虚线所示。 (二)数据准备 1. 指定数据目录及基准容量 双击PSASP图标,弹出PSASP封面后,按任意键,即进入PSASP主画面:

在该画面中,要完成的工作如下: (1)指定数据目录 第一次可通过“创建数据目录”按钮,建立新目录,如:F:\CLJS。以后可通过“选择数据目录”按钮,选择该目录。 (2)给定系统基准容量 系统基准容量项中,键入该系统基准容量,如100MVA。建立了数据之后,该数不要轻易改动。 2. 录入系统潮流计算数据 基础数据(系统参数)如下:

相关文档
最新文档