|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Работа за рубежомПрофессиональный тестПрофессиональный тест выполняется на русском языке в письменном виде. Предлагаются 5 заданий на абстрактном алгоритмическом языке. От Вас требуются исчерпывающие конкретные ответы на все поставленные вопросы. Программировать на компьютере ничего не следует. Задание 1 Есть ли смысл в следующем фрагменте программы? Дать развернутые пояснения. REAL Y=2.0,X=1.0,E=1.0; DO{ E=E/2.0; Y=X+E;}WHILE(Y<>1.0) Задание 2 Разобраться в назначении и алгоритме программы. Выявить ошибки. Cоставить пример обращения к процедуре. Провести разумную трассировку программы для конкретных данных. Определить эффективность и надежность программы в общепринятом смысле. Предложить способы улучшения алгоритма и программы. PROC XX(Y[],L,R) // Заголовок процедуры { INTEGER Y[N],L,R,X,I,J,F,T,Z; //описание типов переменных I=L; J=R; X=(L+R)/2; // Три оператора присваивания DO{ DO{ F=0; IF(Y[I]<Y[X]) F=-1; IF(Y[I]>Y[X]) F=1; IF(f<0)I=I+1;} WHILE(F<0); DO{ F=0; IF(Y[J]>Y[X]) F=-1; IF(Y[J]<Y[X])F=1; IF(f<0)J=J+1;} WHILE(F<0); IF(I<=J) {Z=Y[I]; Y[I]=Y[J];Y[J]=Z;} } WHILE(I<=J) IF(L<J) XX(Y,L,J); IF(I<R) XX(Y,I,R); } Задание 3 Есть ли смысл в следующем фрагменте программы? Есть ли ошибки? Пояснить. PROC YY(X) // Заголовок процедуры { INTEGER X; IF(X==1)RETURN(1); IF(X<>1)RETURN(X*YY(X-1)); } Задание 4 Сравнить два варианта программы:
Задание 5 Разобраться в назначении и алгоритме программы. Выявить ошибки. Составить пример обращения к процедуре. Провести "разумную" трассировку. Определить эффективность и надежность программы в общепринятом смысле. Предложить способы улучшения алгоритма и программы. Избавиться от GOTO. PROC RR(U[],N) // Заголовок процедуры { INTEGER U[N],N,V1;C1,C2; //Описание типов переменных C1=1; DO{ M1: // M1 -это метка V1=RAND()*N; // RAND- процедура генерации вещественных // случайных чисел из интервала (0.0;1.0) C2=1; DO{ IF(V1==U[C2]) GOTO M1; } WHILE (C2<=N); U[C1]=V1; C1=C1+1; } WHILE (C1<=N); } ОБЩИЕ ПОЯСНЕНИЯ
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Copyright © 1998-2016 "M6" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||