игра брюс 2048
Главная / Программирование / Введение в программирование больших вычислительных задач на современном Фортране с использованием компиляторов 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)

 (3)

 (4)

 (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
Укажите верную запись математического выражения math, где 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
Укажите верную запись математического выражения math, где 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
Укажите верную запись математического выражения math, где math – вещественно число.

Ответ:

 (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
Укажите верную запись математического выражения math, где math, math – вещественные числа.

Ответ:

 (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
Укажите верную запись математического выражения math, где math, math – комплексные числа,  math - мнимая единица.

Ответ:

 (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
Укажите верное условие попадания в закрашенную область.
  files
  

Ответ:

 (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
Укажите верное условие попадания в закрашенную область.
  files

Ответ:

 (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
Укажите верное условие попадания в закрашенную область
  files

Ответ:

 (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
Укажите верное условие попадания в закрашенную область.
  files

Ответ:

 (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
Укажите верное условие попадания в закрашенную область.
  	files

Ответ:

 (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
Укажите верное условие попадания в закрашенную область
  files

Ответ:

 (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)

 (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)

 (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)

 (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
Вычислите значение функции  math в точке math. Ответом является ближайшее большее целое число.

Ответ:

 (1) 15 

 (2) -15 

 (3) 35 

 (4) -35 


Номер 2
Вычислите значение функции math в точке math. Ответом является ближайшее большее целое число.

Ответ:

 (1) -44 

 (2) 47 

 (3) -47 

 (4) 55 


Номер 3
Вычислите значение функции math в точке math. Ответом является целая часть результата.

Ответ:

 (1) 101 

 (2) 211 

 (3) 67 

 (4) 212 


Номер 4
Вычислите значение функции math в точке math. Ответом является целая часть результата

Ответ:

 (1) 8900 

 (2) 7800 

 (3) 1500 

 (4) 7912 


Номер 5
Вычислите значение функции math в точке math. Ответом является ближайшее большее целое число.

Ответ:

 (1) 54 

 (2) -54 

 (3) 64 

 (4) 44 




Главная / Программирование / Введение в программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel / Тест 2