熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 數據結構 >> 正文

數據結構考研分類復習真題 第四章 串[6]

2013-11-15 14:56:54  來源: 數據結構 

  .閱讀下列程序說明和pascal程序把應填入其中的(  )處的字句寫在答題紙上【上海海運學院 七 (分)】

  程序說明

  本程序用於判別輸入的字符串是否為如下形式的字符串:

  W&M$ 其中子字符串M是子字符串W的字符反向排列在此假定W不含有字符&和字符$字符&用作W與M的分隔符字符$用作字符串的輸入結束符

  例如對輸入字符串ab&ba$&$ab&dd$&$程序將分別輸出Ok(是)No(不是)

  程序

  PROGRAM  accept(inputoutput);
  CONST  midch=&;   endch=$;
  VAR   an:boolean;    ch:char;
  PROCEDURE  match(VAR  answer: boolean);
  VAR  chch:char;   f:boolean;
  BEGIN
  read(ch);
  IF  ch<>endch
  THEN IF  ()__
  THEN BEGIN match(f);
  IF f THEN BEGIN read(ch); answer:=()_ END ELSE answer:=false
  END
  ELSE ()___
  ELSE ()___
  END;
  BEGIN
  writeln(Enter  String:);
  match(an);
  IF  an  THEN BEGIN
  ()__ IF ()_ THEN  writeln(Ok) ELSE writeln(No)
  END
  ELSE   writeln(No)
  END

  .試利用下列棧和串的基本操作完成下述填空題【清華大學 八】

  initstack(s)          置s為空棧
  push(sx)             元素x入棧;
  pop(s)                出棧操作;
  gettop(s)             返回棧頂元素
  sempty(s)             判棧空函數
  setnull(st)           置串st為空串
  length(st)            返回串st的長度
  equal(ss)          判串s和s是否相等的函數
  concat(ss)         返回聯接s和s之後的串
  sub(si)            返回s中第i個字符
  empty(st)             判串空函數
  FUNC   invert(pre:string; VAR  exp:string):boolean;

  {若給定的表達式的前綴式pre正確本過程求得和它相應的表達式exp並返回true否則exp為空串並返回false已知原表達式中不包含括弧opset為運算符的集合}

  VAR  s:stack;   in:integer;   succ:boolean;   ch: char;
  BEGIN
  i:=;  n:=length(pre);   succ:=true;
  ()__;  ()__;
  WHILE  (i<n)  AND  succ  DO
  BEGIN ch:=sub(preil);
  IF ()_ THEN ()__
  ELSE IF ()__THEN ()_
  ELSE  BEGIN
  exp:=concat(()___()____);
  exp:=concat(()___()___);
  ()__;
  END;
  i:=i+
  END;
  IF ()___THEN
  BEGIN exp:=concat(expsub(pren)); invert:=true END
  ELSE  BEGIN setnull(exp); invert:=false  END
  END;

  注意每個空格只填一個語句

[]  []  []  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/sjjg/201311/22588.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.