看板 FCUProblems 關於我們 聯絡資訊
※ [本文轉錄自 FCU_Talk 看板] 作者: kilonbia (專題~"~) 看板: FCU_Talk 標題: [考題] [資訊系-系統程式][黃志銘][92下期末考] 時間: Sun Jul 8 20:12:07 2007 [系統程式][黃志銘][期末考] [壹]、What is the most important differece between a macro and a subroutine? How should a programmer decide whether to use a macro or a subroutine to accomplish a given logical function? 10% [貳]、Drow a state diagram for a finite automation to recognize the following tokens: 20% (a) Signed integer(e.g. +123 or 6789 or -15):This integer may begin with a sign (+ or -) or not; however they may not begin whit digit 0 (except for the integer that consists of a single 0) (b) Real constant(e.g. -0.38 or 123.50):This real constant may begin with a sign(+ or -) or not, and consists of a string of digits that contains a decimal point. There must be at least one digit before the decimal point. [參]、Consider the following grammer: <assign> ::= id := <term>; <exp> ::= id * <exp> | id * <term> <term> ::= id + <term> | (<exp>) | id Assume that the scanner will report token type id when it sees a valid Pascal identifier. Which of the following strings is a valid sentence (i.e., <assign>)in the language generated by this grammar? 10% (1) ALBERT := B + C; (2) D := B * C; (3) X := B + (C * D + E); (4) A := B + (C * D); (5) P := B + (C * D) + E; [肆]、In APL all expressions are evaluated from right to left with no precedence associated with any of the operators. Parentheses may be used to change this default precedence. In the following "toy" version, suppose that + and * are the only legal operators. Thus, A ← 3 * 3 + 4 would put the result of 3*7 into A. A ← (3 * 3) + 4 would ass 3*3 to 4 and put the result into A. Please give a BNF grammer for sucj statements, providing for default right-to-left precedence and parentheses. 20% [伍]、Apply and expand the following two macro invocation statements to following macro definition: 20% (1) RDBUFF F1,BUFFER,LENGTH,(04,12) (2) LABEL RDBUFF F1,BUFFER,LENGTH,00 Macro definition: 25 RDBUFF MACRO &INDEV,&BUFADR,&RECLTH,&EOR 27 &EORCT SET %NITEMS(&EOR) 30 CLEAR X 35 CLEAR A 45 +LDT #4096 50 $LOOP TD =X'&INDEV' 55 JEQ $LOOP 60 RD =X'&INDEV' 63 &CTR SET 1 64 WHILE (&CTR LE &EORCT) 65 COMP =X'0000&EOR[&CTR]' 70 JEQ $EXIT 71 &CTR SET &CTR+1 73 ENDW 75 STCH &BUFADR,X 80 TIXR T 85 JLT $LOOP 90 $EXIT STX &RECLTH 100 MEND [陸]、Suppose that the following macro definitions appeared at the beginning of a SIC/XE program. 20% (1) Show the contents of NAMTAB and DEFTAB jast after this code is scanned by the macro processor. (Pointer values are given as line number into DEFTAB) (2) Now suppose that right after these definitions, the macro processor scans a line that says : MACROS Show the contents of NAMTAB and DEFTAB now. 1 MACROS MACOR 2 RDBUFF MACOR &INDEV,&BUFADR,&RECLTH 3 LDS &BUFADR 4 MEND 5 WRBUFF MACRO &OUTDEV,&BUFADR,&RECLTH 6 LDS &BUFADR 7 MEND 8 MEND 9 MACROX MACOR 10 RDBUFF MACOR &INDEV,&BUFADR,&RECLTH 11 LDT &BUFADR 12 MEND 13 WRBUFF MACRO &OUTDEV,&BUFADR,&RECLTH 14 LDT &BUFADR 15 MEND 16 MEND -- 男人就該原諒女人的謊言~ by 香吉士 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.180.106
XX9:疑 這是op嗎 07/08 20:23
kilonbia:NO~ 一個是92年 一個是95年XDDD 考試範圍不一樣^^" 07/08 20:28
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.214.27