免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Pascal表达式求值:负数能够参与运算。其中负数(-m)的解决办法是通过在数字栈中构建0-m方式,把单目的负数符号变成减法运算(负数主要出现在表达式的开头以及“(”后面,程序默认输入的表达式格式正确。program express;var s:string; /输入字符串fuhao:array1.100 of char; /符号栈shuzi:array1.100 of longint; /数字栈fh_top,sz_top:integer; /栈指针i,j,len,k:longint;c:char;function jibie(c:char):integer; /定义运算符的优先级begin case c of (:exit(0); +,-:exit(1); *,/:exit(2); :exit(3); end;end;function jisuan(x,y:longint;c:char):longint; /计算函数var r,t:longint;begin case c of +:exit(x+y); -:exit(x-y); *:exit(x*y); /:exit(x div y); :begin t:=1; for r:=1 to y do t:=t*x; end; end; jisuan:=t;end;begin readln(s); fh_top:=0;sz_top:=0; len:=length(s); i:=1; if si=- then /判断表达式第一个数是否是负数 begin inc(sz_top); shuzisz_top:=0; end; while i=len do begin if si in+,-,*,/, then begin while( (fh_top0)and(jibie(si)=jibie(fuhaofh_top) do begin k:=jisuan(shuzisz_top-1,shuzisz_top,fuhaofh_top); dec(fh_top);dec(sz_top); shuzisz_top:=k; end; inc(fh_top);fuhaofh_top:=si; end; if si=( then begin inc(fh_top);fuhaofh_top:=si; if si+1=- then begin inc(sz_top); shuzisz_top:=0; end; end; if si=) then begin while fuhaofh_top( do begin k:=jisuan(shuzisz_top-1,shuzisz_top,fuhaofh_top); dec(fh_top);dec(sz_top); shuzisz_top:=k; end; dec(fh_top); end; if si in0.9 then begin k:=ord(si)-48;inc(i); while si in 0.9 do begin k:=k*10+ord(si)-48; inc(i); end; inc(sz_top); shuzisz_top:=k; dec(i); end; inc(i); end; while fh_top0 do /符号栈中的元素全部运算,并弹栈 begin k:=jisuan(shuzisz_top-1,shuzisz_top,fuhaofh_top); dec(fh_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 结核性骨炎护理查房
- 深度解析(2026)《GBT 35879-2018甘蔗螟虫综合防治技术规程》
- 深度解析(2026)《GBT 35770-2022合规管理体系 要求及使用指南》宣贯培训
- 深度解析(2026)《GBT 35704-2017船舶轴带无刷双馈交流发电机》
- 深度解析(2026)《GBT 35578-2017油田企业节能量计算方法》:面向低碳未来的精准核算与管理实践指南
- 绩效考核试题及解析
- 办公室季度工作计划
- 皮肤科试题及答案
- 学生网络礼仪规范细则
- 北京市石景山区2025届高三历史下学期一模考试试题【含答案】
- 鲁教版五四制七年级数学下册全套教案
- 《文化研究导论》全套教学课件
- 车管所指导员述职报告总结
- 先张法预应力混凝土空心板(桥梁)
- 112G高速互连白皮书2023
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 课间十分钟(共10篇)
- 《插花与花艺设计》课程标准
- 老年人的排泄护理
- 金属冶炼安全应急处理手册要点
- 预防跌倒坠床的风险评估及干预
评论
0/150
提交评论