阅读下列说明和算法,回答问题1和问题2。 【说明】 算法5-1用来检查文本文件中的圆括号是否匹配。若文
阅读下列说明和算法,回答问题1和问题2。
【说明】
算法5-1用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如表5-1所示。
在算法5-1中,stack为一整数栈。算法中各函数的说明如表5-2所示。
【算法5-1】
将栈stack置空,置EOF为false
ch←nextch();
while(not EOF)
k←kind(ch);
ifk== (1) )
push( (2) ;push( (3) ;
else if(k== (4) )
if(not empty())
pop();pop();
else
显示错误信息(缺少对应左括号或右括号);
显示行号row;显示列号col;
endif
endif
ch←nextch();
endwhile
if(not empty())
显示错误信息(缺少对应左括号或右括号);
while(not empty())
row←pop();col←pop();
显示行号row; 显示列号col;
endwhile
endif
为了识别更多种类的括号,对算法5-1加以改进后得到算法5-2。算法5-2能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的返回值如表5-3所示。
【算法5-2】
将栈stack置空, 置EOF为false
ch←nextch();
while(not EOF)
k←kind(ch);
if(k>0)
if(判断条件 1)
push( (5) ); push( (6) ); push( (7) );
else if(判断条件2 and 判断条件3)
pop(); pop(); pop();
else
显示错误信息(缺少对应左括号或右括号);
显示行号row: 显示列号col;
endif
endif
ch←nextch();
endwhile
if(not empty())
显示错误信息(缺少对应左括号或右括号);
while(not empty())
pop(); row←pop(); col←pop();
显示行号row; 显示列号col;
endwhile
endif
请将【算法5-1】和【算法5-2】中(1)至(7)处补充完整。
(1) 1 (2) col (3) row (4) 2 (5) col (6) row (7) k
并列否定用or还是and有的人说否定句中or可以当and用, 英语 2020-03-31 …
一个语法问题don'trunshoutintheclassromm选or或者and那个对?还是意思 英语 2020-05-21 …
举列说明用心灵倾听在日常生活中的意义 其他 2020-05-21 …
两道关于等比数列的应用题在三角形ABC中如果三天边的长a,b,c成等比数列,那么它们所对的正弦si 数学 2020-06-03 …
下列关于有关淀粉和淀粉酶的实验,叙述不合理的是()A.淀粉酶是否作用,可用碘液检验,也可以用斐林试 语文 2020-06-10 …
氧化亚铁与冷的浓硫酸反映是否明早是否明显,可否用来鉴别铁和氧化亚帖 化学 2020-06-27 …
最好不要用反证法.1、设{an}是无界数列,{bn}是无穷大数列.证明:{anbn}必为无界数列. 数学 2020-06-30 …
1*4*7*10*...*(3n-2)用阶乘表示,是否可以表示成(3n-2)!请简明回答,如果不是, 数学 2020-11-03 …
指出下列各句所使用的说明方法。①一只母羊就好比一座制药厂。()②不可否认,“克隆绵羊”的问世也引起了 语文 2020-11-03 …
一道题的词语是否使用正确下列句子中,后面引号中所示的字词在本句中是否使用正确,请说明理由好吗?只有一 语文 2020-12-29 …