📄 c85005c.ada
字号:
PTV1 := PACK1.NEXT(TV1); PTT1.NEXT; END PROC1; TASK BODY TASK2 IS BEGIN ACCEPT ENTRY1 (TTI1 : OUT INTEGER; TTA1 : OUT ARRAY1; TTR1 : OUT RECORD1; TTP1 : IN OUT POINTER1; TTV1 : IN OUT PACK1.PRIVY; TTT1 : IN OUT TASK1) DO TTI1 := TI1 + 1; TTA1 := (TA1(1)+1, TA1(2)+1, TA1(3)+1); TTR1 := (D => 1, FIELD1 => TR1.FIELD1 + 1); TTP1 := NEW INTEGER'(TTP1.ALL + 1); TTV1 := PACK1.NEXT(TTV1); TTT1.NEXT; END ENTRY1; END TASK2; PACKAGE GENPACK1 IS NEW GENERIC1 (XTI1, XTA1, XTR1, XTP1, XTV1, XTT1); BEGIN IF XTI1 /= IDENT_INT(1) THEN FAILED ("INCORRECT VALUE OF XTI1 (1)"); END IF; IF XTA1 /= (IDENT_INT(1),IDENT_INT(1), IDENT_INT(1)) THEN FAILED ("INCORRECT VALUE OF XTA1 (1)"); END IF; IF XTR1 /= (D => 1, FIELD1 => IDENT_INT(1)) THEN FAILED ("INCORRECT VALUE OF XTR1 (1)"); END IF; IF XTP1 /= IDENT(TP1) OR XTP1.ALL /= IDENT_INT(1) THEN FAILED ("INCORRECT VALUE OF XTP1 (1)"); END IF; IF PACK1."/=" (XTV1, PACK1.IDENT(PACK1.ONE)) THEN FAILED ("INCORRECT VALUE OF XTV1 (1)"); END IF; XTT1.VALU(I); IF I /= IDENT_INT(1) THEN FAILED ("INCORRECT RETURN VALUE OF " & "XTT1.VALU (1)"); END IF; PROC1(XTI1, XTA1, XTR1, XTP1, XTV1, XTT1); IF XTI1 /= IDENT_INT(2) THEN FAILED ("INCORRECT VALUE OF XTI1 (2)"); END IF; IF XTA1 /= (IDENT_INT(2),IDENT_INT(2), IDENT_INT(2)) THEN FAILED ("INCORRECT VALUE OF XTA1 (2)"); END IF; IF XTR1 /= (D => 1, FIELD1 => IDENT_INT(2)) THEN FAILED ("INCORRECT VALUE OF XTR1 (2)"); END IF; IF XTP1 /= IDENT(TP1) OR XTP1.ALL /= IDENT_INT(2) THEN FAILED ("INCORRECT VALUE OF XTP1 (2)"); END IF; IF PACK1."/=" (XTV1, PACK1.IDENT(PACK1.TWO)) THEN FAILED ("INCORRECT VALUE OF XTV1 (2)"); END IF; XTT1.VALU(I); IF I /= IDENT_INT(2) THEN FAILED ("INCORRECT RETURN VALUE FROM " & "XTT1.VALU (2)"); END IF; CHK_TASK.ENTRY1 (XTI1, XTA1, XTR1, XTP1, XTV1, XTT1); IF XTI1 /= IDENT_INT(3) THEN FAILED ("INCORRECT VALUE OF XTI1 (3)"); END IF; IF XTA1 /= (IDENT_INT(3),IDENT_INT(3), IDENT_INT(3)) THEN FAILED ("INCORRECT VALUE OF XTA1 (3)"); END IF; IF XTR1 /= (D => 1, FIELD1 => IDENT_INT(3)) THEN FAILED ("INCORRECT VALUE OF XTR1 (3)"); END IF; IF XTP1 /= IDENT(TP1) OR XTP1.ALL /= IDENT_INT(3) THEN FAILED ("INCORRECT VALUE OF XTP1 (3)"); END IF; IF PACK1."/=" (XTV1, PACK1.IDENT(PACK1.THREE)) THEN FAILED ("INCORRECT VALUE OF XTV1 (3)"); END IF; XTT1.VALU(I); IF I /= IDENT_INT(3) THEN FAILED ("INCORRECT RETURN VALUE OF " & "XTT1.VALU (3)"); END IF; XTI1 := XTI1 + 1; XTA1 := (XTA1(1)+1, XTA1(2)+1, XTA1(3)+1); XTR1 := (D => 1, FIELD1 => XTR1.FIELD1 + 1); XTP1 := NEW INTEGER'(XTP1.ALL + 1); XTV1 := PACK1.NEXT(XTV1); XTT1.NEXT; IF XTI1 /= IDENT_INT(4) THEN FAILED ("INCORRECT VALUE OF XTI1 (4)"); END IF; IF XTA1 /= (IDENT_INT(4),IDENT_INT(4), IDENT_INT(4)) THEN FAILED ("INCORRECT VALUE OF XTA1 (4)"); END IF; IF XTR1 /= (D => 1, FIELD1 => IDENT_INT(4)) THEN FAILED ("INCORRECT VALUE OF XTR1 (4)"); END IF; IF XTP1 /= IDENT(TP1) OR XTP1.ALL /= IDENT_INT(4) THEN FAILED ("INCORRECT VALUE OF XTP1 (4)"); END IF; IF PACK1."/=" (XTV1, PACK1.IDENT(PACK1.FOUR)) THEN FAILED ("INCORRECT VALUE OF XTV1 (4)"); END IF; XTT1.VALU(I); IF I /= IDENT_INT(4) THEN FAILED ("INCORRECT RETURN VALUE OF " & "XTT1.VALU (4)"); END IF; TI1 := TI1 + 1; TA1 := (TA1(1)+1, TA1(2)+1, TA1(3)+1); TR1 := (D => 1, FIELD1 => TR1.FIELD1 + 1); TP1 := NEW INTEGER'(TP1.ALL + 1); TV1 := PACK1.NEXT(TV1); TT1.NEXT; IF XTI1 /= IDENT_INT(5) THEN FAILED ("INCORRECT VALUE OF XTI1 (5)"); END IF; IF XTA1 /= (IDENT_INT(5),IDENT_INT(5), IDENT_INT(5)) THEN FAILED ("INCORRECT VALUE OF XTA1 (5)"); END IF; IF XTR1 /= (D => 1, FIELD1 => IDENT_INT(5)) THEN FAILED ("INCORRECT VALUE OF XTR1 (5)"); END IF; IF XTP1 /= IDENT(TP1) OR XTP1.ALL /= IDENT_INT(5) THEN FAILED ("INCORRECT VALUE OF XTP1 (5)"); END IF; IF PACK1."/=" (XTV1, PACK1.IDENT(PACK1.FIVE)) THEN FAILED ("INCORRECT VALUE OF XTV1 (5)"); END IF; XTT1.VALU(I); IF I /= IDENT_INT(5) THEN FAILED ("INCORRECT RETURN VALUE OF " & "XTT1.VALU (5)"); END IF; END; END START; END MAIN_TASK; BEGIN MAIN_TASK.START (DI1, DA1, DR1, DP1, DV1, DT1); END; DT1.STOP; RESULT;END C85005C;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -