COBOL經(jīng)典面試題庫(kù)中英文版_第1頁(yè)
COBOL經(jīng)典面試題庫(kù)中英文版_第2頁(yè)
COBOL經(jīng)典面試題庫(kù)中英文版_第3頁(yè)
COBOL經(jīng)典面試題庫(kù)中英文版_第4頁(yè)
COBOL經(jīng)典面試題庫(kù)中英文版_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、COBOL經(jīng)典面試題庫(kù)(中英文版)Q1) Name the divisions in a COBOL program ?.A1) IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION, PROCEDURE DIVISION.Q:列舉COBOL的DEVISIONA:標(biāo)識(shí)部,環(huán)境部,數(shù)據(jù)部,過(guò)程部Q2) What are the different data types available in COBOL?A2) Alpha-numeric (X), alphabetic (A) and numeric (9).Q:COBOL有

2、哪些可用的數(shù)據(jù)類(lèi)型A:字符型(這里指的是包含字母和數(shù)字),字母型,數(shù)字型Q3) What does the INITIALIZE verb do? - GSA3) Alphabetic, Alphanumeric fields & alphanumeric edited items are set to SPACES. Numeric, Numeric edited items set to ZERO. FILLER , OCCURS DEPENDING ON items left untouched.Q:INITIALIZE這個(gè)詞做了些什么A:將字母,字符,數(shù)字區(qū)域都置成空格(置空)

3、,將數(shù)字區(qū)置0, FILLER和OCCURS DEPENDING ON項(xiàng)不處理Q4) What is 77 level used for ?A4) Elementary level item. Cannot be subdivisions of other items (cannot be qualified), nor can they be subdivided themselves.Q:77層有什么作用A:基本層數(shù)據(jù)項(xiàng),不能用做細(xì)分別的層,也不能被細(xì)分Q5) What is 88 level used for ?A5) For condition names.Q:88層有什么作用A:條件

4、邏輯層Q6) What is level 66 used for ?A6) For RENAMES clause.Q:66層有什么作用A:重命名層Q7) What does the IS NUMERIC clause establish ?A7) IS NUMERIC can be used on alphanumeric items, signed numeric & packed decimal items and unsigned numeric & packed decimal items. IS NUMERIC returns TRUE if the item onl

5、y consists of 0-9. However, if the item being tested is a signed item, then it may contain 0-9, + and - .Q:IS NUMERIC這個(gè)子句怎么確定(也就是說(shuō)確定句子的真值)A:IS NUMERIC用在字符項(xiàng),帶符號(hào)數(shù)字,浮點(diǎn)數(shù),不帶符號(hào)數(shù)。如果目標(biāo)項(xiàng)只含09則返回TRUE。但是,如果待測(cè)項(xiàng)目是個(gè)帶符號(hào)數(shù),那么他就含有0-9還有+和-Q8) How do you define a table/array in COBOL?A8) ARRAYS.05 ARRAY1 PIC X(9) OCCURS

6、 10 TIMES.05 ARRAY2 PIC X(6) OCCURS 20 TIMES INDEXED BY WS-INDEXQ:COBOL中怎么建表/數(shù)組A:如上.Q9) Can the OCCURS clause be at the 01 level?A9) No.Q:OCCURS 子句能用在第一層嗎A:不能Q10) What is the difference between index and subscript? - GSA10) Subscript refers to the array occurrence while index is the displacement (in

7、 no of bytes) from the beginning of thearray. An index can only be modified using PERFORM, SEARCH & SET. Need to have index for a table in order touse SEARCH, SEARCH ALL.Q:索引和下標(biāo)有什么區(qū)別A:下標(biāo)可以指定數(shù)組中任意中位置的元素(只要知道其下標(biāo)),下標(biāo)只能是數(shù)字型常量或者數(shù)字型變量(但是不能在指定的時(shí)候修改,如:A(K+1)這樣是不行的,要修改的話要在指定的外部改,如:ADD 1 TO K,而索引的話是從表頭/數(shù)組

8、頭開(kāi)始檢索(以BY N的指定檢索規(guī)律往后滾)再者,索引只能通過(guò)PERFORM, SEARCH 和SET來(lái)修改,如果要在一個(gè)表中使用SEARCH, SEARCH ALL,那這個(gè)表就要有索引(因?yàn)镾EARCH, SEARCH ALL的參數(shù)中指定索引,所以即使其有很多限制還是得用它)Q11) What is the difference between SEARCH and SEARCH ALL? - GSA11) SEARCH - is a serial search.SEARCH ALL - is a binary search & the table must be sorted (

9、ASCENDING/DESCENDING KEY clause to be used & data loaded in this order) before using SEARCH ALL.Q:SERACH和SERACH ALL有什么區(qū)別A:SEARCH是順序查找SERACH ALL 是2叉查找(相信數(shù)據(jù)結(jié)構(gòu)學(xué)過(guò)2叉樹(shù)的都不會(huì)陌生),在使用SEARCH ALL前表必須有一個(gè)遞增/遞減的KEY,并且表已經(jīng)按照其KEY值排序了,這樣才能使用SEARCH ALLQ12) What should be the sorting order for SEARCH ALL? - GSA12) It

10、 can be either ASCENDING or DESCENDING. ASCENDING is default. If you want the search to be done on anarray sorted in descending order, then while defining the array, you should give DESCENDING KEY clause. (Youmust load the table in the specified order).Q:為了使用SEARCH ALL,存貯順序是怎么樣的A:他必須是遞增或者是遞減的,默認(rèn)地政。如

11、果你想在一個(gè)遞減順序存貯的表/數(shù)組使用搜索的話,那么當(dāng)定義表/數(shù)組的時(shí)候你應(yīng)該加一個(gè)DESCENDING KEY子句(這之前表要已經(jīng)按指定的順序排序了)Q13) What is binary search?A13) Search on a sorted array. Compare the item to be searched with the item at the center. If it matches, fine else repeat the process with the left half or the right half depending on where the i

12、tem lies.Q:什么是2叉查找A:將你要找的目標(biāo)項(xiàng)與數(shù)組的正中項(xiàng)比較,找到就結(jié)束搜索,沒(méi)找到則繼續(xù)如此循環(huán)(比較下一個(gè)中值),取哪一半取決于目標(biāo)值大于中值還是小于中值PS:聯(lián)想2叉樹(shù)的查找規(guī)律就很好理解,因?yàn)樗^的“表“本身也就是數(shù)組Q14) My program has an array defined to have 10 items. Due to a bug, I find that even if the program access the11th item in this array, the program does not abend. What is wrong wi

13、th it?A14) Must use compiler option SSRANGE if you want array bounds checking. Default is NOSSRANGE.Q:我的程序有個(gè)數(shù)組定義了10項(xiàng)。因?yàn)橛袀€(gè)BUG,我發(fā)現(xiàn)即使訪問(wèn)第11項(xiàng),程序也不異常終止。那是出了什么問(wèn)題A:必須使用編譯器的一個(gè)選項(xiàng)SSRANGE,如果你想檢查數(shù)組的超界問(wèn)題。默認(rèn)是NOSSRANGEQ15) How do you sort in a COBOL program? Give sort file definition, sort statement syntax and mean

14、ing. - GSA15) Syntax: SORT file-1 ON ASCENDING/DESCENDING KEY key. USING file-2 GIVING file-3.USING can be substituted by INPUT PROCEDURE IS para-1 THRU para-2GIVING can be substituted by OUTPUT PROCEDURE IS para-1 THRU para-2.file-1 is the sort (work) file and must be described using SD entry in FI

15、LE SECTION.file-2 is the input file for the SORT and must be described using an FD entry in FILE SECTION and SELECTclause in FILE CONTROL.file-3 is the out file from the SORT and must be described using an FD entry in FILE SECTION and SELECTclause in FILE CONTROL.file-1, file-2 & file-3 should n

16、ot be opened explicitly.INPUT PROCEDURE is executed before the sort and records must be RELEASEd to the sort work file from the input procedure.OUTPUT PROCEDURE is executed after all records have been sorted. Records from the sort work file must be RETURNed one at a time to the output procedure.Q:怎么

17、在一個(gè)COBOL程序中排序?給出排序文件的定義,排序語(yǔ)法和意思A:語(yǔ)法就是SORT file-1 ON ASCENDING/DESCENDING KEY key. USING file-2 GIVING file-3.USING后程序的輸入接口,這個(gè)地方可以替換成一個(gè)輸出過(guò)程,也就是說(shuō)寫(xiě)一個(gè)過(guò)程往USING這個(gè)接口中導(dǎo)數(shù)據(jù)(要在這個(gè)過(guò)程中READ,AT END,),這個(gè)過(guò)程在將數(shù)據(jù)釋放到執(zhí)行排序的文件中之前執(zhí)行,GIVING后是輸出借口,用法類(lèi)似。此例中輸入文件是file-2輸出文件是file3(這樣個(gè)文件必須在文件區(qū)中用FD和在文件控制中用到SELECT)真正執(zhí)行排序的file-1,這里需要

18、注意的是file-1中的文件區(qū)不能用FD,應(yīng)該用SD,file-2和3還是一樣(用FD),具體可以看一下書(shū)上的例子Q16) How do you define a sort file in JCL that runs the COBOL program?A16) Use the SORTWK01, SORTWK02,. dd names in the step. Number of sort datasets depends on the volume of databeing sorted, but a minimum of 3 is required.Q:怎么在JCL中定義一個(gè)排序文件來(lái)跑

19、這個(gè)COBOL程序A:用SORTWK01, SORTWK02,.作為DATA SET NAME。用多少取決于你要排序的數(shù)量,但是至少3個(gè)。Q17) What is the difference between performing a SECTION and a PARAGRAPH? - GSA17) Performing a SECTION will cause all the paragraphs that are part of the section, to be performed.Performing a PARAGRAPH will cause only that paragra

20、ph to be performed.Q:執(zhí)行一個(gè)區(qū)和一個(gè)段有什么區(qū)別A:簡(jiǎn)單來(lái)說(shuō)的話就是區(qū)的概念比段大,執(zhí)行一個(gè)區(qū)就要執(zhí)行其內(nèi)部所有段,執(zhí)行段的話只執(zhí)行該段。Q18) What is the use of EVALUATE statement? - GSA18) Evaluate is like a case statement and can be used to replace nested Ifs. The difference between EVALUATE andcase is that no break is required for EVALUATE i.e. control

21、 comes out of the EVALUATE as soon as one match ismade.Q:EVALUATE語(yǔ)句有什么作用A:EVALUATE就象個(gè)CASE語(yǔ)句(多重開(kāi)關(guān)語(yǔ)句,學(xué)過(guò)C的總知道吧),不同點(diǎn)在于EVALUATE不需要BREAK,一旦匹配就跳出EVALUATE語(yǔ)句了Q19) What are the different forms of EVALUATE statement?A19)EVALUATE EVALUATE SQLCODE ALSO FILE-STATUSWHEN A=B AND C=D WHEN 100 ALSO 00imperative stmt

22、imperative stmtWHEN (D+X)/Y = 4 WHEN -305 ALSO 32imperative stmt imperative stmtWHEN OTHER WHEN OTHERimperative stmt imperative stmtEND-EVALUATE END-EVALUATEEVALUATE SQLCODE ALSO A=B EVALUATE SQLCODE ALSO TRUEWHEN 100 ALSO TRUE WHEN 100 ALSO A=Bimperative stmt imperative stmtWHEN -305 ALSO FALSE WHE

23、N -305 ALSO (A/C=4)imperative stmt imperative stmtEND-EVALUATE END-EVALUATEQ20) How do you come out of an EVALUATE statement? - GSA20) After the execution of one of the when clauses, the control is automatically passed on to the next sentence after theEVALUATE statement. There is no need of any extr

24、a code.Q:怎么跳出一條EVALUATE語(yǔ)句A:象18題目說(shuō)的那樣,一旦匹配了某一個(gè)“WHEN“語(yǔ)句就自動(dòng)跳出了,不需要什么額外的代碼來(lái)跳出Q21) In an EVALUATE statement, can I give a complex condition on a when clause?A21) Yes.Q:在一個(gè)EVALUATE語(yǔ)句的某個(gè)WHEN分支中能否再插入復(fù)雜的情況(也就是嵌套)A:當(dāng)然可以,當(dāng)多個(gè)參數(shù)作為控制變量的時(shí)候1個(gè)WHEN內(nèi)部可以嵌套更多的情況Q22) What is a scope terminator? Give examples.A22) Scope t

25、erminator is used to mark the end of a verb e.g. EVALUATE, END-EVALUATE; IF, END-IF.Q:什么是結(jié)束終止符A:結(jié)束終止符是搭配一些范圍指令的,也就是標(biāo)識(shí)一些范圍指令的結(jié)束。如:EVALUATE, END-EVALUATE; IF, END-IF 如果沒(méi)有該結(jié)束符,該條語(yǔ)句將終止不了Q23) How do you do in-line PERFORM? - GSA23) PERFORM END-PERFORMQ:怎么使用內(nèi)嵌的PERFORMA:PERFORM END-PERFORM所謂內(nèi)嵌也就是PERFORM被嵌在

26、某些比如循環(huán)語(yǔ)句中擔(dān)當(dāng)執(zhí)行主體,同時(shí)通過(guò)UNTIL來(lái)指定結(jié)束判定Q24) When would you use in-line perform?A24) When the body of the perform will not be used in other paragraphs. If the body of the perform is a generic type of code(used from various other places in the program), it would be better to put the code in a separate Para a

27、nd usePERFORM Para name rather than in-line perform.Q:什么時(shí)候使用內(nèi)嵌式PERFORMA:當(dāng)該段PERFORM的內(nèi)容不被其他段用到,只在某些局部代碼中(當(dāng)然PERFORM的主體所用到的參數(shù)也都是局部的,例如循環(huán))使用,如果 PERFORM主體的代碼是一般的(用到了別的程序段的變量),還是使用PERFORM Para name這樣的形式比較好(也就是相對(duì)與內(nèi)于PERFORM的外部PERFORM)。Q25) What is the difference between CONTINUE & NEXT SENTENCE ?A25) The

28、y appear to be similar, that is, the control goes to the next sentence in the paragraph. But, Next Sentence wouldtake the control to the sentence after it finds a full stop (.). Check out by writing the following code example, one ifsentence followed by 3 display statements (sorry they appear one li

29、ne here because of formatting restrictions) If 1 > 0then next sentence end if display line 1 display line 2. display line 3. * Note- there is a dot (.) only at the end ofthe last 2 statements, see the effect by replacing Next Sentence with Continue *Q:CONTINUE 和 NEXT SENTENCE有什么不同A:兩者比較相似,都是將程序控制

30、權(quán)交給下一句,但是用NEXT SENTENCE的時(shí)候,只有當(dāng)碰到句結(jié)束符(就是句末的.)才會(huì)將執(zhí)行下句這道題我用了2個(gè)例子測(cè)試了一下:1:IF TEST-NUMERIC > 0THEN NEXT SENTENCEEND-IFDISPLAY LINE1 DISPLAY LINE2. DISPLAY LINE3.(請(qǐng)注意代碼中的.號(hào))結(jié)果輸出:LINE32:IF TEST-NUMERIC > 0THEN CONTINUEEND-IFDISPLAY LINE1 DISPLAY LINE2. DISPLAY LINE3.結(jié)果輸出:LINE1LINE2LINE3相信已經(jīng)區(qū)別已經(jīng)比較明顯了,N

31、EXT SENTENCE是靠句末的結(jié)束符(也就是.)來(lái)判斷下一句的,而CONTINUE是通過(guò)句頭的保留字(這例中是DISPLAY)來(lái)判斷下一句的Q26) What does EXIT do ?A26) Does nothing ! If used, must be the only sentence within a paragraph.Q:EXIT語(yǔ)句有什么作用A:什么都不做,如果用到的話,肯定是作為一段的唯一的一句話,注意:這里不是子程序中用的EXIT PROGRAMEQ27) Can I redefine an X(100) field with a field of X(200)?A2

32、7) Yes. Redefines just causes both fields to start at the same location. For example:01 WS-TOP PIC X(1)01 WS-TOP-RED REDEFINES WS-TOP PIC X(2).If you MOVE 12 to WS-TOP-RED,DISPLAY WS-TOP will show 1 whileDISPLAY WS-TOP-RED will show 12.Q:能不能把X(100)的區(qū)域重定義成X(200)A:可以,重定義只是相當(dāng)于把兩個(gè)區(qū)域的首地址放在一起,從上面這個(gè)例子也很好理解

33、A28) Can I redefine an X(200) field with a field of X(100) ?Q31)1 Yes.Q:能不能把X(200)的區(qū)域重定義成X(100)A:可以,原因同上Q31)2 What do you do to resolve SOC-7 error? - GSQ31) Basically you need to correcting the offending data. Many times the reason for SOC7 is an un-initialized numeric item.Examine that possibility

34、 first. Many installations provide you a dump for run time abends ( it can be generated alsoby calling some subroutines or OS services thru assembly language). These dumps provide the offset of the lastinstruction at which the abend occurred. Examine the compilation output XREF listing to get the ve

35、rb and the linenumber of the source code at this offset. Then you can look at the source code to find the bug. To get capture theruntime dumps, you will have to define some datasets (SYSABOUT etc ) in the JCL. If none of these are helpful, usejudgement and DISPLAY to localize the source of error. So

36、me installation might have batch program debuggingtools. Use them.Q:怎么解決SOC-7錯(cuò)誤A:基本上你要看一下一些比較奇怪的數(shù)據(jù),很多導(dǎo)致SOC7的原因都是因?yàn)閿?shù)據(jù)項(xiàng)的初始化。首先檢查所有的可能性。某些功能可能提供一個(gè)空間用來(lái)存貯那些運(yùn)行時(shí)間ABEND,并且提供最近一次運(yùn)行時(shí)間ABEND的偏移量的說(shuō)明(也就是位于隊(duì)列中的位置),檢查編譯器的輸出XREF隊(duì)列以獲得一些關(guān)鍵字。然后你就能看下源代碼找出BUG。為了捕獲一些運(yùn)行時(shí)間的信息,你需要在JCL中建一個(gè) DATASET(象SYSABOUT這樣的),如果這些都沒(méi)用,那么再審查一

37、下ERROR出現(xiàn)的位置判斷一下原因。有些軟件安裝了會(huì)提供批處理程序調(diào)試工具,那么可以就可以用這些工具了。PS:以上大意就是說(shuō)SOC-7這個(gè)錯(cuò)誤多半是因?yàn)閿?shù)據(jù)項(xiàng)初始化造成的,然后你應(yīng)該到運(yùn)行后編譯器的返回信息中去找這些ERROR出現(xiàn)的地方(我們常用的話應(yīng)該就是走查L(zhǎng)OG),查的時(shí)候多注意下數(shù)據(jù)項(xiàng)的初始化問(wèn)題。Q32) How is sign stored in Packed Decimal fields and Zoned Decimal fields?Q32) Packed Decimal fields: Sign is stored as a hex value in the last ni

38、bble (4 bits ) of the storage.Zoned Decimal fields: As a default, sign is over punched with the numeric value stored in the last bite.Q:在內(nèi)部十進(jìn)制區(qū)域和顯示十進(jìn)制區(qū)域符號(hào)是怎么存貯的A:內(nèi)部十進(jìn)制是一個(gè)數(shù)字占4位(半字節(jié)),內(nèi)存中用16進(jìn)制來(lái)存,最后在追加4位作為符號(hào),如-4=01001101(末尾的1101表示負(fù),1100表示正),而我們用于顯示的十進(jìn)制,符號(hào)并不占空間,只是在最后一位上標(biāo)識(shí)一下Q33) How is sign stored in a co

39、mp-3 field? - GSQ33) It is stored in the last nibble. For example if your number is +100, it stores hex 0C in the last byte, hex 1C ifyour number is 101, hex 2C if your number is 102, hex 1D if the number is -101, hex 2D if the number is -102 etcQ:COMP-3區(qū)怎么存儲(chǔ)符號(hào)A:COMP-3采用的是內(nèi)部十進(jìn)制的存儲(chǔ)方式,所謂內(nèi)部十進(jìn)制就是壓縮式的外部十

40、進(jìn)制存儲(chǔ)方式,上題講過(guò)外部十進(jìn)制每個(gè)數(shù)值都用1個(gè)字節(jié)存儲(chǔ),但前4位是存符號(hào)的,這樣比較浪費(fèi)存儲(chǔ)空間,所以?xún)?nèi)部十進(jìn)制的存儲(chǔ)方式就用半個(gè)字節(jié)(4位)存儲(chǔ)一個(gè)數(shù)字,在最后增加4位作為符號(hào)(1100(C)為正,1101(D)為負(fù))Q34) How is sign stored in a COMP field ? - GSQ34) In the most significant bit. Bit is ON if -ve, OFF if +ve.Q:COMP區(qū)怎么存儲(chǔ)符號(hào)A:COMP是采用定點(diǎn)二進(jìn)制的方式存儲(chǔ)數(shù)據(jù),也就是將一個(gè)十進(jìn)制的數(shù)值轉(zhuǎn)化成二進(jìn)制再進(jìn)行存儲(chǔ),因?yàn)闄C(jī)器存儲(chǔ)的形式也是二進(jìn)制,所以定點(diǎn)二進(jìn)

41、制的讀取是最快速的,因?yàn)镃OMP型的數(shù)據(jù)是用做計(jì)算(也就是說(shuō)不用再轉(zhuǎn)化成十進(jìn)制打印),使用定點(diǎn)二進(jìn)制將會(huì)非常高效。這樣的存儲(chǔ)方式符號(hào)是保存在最高有效果位上,如:10=(00001010)?,-10=(00011010)?Q35) What is the difference between COMP & COMP-3 ?Q35) COMP is a binary storage format while COMP-3 is packed decimal format.Q:COMP和COMP-3什么區(qū)別A:這之前講過(guò)了,COMP采用定點(diǎn)二進(jìn)制存儲(chǔ),COMP-3采用內(nèi)部十進(jìn)制存儲(chǔ)Q36)

42、What is COMP-1? COMP-2?Q36) COMP-1 - Single precision floating point. Uses 4 bytes.COMP-2 - Double precision floating point. Uses 8 bytes.Q:COMP-1是什么?什么是COMP-2A:其實(shí)之所以定義計(jì)算型數(shù)據(jù)(COMPCOMP-3)以區(qū)別DISPLAY(能計(jì)算,但是要用于打?。┦菫榱丝紤]效率,因?yàn)榇蠹抑牢募?dǎo)入(也就是 USER使用的數(shù)據(jù))一般是十進(jìn)制的,而機(jī)器存儲(chǔ)都是二進(jìn)制,那么當(dāng)定義的數(shù)據(jù)光用來(lái)計(jì)算不用打印,處于效率考慮會(huì)把它定義成COMP型,當(dāng)然就會(huì)

43、衍生出幾類(lèi)COMP以適應(yīng)不用的數(shù)據(jù)類(lèi)型的存儲(chǔ)。很明顯,這里COMP-1就是采用內(nèi)部短浮點(diǎn)(4個(gè)字節(jié)表示一個(gè)數(shù),8位指數(shù)部分,24位表示數(shù)字部分),COMP-2用內(nèi)部長(zhǎng)浮點(diǎn)型(8個(gè)字節(jié)表示一個(gè)書(shū),16位指數(shù)部分,48位表示數(shù)字部分)以適應(yīng)浮點(diǎn)數(shù)據(jù)的存儲(chǔ),長(zhǎng)浮點(diǎn)精確度更高.Q37) How do you define a variable of COMP-1? COMP-2?Q37) No picture clause to be given. Example 01 WS-VAR USAGE COMP-1.Q:怎么定義一個(gè)COMP-1型?COMP-2型A:不要用PICTURE描述,因?yàn)槭谴_定分配多

44、少內(nèi)存的,直接用USAGE,如01 WS-VAR USAGE COMP-1Q38) How many bytes does a S9(7) COMP-3 field occupy ?Q38) Will take 4 bytes. Sign is stored as hex value in the last nibble. General formula is INT(n/2) + 1), where n=7 in thisexample.Q:一個(gè)S9(7)的COMP-3型占用多少字節(jié)?A:占用4字節(jié)。COMP-3用內(nèi)部十進(jìn)制存儲(chǔ),S9(7)中的S是要占空間的,符號(hào)占4位,7個(gè)數(shù)字,每個(gè)4位(

45、半個(gè)字節(jié)),所以是(4+7*4)/8=4字節(jié)(字節(jié)和位的比例不要搞錯(cuò)了哦)Q39) How many bytes does a S9(7) SIGN TRAILING SEPARATE field occupy ?Q39) Will occupy 8 bytes (one extra byte for sign).Q:一個(gè)S9(7) SIGN TRAILING SEPARATE區(qū)域占多少字節(jié)A:這里是每個(gè)符號(hào)單獨(dú)分配空間(也就是沒(méi)個(gè)數(shù)值用1個(gè)字節(jié)表示,就象最常用的DISPLAY型的分配方式),算上S的空間,所以是7+1=8字節(jié)。一般情況省略的SIGN子句都是隱含SIGN IS TRAILING

46、的Q40) How many bytes will a S9(8) COMP field occupy ?Q40) 4 bytes.Q: 一個(gè)S9(8) COMP 區(qū)域占多少字節(jié)A:如果之前關(guān)于COMP的解釋聽(tīng)懂了的話,那很顯然就是4字節(jié)了(定點(diǎn)二進(jìn)制用2字節(jié)存儲(chǔ)14,4字節(jié)存儲(chǔ)59,類(lèi)推,你可以自己推下),如果這塊還不懂的可以問(wèn)我或者查下書(shū)Q41) What is the maximum value that can be stored in S9(8) COMP?Q41) 99999999Q:S9(8)COMP型最多存儲(chǔ)的最大值是什么A:除了8個(gè)數(shù)值外不要忽略符號(hào)位Q42) What is

47、 COMP SYNC?Q42) Causes the item to be aligned on natural boundaries. Can be SYNCHRONIZED LEFT or RIGHT. For binary dataitems, the address resolution is faster if they are located at word boundaries in the memory. For example, on mainframe the memory word size is 4 bytes. This means that each word wi

48、ll start from an address divisible by 4. If myfirst variable is x(3) and next one is s9(4) comp, then if you do not specify the SYNC clause, S9(4) COMP will startfrom byte 3 ( assuming that it starts from 0 ). If you specify SYNC, then the binary data item will start from address 4.You might see som

49、e wastage of memory, but the access to this computational field is faster.Q:COMP SYNC是什么A:使數(shù)據(jù)項(xiàng)按“自然邊界”排列。SYNCHRONIZED(簡(jiǎn)寫(xiě)SYNC)語(yǔ)句是同步安置語(yǔ)句。不同的機(jī)器會(huì)有一個(gè)機(jī)器字的概念(以一個(gè)WORD四個(gè)字節(jié)舉例,這個(gè)數(shù)字因機(jī)器各異,但往往是四個(gè)字節(jié)),兩個(gè)機(jī)器字之間就是這里說(shuō)的“自然邊界”,也就是說(shuō)機(jī)器每次從內(nèi)存中取出二個(gè)字節(jié)長(zhǎng)度的數(shù)據(jù),但是一個(gè)數(shù)據(jù)項(xiàng)中含有的數(shù)值可能跨越幾個(gè)機(jī)器字或者未填滿機(jī)器字,這樣連續(xù)讀取雖然比較省空間,但是要引用某些機(jī)器字的時(shí)候要把多個(gè)拿出來(lái)重新組織(因?yàn)?/p>

50、一個(gè)數(shù)值可能跨越多個(gè)數(shù)據(jù)字,也可能未滿,機(jī)器就要判斷一個(gè)機(jī)器字中哪些是前一個(gè)數(shù)值哪些是下個(gè)數(shù)值)。如果向左對(duì)齊的話就是想左“自然邊界”靠,也就是說(shuō)未滿一個(gè)數(shù)據(jù)字的用空格(對(duì)非數(shù)字項(xiàng))或者零(數(shù)字項(xiàng))填充,填充部分不能插入其他數(shù)據(jù)項(xiàng)的內(nèi)容,同理向右對(duì)齊就是向機(jī)器字的右“自然邊界”靠,類(lèi)似的在左邊的空余部分填充。按照自然邊界存儲(chǔ)相當(dāng)與犧牲空間換取時(shí)間,存取效率,系統(tǒng)讀取的機(jī)器字兩段填充區(qū)域(0或者SPACE)之間就是一個(gè)數(shù)值,效率很高。Q43) What is the maximum size of a 01 level item in COBOL I? in COBOL II?Q43) In C

51、OBOL II: 16777215Q:COBOL1定義的01層最大大小是多少,COBOL II中?A:COBOL II中是16777215,沒(méi)什么說(shuō)的,自己翻書(shū)Q44) How do you reference the following file formats from COBOL programs:Q44)Fixed Block File - Use ORGANISATION IS SEQUENTIAL. Use RECORDING MODE IS F,BLOCK CONTAINS 0 .Fixed Unblocked - Use ORGANISATION IS SEQUENTIAL.

52、Use RECORDING MODE IS F,do not use BLOCK CONTAINSVariable Block File - Use ORGANISATION IS SEQUENTIAL. Use RECORDING MODE IS V, BLOCKCONTAINS 0. Do not code the 4 bytes for record length in FD ie JCL rec length will be max rec length in pgm + 4Variable Unblocked - Use ORGANISATION IS SEQUENTIAL. Use

53、 RECORDING MODE IS V, do not useBLOCK CONTAINS. Do not code 4 bytes for record length in FD ie JCL rec length willbe max rec length in pgm + 4.ESDS VSAM file - Use ORGANISATION IS SEQUENTIAL.KSDS VSAM file - Use ORGANISATION IS INDEXED, RECORD KEY IS, ALTERNATE RECORD KEY IS RRDS File - Use ORGANISA

54、TION IS RELATIVE, RELATIVE KEY ISPrinter File - Use ORGANISATION IS SEQUENTIAL. Use RECORDING MODE IS F, BLOCKCONTAINS 0. (Use RECFM=FBA in JCL DCB).Q:COBOL中如何涉及(引用調(diào)用)以下這些文件A: 文件類(lèi)型 這里是COBOL在文件控制區(qū)中的文件組織訪問(wèn)形式(SELECT下面那句)這里最好翻翻書(shū)或者事例代碼反復(fù)記憶定長(zhǎng)文件 用 ORGANISATION IS SEQUENTIAL. Use RECORDING MODE IS F, BLOCK

55、CONTAINS 0固定但是不是以塊的組織形式 用 ORGANISATION IS SEQUENTIAL. Use RECORDING MODE IS F, 不要使用BLOCK CONTAINS(因?yàn)椴皇且詨K的組織形式)變長(zhǎng)文件 用 ORGANISATION IS SEQUENTIAL. Use RECORDING MODE IS V,BLOCK ,CONTAINS 0.在之后的文件區(qū)中的文件描述FD中不要編碼記錄長(zhǎng)度為4字節(jié)變長(zhǎng)但是不是以塊的組織形式 用 ORGANISATION IS SEQUENTIAL. Use RECORDING MODE IS V,同樣不要使用BLOCK CONTA

56、INS也不要編碼記錄長(zhǎng)度為4字節(jié)(原因同上)ESDS VSAM文件 用ORGANISATION IS SEQUENTIALKSDS VSAM文件 用ORGANISATION IS INDEXED, RECORD KEY IS, ALTERNATE RECORD作為關(guān)鍵字的RRDS文件 用ORGANISATION IS RELATIVE, RELATIVE KEY IS打印文件 用ORGANISATION IS SEQUENTIAL. Use RECORDING MODE IS F, BLOCK CONTAINS 0. (Use RECFM=FBA in JCL DCB)PS:這道題是闡述COB

57、OL怎么調(diào)用外部的各種文件,在文件控制區(qū)以及文件區(qū)中要定義的一些關(guān)鍵字,有我們最熟悉的FB(定長(zhǎng))和VB(變長(zhǎng))(當(dāng)然我們的前提是這兩類(lèi)都是以BLOCK(塊)為單位的)但是也有不為我們所知的文件類(lèi)型(可能出現(xiàn)的情況很少,但是也確實(shí)存在,比如編譯出的MODULE放的 LOAD必須是V文件(文件組織形式是V)當(dāng)然在不寫(xiě)ORGANISATION這些關(guān)鍵字的時(shí)候都是默認(rèn)為FB的,但是在處理一些復(fù)雜數(shù)據(jù)(比如 VSAM數(shù)據(jù))還有和外部文件(比如JCL)的連接的時(shí)候這些保留字都是要指定的,關(guān)于更具體的還是要翻書(shū)加強(qiáng)記憶Q45) What are different file OPEN modes available in COBOL?Q45) Open for INPUT, OUTPUT, I-O, EXTEND.Q:COBOL中有哪些OPEN方式A:有INPUT,OUTPUT,I-O,EXTEND這些OPEN模式Q46) What is the mode in which you will OPEN a file for writing? - GSQ46) OUTPUT, EXTENDQ:當(dāng)你想OPEN一個(gè)文件用來(lái)寫(xiě)入的時(shí)候,這屬于什么方式A:OUTPUT,EX

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論