Главная /
Программирование /
Введение в программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel
Введение в программирование больших вычислительных задач на современном Фортране с использованием компиляторов Intel - ответы на тесты Интуит
Правильные ответы выделены зелёным цветом.
Все ответы: Курс посвящен основам программирования на языке Fortran 2008 с использованием среды Intel Parallel Studio. Рекомендован для слушателей, которые хотят получить первые сведения о языке и начать применять компилятор Intel Visual Fortran для создания программ вычислительного характера.
Все ответы: Курс посвящен основам программирования на языке Fortran 2008 с использованием среды Intel Parallel Studio. Рекомендован для слушателей, которые хотят получить первые сведения о языке и начать применять компилятор Intel Visual Fortran для создания программ вычислительного характера.
Перечислите стандарты языка Fortran
(1) Fortran 90
(2) Fortran 77
(3) Fortran 9x
(4) Fortran Power Station 4.0
(5) Digital Visual Fortran 6.5
(6) Fortran 2003
(7) Fortran 2008
Для описания переменной логического типа используется оператор
(1)
integer(1)
(2)
logical
(3)
real
(4)
character(100)
(5)
complex(8)
Укажите верные варианты записи условного оператора.
(1)
if .NOT.status s=s+1
(2)
if (x<2) s=s+10
(3) if (x>0) then min=34
else min=k**5
end if
(4)
if (x>0) then a=s*x
(5)
if (x<0.AND.y<0) s=s+10
Укажите верные варианты объявления массивов.
(1)
real :: A(4)=[3.9, 4.5, 6.7, 9.4]
(2)
real :: B(6)=[0.0 0.0 2.0 4.0 5.0 3.0]
(3)
integer :: M(-2, 4) = /3,5,4,4,4,1,1/
(4)
real(8), dimension(30) :: Q = 2.0d0
(5) integer, parameter :: red=100, blue=45, green=89
integer, parameter :: M(5)=red
Укажите верные утверждения. Внутренние файлы
(1) могут быть последовательного доступа
(2) могут быть прямого доступа
(3) могут быть символьной строкой
(4) содержат форматные записи
(5) содержат неформатные записи
Укажите верные утверждения. Процедуры бывают следующих типов
(1) Внутренние
(2) Внешние
(3) Модульные
(4) Основные
(5) Головные
Какой модуль используются в проектах Standard Graphics и QuickWin ?
(1) IFWINQ
(2) QIWINF
(3) IFQWIN
(4) IQWINF
(5) WINIQF
Укажите стандартные типы проектов в Intel Visual Fortran
(1) MKL
(2) Console Application
(3) IMSL
(4) Standard
(5) OpenGL
(6) QuickWin Application
(7) COM Server
(8) Library
Укажите верные варианты объявления констант и переменных
(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;
Вычислите значение выражения , . В ответ ввести целую часть результата
(1) 0
(2) 1208925819614629174706136
(3) 15678895819614629174706136
(4) 1208925819637758564706136
(5) 208925819614629174706
(6) 10
В результате выполнения операции
C=A*
B над двумерными массивами A и B произойдет.
(1) умножение матриц по правилам математики (строка на столбец)
(2) умножение элементов на соответствующих позициях
(3) данная запись неправильная, следует использовать циклы и индексы массивов
(4) данная запись неправильная, так как размеры матриц могут быть несогласованными.
(5) данная запись неправильная, следует использовать сечения массивов
(6) данная запись неправильная, следует использовать оператор forall
Данный оператор read(1, "(i8)", rec = 10) koeff может быть записан для файла
(1) прямого доступа
(2) последовательного доступа
(3) внешнего
(4) внутреннего
(5) двоичного
(6) форматного
(7) неформатного
Укажите верные объявления процедур
(1)
real function f(x); real x
(2)
integer function (x)
(3)
real function FUN(real p)
(4)
logical function f(x) result(FF)
(5)
recursive complex function p(s)
Процедура выполняющая перенос начала координат в физической системе координат в проекте Standard Graphics
(1)
SetClipRgn
(2)
SetWindow
(3)
SetViewOrg
(4)
SetViewPort
(5)
SetWindowConfig
Комментарии обозначаются ...
(1) !
(2) REM
(3) //
(4) \\
(5) $
(6) &
Чему равно значение переменной pos в конце фрагмента программы? Переменные
a=2; b=3; c=5
b=b/2*2
c=b**b
pos=a+b+c/3+1+2**b
pos=-pos
a, b, c, pos
- целые четырехбайтовые.
(1) 10
(2) -10
(3) 20
(4) 100
Вычислите значение комплексного выражения,. В ответ введите целое значение мнимой части результата.
(1) 4749308720784053553265176
(2) -4749308720784053553265176
(3) 4574578456856980783235335
(4) 34234235346346463463463463
Дан массив
integer B(10,20)
Запись B(:,:)=4
означает присвоить значение 4
(1) всем элементам массива
(2) первой и последней строкам
(3) первому и последнему столбцам
(4) первой строке
(5) первому столбцу
Оператор, создающий устройство В/В и связывающий с ним внешний файл
(1)
open
(2)
inquire
(3)
close
(4)
backspace
(5)
flush
Укажите верные утверждения. Модульные процедуры
(1) могут содержать внутренние переменные
(2) имеют доступ к другим модульным процедурам
(3) обладают явным интерфейсом
(4) обладают неявным интерфейсом
(5) доступ к другой модульной процедуре закрыт, если используется такое же имя для внутренней процедуры в данной модульной процедуре
В стандартной палитре из 16 цветов фиолетовый цвет обозначен константой
(1)
$MAGENTA
(2)
$LIGHTCYAN
(3)
$CYAN
(4)
$BROWN
(5)
$GRAY
Оператор, используемый для вывода данных на экран
(1)
write
(2)
read
(3)
stop
(4)
program
(5)
format
(6)
print
(7)
printf
Укажите верную запись математического выражения , где 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)
Вычислите выражение x=1,243.
В ответ введите целую часть результата.
(1) 235235
(2) 25
(3) 457457845
(4) 96142
Какой оператор используется для размещения в памяти динамического массива
(1)
allocatable
(2)
allocated
(3)
deallocate
(4)
allocate
(5)
new
Укажите процедуру, которая определяет доступ к файлу
(1)
ACCESS
(2)
CHMOD
(3)
GETDRIVEDIRQQ
(4)
GETDRIVESQQ
(5)
FINDFILEQQ
Объявлена функция complex function fun(a,b,ind,symbol) result(gnew)
real a,b
integer ind
character symbol
...
end function fun
Какие вызовы функции являются верными ?
(1)
write(*,*) fun(3.0, 4.0, 1000, 'Q')
(2)
Rad = fun(0.0, 3.0/2.0, 'R')
(3)
write(*,*) fun(0.0, 0.0, 1, 'a'/fun(0.2, 3.0, 23, 'str')
(4)
fun(2.0, 1.0, 3, 'e')=(0.0, 1.0)
(5)
a=sin(fun(0.0, sqrt(7.0), 0, '!'))
Выберите процедуры, которые устанавливают текущий цвет в проекте Standard Graphics
(1)
SetColor
(2)
Color
(3)
SetBkColor
(4)
RGBToInteger
(5)
SetColorRGB
В операторе
print *, "TEXT "
вместо символа "* " можно использовать
(1) целочисленную метку на оператор
format
(2) оператор
format
(3) имена переменных
(4) символ
A
(5) строку "(A)"
(6) строку "(A,\)"
Укажите верное условие попадания в закрашенную область.
(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))
Какой из приведенных циклов вычисляет выражение .
(1) s=0.0
do k=1,n
s=s+x**k/k
end do
(2) s=1.0; pr=1.0
do k=2,n
s=s+x**k/pr
pr=pr*k
end do
(3) s=1.0; pr=1.0
do k=2,n
pr=x/k
s=s+pr*x/k
end do
(4) s=1.0; pr=1.0
do k=1,n
pr=pr*x/k
s=s+pr
end do
(5) s=x; pr=1.0
do k=2,n
pr=pr*x/k
s=s+pr
end do
Элементам массива требуется присвоить значения, как показано на рисунке. Какую операцию присваивания следует выбрать?
(1)
B(1:8:2,:)=1
(2)
B(2:8:2,:)=1
(3)
B(:,::2)=1
(4)
B(::2,:)=1
(5)
B(1:7,2)=1
Для открытия файла в режиме добавления данных следует использовать спецификатор
(1)
ACCESS
(2)
ACTION
(3)
PAD
(4)
ORGANIZATION
(5)
TYPE
Объявлена функция integer function FX(x,y,z,A,B,C)
complex, intent(in) :: x
logical, intent(out) :: y
real z
complex, intent(in) :: A(:)
character(*), intent(in) :: B(:)
real, intent(inout) :: C(3)
...
end function FX
Какие вызовы функции являются верными, если complex xc, yc, zc, Z(50), W(50)
logical status, fс
real param, alfa, beta, gamma
character NAME(100)
real VEC(1000)
integer dummy
(1)
dummy = FX((2.0, 4.0), .TRUE., 0.0, Z(::2), NAME(::5), VEC)
(2)
dummy = FX((0.0, -1.0), fс, sum(VEC), Z(1:20), NAME(1:50:5), VEC*2)
(3)
write(*,*) FX(sum(W(::2)), status, 0.0, Z**2, ['4','5'], VEC(3:5))
(4)
write(*,*) FX(Z(9), fc, sqrt(8.0), Z(::5), NAME(::2), VEC(1:3))
(5)
write(*,*) FX((2.,3.), 3<4, 9.0, Z,W,Z(1:3))
Какая процедура отвечает за рисование прямоугольника в проекте QuickWin
(1)
Rectangle
(2)
SetPixels
(3)
Circle
(4)
Region
(5)
Pie
Введите значение подстроки
character buf*30, name*5, ex*3
buf="abcxwyz1234567890"
name=buf(1:5)
ex=buf(4:6)
buf=name//ex
buf(1:7)
после выполнения фрагмента программы
(1)
abcxwxw
(2)
bcwxwxa
(3)
abc
(4)
wxxwbca
Функция протабулирована на отрезке от до с шагом . Сколько значений функции попадет в область и ?
(1) 103
(2) 52
(3) 204
(4) 1024
Какие операторы выполняют преобразование массива B(Mi,Mj)
(см. рисунок)(Mi=7, Mj=10) ?
(1) forall (i=1:Mi:2, j=4:Mj, B(i,j)<=5)
B(i,j)=-2
end forall
(2) where (B<=5)
B=-2
end where
(3) do j=4,Mj
do i=1,Mi,2
if (B(i,j)==5) B(i,j)=-2
end do
end do
(4) B(::2,4:)=-2; B(Mi,6:7)=-2
В операторе
read
для передачи управления исполняемому оператору при возникновении ошибочной ситуации "достигнут конец файла" используется спецификатор
(1)
EOF
(2)
ERR
(3)
END
(4)
IOSTAT
(5)
IOLIST
В головной программе описаны переменные real A,B,C,D
integer K1, K2, M, N
complex S
Какие из них доступны во внутренней подпрограмме proc ? subroutine proc(A,C,M,N)
real, intent(in) :: A(:)
complex, intent(out) :: C
integer, optional, intent(in) :: M,N
complex R,T
...
end subroutine proc
(1)
A
(2)
B
(3)
C
(4)
D
(5)
K1
(6)
K2
(7)
M
(8)
N
(9)
S
В двоичном файле pic1.bin по пикселам сохранена область экрана в формате: координата x, координата y, цвет. Какая фигура была изображена на экране ?
(1) эллипс
(2) прямоугольник
(3) треугольник
(4) линия
(5) окружность
Для вывода на экран
^^^^^^^^^^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"
Сколько потребуется просуммировать членов ряда , чтобы очередное слагаемое стало меньше 0.00001?
(1) 56
(2) 125
(3) 247
(4) 354
Какая процедура выполняет умножение матриц по правилу "строка на столбец"?
(1)
product
(2)
merge
(3)
matmul
(4)
dot_product
(5)
spread
В текстовом файле записаны целые числа в виде:
1
2
3
4
и т.д.
Выберите фрагмент программы, вычисляющий общее количество целых чисел в файле
(1) k=0
open(1, file = "D:\1.txt")
do while (.NOT.EOF(1))
read(1,*) k
end do
(2) k=0
open(1, file = "D:\1.txt")
do while (.NOT.EOF(1))
k=k+1
read(1,*) N
end do
(3) k=0
open(1, file = "D:\1.txt")
do while (EOF(1))
read(1,*) k
end do
(4) k=0
open(1, file = "D:\1.txt")
do while (EOF(1))
rewind(1)
read(1,*) k
end do
(5) k=0
open(1, file = "D:\1.txt")
k=eof(1)
Укажите атрибут, который описывает параметры процедуры необязательными.
(1)
optional
(2)
save
(3)
automatic
(4)
static
(5)
external
Перечислите виды контекстов устройств в GDI
(1) метафайл
(2) память
(3) кисть
(4) дисплей
(5) перо
Какое значение содержит ссылка
integer, pointer :: ptr1, ptr2
integer, target :: value = 300, param = 500
value=value*10
ptr1=>param
ptr2=>value
ptr1=ptr2+1
param=param*10
ptr1
в конце работы фрагмента программы?
(1) 3001
(2) 30010
(3) 5000
(4) 501
Сколько раз переменная k увеличится на 2? k = 1
do
select case (k)
case (1,3,4,7)
k=k+1
case (2,5,6,8,12:20)
k=k+2
case (9)
k=k-2
case (10)
k=k+5
case (21)
exit
end select
end do
(1) 6
(2) 11
(3) 4
(4) 5
Программа формирует и выводит на экран матрицу A
Чтобы преобразовать матрицу A в матрицу B достаточно добавить строки в программе
(1)
integer B(3,5)
(2)
integer B(5,3)
(3)
B=reshape(A,[5,3])
(4)
B=reshape(A,[3,5])
(5)
B=reshape(B,[5,3])
(6)
B=transpose(A)
Файл data1.txt содержит двоичные данные целочисленного массива A(Mi,Mj,Mk).
Данные записаны в формате по умолчанию в следующем порядке Mk, Mi, Mj, A.
Найдите сумму элементов матрицы А.
(1) 124
(2) -368
(3) -455
(4) 446
(5) -235
(6) 368
Какие операторы описывают процедуры, передаваемые как параметры ?
(1)
external
(2)
intrinsic
(3)
elemental
(4)
pure
(5)
save
Какой модуль используется для работы с процедурами GDI
(1)
ifqwin
(2)
ifwina
(3)
ifwinows_gdi
(4)
ifwin
(5)
ifwindows
Для определения количества символов в строке используется процедура
(1)
len
(2)
len_trim
(3)
index
(4)
getcharqq
Для генерации последовательности псевдослучайных целых чисел в диапазоне используется запись:
(1)
call random(x); R=int(x*13)-4
(2)
call random(x); R=x*12-4
(3)
call random(x); R=-4+x*10
(4)
call random(x); R=4-x*12
(5)
call random(x); R=(x-4)*10
Присваивание нижнему треугольнику (включая диагональ) квадратной матрицы выполняют операторы:
(1) do i=1,10
do j=1,i
A(i,j)=1
end do
end do
(2) do i=1,10
do j=i,1
A(i,j)=1
end do
end do
(3) do i=1,10
A(:,i:i)=1
end do
(4) do i=1,10
A(:,1:i)=1
end do
(5) do i=1,10
A(i,1:i)=1
end do
Что можно сказать о следующих строках удачно скомпилированной программы ?open(2,file='c:\data.txt',action='WRITE')
write(2,*) 10, 20, 50
rewind(2)
Выберите верные утверждения
(1) создано устройство В/В с номером 2, связанное с файлом C:\data.txt
(2) файл C:\data.txt открыть в режиме только для записи
(3) в файл C:\data.txt записаны целые числа
(4) файловый указатель перемещен на начало первой записи
(5) другие процессы могут работать с файлом в режиме "только запись"
(6) файловый указатель перемещен на две записи назад
(7) файл открыт в режиме последовательного доступа
(8) файл открыт в режиме прямого доступа
(9) оператор
open
будет выполнен с ошибкой, файл должен существовать
(10) файл открыт в режиме исключающем запись данных
Какой оператор используется для остановки работы процедуры и возврат в вызывающую программную единицу.
(1)
return
(2)
close
(3)
stop
(4)
wait
(5)
save
Какой тип имеют дескрипторы в GDI ?
(1) integer
(2) winh
(3) handles
(4) complex
(5) handle
Укажите строку программы, которая означает: переменную
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)
Вычислите сумму . В ответ введите целую часть результата.
(1) 1024
(2) 4574
(3) 2132
(4) 3544
За создание массива отвечают строки программы
(1)
integer :: A(10,10)=0, V(6)=[1,2,5,6,9,10]
(2)
integer :: A(10,10)=0, V(6)=[1,2,3,4,5,6]
(3)
A(V,V)=4
(4)
A(V,2)=4
(5)
A(V,[2,3,5])=4
(6)
A([2,3,5],[2,3,5])=4
Какой из фрагментов программ выполняет перенос данных из файла vector.txt ^^^1^^^4^^^5^^^8^^^9^^^0^^^7 в файла spisok.dat в виде 0001000400050008000900000007
(1) character ch
open(1,file='vector.txt', access='direct', recl=1, form='formatted')
open(2,file='spisok.dat')
do k=4,28,4
read(1,"(A)",rec=k) ch
write(2,"(3('0'),A,\)") ch
end do
(2) character ch*4
open(1,file='vector.txt', access='direct', recl=1, form='formatted')
open(2,file='spisok.dat')
do k=1,28,4
read(1,"(A)",rec=k) ch
write(2,"(A)") '000',ch(3:4)
end do
(3) character ch*28
open(1,file='vector.txt')
open(2,file='spisok.dat')
read(1,*) ch
forall (k=1:28, ch(k:k)=='^')
ch(k:k)='0'
end forall
write(2,*) ch
Какие из фрагментов программ содержат рекурсивные вызовы
(1) write(*,*) F(F(1))
...
contains
recursive function F(A)
F=1
end function F
(2) contains
function F(A)
real A
A = P(2.0)
F = 0
end function F
function P(B)
real B
B = F(1.0)
P = 2
end function P
(3) write(*,*) Q(10)
...
contains
function Q(A)
integer A
Q = P(2.0*A)
end function Q
function P(B)
real B
P = 2 + B
end function P
(4) contains
recursive function Q(A)
integer A
Q = P(A)*Q(A-1)
end function Q
function P(B)
integer B
P = 2 + B
end function P
(5) write(*,*) RR(10)
...
contains
recursive function RR(k)
integer A(10)
integer k
A(k)=k*A(k-1)
RR=A(k-2)
end function RR
В форматном файле word.txt записаны индексы цветов рисунка по пикселам размером (100х100) пикселов. Формат файла следующий:
(1)
adgrg
(2)
caeocs
(3)
ecaosc
(4)
scecao
Вычислите значение функции в точке . Ответом является ближайшее большее целое число.
(1) 15
(2) -15
(3) 35
(4) -35
Перечислите новшества языка Fortran 2003
(1) поддержка ООП (наследование типов, процедурные указатели)
(2) перегрузка процедур
(3) задаваемые операции
(4) модули
Для описания константы комплексного типа используется оператор
(1)
integer, parameter
(2)
logical(4), parameter
(3)
real, parameter
(4)
character, parameter
(5)
complex(4), parameter
Укажите верные варианты записи условного оператора.
(1)
if (.NOT.error s=s+2)
(2)
if (x=2) s=s+10
(3) if (x>0) then min=34-k
else min=k**5
end if
(4)
if (x>-5) v=w*sin(x)
(5)
if x<3.AND.y>8 exit
Укажите верные варианты объявления массивов.
(1)
real :: A(3)=[3.9, 4.5, 6.7, 9.4]
(2)
real :: B(8)=[0.0,0.0,2.0,4.0,5.0,3.0]
(3)
integer M(-2, 4) = [1,2,3,1,2,3,4]
(4)
complex(16) :: S(90) = (1.0q0,2.0q0)
(5)
real(8) :: S(8)= sin(2.0d0)
Укажите верные утверждения. Внешние файлы
(1) могут быть последовательного доступа
(2) могут быть прямого доступа
(3) содержат только неформатные записи
(4) могут иметь совместный доступ
(5) хранятся в оперативной памяти
Укажите верные утверждения. Процедуры бывают двух видов
(1) Contains
(2) Subroutine
(3) Intrinsic
(4) Function
(5) Module
Процедуры GDI можно использовать в проектах
(1) QuickWin
(2) Standard Graphics
(3) Console
(4) Windowing Application
Стандартные расширение файлов с программами на языке Fortran ?
(1) *.for
(2) *.f90
(3) *.frt
(4) *.fortran
(5) *.exe
Укажите верные варианты объявления констант и переменных
(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;
Вычислите значение выражения с N корнями: . Значение
N - 25
. Ответ - целая часть результата
(1) 149823958309486058757057854
(2) 349083498694587958795795874
(3) 12932322050339083491305643
(4) 12932321483933802587296693
(5) 1605565867
Операция C=A**B над двумерными массивами A и B аналогична следующим строчкам программы
(1) do i=1,Mi
do j=1,Mj
C(i,j)=A(i,j)**B(i,j)
end do
end do
(2) do i=1,Mi
do j=1,Mj
C(i,j)=A(i,j)**B(j,i)
end do
end do
(3) do i=1,Mi
do j=1,Mj
C(i,j)=A(i,j)^B(i,j)
end do
end do
(4) do i=1,Mi
do j=1,Mj
C(i,i)=A(i,i)**B(j,j)
end do
end do
Данный оператор write(1, "(e9.3)") param может быть записан для файла
(1) прямого доступа
(2) последовательного доступа
(3) внешнего
(4) внутреннего
(5) двоичного
(6) форматного
(7) неформатного
Укажите верные объявления процедур
(1)
subroutine proc(a,b,c,d,e,a,g)
(2)
recursive subroutine tree(tree1,tree2)
(3)
recursive subroutine tree(tree1,tree2) result(binary)
(4)
logical subroutine sub(x,y)
(5)
character(1024) function g(x) result(G)
В проекте QuickWin установка порта просмотра выполняется процедурой
(1)
SetClipRgn
(2)
SetWindow
(3)
SetViewOrg
(4)
SetViewPort
(5)
SetWindowConfig
Продолжение на следующей строке обозначается ...
(1) !
(2) REM
(3) //
(4) \\
(5) $
(6) &
Чему равно значение переменной
m=2**7-1
k=m/2**2
n=k+mod(k,10)
p=k+n/2
p
? Переменные k, m, n, p
– целые двухбайтовые.
(1) 47
(2) -47
(3) 50
(4) 37
Дано , вычислить . В ответ ввести целое значение вещественной части результата.
(1) 1657
(2) -1543
(3) 758
(4) -9435
Дан массив
integer C(10,20)
Запись С(1:10:2,:)=5
означает присвоить значение 5
(1) каждой второй строке, начиная с 1-й
(2) Элементам, расположенным в шахматном порядке
(3) каждому второму столбцу, начиная с первого
(4) всем элементам массива с шагом 2
(5) всем элементам каждой строки с шагом 2
Оператор, закрывающий устройство В/В
(1)
open
(2)
inquire
(3)
close
(4)
backspace
(5)
flush
Укажите верные утверждения. Модульные процедуры
(1) не могут содержать внутренние переменные
(2) имеют доступ к "своим" внутренним процедурам
(3) обладают явным интерфейсом
(4) обладают неявным интерфейсом
(5) доступ к другой модульной процедуре закрыт, если используется такое же имя для внутренней переменной
Укажите процедуру, выполняющая очистку экрана в проекте QuickWin
(1)
SetBkColor
(2)
SetColor
(3)
ClearScreen
(4)
SetClipRgn
Оператор, используемый для ввода данных в программу
(1)
write
(2)
read
(3)
stop
(4)
program
(5)
format
(6)
print
(7)
printf
Укажите верную запись математического выражения , где 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))
Вычислите выражение , x=1,13625582. В ответ введите целую часть результата.
(1) 2131901825871
(2) 346346457457
(3) 4578568679
(4) 375686967078078078
Какой оператор используется для освобождения памяти занимаемой динамическим массивом
(1)
allocatable
(2)
allocated
(3)
deallocate
(4)
delete
Для удаления файла можно воспользоваться языковыми средствами
(1) вызвать процедуру
DELFILESQQ
(2) вызвать процедуру
DELDIRQQ
(3) применить оператор
CLOSE
(4) применить оператор
INQUIRE
(5) вызвать процедуру
ACCESS
Объявлена функция character function func(x,y,k,A,M)
real x,y
integer(1) k
integer A(M)
...
end function fun
Какие вызовы функции являются верными ?
(1)
write(*,*) func(1.0, 2.0/3.0, 1, [1,6,7,8,9], 5)
(2)
icode = iachar(func(1.0, 2.0, 0, [1,2,3], 3))
(3)
write(*,*) func(sqrt(8.0), 1, V(::2), 500)
(4)
call func(1.0, 2.0/3.0, 1, Vector(:10:2), 15)
(5)
k = func(0,0,0,0,0)
Выберите процедуры, которые устанавливают цвет фона в проекте QuickWIn
(1)
SetColor
(2)
SetBkColorRGB
(3)
SetBkColor
(4)
CreateSolidBrush
(5)
SetColorRGB
В операторе
write(*,*)
вместо второго символа "*" можно использовать
(1) целочисленную метку на оператор
format
(2) оператор
format
(3) имена переменных
(4) символ
A
(5) строку "(A)"
(6) строку "(A,\)"
Укажите верное условие попадания в закрашенную область.
(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)
Какой из приведенных циклов вычисляет выражение .
(1) slag=1.0
sinx=0.0
zn=1
do k=1,11
slag=slag*x/k
if (mod(k,2)==0) continue
sinx=sinx+zn*slag
zn=-zn
end do
(2) slag=1.0
sinx=0.0
zn=1
do k=1,11,2
slag=x/k*slag*(-1)**k
sinx=sinx+zn*slag
end do
(3) slag=1.0
sinx=0.0
do k=1,11,2
slag=slag*x/k
slag=slag*x/(k+1)
sinx=sinx+slag*(-1)**k
end do
(4) slag=1.0
sinx=0.0
zn=1
do k=1,11,2
slag=slag*x/k
zn=zn+1
sinx=sinx+slag*(-1)**zn
slag=slag*x/(k+1)
end do
(5) slag=1.0
sinx=0.0
zn=-1
do k=1,11
zn=-zn
slag=x*slag/k
if (mod(k,2)==0) continue
sinx=sinx+zn*slag
end do
Элементам массива требуется присвоить значения, как показано на рисунке. Какую операцию присваивания следует выбрать?
(1)
B(3:7:2,3:8)=1
(2)
B(3:6:2,3:7)=1
(3)
B(3::2,3:8)=1
(4)
B(::2,:8)=1
(5)
B(1:2,2:8)=1
Для открытия файла в режиме "только для чтения" следует использовать спецификатор
(1)
ACTION
(2)
STATUS
(3)
SHARE
(4)
POSITION
(5)
USEROPEN
Объявлена подпрограмма subroutine GetIndicator(param, var, gr1, gr2, val)
logical, intent (out) :: param
real, intent (out) :: var(:)
integer(1), intent (in) :: gr1
integer(2), intent (out) :: gr2
complex(16), intent (in) :: val
...
end subroutine GetIndicator
Какие вызовы подпрограммы являются верными, если logical ST(10), dum
real A(100), B(100), C(100)
integer(2) kf1, kf2
complex(16) R(200)
(1)
call GetIndicator(dum, A(9:55), 100, kf2, (1.0, 9.0))
(2)
call GetIndicator(.TRUE., B(10:40), 4, kf1, R(10))
(3)
call GetIndicator(ST(5), C(45:95), 100, kf1, R(10))
(4)
call GetIndicator(ST(9), C(::2), 0, 0, R(1:10))
(5)
call GetIndicator(ST(10), C(1:10), 9, kf2, R(90))
Для рисования сектора круга в проекте Standard Graphics используется процедура
(1)
Ellipse
(2)
Arc
(3)
Polygon
(4)
Pie
(5)
FloodFill
Введите значение подстроки integer k1
character(LEN=50) buf
buf="^^^^^abcxwyz1234567890"
buf(5:10)="XSAMFF"
buf=adjustl(buf)
k1=index(buf,"12")
buf(3:k1)
после выполнения фрагмента программы (^ - означает пробел).
(1)
AMFFyz1
(2)
MFyz1E
(3)
YZfamE
(4)
EZM1YA
Функция протабулирована на отрезке от до с шагом . Сколько значений функции попадет в область и ?
(1) 31
(2) 40
(3) 26
(4) 95
Какие операторы выполняют преобразование массива A(Mi,Mj)
(см. рисунок)(Mi=7, Mj=7) ?
(1) where (A(:,2)<4)
A(3,:)=0
elsewhere
A(:,5)=8
end where
(2) A(3,[1,2,3,6,7])=0
A([3,4],5)=8
(3) do j=1,Mj
if ((j==4).OR.(j==5)) cycle
A(3,j)=0
end do
A(:,5)=8
(4) forall (j=1:Mj)
A(3,j)=0
end forall
A([4,5],5)=8
В операторе
write
для передачи управления исполняемому оператору при возникновении ошибки ввода/вывода используется спецификатор
(1)
ERR
(2)
END
(3)
IOSTAT
(4)
ADVANCE
(5)
SIZE
В головной программе описаны переменные character(64), parameter :: NAME = "C:\DATA\FLOW\SWIRL\V1"
real, pointer :: p1, p2
real, target :: T(1000)
logical flag(10)
complex(16) C1, C2
Какие из них доступны во внутренней подпрограмме proc ?subroutine proc(C1, C2, flags)
real(4), intent(out) :: C1
complex(16), intent(out) :: C2
character(*), optional, intent(in) :: flags
real, pointer :: p1
...
end subroutine proc
(1)
NAME
(2)
p1
(3)
p2
(4)
T
(5)
flag
(6)
C1
(7)
C2
В двоичном файле pic2.bin по пикселам сохранена область экрана в формате: координата x, координата y, цвет. Какая фигура была изображена на экране ?
(1) эллипс
(2) прямоугольник
(3) треугольник
(4) линия
(5) окружность
Для вывода на экран
^^^^^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"
Сколько потребуется просуммировать членов ряда , чтобы очередное слагаемое стало меньше 0.0003
?
(1) 54
(2) 125
(3) 247
(4) 354
Процедура, вычисляющая размер массива вдоль заданного измерения называется
(1)
shape
(2)
count
(3)
lbound
(4)
ubound
(5)
size
Какой из фрагментов программы открывает файл в режиме только для чтения и доступный только для чтения другим программам ?
(1) open(1, file = "D:\1.txt", action='READ', share='DENYRW')
read(1,*) k
(2) open(1, file = "D:\1.txt", action='READ', share='DENYWR')
read(1,*) M
(3) open(1, file = "D:\1.txt", share='DENYNONE')
read(1,*) k
(4) open(1, file = "D:\1.txt")
read(1,*) k
(5) open(1, file = "D:\1.txt", pad='YES')
read(1,*) k
Укажите атрибут, который позволяет выделять память для внутренних переменных во время выполнения программы.
(1)
static
(2)
pure
(3)
elemental
(4)
automatic
(5)
optional
Выберите графические объекты, с которыми работает GDI
(1) перо
(2) кисть
(3) область
(4) принтер
(5) метафайл
Какое значение содержит переменная
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
fruits
в конце работы фрагмента программы?
(1) 35
(2) 45
(3) 65
(4) 90
Сколько раз переменная k увеличится на 2? k = 1
do
select case (k)
case (5:16,18:19)
k=k+2
case (1:4)
k=k+1
case (20)
exit
case (17)
k=k-7
end select
end do
(1) 6
(2) 11
(3) 4
(4) 5
Чтобы преобразовать матрицу A достаточно добавить строку в программе
(1)
A = CSHIFT (A, SHIFT = -2, DIM = 2)
(2)
A = CSHIFT (A, SHIFT = 2, DIM = 2)
(3)
A = CSHIFT (A, SHIFT = -2, DIM = 1)
(4)
A = CSHIFT (A, SHIFT = 1, DIM = 2)
(5)
A = CSHIFT (A, SHIFT = 1, DIM = 1)
Файл data2.txt содержит двоичные данные целочисленного массива A(Mi,Mi).
Данные записаны в формате по умолчанию в следующем порядке Mi, A.
Найдите сумму элементов нижней треугольной матрицы A (без диагонали).
(1) 185
(2) 324
(3) 2353
(4) 454
В операторе interface следует указывать
(1) тип возвращаемого значения для функций
(2) типы формальных параметров
(3) тип внутренних переменных
(4) вызываемые процедуры
(5) исполняемые операторы
Имя метафайла в процедуре
CreateEnhMetaFile
идет по порядку
(1) первым
(2) вторым
(3) третьим
(4) четвертым
(5) пятым
Для вычисления мнимой части комплексного числа используется процедура
(1)
image
(2)
aimag
(3)
dim
(4)
iachar
(5)
real
(6)
IsNan
Для генерации последовательности псевдослучайных целых чисел в диапазоне используется запись:
(1)
call random(x); R=int(4*x)-4
(2)
call random(x); R=3-int(x*4)
(3)
call random(x); R=4-int(x*2)
(4)
call random(x); R=-4+int(x*7)
(5)
call random(x); R=int(x*4)
(6)
call random(x); R=-int(4*x)
Присваивание верхнему треугольнику (включая диагональ) квадратной матрицы выполняют операторы
(1) do i=1,10
A(1:i,i)=1
end do
(2) do i=1,10
A(1:i,1:i)=1
end do
(3) do i=1,10
A(i,1:i)=1
end do
(4) do i=1,10
A(1:i,i:1)=1
end do
(5) do i=1,10
A(1:i,i::1)=1
end do
Что можно сказать о следующих строках удачно скомпилированной программы ? if (.NOT.(eof(1)) read(1) base
read(1) A
close(1,status='DELETE')
Выберите верные утверждения
(1) файл, связанный с номером 5 является бинарным или неформатным файлом
(2) возможно из файла читается 6-ти мерный массив
(3) возможно из файла читается переменная типа complex
(4) после обработки файл будет удален
(5) если файловый указатель не указывает на конец файла, то будет прочитан возможно массив целого типа
(6) будет записана константа A символьного типа длиной 1 байт
(7) если переменная base является массивом, то возможна ошибка чтения файла при достижении записи "конец файла"
(8) если base является массивом из 100 элементов, то он будет прочитан без ошибки "достигнут конец файла", так как была вызвана функция eof
(9) файл является форматным
(10) файл открыт в режиме прямого доступа
(11) файл открыт в режиме последовательного доступа
(12) перед оператором if мог быть вызван оператор rewind(5)
Какой атрибут задает сохранять свои значения для внутренних переменных процедур ?
(1)
optional
(2)
automatic
(3)
save
(4)
pure
(5)
elemental
Что означает первый параметр в GDI-функции
CreatePen
?
(1) стиль пера
(2) толщину пера в пикселах
(3) цвет пера
(4) номер устройства
(5) системный параметр
Укажите строку программы, которая означает: переменную
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))
Вычислите сумму . В ответ введите целую часть результата.
(1) 44
(2) 50
(3) 56
(4) 244
За формирование массива отвечают строки программы
(1)
integer :: A(10,10)=0
(2)
integer :: V(5)=[1,2,3,9,10]
(3)
integer :: V(5)=[1,2,3,4,5]
(4)
integer :: V(5)=[1,2,8,9,10]
(5)
A(V,:)=4
(6)
A(:,V)=4
(7)
A(V,V)=4
Какой из фрагментов программ выполняет перенос данных из файла vector.txt ^^^1^^^4^^^5^^^8^^^9^^^0^^^7 в файла spisok.dat в виде 0001000400050008000900000007
(1) character ch*4
open(1,file='vector.txt', access='direct', recl=1, form='formatted')
open(2,file='spisok.dat')
do k=1,28,4
read(1,"(A)",rec=k) ch
write(2,"(A)") '000',ch(3:4)
end do
(2) character ch*28
open(1,file='vector.txt')
open(2,file='spisok.dat')
read(1,*) ch
forall (k=1:28, ch(k:k)=='^')
ch(k:k)='0'
end forall
write(2,"(A)") ch
(3) character ch
open(1,file='vector.txt', access='direct', recl=1, form='formatted')
open(2,file='spisok.dat')
do k=4,28,4
read(1,"(A)",rec=k) ch
write(2,*) ch
end do
К каким процедурам нельзя применить атрибут pure ?
(1) real function ST(k)
real k
ST=sin(k)*cos(k**3)
end function ST
(2) subroutine make(a,b,c)
complex, intent(in) :: a,b,c
write(*,*) a,b,c
end subroutine make
(3) subroutine INC(a)
real :: a
...
end subroutine INC
(4) subroutine Create(A,B,N)
double precision A
character(128) B
integer(8) N
...
end subroutine Create
(5) subroutine Destroy(k)
integer, intent(in) :: k
integer, parameter :: N=100
real :: A(N)=9.0, B(N)=8.0
...
end subroutine Destroy
В форматном файле word2.txt записаны индексы цветов рисунка по пикселам размером (100х100) пикселов. Формат файла следующий:
(1)
pogjyq
(2)
pgyqoj
(3)
jopqyg
(4)
gqyopj
Вычислите значение функции в точке . Ответом является ближайшее большее целое число.
(1) -44
(2) 47
(3) -47
(4) 55
Перечислите новшества языка Fortran 2008
(1) coarrays
(2) атрибут
protected
(3) атрибут
public
(4) атрибут
optional
Для описания переменной символьного типа используется оператор
(1)
integer
(2)
logical
(3)
real
(4)
character
(5)
complex
Укажите верные варианты записи условного оператора.
(1)
if (error\=-1) exit
(2)
if (x<0) cycle
(3)
if (a>b) elseif (b>0) q=8
(4) if (c==4) do k=1,10
S=(S+X)*C
end do
(5)
if (Q=='F') stop
Укажите верные варианты объявления массивов.
(1)
complex(16) : S = (1.0q0,2.0q0)
(2)
real(8) :: S(120) = cosh(2.0d0)
(3)
logical, parameter :: LOG(5)=[.TRUE. .FALSE. FALSE. .TRUE. .FALSE.]
(4)
logical, parameter LOG(5)=.TRUE.
(5)
character(16) :: CH(10,10,10)='Q'
Укажите верные утверждения. Форматные файлы
(1) характеризуются большим объемом и низкой скоростью обработки
(2) характеризуются малым объемом и низкой скоростью обработки
(3) характеризуются большим объемом и высокой скоростью обработки
(4) могут быть только внешними
(5) могут быть только внутренними
(6) длина записи 128 байт
(7) длина записи 16 байт
(8) длина записи 1 байт
Укажите верные утверждения. Внутренние процедуры объявляются после оператора
(1) Subroutine
(2) Function
(3) External
(4) Save
(5) Contains
Для того, чтобы получить текущее разрешение экрана в проекте QuickWin используется процедура
(1)
SetWindowConfig
(2)
GetWindowConfig
(3)
GetResolution
(4)
GetNumXPixels
(5)
GetNumYPixels
Какое сочетание клавиш выполняет компиляцию и запуск программы в отладочном режиме?
(1) CTRL + F5
(2) CTRL + F9
(3) F9
(4) F5
(5) CTRL + SHIFT + B
Укажите верные варианты объявления констант и переменных
(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
Вычислите значение выражения при . Ответ - целая часть результата.
(1) 298359028359023859832095395
(2) 52667262546587964278272897
(3) 52667264001074725142726472
(4) 52667264001074725142217911
Операция
C=A/B
над двумерными массивами A и B аналогична следующим строчкам программы
(1) do i=1,Mi
C(i,:)=A(i,:)/B(i,:)
end do
(2) do i=1,Mi
do j=1,Mj
C(i,i)=A(i,i)/B(j,j)
end do
end do
(3) do i=1,Mi
do j=1,Mj
C(i,j)=A(i,j)/B(j,i)
end do
end do
(4) do i=1,Mi
C(i,:)=A(:,i)/B(i,i)
end do
Данный оператор read(1,END=200) MASSIV может быть записан для файла
(1) прямого доступа
(2) последовательного доступа
(3) внешнего
(4) внутреннего
(5) двоичного
(6) форматного
(7) неформатного
Укажите верные объявления процедур
(1)
integer subroutine sum(x,y)
(2)
real function g()
(3)
subroutine ()
(4)
recursive subroutine proc()
(5)
intrinsic character function d()
(1)
SetClipRgn
(2)
SetWindow
(3)
SetViewOrg
(4)
SetViewPort
(5)
SetWindowConfig
Для записи операторов в одной строке используется символ
(1) ;
(2) $
(3) #
(4) !
(5) *
(6) &
Чему равно значение переменной
q1=101
q2=mod(q1,3)**7+1
tetta=q2+100
sigma=max(tetta,q2,q1)+min(q2,q1)
sigma
?Переменные q1, q2, tetta, sigma
– целые однобайтовые.
(1) 26
(2) -26
(3) 103
(4) 15
Дано, вычислить .В ответ ввести целое значение мнимой части результата.
(1) -5
(2) -2893472983579283
(3) -10
(4) 10
Дан массив
integer C(10,20)
Запись С(2,::3)=8
означает присвоить значение 8
(1) во второй строке каждому третьему столбцу, начиная с первого
(2) элементу С(2,3)
(3) каждой третьей строке
(4) второй строке и третьему столбцу
(5) третьей строке и второму столбцу
Оператор, перемещающий файловый указатель в начало файла
(1)
open
(2)
inquire
(3)
close
(4)
backspace
(5)
rewind
Укажите верные утверждения. Внутренние процедуры
(1) не могут содержать внутренние переменные
(2) могут обрабатывать только внутренние файлы
(3) обладают явным интерфейсом
(4) обладают неявным интерфейсом
(5) доступ к другой внутренней процедуре закрыт, если используется такое же имя для внутренней переменной
В проекте QuickWin тип линии устанавливается процедурой
(1)
SetLineStyle
(2)
SetStyleLine
(3)
SetColor
(4)
CreateSolidBrush
(5)
CreatePen
Оператор, используемый для задания формата
(1)
write
(2)
read
(3)
stop
(4)
program
(5)
format
(6)
print
(7)
printf
Укажите верную запись математического выражения , где – вещественно число.
(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))
Вычислите выражение , x= 1,83478346. В ответ введите целую часть результата.
(1) 3466346234
(2) 3634745745
(3) 5667967967
(4) 3254694577
Для того чтобы, создать динамический массив A с границами и формой как у массива B следует воспользоваться оператором
(1)
allocate(B, source=A, stat=A)
(2)
allocate(A, source=B)
(3)
allocate(A,size(B))
(4)
allocate(A => B)
(5)
allocate(A,B)
Для смены атрибутов файла можно воспользоваться языковыми средствами
(1) вызвать процедуру
CHMOD
(2) вызвать оператор
INQUIRE
(3) вызвать функцию
EOF
(4) применить оператор
OPEN
(5) использовать директиву
!DEC$ ATTRIBUTES
Объявлена подпрограмма recursive subroutine proc(param, p, A, B, C)
real param
logical p
real A(:), B(:), C(:)
...
end subroutine proc
Какие вызовы подпрограммы являются верными,
если real X(1000), Y(1000), Z(1000)
(1)
call proc(3.0, 3==0, X(::2), Y(2::3), Z(::3))
(2)
call proc(sum(X(2::4)), .TRUE., X, Y)
(3)
call proc(asin(1.0), .FLASE., sin(X), cos(Y), sqrt(Z))
(4)
call proc(.TRUE., 1.0, X+Y, Y+Z, X*Z)
(5)
call proc(maxval(X), sum(Z)<100, X*Y, Y*Z, X+Y-Z)
Выберите вызовы процедур, которые позволят рисовать желтым цветом в проекте QuickWin
(1)
i=SetColor(14)
(2)
k=SetColorRGB(255,255,0)
(3)
k=SetColor($YELLOW)
(4)
i=SetBkColorRGB(RGBToInteger(255,255,0))
(5)
n=SetBkColor(14)
В операторе
read(*,*)
вместо второго символа "*" можно использовать
(1) целочисленную метку на оператор
format
(2) оператор
format
(3) имена переменных
(4) строку "(A)"
Укажите верное условие попадания в закрашенную область
(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)
Какой из приведенных циклов вычисляет выражение .
(1) slag=1.0
zn=-1
cosx=1.0
do k=2,12
zn=-zn
slag=slag*x/k
if (mod(k,2)==0) cycle
cosx=cosx+zn*slag
end do
(2) slag=x
zn=1
cosx=1.0
do k=2,12
slag=slag*x/k
if (mod(k,2)==1) cycle
zn=-zn
cosx=cosx+zn*slag
end do
(3) slag=x
zn=0
cosx=1.0
do k=2,12,2
slag=slag*x/k
slag=slag*x/(k+1)
zn=zn+1
cosx=cosx+(-1)**zn*slag
end do
(4) slag=x
zn=-1
cosx=1.0
do k=2,12,2
slag=slag*x/(k+1)
slag=slag*x/k
zn=zn+1
cosx=cosx+(-1)**zn*slag
end do
(5) slag=x
zn=-1
cosx=1.0
do k=1,12
slag=slag*x/k
if (mod(k,2)==1) cycle
zn=zn+1
cosx=cosx+(-1)**zn*slag
end do
Элементам массива требуется присвоить значения, как показано на рисунке. Какую операцию присваивания следует выбрать?
(1)
B(::2,:8)=1
(2)
B(1:8,2)=1
(3)
B(5:8:2,1:8)=1
(4)
B(1:7:2,::2)=1
(5)
B(2:5,::2)=1
Для открытия файла в режиме асинхронного ввода/вывода следует использовать спецификатор
(1)
ASYNCHRONOUS
(2)
MODE
(3)
ORGANIZATION
(4)
STATUS
(5)
DISPOSE
Объявлена функция complex(8) function Ex(A,V,W,alfa,betta,gamma)
real, intent(in) :: A(:,:)
complex(8), intent(out) :: V(:,:,:)
character(*), intent(in) :: W(:)
integer, optional, intent(in) :: alfa
real, optional, intent(inout) :: betta
complex, optional, intent(out) :: gamma
...
end function Ex
Какие вызовы функции являются верными, если real M2D(100,100)
complex(8) C1(10,10,10), A(10,10,10), B(10,10,10)
character(128) CH(100)
integer kparam
real sparam
complex zparam
(1)
write(*,*) Ex(M2D(1:50,1:40), C1(:,:,1:7), CH(1:12), gamma=zparam)
(2)
zparam=Ex(M2D(:,1:40:4), C1, CH(1:1), alfa=5, betta=7.0)
(3)
zparam=Ex(M2D(:,::2),A,CH(1:10),alfa=9)
(4)
write(*,*) Ex(M2D,A+B,CH(1:15),kparam, sparam)
(5)
write(*,*) Ex(M2D, B(1:3,:,:), CH(::5), alfa=kparam, gamma=zparam)
В проекте QuickWin закрашивание произвольной области выполняет процедура
(1)
FillRegion
(2)
FloodFill
(3)
Ellipse
(4)
Rectangle
(5)
SetPixel
Введите значение переменной 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
Функция протабулирована на отрезке от до с шагом . Сколько значений функции попадет в область и ?
(1) 55
(2) 103
(3) 515
(4) 314
Какие операторы выполняют преобразование массива A(Mi,Mj)
(см. рисунок)(Mi=7, Mj=7)?
(1) do i=1,Mi,2
do j=1,Mj/2
A(i,j)=0
end do
end do
A(:,4)=9
(2) forall(i=1:Mi:2,j=1:3)
A(i,j)=0
end forall
A(4,:)=9
(3) where (A(1,:)==1)
A(:,4)=9
end where
A(::2,4)=0
(4) A(::2,[1,2,3])=0
A(:,3)=9
В файлах прямого доступа для задания номера записи в операторе read используется спецификатор
(1)
SIZE
(2)
REC
(3)
ADVANCE
(4)
NML
(5)
IOLIST
В головной программе описаны переменныеcomplex, parameter :: k=(0.0,1.0)
integer s1,s2
real A(100,100)
logical :: MASK(2,2,3,3,4,4,5)=.TRUE.
character, pointer :: pcA, pcB
character, target :: str1, str2
Какие из них доступны во внутренней функции F ? real function F(str1, str2, x, y, z, QW) result(A)
logical MASKA(2,2,3,3,4,4,5)
complex k
integer(1) s1
...
end function F
(1)
k
(2)
s1
(3)
s2
(4)
A
(5)
MASK
(6)
pcA
(7)
pcB
(8)
str1
(9)
str2
В двоичном файле pic3.bin по пикселам сохранена область экрана в формате: координата x, координата y, цвет. Какая фигура была изображена на экране ?
(1) эллипс
(2) прямоугольник
(3) треугольник
(4) линия
(5) окружность
Для вывода на экран
^^^^^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
Сколько потребуется просуммировать членов ряда , чтобы очередное слагаемое стало больше 10
?
(1) 76
(2) 125
(3) 512
(4) 1020
Процедура, выполняющая переформирования массива называется
(1)
shape
(2)
merge
(3)
reshape
(4)
all
(5)
unpack
Какой из операторов создает временный файл, удаляемый после работы программы ?
(1)
open(1, status='SCRATCH')
(2)
open(1, file='$0001.tmp', status='OLD')
(3)
open(1, file='C:\TEMP\temp.tmp', form='BINARY')
(4)
open(1, file='$0001.tmp', status='UNKNOWN')
(5)
close(1, status='DELETE')
Какой атрибут позволяет параметрам процедуры возвращать вычисленное значение в вызывающую процедуру ?
(1)
pure
(2)
intent(out)
(3)
save
(4)
intent(in)
(5)
optional
Обязательно ли создавать функции
WinMain
и MainWndProc
, если будут использоваться процедуры GDI
(1) обязательно, если будет создано окно приложения
(2) всегда обязательно
(3) необязательно в Console-приложении
Чему равно значение переменной implicit none
integer :: param=1
integer(2) scalar
associate (param=>10)
scalar=param+1
end associate
param=param+1
param
в конце работы фрагмента программы?
(1) 1
(2) 2
(3) 10
(4) 11
(5) не определено
(6) ошибка компиляции
Сколько раз переменная k увеличится на 3? k = 2
do
select case (k)
case (0,4,8,12,20)
k=k+1
case (2,6,10,14,18)
k=k+2
case (1,3,5,7,9,11,13,15,17,19)
k=k+3
case (16)
k=k-1
case (21:)
exit
end select
end do
(1) 6
(2) 11
(3) 4
(4) 5
Чтобы получить массив B из массива A достаточно добавить строку в программе.
(1)
B = SPREAD (A, NCOPIES=3, DIM = 1)
(2)
B = SPREAD (A, NCOPIES=3, DIM = 2)
(3)
B = SPREAD (A, NCOPIES=2, DIM = 1)
(4)
B = SPREAD (A, NCOPIES=3, DIM = 3)
(5)
B = SPREAD (A, NCOPIES=1, DIM = 1)
Файл data3.txt содержит двоичные данные целочисленного массива A(Mi,Mj,Mk,Mn).
Данные записаны в формате по умолчанию в следующем порядке Mi,Mj,Mk,Mn,A.
Найти количество нулевых значений матрицы А.
(1) 2352
(2) 3536
(3) 65857
(4) 11550
Укажите верные утверждения, которые относятся к элементным процедурам
(1) избавляют от дублирования процедур, выполняющих одинаковые действия как над скалярами, так и над массивами
(2) фактически выполняют неявную перегрузку процедур
(3) являются процедурами без побочных эффектов
(4) встроенные функции sinh, exp, sqrt не являются элементными
(5) неявно обладают pure атрибутом
Какая функция в GDI используется для определения цвета по трем компонентам Red, Green, Blue ?
(1)
RGB
(2)
SetRGB
(3)
RGBToInteger
(4)
SetColorRGB
(5)
SetBKColorRGB
Для вычисления комплексного сопряженного числа используется процедура
(1)
sqrt
(2)
conjg
(3)
floor
(4)
cosd
(5)
abs
Для генерации последовательности псевдослучайных целых чисел в диапазоне используется запись:
(1)
call random(x); R=int(x*20)-7
(2)
call random(x); R=-int(x*19)+8
(3)
call random(x); R=int(x*14)-8
(4)
call random(x); R=-7+int(x*13)
(5)
call random(x); R=int(-21*x)+8
Элементам главной диагонали
(1) A(:,:)=1
(2) do i=1,10
A(i,i)=1
end do
(3) V(10)=[1,2,3,4,5,6,7,8,9,10]
A(V,V)=1
(4) do i=1,10
A(1:i,i:1)=1
end do
(5) do i=1,10
A(i,:)=1
end do
Что можно сказать о следующих строках удачно скомпилированной программы ?write(1,"(i4)",rec=100) param
rewind(1)
Выберите верные утверждения
(1) файл открыт в режиме прямого доступа
(2) файл открыт в режиме последовательного доступа
(3) файл является внутренним
(4) запись 100-й записи значением переменной param
(5) все записи в файле одинаковой длины, равной 4 байта
(6) перевод файлового указателя на первую запись файла
(7) получение сведений о записи номер 100
(8) все записи в файле имеют длину кратную 4
(9) файл является форматным
Какой оператор информирует головную программу о типе возвращаемого значения и типе формальных параметров для внешней функции
(1)
external
(2)
intrinsic
(3)
interface
(4)
pure
(5)
elemental
Что означает аббревиатура GDI ?
(1) Graphics Direct Interface
(2) Get Device Interface
(3) Graphics Device Interface
(4) Get Driver Interface
(5) Graphics Driver Interface
Укажите строку программы, которая означает: целочисленной переменной
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)
Вычислите сумму . В ответ введите целую часть результата.
(1) 1024
(2) -1024
(3) -649
(4) 649
За формирование массива отвечают строки программы
(1)
integer :: A(10,10)=0, V(3)=[3,5,7]
(2)
integer :: A(3,3)=5, V(3)=[1,2,3]
(3)
integer :: A(10,10)=0, V(3)=[1,2,3]
(4)
A(V,V+1)=5
(5)
A(V,V)=5
(6)
A(V,2*V)=5
Фрагмент программы преобразует файл vector.txt ^^^1^^^4^^^5^^^8^^^9^^^0^^^7 в файл spisok.dat с данными 0001000400050008000900000007?
Расположите строки в верном порядке. 1) read(1,"(A28)") ch
2) ch(k:k+2)='000'
3) write(1,"(A28)") ch
4) character ch*28
5) open(1,file='C:\spisok.dat')
6) rewind(1)
7) end do
8) ires = RENAMEFILEQQ ('vector.txt','spisok.dat')
9) do k=1,28,4
(1) 1;3;8;7;5;6;4;2;9
(2) 4;8;5;1;9;2;7;6;3
(3) 4;5;8;7;6;3;1;2;9
(4) 6;8;7;5;4;3;2;1;9
Выберите процедуры, которые можно объявить элементными.
(1) subroutine Make(A)
real A
A=2*A+A**2
end subroutine Make
(2) real function SumNew(A)
real A(:), s
do k=1,size(A)
s=s+k
end do
SumNew=s
end function SumNew
(3) character function SMB(str)
character(*) str
SMB=str(1:1)
end function SMB
(4) integer function pr(a,b,c)
real,intent(in) :: a,b,c
pr=a+b**c
end function pr
(5) subroutine SMA(a,b,c,d)
real, intent(in) :: a,b
complex, intent(out) :: c,d
complex, parameter :: i=(0.0,1.0)
c=a**b**i
d=abs(sin(a))**i*b
end subroutine SMA
В форматном файле word3.txt записаны индексы цветов рисунка по пикселам размером (100х100) пикселов. Формат файла следующий:
(1)
nauwvx
(2)
uanxvw
(3)
wvuanx
(4)
vwuanx
Вычислите значение функции в точке . Ответом является целая часть результата.
(1) 101
(2) 211
(3) 67
(4) 212
Перечислите новшества языка Fortran 90
(1) модули
(2) атрибуты
public
и private
(3) coarrays
(4) сечения массивов
(5) оператор
where
(6) оператор
forall
Для описания переменной вещественного типа используется оператор
(1)
integer
(2)
logical(2)
(3)
double precision
(4)
character(LEN=45)
(5)
complex
Укажите верные варианты записи условного оператора.
(1)
if (i/=k) exit
(2)
if (x=0) cycle
(3) if (a>b) then
do k=1,100
S=S-k*k
end do
end if
(4)
if (C==4) S=(S+X)*C
(5)
if ('%'==key) stop
Укажите верные варианты объявления массивов.
(1)
character(16) :: CH(3,3,3)=['Q','R','W']
(2)
complex :: C(-1:3, -4:5, 3:5) = 0
(3)
logical : D(-2:5,89:900)=.FALSE
(4)
double precision :: R(100,100)=2.0/3.0
(5)
integer(1) :: K(1)=100
Укажите верные утверждения. Неформатные файлы
(1) характеризуются большим объемом и низкой скоростью обработки
(2) характеризуются малым объемом и низкой скоростью обработки
(3) характеризуются большим объемом и высокой скоростью обработки
(4) характеризуются малым объемом и высокой скоростью обработки
(5) могут быть только внутренними
(6) могут быть только внешними
(7) длина записи 128 байт
(8) длина записи 1 байт
Укажите верные утверждения. Модульные процедуры объявляются после оператора
(1) Module
(2) Program
(3) Contains
(4) Subroutine
(5) Function
Для установки названия окна приложения в проекте Standard Graphics используется процедура
(1)
SetText
(2)
SetWindowConfig
(3)
SetWindowTitle
(4)
SetTextRegion
(5)
WinMain
Какое сочетание клавиш выполняет компиляцию и запуск программы без отладки?
(1) CTRL + F5
(2) CTRL + F9
(3) F9
(4) F5
(5) CTRL + SHIFT + B
Укажите верные варианты объявления констант и переменных
(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'
Найти сумму ряда при N=20 . Ответ - целая часть результата.
(1) 538989069702701719906
(2) 538989058900888101405
(3) 538989114761352500261
(4) 3904763894763487638468
Операция
C=A+B
над двумерными массивами A и B аналогична следующим строчкам программы
(1) C(:,:)=A(:,:)+B(:,:)
(2) do i=1,Mi
do j=1,Mj
C(i,i)=A(i,i)+B(j,j)
end do
end do
(3) do i=1,Mi
do j=1,Mj
C(i,j)=A(i,j)+B(j,i)
end do
end do
(4) do i=1,Mi
C(i,:)=A(:,i)+B(i,i)
end do
Данный оператор write(1,*,ERR=100, asynchronous='NO') A,B,C может быть записан для файла
(1) прямого доступа
(2) последовательного доступа
(3) внешнего
(4) внутреннего
(5) двоичного
(6) форматного
(7) неформатного
Укажите верные объявления процедур
(1)
contains function f(x)
(2)
integer(16) subroutine sub10(x)
(3)
logical function f(x,y,z,Q,Q)
(4)
subroutine make(m1)
(5)
recursive subroutine fibo(N)
Процедура, которая переводит координаты порта просмотра в оконную систему координат в проекте Standard Graphics
(1)
GetWindowCoord
(2)
GetViewCoord
(3)
SetViewPort
(4)
GetPhysCoord
(5)
SetWindow
Укажите символы допустимые для задания имен
(1) прописные латинские буквы A..Z
(2) строчные латинские буквы a..z
(3) цифры 0..9
(4) знак подчеркивания
(5) символ #
(6) символ @
Чему равно значение переменной
ap=mod(22,5)
bp=2-mod(7,4)
bp=ap+sign(ap,bp)
sp=dim(ap,bp)
alfa=ap+bp+sp
alfa
?Переменные ap, bp, sp, alfa
– целые восьмибайтовые.
(1) 2
(2) 4
(3) 6
(4) 8
(5) 10
Дано , вычислить .В ответ ввести целое значение мнимой части результата.
(1) 238942
(2) 52696
(3) -39451
(4) -52700
Дан массив
integer A(20,20)
Запись A(:10:2,:)=5 означает присвоить значение 5
(1) каждой строке от 1-го до 10-го элементов с шагом 2
(2) каждой второй строке, начиная от 1-й до 10-й
(3) каждой второй строке, начиная со 2-й
(4) каждому второму столбцу, до 10-го столбца
Оператор, позволяющий получить информацию о том существует файл или нет
(1)
open
(2)
inquire
(3)
close
(4)
backspace
(5)
flush
Укажите верные утверждения. Внутренние процедуры
(1) могут содержать внутренние переменные
(2) содержат оператор contains
(3) обладают явным интерфейсом
(4) обладают неявным интерфейсом
(5) доступ к другой внутренней процедуре закрыт, если используется такое же имя для внутренней процедуры в данной модульной процедуре
В проекте Windowing Application тип линии устанавливается процедурой
(1)
SetLineStyle
(2)
SetStyleLine
(3)
SetColor
(4)
CreateSolidBrush
(5)
CreatePen
Оператор, обозначаемый конец программы
(1)
end
(2)
read
(3)
stop
(4)
program
(5)
format
(6)
print
(7)
printf
Укажите верную запись математического выражения , где , – вещественные числа.
(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)
Вычислите выражение , x=2. В ответ введите целую часть результата.
(1) 23634634
(2) 14495040
(3) 76897689780
(4) 5745745
Для того чтобы, создать динамический массив A с границами, формой и значениями как у массива B следует воспользоваться оператором
(1)
allocate(B, mold=A, STAT=A)
(2)
allocate(A, source=B)
(3)
allocate(A, mold=B)
(4)
allocate(A => B)
(5)
allocate(A,B)
Чтобы получить расширение файла
(1) вызвать процедуру
SPLITPATHQQ
(2) использовать оператор
INQUIRE
(3) использовать подстроки и символьные процедуры для полного имени файла
(4) вызвать процедуру
SETFILETIMEQQ
(5) вызвать процедуру
GETDRIVEDIRQQ
Объявлена подпрограмма subroutine InitST(name, stat, param, index, vector)
character(*) name
logical stat
real param
integer index
complex vector(1000)
...
end subroutine InitST
Какие вызовы подпрограммы являются верными,
если complex Z(1000)
(1)
call InitST('InitST', .TRUE., sum(aimag(Z)), 1, Z)
(2)
call InitST("AS098R", maxval(Z), asin(0.0), 0, Z*2)
(3)
call InitST('M', Z(2)<(1.0,2.0), 0.0, 5, Z)
(4)
call InitST('ASKOP', sum(Z)==(0.0,1.0), real(maxval(Z)), 0, 1-Z)
(5)
call InitST('QUESTION', .FALSE., real(sum(Z)), 0, 1-Z)
Выберите вызовы процедур, которые позволят рисовать коричневым цветом в проекте Standard Graphics
(1)
i=SetColor($BROWN)
(2)
k=SetBkColor(12)
(3)
k=SetColor($MAGENTA)
(4)
i=SetColorRGB(RGBToInteger(255,0,0))
(5)
n=SetBkColor(4)
Оператор
write(*,*)
выполняет
(1) вывод пустой строки и переход на следующую строку
(2) вывод строки целиком заполненной пробелами
(3) ожидание нажатия клавиши ввода
(4) не выполняет никаких действий
(5) выполнение оператора приведет к ошибке выполнения программы
Укажите верное условие попадания в закрашенную область.
(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)
Какой из приведенных циклов вычисляет выражение .
(1) lnx=0.0
do k=1,12
lnx=lnx+(-1)**k*x/k
end do
(2) lnx=0.0
do k=1,12
lnx=lnx+(-x)**k/k
end do
(3) lnx=0.0
do k=1,12
lnx=lnx-(-x)**k/k+1
end do
(4) lnx=0.0
do k=0,12
lnx=lnx+x**(k+1)/(k+1)
end do
(5) lnx=0.0
do k=1,12
lnx=lnx+x**k*(-1)**(k+1)/k
end do
Элементам массива требуется присвоить значения, как показано на рисунке. Какую операцию присваивания следует выбрать?
(1)
B(3:9,3::3)=1
(2)
B(4::3,2:8)=1
(3)
B(2:10,2:9:2)=1
(4)
B(2:10,3:9:3)=1
(5)
B(3:9,3:8:3)=1
Для создания двоичного файла, используется спецификатор
(1)
FORM
(2)
STATUS
(3)
DISPOSE
(4)
POSITION
(5)
CONVERT
Объявлена функция character function CH(str, N, status, param, maska)
character(*), intent(in) :: str
integer, intent(inout) :: N
integer, intent(out) :: status
character, optional, intent(out) :: param
logical, optional, intent(in) :: maska(:)
...
end function CH
Какие вызовы функции являются верными, еслиcharacter(128) adr
integer, parameter :: N=7000
integer i
character symbol
logical :: mask(100) = .TRUE.
(1)
write(*,*) CH("C:\DATA\1.txt", N+1, N, param = '!', maska = mask(::2))
(2)
write(*,*) CH("res.dat", N, N, maska = mask(::4))
(3)
write(*,*) CH("QXXDF67C", N, i, maska = mask(2:30:3), param = symbol)
(4)
write(*,*) CH("000001", i, i, maska = mask(1:10:2).AND.mask(31:40:2))
(5)
write(*,*) CH("Q", i, i, maska = mask(1:10:2).XOR.mask(31:40:2), param=symbol)
В проекте QuickWin на черном экране нарисована только одна произвольная замкнутая область красной пунктирной линией. Что произойдет если попытаться закрасить, замкнутую область желтым цветом, процедурой FloodFill (стартовая точка находится внутри области) ?
(1) произойдет ошибка выполнения программы
(2) будет нарисован только один пиксел
(3) произойдет заливка всего экрана, пунктирная линия останется
(4) произойдет заливка внешней области
(5) экран останется без изменений
Введите значение подстроки character(LEN=50) :: str="coirh8euncoewfg8uwbdniwnbd"
str=repeat("File",5)
str(5:7)=achar(80)//achar(81)//achar(82)
str(5:12)
в конце работы фрагмента программы
(1)
PQReFile
(2)
QRPE
(3)
FileRQP
(4)
PERQFILE
Функция протабулирована на отрезке от до с шагом . Сколько значений функции не попадет в область и ?
(1) 55
(2) 103
(3) 628
(4) 458
Какие операторы выполняют преобразование массива A(Mi,Mj)
(см. рисунок)(Mi=5, Mj=8)?
(1) where (A([2,4,5],:)<4)
A([1,3,5],:)=-1
end where
(2) forall (i=1:5:2, j=1:3)
A([i,j],:)=-1
end forall
(3) A(::2,1:3)=-1
A(:,6:7)=-1
(4) A(:,::2)=-1
A(:,4)=4
A(:,5)=5
A(::2,:)=0
Для запрета асинхронного чтения данных из файла используется спецификатор
(1)
ASYNCHRONOUS
(2)
ADVANCE
(3)
END
(4)
ERR
(5)
EOR
В головной программе описаны переменныеinteger, pointer :: pk
character(32), target :: file
logical :: st=.FALSE., flag=.TRUE.
complex(16) Z1(10,10,10,10)
real sk,sp,R
Какие из них доступны во внутренней функции GetParamVector?complex function GetParamVector(V,N,z1) result(flag)
complex(16) V
integer(8) N
complex(16), optional, intent(out) :: z1
real x,y,ks,kp,st
...
end function GetParamVector
(1)
pk
(2)
file
(3)
st
(4)
flag
(5)
Z1
(6)
sk
(7)
sp
(8)
R
В двоичном файле pic4.bin по пикселам сохранена область экрана в формате: координата x, координата y, цвет. Какая фигура была изображена на экране ?
(1) эллипс
(2) прямоугольник
(3) треугольник
(4) линия
(5) окружность
Для вывода на экран
^^^^^^^^^^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
Сколько потребуется просуммировать членов ряда , чтобы очередное слагаемое стало больше 1000
?
(1) 76
(2) 125
(3) 512
(4) 1017
Процедура, выполняющая упаковку массива в одномерный массив
(1)
pack
(2)
transpose
(3)
spread
(4)
shape
(5)
merge
Какой из приведенных фрагментов программы выполняет копирование файла ids.exe в файл ids2.exe ?
(1) character p
open(1,file='D:\ids.exe')
open(2,file='D:\ids2.exe')
do while (.not.eof(1))
read(1,*) p
write(2,"(A,\)") p
end do
close(1)
close(2)
(2) character p
open(1,file='D:\ids2.exe',form='binary')
open(2,file='D:\ids.exe',form='binary')
do while (.not.eof(1))
read(1) p
write(2) p
end do
close(1)
close(2)
(3) character p(1024)
open(1,file='D:\ids.exe',form='unformatted')
open(2,file='D:\ids2.exe',form='unformatted')
do while (.not.eof(1))
read(1) p
write(2) p
end do
close(1)
close(2)
(4) character p(1024)
open(1,file='D:\ids.exe',form='binary')
open(2,file='D:\ids2.exe',form='binary')
do while (.not.eof(1))
read(1) p
write(2) p
end do
close(1)
close(2)
Какой атрибут объявляет процедуру чистой ?
(1)
optional
(2)
intrinsic
(3)
interface
(4)
pure
(5)
elemental
Какая процедура в проекте Windowing Application используется для выбора пера (кисти) текущим
(1)
CreatePen
(2)
CreateSolidBrush
(3)
SelectObject
(4)
RegisterClass
(5)
LoadCursor
Чему равно значение переменной implicit none
integer :: param=1
integer(2) scalar
associate (param=>10)
scalar=param+1
param=param+1
end associate
param=param+1
param
в конце работы фрагмента программы?
(1) 1
(2) 2
(3) 10
(4) 11
(5) не определено
(6) ошибка компиляции
Сколько раз переменная k увеличится на 1? k = 1
do
select case (k)
case (1,2,6,8,9,12,14)
k=k+1
case (3,4,7,11,13,15)
k=k+2
case (5)
k=k-1
case (10)
k=k+4
case (16:)
exit
end select
end do
(1) 6
(2) 11
(3) 4
(4) 5
Чтобы получить массив B из массива A достаточно добавить строки в программе.
(1)
integer B(3,5)
(2)
integer B(5,3)
(3)
B=reshape(A,[5,3])
(4)
B=reshape(A,[3,5])
(5)
B=reshape(B,[5,3])
(6)
B=transpose(A)
Файл data4.txt содержит двоичные данные целочисленного массива A(Mi,Mj).
Данные записаны в формате по умолчанию в следующем порядке Mi, Mj, A.
Найдите сумму элементов 10-й и 20-й строк матрицы A.
(1) 427
(2) 656
(3) 1567
(4) 1954
Укажите верные утверждения, которые относятся к элементным процедурам
(1) формальные параметры являются скалярами со связью intent(inout)
(2) являются чистыми процедурами
(3) элементными могут быть только подпрограммы
(4) встроенные функции gamma, BESSEL_J1, LOG_GAMMA являются элементными
(5) формальные параметры могут иметь атрибут allocatable
Что означает второй параметр в функции
CreatePen
(1) стиль пера
(2) толщину пера в пикселах
(3) цвет пера
(4) номер устройства
(5) системный параметр
Для нахождения остатка от деления используется процедура
(1)
dim
(2)
sign
(3)
mod
(4)
log
(5)
tand
(6)
aint
Для генерации последовательности псевдослучайных целых чисел в диапазоне используется запись:
(1)
call random(x); R=int(x*7)-3
(2)
call random(x); R=int(x*6)+3
(3)
call random(x); R=3-int(x*8)
(4)
call random(x); R=-3+int(x)*6
(5)
call random(x); R=-4+int(4*x)
Элементам побочной диагонали
(1) do i=1,10
A(i,11-i)=1
end do
(2) do i=1,10
A(i,10-i)=1
end do
(3) do i=1,10
A(i,-i)=1
end do
(4) do i=10,1
A(i,i)=1
end do
(5) do i=1,10
A(i,i)=1
end do
Что можно сказать о следующих строках удачно скомпилированной программы ? logical ex
inquire (file='F:\geom.inf', exist = ex)
if (ex) open(1,file='G:\copy.txt', action='write', form='binary')
Выберите верные утверждения
(1) происходит проверка существования файла F:\geom.inf
(2) происходит определение размера файла F:\geom.inf
(3) файл F:\geom.inf открыт для добавления данных
(4) файл G:\copy.txt открыт для добавления данных
(5) файл G:\copy.txt открыт только для записи
(6) файл G:\copy.txt будет создан, если отсутствует файл F:\geom.inf
(7) файл G:\copy.txt будет создан, если существует файл F:\geom.inf
(8) файлу G:\copy.txt устанавливается атрибут "только для чтения"
(9) файл F:\geom.inf открыт в режиме последовательного доступа
(10) по окончания работы программы файл G:\copy.txt будет удален автоматически
Какая функция проверяет присутствие необязательного формального параметра ?
(1)
getarg
(2)
getpid
(3)
isatty
(4)
present
(5)
precision
Перечислите зарезервированные константы для стилей пера в GDI
(1)
PS_SOLID
(2)
PS_POINT
(3)
PS_DOT
(4)
PS_LINE
(5)
PS_DASH
Укажите строку программы, которая означает: целочисленную переменную
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)
Вычислите сумму . В ответ введите целую часть результата.
(1) -10
(2) 10
(3) -30
(4) -50
За формирование массива отвечают строки программы
(1)
integer :: A(10,10)=0
(2)
integer :: V(3)=[1,4,3]
(3)
integer :: V(3)=[1,2,3]
(4)
integer :: V(3)=[2,6,8]
(5)
A(:,2*V)=2
(6)
A(V,:)=2
(7)
A([1,2,3],:)=2
Фрагмент программы преобразует файл vector.txt ^^^1^^^4^^^5^^^8^^^9^^^0^^^7 в файл spisok.dat с данными 0001000400050008000900000007.Введите номера строк, разделяя ; в порядке выполнения программы 1) open(1,file='vector.txt', access='direct', recl=1, form='formatted')
2) read(1,"(A)",rec=k) ch
3) do k=1,28
4) character ch
5) end do
6) if (ch=='^') write(1,"(A)",rec=k) '0'
7) ires = RENAMEFILEQQ ('vector.txt','spisok.dat')
(1) 4;1;3;2;6;5;7
(2) 7;5;4;6;3;1;2
(3) 4;2;1;3;6;7;5
(4) 4;7;6;3;2;5;1
Дана подпрограмма subroutine proc(a,b,N,func)
interface
real function func(x)
real x
end function func
end interface
real, intent(in) :: a,b
integer, intent(in) :: N
write(*,*) func(a+b*N)
end subroutine proc
Выберите верные вызовы, если real function f(x)
real x
f=sqrt(x)+cos(x)+(1.0,1.0)
end function f
real function S(x,y)
real x,y
S=10000*x*y
end function S
recursive function fr(x)
real x
if ((x-1)<0) then
fr=1.0
return
end if
fr=sin(x)+cos(x)+fr(x-1)
end function fr
(1)
call proc(1.0, 2.0, 10, fr)
(2)
call proc(5.0, f(6.0), 10, f)
(3)
call proc(1.0, 2.0, 10, S)
(4)
call proc(S(1.0), S(2.0), 10, f)
В форматном файле word4.txt записаны индексы цветов рисунка по пикселам размером (100х100) пикселов. Формат файла следующий:
(1)
rcaeoi
(2)
careoi
(3)
ieocar
(4)
eiocar
Вычислите значение функции в точке . Ответом является целая часть результата
(1) 8900
(2) 7800
(3) 1500
(4) 7912
Перечислите новшества языка Fortran 95
(1) модули
(2) атрибуты
public
и private
(3) coarrays
(4) сечения массивов
(5) оператор
where
(6) оператор
forall
(7) перегрузка процедур
Для описания константы целочисленного типа используется оператор
(1)
integer*2
(2)
logical(4), parameter
(3)
character(3)
(4)
complex
(5)
integer(4), parameter
Укажите верные варианты записи условного оператора.
(1)
if (k<0) k>0
(2)
if (param=0) stop
(3) if (a>b) then
do k=1,100
S=S-k*k
end do
else stop
end if
(4)
if (C=='file') exit
(5)
if (koef<1.35d0) stop
Укажите верные варианты объявления массивов.
(1)
integer :: B(100,1:80)=10
(2)
logical D(-2:5,89:900)
(3)
real(16) :: S(9000:10000:2)=1.0Q0
(4)
character(8) :: A(100)="C:\"
(5)
real :: A(100,100,100,100,100)=0.0
Укажите верные утверждения. Двоичные файлы
(1) характеризуются большим объемом и низкой скоростью обработки
(2) характеризуются малым объемом и низкой скоростью обработки
(3) характеризуются большим объемом и высокой скоростью обработки
(4) характеризуются малым объемом и высокой скоростью обработки
(5) могут быть только внутренними
(6) могут быть только внешними
(7) длина записи 128 байт
(8) длина записи 16 байт
(9) длина записи 1 байт
Укажите верные утверждения. Описание внешних процедур объявляется после оператора
(1) Program
(2) Contains
(3) Subroutine
(4) Function
(5) лператор не требуется, сразу идет объявление подпрограммы или функции
Точка отсчета пикселов начинается с угла экрана
(1) нижнего правого
(2) верхнего левого
(3) нижнего правого
(4) верхнего правого
Укажите сочетание клавиш используемое для комментирования выделенного текста программы.
(1) CTRL + K, CTRL + C
(2) CTRL + K, CTRL + U
(3) CTRL + A
(4) CTRL + K, CTRL + K
(5) CTRL + K, CTRL + H
Укажите верные варианты объявления констант и переменных
(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
Дано натуральное , действительное значение . Вычислить .
(1) 67967967976967976
(2) 34634634634646346
(3) 45745745845845845
(4) 48804956953
Операция
C=A-B
над двумерными массивами A и B аналогична следующим строчкам программы
(1) C(1,:)=A(1,:)-B(:,1)
(2) do i=1,Mi
do j=1,Mj
C(i,j)=A(i,j)-B(j,i)
end do
end do
(3) do i=1,Mi
do j=1,Mj
C(i,j)=A(i,j)-B(i,j)
end do
end do
(4) do i=1,Mi
C(i,:)=A(i,i)-B(i,i)
end do
Данный оператор write(buf,200,ERR=100) A,B,C может быть записан для файла
(1) прямого доступа
(2) последовательного доступа
(3) внешнего
(4) внутреннего
(5) двоичного
(6) неформатного
Укажите верные объявления процедур
(1)
subroutine (integer param)
(2)
real(8) function f(x) result (p)
(3)
complex function Q(x) result(q)
(4)
double precision function Q(q)
(5)
character(1024) function string()
Процедура, которая переводит физические координаты в координаты порта просмотра в проекте Standard Graphics
(1)
GetWindowCoord
(2)
GetViewCoord
(3)
SetViewPort
(4)
GetPhysCoord
(5)
SetWindow
Укажите верно заданные имена
(1) PARAM_1
(2) program
(3) write
(4) Q#W
(5) W@!QWE
(6) 1__2
Чему равно значение переменной
param=5 + 9/4 + mod(9,4)
param=-param/2
s0=2**3**2
tk=s0/param
betta=sign(s0,tk)
betta
? Переменные tk, param, s0, betta
– целые двухбайтовые.
(1) 224
(2) 512
(3) -512
(4) 64
(5) -64
(6) 1024
Дано , вычислить .В ответ ввести целое значение вещественной части результата.
(1) 238942
(2) 52696
(3) -39451
(4) -52700
Дан массив integer A(20,20)
Запись A(:2,:2)=5 означает присвоить значение 5
(1) первой и второй строке, первому и второму столбцам
(2) элементам расположенным в шахматном порядке
(3) элементам расположенным на пересечении первых двух строк и первых двух столбцов
(4) каждому второму столбцу, каждой второй строке
Оператор, перемещающий файловый указатель на одну запись назад
(1)
open
(2)
inquire
(3)
close
(4)
backspace
(5)
flush
Укажите верные утверждения. Внешние процедуры
(1) могут содержать оператор contains
(2) обладают явным интерфейсом
(3) не могут обрабатывать внешние файлы
(4) описываются отдельно от головной программы
(5) не могут вызывать другие внешние процедуры
В проекте QuickWin маска заполнения устанавливается процедурой
(1)
SetFillMask
(2)
CreateMask
(3)
SetColor
(4)
CreateSolidBrush
(5)
CreateFillMask
Оператор, прерывающий выполнение программы
(1)
read
(2)
stop
(3)
program
(4)
format
(5)
print
(6)
printf
Укажите верную запись математического выражения , где , – комплексные числа, - мнимая единица.
(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))
Вычислите выражение ,x=3. В ответ введите целую часть результата.
(1) 4568569670780789-89-78
(2) 615611668902827781184000
(3) 679780780780768078
(4) 346346363
Укажите верные записи оператора allocate
(1)
allocate(B, mold=A, STAT=ist)
(2)
allocate(A, source=B)
(3)
allocate(A, 10)
(4)
allocate(A(100))
Процедура выполняющая установку текущего диска
(1)
CHANGEDRIVEQQ
(2)
CHANGEDIRQQ
(3)
GETDRIVEDIRQQ
(4)
GETDRIVESQQ
(5)
GETFILEINFOQQ
Объявлена подпрограмма subroutine GetVolume(A,B,C, ind, symbol)
complex(16) A(:)
logical(8) B(500)
real(4) C(:)
integer(1) ind
character symbol
...
end subroutine GetVolume
Какие вызовы подпрограммы являются верными,
если complex(16) X(1000)
logical(8) V(500)
real(4) R(250)
(1)
call GetVolume(X(::2),V,R, 1, 'K')
(2)
call GetVolume(V, R, X, 1/2, 'K')
(3)
call GetVolume(X, V, [0.3, 4.0, 9.0, 5.0], 4, '2')
(4)
call GetVolume(X, V, R(::2), int1(minval(R)), '2')
(5)
call GetVolume(X*3, .TRUE., R(::5), (2.0, 3.0), ichar(100))
Укажите какие процедуры следует вызвать чтобы установить цвет фона
(1)
SetColor(9)
(2)
Clearscreen(0)
(3)
SetBkColorRGB(RGBToInteger(255,0,0))
(4)
SetBackColor(8)
(5)
SetColor(9, area)
Оператор
read(*,*)
выполняет
(1) не выполняет никаких действий
(2) вывод строки целиком заполненной пробелами
(3) ожидание нажатия клавиши ввода
(4) не выполняет никаких действий
(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))
Какой из приведенных циклов вычисляет выражение .
(1) sum=1/a
do k=1,12
sum=sum+(-1)**k*x/a**(k+1)
end do
(2) sum=1/a
do k=1,12
sum=sum+(-1)**k*x**k/a**(k+1)
end do
(3) sum=1/a
do k=1,12
sum=sum+(-1)**k*x/a**k+1
end do
(4) sum=1/a
do k=1,12
sum=sum+(-1)**k*(x/a)**k+1
end do
(5) sum=1/a
do k=1,12
sum=sum+(-1)**k*(x/a)**(k+1)
end do
Элементам массива требуется присвоить значения, как показано на рисунке. Какую операцию присваивания следует выбрать?
(1)
B(::4,2::2)=1
(2)
B(::3,::2)=1
(3)
B(::3,:10:2)=1
(4)
B(5:4,:10:2)=1
(5)
B(3:5,::2)=1
Для организации совместного доступа к файлу используется спецификатор
(1)
SHARE
(2)
MODE
(3)
FORM
(4)
STATUS
(5)
POSITION
Объявлена подпрограмма subroutine ModifyMassiv(A,B,st,sp,status)
real, intent(in) :: A(:)
complex, intent(out) :: B(:,:,:)
integer, intent (in) :: st,sp
integer, optional, intent(in) :: status
...
end subroutine ModifyMassiv
Какие вызовы подпрограммы являются верными, еслиreal S(1000)
complex Q(100,100,100)
integer ik, k1, jk
(1)
call ModifyMassiv(S(1:100:2),Q(:,:,::2),k1,int(sum(S)), status=5)
(2)
call ModifyMassiv(S(100::2),Q(::2,::2,::2), jk, status=5)
(3)
call ModifyMassiv(S,Q(::4,::4,::5), jk+ik+k1, int(sum(Q(:,:,::5))), status=5)
(4)
call ModifyMassiv(S,Q,1000,0,0,status=5)
(5)
call ModifyMassiv(4*S,3*Q,1000,1110,status=5)
Какого типа должны быть объявлены вершины многоугольника для вызова процедуры Polygon в проекте QuickWin ?
(1)
integer(4)
(2)
real
(3)
integer(2)
(4)
xycoord
(5)
point
Введите значение подстроки character(5), parameter :: s1="start"
character(15) str
str=repeat("MOV",5)
str(9:13)=s1
str(3:7)=str(10:14)
str(1:6)
в конце работы фрагмента программы
(1)
tartMO
(2)
MOtart
(3)
TortMO
(4)
MtortO
Функция протабулирована на отрезке от до с шагом . Сколько значений функции не попадет в область и ?
(1) 55
(2) 103
(3) 250
(4) 1201
Какие операторы выполняют преобразование массива A(Mi,Mj)
(см. рисунок)(Mi=5, Mj=8)?
(1) forall (i=1:Mi:2, j=2:Mj-1)
A(i,j)=A(i,j)+2
end forall
(2) A(::2,2:Mj-1)=A(::2,2:Mj-1)*2
(3) A(2:Mi-1,:)=A(2:Mi-1,:)+2
(4) forall (j=1:Mj:2, i=1:5:2)
A(i,j)=A(i,j)+2
end forall
Для разрешения асинхронной записи данных в файл используется спецификатор
(1)
ASYNCHRONOUS
(2)
ADVANCE
(3)
REC
(4)
ERR
(5)
ACTION
В головной программе описаны переменныеreal(4) A,B,C
logical, target :: LOGO
complex(8), pointer :: cPT, cPN, cRT
integer x,y,z
Какие из них доступны во внутренней функции InitFlowAVI? logical function InitFlowAVI(A,B,C,N,name,LOGO) result (cRT)
real(4), intent(in) :: A(:,:,:), B(:,:,:), C(:,:,:)
character(256) name
logical, optional :: LOGO
integer x,y
complex(8), pointer, save :: CPT, CPN
...
end function InitFlowAVI
(1)
A
(2)
B
(3)
C
(4)
LOGO
(5)
cPT
(6)
cPN
(7)
cRT
(8)
x
(9)
y
(10)
Z
В двоичном файле pic5.bin по пикселам сохранена область экрана в формате: координата x, координата y, цвет. Какая фигура была изображена на экране ?
(1) эллипс
(2) прямоугольник
(3) треугольник
(4) линия
(5) окружность
Чему равно значение переменной implicit none
integer param
integer(2) scalar
associate (sparam=>10)
scalar=sparam+1
param=param+1
end associate
param=param+1
param
в конце работы фрагмента программы?
(1) 1
(2) 2
(3) 10
(4) 11
(5) не определено
(6) ошибка компиляции
Сколько раз переменная k увеличится на 3? k = 3
do
select case (k)
case (3,7,9,12,18)
k=k+1
case (5,8,10,13,15)
k=k+2
case (11)
k=k-4
case (4,6,14,16,17)
k=k+3
case (19:)
exit
end select
end do
(1) 2
(2) 11
(3) 4
(4) 5
Чтобы получить массив B из массива A достаточно добавить строки в программе.
(1)
integer B(11)
(2)
integer B(10)
(3)
B=pack(A,mask=A/=0)
(4)
B=pack(A,mask=A==0)
(5)
B=reshape(A,[11],mask=A==0)
(6)
B=reshape(A,[11])
Файл data5.txt содержит двоичные данные целочисленного массива A(Mi,Mi).
Данные записаны в формате по умолчанию в следующем порядке Mi, Mi, A.
Найдите сумму элементов побочной диагонали
(1) 500
(2) 700
(3) 867
(4) 1000
Укажите верные утверждения, которые относятся к чистым процедурам
(1) в операторе forall используются только чистые процедуры
(2) в операторе where используются только чистые процедуры
(3) элементные процедуры являются чистыми
(4) формальные параметры подпрограмм имеют вид связи intent(in)
(5) не должны содержать оператор return
Что означает первый параметр в функции
Ellipse
в GDI
(1) дескриптор контекста
(2) дескриптор пера
(3) дескриптор цвета
(4) дескриптор окна
(5) дескриптор функции
Для определения нажатия клавиши на клавиатуре используется процедура
(1)
index
(2)
peekcharqq
(3)
iachar
(4)
achar
(5)
getcharqq
(6)
peekchar
Для генерации последовательности псевдослучайных целых чисел в диапазоне используется запись:
(1)
call random(x); R=int(x*7)+8
(2)
call random(x); R=int(x*8)+8
(3)
call random(x); R=9+int(x*7)
(4)
call random(x); R=int(x*8+7)
(5)
call random(x); R=8+int(x*6)
Присваивание нижнему треугольнику (исключая диагональ) квадратной матрицы выполняют операторы:
(1) do i=2,10
do j=1,i-1
A(i,j)=1
end do
end do
(2) do i=1,10
do j=2,i-1
A(i,j)=1
end do
end do
(3) do i=1,10
A(::2,i:i)=1
end do
(4) do i=1,10
A(:,1:i)=1
end do
(5) do i=1,10
A(i,1:i)=1
end do
Что можно сказать о следующих строках удачно скомпилированной программы в среде Windows? open(8, asynchronous='YES', form='BINARY')
write(8,asynchronous='NO') A, B(:,:,10:1000,-1:90)
wait(2)
write(8,asynchronous='NO') C(:,10:1000:2,:,:,:,:)
Выберите верные утверждения
(1) устройство В/В под номером 8 является временным файлом
(2) устройство В/В под номером 8 может поддерживает асинхронный В/В
(3) происходит синхронизация файла связанного с номером 2
(4) асинхронный вывод A, B
(5) синхронный вывод С
(6) асинхронный ввод A
(7) переменные A, B записываются в форматном виде
Какой атрибут указывает, что стандартные процедуры передаются как фактические параметры в другие процедуры ?
(1)
external
(2)
automatic
(3)
intrinsic
(4)
save
(5)
interface
При задании толщины пера равным нулю, линии будут
(1) невидимыми
(2) толщиной в 1 пиксел
(3) предыдущей толщины
(4) произойдет ошибка выполнения программы
(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
Вычислите сумму . В ответ введите целую часть результата.
(1) 778
(2) 1024
(3) 2132
(4) 3544
За формирование массива отвечают строки программы
(1)
integer :: A(10,10)=0
(2)
integer :: V(5)=[1,3,5,7,9]
(3)
A(V,V)=2
(4)
A([2,5,6],::2)=2
(5)
A(V,:)=2
(6)
A(:,V)=2
Фрагмент программы преобразует файл vector.txt ^^^1^^^4^^^5^^^8^^^9^^^0^^^7 в файла spisok.dat с данными 0001000400050008000900000007.Введите номера строк, разделяя ; в порядке выполнения программы 1) read(1,"(A4)",rec=k) ch
2) end do
3) character ch*4
4) do k=1,7
5) write(1,"(A4)",rec=k) ch
6) ch(1:3)='000'
7) open(1,file='vector.txt', access='direct', recl=4, form='formatted')
(1) 3;7;4;1;6;5;2
(2) 4;5;6;1;2;3;7
(3) 2;1;3;7;6;5;4
(4) 3;4;5;6;7;1;2
Какие из фрагментов программ не содержат рекурсивные вызовы
(1) write(*,*) st(st(a,b))
...
contains
recursive function st(x,y)
st=1.0+x*xy+y
end function st
(2) contains
function func(a)
real a
a = proc(2.0)
func = a**2
end function func
function proc(b)
real b
proc = 2+b
end function proc
(3) write(*,*) Q(10)
...
contains
function P(B)
real B
P = 2 + B
end function P
function Q(A)
integer A
Q = P(2.0*A)
end function Q
(4) contains
recursive real function f(x)
integer x
f = P(x)*f(x-1)
end function f
function P(y)
integer y
P = 2 ** y
end function P
(5) write(*,*) func(10)
...
contains
recursive function func(k)
integer A(10), k
A(k)=k*A(k-1)
func=A(k-2)
end function func
В форматном файле word5.txt записаны индексы цветов рисунка по пикселам размером (100х100) пикселов. Формат файла следующий:
(1)
ijlftl
(2)
tijlfk
(3)
lkfijt
(4)
tijkft
Вычислите значение функции в точке . Ответом является ближайшее большее целое число.
(1) 54
(2) -54
(3) 64
(4) 44
Сколько потребуется просуммировать членов ряда , чтобы очередное слагаемое стало больше 2000
?
(1) 900
(2) 1024
(3) 2008
(4) 4080
Процедура, выполняющая циклический сдвиг массива
(1)
cshift
(2)
eoshift
(3)
spread
(4)
reshape
Какой из фрагментов программы переводит символьное представление года в числовое?
(1) character(128) buf
integer Y,M,D
write(buf,"(A)") "2012//05//07"
read(buf,"(i4)") Y
read(buf,"(i4)") M
read(buf,"(i4)") D
(2) character(128) buf
integer Y,M,D
write(buf,"(A)") "2012//05//07"
read(buf(1:4),"(i4)") Y
read(buf(1:2),"(i4)") M
read(buf(1:2),"(i4)") D
(3) character(128) buf
integer Y,M,D
write(buf,"(A)") "2012//05//07"
read(buf(1:4),"(i4)") Y
read(buf(5:6),"(i4)") M
read(buf(7:8),"(i4)") D
(4) write(buf,"(A)") "2012//05//07"
forall (i=1:len(buf),buf(i:i)=='/')
buf(i:i)=' '
end forall
read(buf,*) Y, M, D
(5) write(buf,"(A)") "2012//05//07"
where (buf=='/')
buf=' '
end forall
read(buf,*) Y, M, D
Какой атрибут объявляет процедуру элементной ?
(1)
interface
(2)
pure
(3)
elemental
(4)
external
(5)
intrinsic
Цикл обработки сообщения в проекте Windowing Application обрабатывает сообщения
(1)
WM_PAINT
(2)
T_PAINTSTRUCT
(3)
WM_DESTROY
(4)
WM_EXIT
(5)
NULL
Укажите сочетание клавиш для перехода в полноэкранный режим.
(1) Shift + Alt + Enter
(2) Alt + Enter
(3) Ctrl + Enter
(4) Ctrl + B
(5) Ctrl + ESC
Укажите верное условие попадания в закрашенную область
(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)
Для вывода на экран
^^^^^+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
Процедура выполняющая левое выравнивание символьной строки
(1)
adjustl
(2)
scan
(3)
repeat
(4)
len_trim
(5)
verify
(6)
adjustr
Укажите верные варианты объявления массивов.
(1)
logical, parameter :: LOGO(5)=[.TRUE.,.FALSE.,.FALSE.,.TRUE.,.FALSE.]
(2)
real(16) :: S(9000,10000:2)=1.0Q0
(3)
complex(16) :: S = (1.0q0,2.0q0)
(4)
character(16) :: CH(10:10:10)='Q'
(5)
integer :: M(-2, 4) = /3,5,2,2,2,2/