Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестовые задания по информатике.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
825.86 Кб
Скачать

1.6. Подпрограммы

Задание №1 (- выберите один вариант ответа)

Что такое подпрограмма?

Варианты ответов:

a) подпрограмма – это независимая от основной программы группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, обращение к ней из основной программы не происходит;

b) подпрограмма – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах программы обеспечивается лишь обращение к ней по имени;

c) подпрограмма – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы и записанная в отдельный файл.

Задание №2 (- выберите один вариант ответа)

Какие утверждения для подпрограмм верны?

1) они избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты, т. е. сократить объем программы

2) они улучшают структуру программы, облегчая понимание при разборе

3) они уменьшают вероятность появления ошибок, повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификации

Варианты ответов:

a) 1 и 2; b) 2 и 3;

c) 1, 2 и 3.

Задание №3 (- выберите один вариант ответа)

Каковы отличия функции от процедуры?

Варианты ответов:

a) процедура может иметь только одно значение, как и функция. Кроме того, в теле процедуры обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя процедуры, а в правой – ее значение. Иначе значение не будет определено;

b) функция может иметь несколько значений, а процедура только одно (оно и будет ее результатом). Кроме того, в теле процедуры обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя процедуры, а в правой – ее значение. Иначе значение не будет определено;

c) процедура может иметь несколько значений, а функция только одно (оно и будет ее результатом). Кроме того, в теле функции обязательно должен быть хотя бы один оператор присвоения, где в левой части стоит имя функции, а в правой – ее значение. Иначе значение не будет определено.

Задание №4 (-отметить все варианты)

Заголовок подпрограммы имеет вид;

Procedure P(a : integer; var b, c : word; d : real);

Укажите правильные варианты вызова подпрограммы, если переменные в вызывающей программе описаны так

var a : integer; b, k : word; e : integer; d, x : real;

Варианты ответов:

a) P(a, b, k, d);

b) P(a, b, e, d);

c) P(k, b, k, x);

d) P(a + e div 2, b, k, d - x/2);

e) P(a, b, k + 2,x).

Задание №5 (- выберите один вариант ответа)

Дана программа:

var a,b:real;

procedure square(x,y:real);

begin

x:=x*x; y:=y*y;

writeln(x:7:3, ' ',y:7:3);

end;

begin

a:=1; b:=3;

square(a,b);

writeln(a:7:3,' ',b:7:3);

end.

Какие значения при выполнении программа выведет на экран:

Варианты ответов:

a) 1.000 9.000;

b) 1.000 3.000;

c) 1.000 9.000 1.000 9.000;

d) 1.000 9.000 1.000 3.000;

Задание №6 (- отметить все верные)

Дана функция:

finction Dl(R:real):real;

begin

Dl:=2*PI*R

end;

Какие обращения к функции верны:

Варианты ответов:

a) p:=Dl(15)+45;

b) Dl(15)>Dl(17);

c) writeln(Dl);

d) Dl(x).

Задание №7 (- выберите один вариант ответа)

Дана функция:

function s1(a:mass;n:integer):real;

var i:integer; s:real;

begin

for i:=1 to n do

if a[i]>0 then s:=s+a[i]

end;

begin

.....

sum:=s1(b,4);

....

end.

Какой оператор пропущен:

Варианты ответов:

a) writeln(s); b) s1:=s;

c) s:=s1(a,n); d) s1(b,4):=s;

Задание №8 (- выберите один вариант ответа)

Какие параметры называются формальными?

Варианты ответов:

a) формальные параметры – это переменные, фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров, над которыми производятся действия;

b) формальные параметры – это параметры, которые передаются процедуре при обращении к ней;

c) формальные параметры – это параметры, которые присутствуют в процедуре.

Задание №9 (- выберите один вариант ответа)

Как связаны между собой формальные и фактические параметры?

Варианты ответов:

a) число и тип формальных и фактических параметров совпадают с точностью до их следования;

b) число формальных и фактических параметров совпадают;

c) типы формальных и фактических параметров могут не совпадать.

Задание №10 (- выберите один вариант ответа)

Что произойдет при совпадении имен глобальных и локальных

переменных?

Варианты ответов:

a) глобальные переменные отменяют действия локальных переменных;

b) локальные переменные отменяют действия глобальных переменных;

c) локальные переменные, в пределах своего действия, отменяют действия глобальных переменных.

Задание №11 (- выберите один вариант ответа)

Может ли локальная переменная быть одновременно глобальной?

Варианты ответов:

a) да, по отношению к более высокому уровню вложенности;

b) нет; c) да, по отношению к вложенным в нее подпрограммам.

Задание №12 (- выберите один вариант ответа)

Имеются две готовые подпрограммы, обращение к которым выглядит так

Do1(n,a); (возвращает номер минимального элемента из массива a размером n), Do2(n1,n2,a); (меняет местами n1 и n2 элементы массива a).

Тогда фрагмент программы упорядочивания по убыванию элементов массива a размером k примет вид…

Варианты ответов:

a) Do2(Do1(k,a),k,a); b) for n := k downto 2 do Do2(Do1(n,a),n,a);

c) for n := 2 to k do Do2(Do1(n,a),n,a);

d) ) for n := k downto 2 do Do1(Do2(n,a),n,a);

e) for n := 2 to k do Do2(1,Do1(n,a),a).

Задание №13 (- выберите один вариант ответа)

Функция f(x) является рекурсивной, т.е. содержит обращения к самой себе:

Значение f(4) равно…

Варианты ответов:

a) 64; b) 28; c) 48; d) 52; e) 100.

Задание №14 (- строка)

Дана программа:

var a: string;

Procedure P(a: char; var d: char);

begin

a:= ‘в’; d:=’c’;

end;

begin

a:= ‘глаз’; P(a[1],a[4]); write(a)

end.

Что будет выведено на экран в результате работы программы?

Задание №15 (- выберите один вариант ответа)

Дана процедура ABCD:

Procedure ABCD;

begin

writeln (‘Введите значения A, B, C, D’);

readln(A, B, C, D);

if A=B then

if C<D then x:= 1 else x:=2

else x:=3

end;

реализует алгебраическое выражение вида…

Варианты ответов:

a)

b)

c)

d)

Задание №16 (- выберите один вариант ответа)

Дан массив целых чисел {Ai}, где i=1,2,3,…,M. Пусть M равно 15. Программа вычисляет произведение сумм некоторых элементов этого массива. В программе введены следующие константы: G=1; W=12; T=8; L=15. program A15;

const M= 15; G=1; W=12; T=8; L=15;

var i, j, p: integer; function SUMMA(i1,i2: inreger): integer;      begin      S:=0; for i:=i1 to i2 do S:=S + A[i];    SUMMA:=S      end; begin writeln ('ВВЕДИТЕ ЗНАЧЕНИЯ МАССИВА A:' ); for j:=1 to M do read (A[j]); P:=SUMMA (G, W)*SUMMA(T, L); writeln ('ПРОИЗВЕДЕНИЕ РАВНО:', P:6) end. Работу программы описывает следующее алгебраическое выражение: Варианты ответов:

a) b)

c)

d)