Главная / Программирование /
Введение в программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel / Тест 2
Введение в программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel - тест 2
Упражнение 1:
Номер 1
Для описания переменной логического типа используется оператор
Ответ:
 (1) integer(1)
 
 (2) logical
 
 (3) real
 
 (4) character(100)
 
 (5) complex(8)
 
Номер 2
Для описания константы комплексного типа используется оператор
Ответ:
 (1) integer, parameter
 
 (2) logical(4), parameter
 
 (3) real, parameter
 
 (4) character, parameter
 
 (5) complex(4), parameter
 
Номер 3
Для описания переменной символьного типа используется оператор
Ответ:
 (1) integer
 
 (2) logical
 
 (3) real
 
 (4) character
 
 (5) complex
 
Номер 4
Для описания переменной вещественного типа используется оператор
Ответ:
 (1) integer
 
 (2) logical(2)
 
 (3) double precision
 
 (4) character(LEN=45)
 
 (5) complex
 
Номер 5
Для описания константы целочисленного типа используется оператор
Ответ:
 (1) integer*2
 
 (2) logical(4), parameter
 
 (3) character(3)
 
 (4) complex
 
 (5) integer(4), parameter
 
Упражнение 2:
Номер 1
Укажите верные варианты объявления констант и переменных
Ответ:
 (1) integer, parameter :: position = 23
 
 (2) logical 4status
 
 (3) character(200), target :: asp
 
 (4) double precision :: param=E12+5
 
 (5) character symbol = 'A'
 
 (6) logical ERR=TRUE
 
 (7) real, parameter :: OMEGA = 1E+10
 
 (8) complex :: R = (1.0, 1.0)
 
 (9) real, parameter :: R=2.0\3;
 
Номер 2
Укажите верные варианты объявления констант и переменных
Ответ:
 (1) integer, parameter : position = 23
 
 (2) logical(4) status
 
 (3) character(200), pointer asp
 
 (4) double precision :: param=12.D+5
 
 (5) character symbol = 'A'
 
 (6) real :: OMEGA = 1E+10
 
 (7) complex, target :: R = (1.0, 1.0)
 
 (8) real, parameter :: Q=2.0/3;
 
Номер 3
Укажите верные варианты объявления констант и переменных
Ответ:
 (1) logical, parameter :: status=0==0
 
 (2) complex :: i=sqrt(-1.0)
 
 (3) complex :: z1=(1.0, 2.0)
 
 (4) integer(4), parameter : M=20
 
 (5) real(8) :: Q=2.0D+100
 
 (6) real(4) :: 0.0E-0.0
 
 (7) integer, target :: 100
 
Номер 4
Укажите верные варианты объявления констант и переменных
Ответ:
 (1) integer(4) parameter N=100
 
 (2) logical N
 
 (3) real(8) CMP
 
 (4) double precision :: S=1.0D+50
 
 (5) character(100) :: str="\n\n\n\n\n"C
 
 (6) character(100) :: spt='\\\\\\'C++
 
 (7) character(1:10) :: spt='1234567890'
 
Номер 5
Укажите верные варианты объявления констант и переменных
Ответ:
 (1) integer, target :: p=255
 
 (2) real :: pt
 
 (3) character(200), pointer :: charpt
 
 (4) integer, parameter, pointer :: pp=0
 
 (5) integer(1) :: index=128
 
 (6) integer(1), parameter :: index2=128
 
 (7) integer, target ps=255
 
 (8) integer, parameter, target :: k=100
 
Упражнение 3:
Номер 1
Чему равно значение переменной pos в конце фрагмента программы? Переменные a, b, c, pos
- целые четырехбайтовые.
a=2; b=3; c=5
b=b/2*2
c=b**b
pos=a+b+c/3+1+2**b
pos=-pos
Ответ:
 (1) 10 
 (2) -10 
 (3) 20 
 (4) 100 
Номер 2
Чему равно значение переменной p
? Переменные k, m, n, p
– целые двухбайтовые.
m=2**7-1
k=m/2**2
n=k+mod(k,10)
p=k+n/2
Ответ:
 (1) 47 
 (2) -47 
 (3) 50 
 (4) 37 
Номер 3
Чему равно значение переменной sigma
?Переменные q1, q2, tetta, sigma
– целые однобайтовые.
q1=101
q2=mod(q1,3)**7+1
tetta=q2+100
sigma=max(tetta,q2,q1)+min(q2,q1)
Ответ:
 (1) 26 
 (2) -26 
 (3) 103 
 (4) 15 
Номер 4
Чему равно значение переменной alfa
?Переменные ap, bp, sp, alfa
– целые восьмибайтовые.
ap=mod(22,5)
bp=2-mod(7,4)
bp=ap+sign(ap,bp)
sp=dim(ap,bp)
alfa=ap+bp+sp
Ответ:
 (1) 2 
 (2) 4 
 (3) 6 
 (4) 8 
 (5) 10 
Номер 5
Чему равно значение переменной betta
? Переменные tk, param, s0, betta
– целые двухбайтовые.
param=5 + 9/4 + mod(9,4)
param=-param/2
s0=2**3**2
tk=s0/param
betta=sign(s0,tk)
Ответ:
 (1) 224 
 (2) 512 
 (3) -512 
 (4) 64 
 (5) -64 
 (6) 1024 
Упражнение 4:
Номер 1
Укажите верную запись математического выражения , где a,b,x – вещественные числа.
Ответ:
 (1) sin(a)+b**3.0/8/x**2+tan(x**1/2)
 
 (2) sin(a)+b**3/8/x/x+tan(sqrt(x))
 
 (3) sin(a)+b**3.0/8/x**2+tan(sqrt(x))
 
 (4) sin(a)+b**(3.0/8)/x**2+tan(sqrt(x))
 
 (5) sin(a)+b**(3.0/8)/x/x+tan(x)
 
Номер 2
Укажите верную запись математического выражения , где a,x – вещественные числа.
Ответ:
 (1) (cos(a)*sqrt(a)+sqrt(x**3**5))/cotan(x)
 
 (2) (cos(sqrt(a))+x**3/5.0)/cotan(log(x))
 
 (3) (cos(sqrt(a))+x**3/5.0)*tan(log(x))
 
 (4) (cos(sqrt(a))+x**(3/5.0))*tan(log(x))
 
 (5) (cos(sqrt(a))+x**(3/5))/cotan(log(x))
 
Номер 3
Укажите верную запись математического выражения , где – вещественно число.
Ответ:
 (1) (abs(x+sin(x))*x)**x/x**2*cos(x)
 
 (2) abs(x+sin(x))*x**x/x*x/cos(x)
 
 (3) abs(x+sin(x))*x**x/x**2*cos(x)
 
 (4) abs(x+sin(x))*x**x/(x**2*cos(x))
 
 (5) abs(x)+sin(x)*x**x/x**2/cos(x)
 
 (6) (abs(x+sin(x))*x*x)/(x*x/cos(x))
 
Номер 4
Укажите верную запись математического выражения , где , – вещественные числа.
Ответ:
 (1) log(abs(log(x)))+1/x/atan2(x,y)
 
 (2) (log(abs(log(x)))+1.0/x)/atan2(x,y)
 
 (3) log(abs(log(x)))+1.0/x/atan2d(x,y)
 
 (4) log(abs(log(x)))+1.0/x/atan(y/x)
 
 (5) (log(abs(log(x)))+1.0/x)*atan2(y,x)
 
 (6) (log(abs(log(x)))+1.0/x)/atan(y/x)
 
Номер 5
Укажите верную запись математического выражения , где , – комплексные числа, - мнимая единица.
Ответ:
 (1) sin(z1+aimag(z1))/z2*(1.0,0.0)*exp(2*(1.0,0.0))
 
 (2) sin(z1+aimag(z1))/(z2*(1.0,0.0)*exp(2*(1.0,0.0)))
 
 (3) sin(z1+aimag(z1))/(z2*(0.0,1.0)*exp(2*(0.0,1.0)))
 
 (4) sin(z1+aimag(z1))/z2*(1.0,0.0)*exp(2*(0.0,1.0))
 
 (5) sin(z1+aimag(z1))/z2*(1.0,0.0)/exp(2/(0.0,1.0))
 
Упражнение 5:
Номер 1
Укажите верное условие попадания в закрашенную область.
Ответ:
 (1) (sqrt(x*x+y*y)<4).AND.(x>0).AND.((y>x).OR.(y<-x))
 
 (2) (sqrt(x*x+y*y)<4).AND.(.NOT.((y<x).AND.(y>-x)))
 
 (3) (sqrt(x*x+y*y)<4).AND.(x>0).AND.((y<x).OR.(y>-x))
 
 (4) (sqrt(x*x+y*y)<4).AND.(x>0).AND.(y<x).OR.(y>-x)
 
 (5) ((x>0).AND.sqrt(x*x+y*y)<4).AND.(.NOT.(y<x).AND.(y>-x))
 
Номер 2
Укажите верное условие попадания в закрашенную область.
Ответ:
 (1) (sqrt(x*x+y*y)<4).AND.(y<x).AND.(x<0).OR.(sqrt(x*x+y*y)<8).AND.(y<0).AND.(y>x).AND.(x<-4)
 
 (2) (sqrt(x*x+y*y)>4).AND.(x<y).AND.(x<0).OR.(sqrt(x*x+y*y)<8).AND.(y<0).AND.(y>-x).AND.(x<-4)
 
 (3) (sqrt(x*x+y*y)<4).AND.(y<x).AND.(x>0).OR.(sqrt(x*x+y*y)<8).AND.(y<0).AND.(y>-x).AND.(x<-4)
 
 (4) (sqrt(x*x+y*y)<4).AND.(y<x).AND.(x<0).OR.(sqrt(x*x+y*y)<8).OR.(y<0).AND.(x>-y).AND.(x<-4)
 
 (5) (sqrt(x*x+y*y)<4).AND.(y<x).AND.(x<0).OR.(sqrt(x*x+y*y)<8).AND.(y<0).AND.(y>-x).AND.(x<-4)
 
Номер 3
Укажите верное условие попадания в закрашенную область
Ответ:
 (1) (y<-x).AND.(sqrt(x*x+y*y)>8).AND.(x>-8).OR. (sqrt(x*x+y*y)<8).AND.(y>-x).AND.(x<0).AND.(y>4)
 
 (2) (y<x).AND.(sqrt(x*x+y*y)>8).AND.(x>-8).AND.(y>0).OR. (sqrt(x*x+y*y)<8).AND.(y>-x).AND.(x<0).AND.(y>4)
 
 (3) (-x<y).AND.(sqrt(x*x+y*y)>8).AND.(x>-8).OR.(sqrt(x*x+y*y)<8).AND.(y>-x).AND.(x<0).AND.(y>4)
 
 (4) (-x>y).AND.(sqrt(x*x+y*y)>8).AND.(x>-8).AND.(y>0).OR. (sqrt(x*x+y*y)<8).AND.(y>-x).AND.(x<0).AND.(y>4)
 
 (5) (y<x).AND.(sqrt(x*x+y*y)>8).AND.(x<-8).AND.(y>0).OR. (sqrt(x*x+y*y)<8).AND.(y>-x).AND.(x<0).AND.(y>4)
 
Номер 4
Укажите верное условие попадания в закрашенную область.
Ответ:
 (1) (y<x).AND.(y>-x).AND.(x<8).AND.NOT.((sqrt(x*x+y*y)<8).AND.(x>0).AND.(y>0))
 
 (2) (y<x).AND.(y>-x).AND.(x<8) .XOR.((sqrt(x*x+y*y)<8).AND.(x>0).AND.(y>0))
 
 (3) (y<x).AND.(sqrt(x*x+y*y)>8).AND.(y>0).OR. (y<0).AND.(x>4).AND.(sqrt(x*x+y*y)<8).AND.(-x<y)
 
 (4) (y<x).AND.(sqrt(x*x+y*y)>8).AND.(y>0).OR.(y<0).AND.(x>4).AND.(sqrt(x*x+y*y)<8).AND.(-x<y)
 
 (5) (y<x).AND.(sqrt(x*x+y*y)>8).AND.(y>0).AND.(x<8).OR. (y<0).AND.(x>4).AND.(sqrt(x*x+y*y)<8).AND.(-x<y)
 
Номер 5
Укажите верное условие попадания в закрашенную область.
Ответ:
 (1) (sqrt(x*x+y*y)<8).AND.(x>0).AND.NOT. ((y<4).AND.(y>-4).OR.(y<x).AND.(y>-x))
 
 (2) (sqrt(x*x+y*y)<8).AND.(y>x).AND.(x>0).AND.(y>4).OR.(sqrt(x*x+y*y)<8).AND.(y>-x).AND.(x>0).AND.(y<-4)
 
 (3) (x>0).AND.(sqrt(x*x+y*y)<8).AND.((y>x).OR.(y<-x).OR.(abs(y)>4))
 
 (4) (x>0).AND.(sqrt(x*x+y*y)<8).AND..NOT.((y>x).OR.(y<-x).OR.(abs(y)>4))
 
 (5) (x>0).AND.(sqrt(x*x+y*y)<8).NEQV.((x>0).AND.(x<4).AND.(y<4).AND.(y>-4))
 
Номер 6
Укажите верное условие попадания в закрашенную область
Ответ:
 (1) (sqrt(x*x+y*y)>8).AND.(x>-8).AND.(y<x).AND.(y>-x)
 
 (2) (sqrt(x*x+y*y)>8).AND.(x>-8).AND.(y<x).AND.(y>-x).AND.(x<0)
 
 (3) (sqrt(x*x+y*y)<8).AND.(x>-8).AND.(y<-x).AND.(y>x)
 
 (4) (x>-8).AND.(abs(y)<-x).AND.NOT.(sqrt(x*x+y*y)<8)
 
 (5) (x>-8).AND.(abs(y)<-x).NEQV.(sqrt(x*x+y*y)<8)
 
Упражнение 6:
Номер 1
Введите значение подстроки buf(1:7)
после выполнения фрагмента программы
character buf*30, name*5, ex*3
buf="abcxwyz1234567890"
name=buf(1:5)
ex=buf(4:6)
buf=name//ex
Ответ:
 (1) abcxwxw
 
 (2) bcwxwxa
 
 (3) abc
 
 (4) wxxwbca
 
Номер 2
Введите значение подстроки buf(3:k1)
после выполнения фрагмента программы (^ - означает пробел).
integer k1
character(LEN=50) buf
buf="^^^^^abcxwyz1234567890"
buf(5:10)="XSAMFF"
buf=adjustl(buf)
k1=index(buf,"12")
Ответ:
 (1) AMFFyz1
 
 (2) MFyz1E
 
 (3) YZfamE
 
 (4) EZM1YA
 
Номер 3
Введите значение переменной name. integer k1
character(LEN=100) path
character*11 name
path="C:\NUMERICAL\FLOW\RESULTS\Re100.txt"
k1=index(path,".txt")
path(k1:len(path))="_V1.txt"
k1=index(path,"Re")
name=path(k1:k1+10)
Ответ:
 (1) 100_V1_Re
 
 (2) v1_re_100
 
 (3) Re_V1_100
 
 (4) Re100_V1.tx
 
Номер 4
Введите значение подстроки str(5:12)
в конце работы фрагмента программы character(LEN=50) :: str="coirh8euncoewfg8uwbdniwnbd"
str=repeat("File",5)
str(5:7)=achar(80)//achar(81)//achar(82)
Ответ:
 (1) PQReFile
 
 (2) QRPE
 
 (3) FileRQP
 
 (4) PERQFILE
 
Номер 5
Введите значение подстроки str(1:6)
в конце работы фрагмента программы
character(5), parameter :: s1="start"
character(15) str
str=repeat("MOV",5)
str(9:13)=s1
str(3:7)=str(10:14)
Ответ:
 (1) tartMO
 
 (2) MOtart
 
 (3) TortMO
 
 (4) MtortO
 
Упражнение 7:
Номер 1
Для вывода на экран ^^^^^^^^^^54321
(^ - означает пробел) можно воспользоваться следующими операторами write.
Ответ:
 (1) write(*,"(10x,A5)") 54321
 
 (2) write(*,"(\,T11,A5)") "54321"
 
 (3) write(*,"(i15.5)") 54321
 
 (4) write(*,"(i10.5)") 54321
 
 (5) write(*,"(x10,i5)") 54321
 
 (6) write(*,"(10x,i5,\)") 54321
 
 (7) write(*,"(10x,/,i5)") 54321
 
 (8) write(*,"(10x,A5)") "54321"
 
Номер 2
Для вывода на экран ^^^^^12345
(^ - означает пробел) можно воспользоваться следующими операторами write.
Ответ:
 (1) write(*,"(3x,2x,A)") "12345"
 
 (2) write(*,"(5(x,'12345'))")
 
 (3) write(*,"(f11.0)") 12345.0
 
 (4) write(*,"(SP,f11.0)") floor(12345.0)
 
 (5) write(*,"(SS,i10,\)") floor(12345.0)
 
 (6) write(*,"(f11.0,A,1x,\)") 12345.0, "\r\r"C
 
 (7) write(*,"(f10.0,A,\)") 12345.0, "\b"
 
Номер 3
Для вывода на экран ^^^^^12345
(^ - означает пробел) можно воспользоваться следующими операторами write.
Ответ:
 (1) write(*,"(3x,2x,A)") "12345"
 
 (2) write(*,"(5(x),'12345')")
 
 (3) write(*,"(5(x),'12345')")
 
 (4) write(*,"(f11.0)") ceiling(12345.0)
 
 (5) write(*,"(SP,i10,\)") floor(12345.0)
 
 (6) write(*,"(f11.0,A,1x,\)") 12345.0, "\r\r"C
 
Номер 4
Для вывода на экран ^^^^^^^^^^54321
(^ - означает пробел) можно воспользоваться следующими операторами write.
Ответ:
 (1) write(*,"(10x,A5)") '54321'
 
 (2) write(*,"(\,TL11,A5)") "54321"
 
 (3) write(*,"(i15.5)") 54321
 
 (4) write(*,"(i10.5)") 54321
 
 (5) write(*,"(10x,E10.5)") 54321.0
 
 (6) write(*,"(10x,i5)") 54321
 
 (7) write(*,"(10x,/,i5)") 54321
 
 (8) write(*,"(10x,A15)") "54321/r"C
 
Номер 6
Для вывода на экран ^^^^^+12345
(^ - означает пробел) можно воспользоваться следующими операторами write.
Ответ:
 (1) write(*,"(3x,2x,A)") "+12345"
 
 (2) write(*,"(5x,'+12345')")
 
 (3) write(*,"(f11.0)") +12345.0
 
 (4) write(*,"(SP,f11.0)") floor(12345.0)
 
 (5) write(*,"(SP,i11,\)") ceiling(12345.0)
 
 (6) write(*,"('+',f11.0,A,1x,\)") 12345.0, "\r\r"C
 
 (7) write(*,"(A,f10.0,\)") "+"12345.0
 
Упражнение 8:
Номер 1
Какое значение содержит ссылка ptr1
в конце работы фрагмента программы?
integer, pointer :: ptr1, ptr2
integer, target :: value = 300, param = 500
value=value*10
ptr1=>param
ptr2=>value
ptr1=ptr2+1
param=param*10
Ответ:
 (1) 3001 
 (2) 30010 
 (3) 5000 
 (4) 501 
Номер 2
Какое значение содержит переменная fruits
в конце работы фрагмента программы?
enum, bind(C)
enumerator :: apple=1
enumerator pear
enumerator :: lemon=5
enumerator orange
enumerator kiwi
enumerator :: grapes=7
end enum
integer :: fruits=-1
fruits=orange*3-pear+lemon+kiwi+grapes
Ответ:
 (1) 35 
 (2) 45 
 (3) 65 
 (4) 90 
Номер 3
Чему равно значение переменной param
в конце работы фрагмента программы? implicit none
integer :: param=1
integer(2) scalar
associate (param=>10)
scalar=param+1
end associate
param=param+1
Ответ:
 (1) 1 
 (2) 2 
 (3) 10 
 (4) 11 
 (5) не определено 
 (6) ошибка компиляции 
Номер 4
Чему равно значение переменной param
в конце работы фрагмента программы? implicit none
integer :: param=1
integer(2) scalar
associate (param=>10)
scalar=param+1
param=param+1
end associate
param=param+1
Ответ:
 (1) 1 
 (2) 2 
 (3) 10 
 (4) 11 
 (5) не определено 
 (6) ошибка компиляции 
Номер 5
Чему равно значение переменной param
в конце работы фрагмента программы? implicit none
integer param
integer(2) scalar
associate (sparam=>10)
scalar=sparam+1
param=param+1
end associate
param=param+1
Ответ:
 (1) 1 
 (2) 2 
 (3) 10 
 (4) 11 
 (5) не определено 
 (6) ошибка компиляции 
Упражнение 9:
Номер 1
Для определения количества символов в строке используется процедура
Ответ:
 (1) len
 
 (2) len_trim
 
 (3) index
 
 (4) getcharqq
 
Номер 2
Для вычисления мнимой части комплексного числа используется процедура
Ответ:
 (1) image
 
 (2) aimag
 
 (3) dim
 
 (4) iachar
 
 (5) real
 
 (6) IsNan
 
Номер 3
Для вычисления комплексного сопряженного числа используется процедура
Ответ:
 (1) sqrt
 
 (2) conjg
 
 (3) floor
 
 (4) cosd
 
 (5) abs
 
Номер 4
Для нахождения остатка от деления используется процедура
Ответ:
 (1) dim
 
 (2) sign
 
 (3) mod
 
 (4) log
 
 (5) tand
 
 (6) aint
 
Номер 5
Для определения нажатия клавиши на клавиатуре используется процедура
Ответ:
 (1) index
 
 (2) peekcharqq
 
 (3) iachar
 
 (4) achar
 
 (5) getcharqq
 
 (6) peekchar
 
Номер 6
Процедура выполняющая левое выравнивание символьной строки
Ответ:
 (1) adjustl
 
 (2) scan
 
 (3) repeat
 
 (4) len_trim
 
 (5) verify
 
 (6) adjustr
 
Упражнение 10:
Номер 1
Укажите строку программы, которая означает: переменную k
увеличили на остаток от деления переменной m на квадрат переменной s
.
Ответ:
 (1) k=mod(m,s)**2+k
 
 (2) k=mod(m,s)**2+k
 
 (3) k=k+mod(m,s**2)+2
 
 (4) k=k+mod(m,s*s)
 
 (5) k=k+mod(s**2,m)
 
Номер 2
Укажите строку программы, которая означает: переменную st
уменьшили в e
раз.
Ответ:
 (1) st=exp(0.0)/st
 
 (2) st=log(1.0)*st
 
 (3) st=st/exp(2.72)
 
 (4) st=st/1.E+0
 
 (5) st=st/1.E+1
 
 (6) st=st/1.0E+1
 
 (7) st=st/exp(1.0)
 
 (8) st=exp(st*log(1.0))
 
Номер 3
Укажите строку программы, которая означает: целочисленной переменной s
присвоили 235, если p=12.235
.
Ответ:
 (1) s=mod(p,100)
 
 (2) s=mod(int(100*p),1000)
 
 (3) s=int(p)
 
 (4) s=mod(100*p,1000)
 
 (5) s=mod(int(1000*p),1000)
 
Номер 4
Укажите строку программы, которая означает: целочисленную переменную s
увеличили в 12 раз, если p=12.235
.
Ответ:
 (1) s=mod(int(1000*p),1000)*s
 
 (2) s=s*mod(p,100)
 
 (3) s=mod(int(100*p),1000)*s
 
 (4) s=int(p)*s
 
 (5) s=s*mod(100*p,1000)
 
Номер 5
Укажите строку программы, в которой переменной s присвоили нулевое значение.
Ответ:
 (1) s=min(1-5/2,3/2)+1/2+3/2
 
 (2) s=1-1/2-1/2
 
 (3) s=max(6**2/mod(100,90),s)
 
 (4) s=(8/2+6)-1
 
 (5) s=1-1/2
 
Упражнение 11:
Номер 1
Вычислите значение функции в точке . Ответом является ближайшее большее целое число.
Ответ:
 (1) 15 
 (2) -15 
 (3) 35 
 (4) -35 
Номер 2
Вычислите значение функции в точке . Ответом является ближайшее большее целое число.
Ответ:
 (1) -44 
 (2) 47 
 (3) -47 
 (4) 55 
Номер 3
Вычислите значение функции в точке . Ответом является целая часть результата.
Ответ:
 (1) 101 
 (2) 211 
 (3) 67 
 (4) 212 
Номер 4
Вычислите значение функции в точке . Ответом является целая часть результата
Ответ:
 (1) 8900 
 (2) 7800 
 (3) 1500 
 (4) 7912 
Номер 5
Вычислите значение функции в точке . Ответом является ближайшее большее целое число.
Ответ:
 (1) 54 
 (2) -54 
 (3) 64 
 (4) 44