Контрольный тест (1999-2000 учебный год), II  курс
(факультет информатики и экономики, математический факультет ПГПУ,
дисциплина "Языки и методы программирования")

 

ВАРИАНТ  III

 

1. Логическое выражение

	(N Mod 10 Mod 2) Or (N Div 10 Mod 10 Mod 2 = 0) Or (N Div 100 Mod 2 = 0)
должно принимать значение TRUE тогда и только тогда, когда истинно высказывание
1) в трёхзначном натуральном числе все цифры чётные; 2) в трёхзначном натуральном числе одна чётная цифра; 3) в трёхзначном натуральном числе две чётных цифры; 4) в трёхзначном натуральном числе хотя бы одна чётная цифра; 5) в трёхзначном натуральном числе нет чётных цифр.

2. Ошибку "Structure too large" (структура превышает максимально допустимый объём статической памяти) вызовет описание

	1) Type Vector = Array[Byte] Of Integer; Var C : Array[1..10] Of Vector;
	2) Var T : File Of String;
	3) Type A = Record S : String; A, B, C : Array[10..20] Of Real End;
	   Var M : Array[1..5, 1..8] Of A;
	4) Var K : Array [Byte, Byte] Of String[6];
	5) Var S : Array[–10000..10000] Of Sring[2].

3. К процедурам для работы с динамическими переменными не относится

1) Mark; 2) New; 3) Release; 4) Seek; 5) Dispose.

4. Имеется описание

	Type A = Array[0..100] Of Real; B = ^A; Var M : Array[1..5] Of B;
Для хранения массива M необходим объём памяти (байт)
1) 606; 2) 4; 3) 20; 4) 12120; 5) 6.

5. Фрагмент программы

	K := 0;
	While Not Eof(F) Do
	Begin ReadLn(F, S); I := 1;
		While I <= Length(S) Do
		Begin If S[I] In ['А'..'Я', 'а'..'п', 'р'..'я'] 
			Then Begin K := K + 1;
				     Delete(S, I, 1); I := I – 1
			     End;
			I := I + 1
		End
	End;
выполняет следующее действие:
1) удаляет из текстового файла F все русские буквы; 2) определяет в текстовом файле количество символов, являющихся русскими буквами; 3) определяет в текстовом файле количество символов, не являющихся русскими буквами; 4) определяет в текстовом файле количество символов; 5) удаляет из текстового файла F все символы, не являющиеся русскими буквами.

6. В фрагменте программы (здесь Var F : File Of Integer; I, K, Vsp : Integer;)

	Reset(F); K := FileSize(F) – 1;
	For I := 0 To K Do
	Begin Seek(F, I); Read(F, Vsp); Seek(F, FileSize(F)); Write(F, Vsp) End;
выполняется
1) сортировка файла; 2) изменение порядка следования элементов на обратный; 3) дописывание в конец исходного файла полную его копию с сохранением порядка следования элементов; 4) дописывание в конец исходного файла полную его копию с изменением порядка следования элементов на противоположный; 5) не выполняется никаких действий по изменению файла.

7. Имеется описание

	Type Dn = (pn, vt, sr, cht, ptn, sb, vs); Mn = Set Of Dn; Var V : Mn;
и фрагмент программы
	V := [pn..ptn] * [sr, ptn..vs] – [sb];
После исполнения этого фрагмента переменная V имеет значение
1) [pn..vs]; 2) [sr, ptn]; 3) [sb]; 4) []; 5) [pn..ptn].

8. Алгоритм какого типа изображен на блок-схеме? Блок-схема № 1

1) циклический; 2) разветвляющийся; 3) вспомогательный; 4) линейный; 5) комбинация развилки и цикла.

9. После исполнения фрагмента программы, изображенного на блок-схеме,Блок-схема № 2
при A = 5, B = 4 значение X будет равно

1) 20; 2) 9; 3) 5; 4) 4; 5) 1.

10. В приведенном фрагменте программы (N типа LongInt, N > 0)

	P := 1;
	While P <= N Do
	Begin
		Left := N Div (P * 10) * (P * 10);
		Right := N Mod P;
		K := ((N Mod (P * 10) Div P + 1) Mod 10) * P;
		N := Left + K + Right; P := P * 10
	End;
натуральное число N изменяется по следующему правилу
1) не изменяется; 2) в каждый разряд прибавляется 1; 3) из каждого разряда вычитается 1; 4) в каждый разряд прибавляется 1, если значение в разряде — не девять, иначе заменяется на нуль; 5) каждая девятка в десятичной записи числа заменяется на нуль.

11. Цикл с предусловием выполняется так:

1) выполняется тело цикла, изменяется параметр цикла, проверяется условие продолжения выполнения цикла; 2) изменяется параметр цикла, проверяется условие продолжения выполнения цикла, выполняется тело цикла; 3) проверяется условие продолжения выполнения цикла, выполняется тело цикла; 4) тело цикла выполняется N раз (N — натуральное); 5) определяется, сколько раз должен быть выполнен цикл, и далее цикл с предусловием сводится к циклу с параметром.

12. В текстовом файле каждая строка заканчивается

1) числами 10 и 13; 2) символами с кодами 10 и 13; 3) символом с кодом 13; 4) числом 0; 5) символом с кодом 10.

13. Процедуры ReadLn и WriteLn можно использовать при работе с

1) типизированными файлами; 2) нетипизированными файлами; 3) типизированными и нетипизированными файлами; 4) текстовыми файлами; 5) любыми файлами.

14. Значение выражения

		Ord(x > y) + Ord(Ord(z = 'F'))
при x = 7, y = 0, z = 'F' равно
1) TRUE; 2) FALSE; 3) 0; 4) 1; 5) 2.

15. Идентификатор в Turbo Pascal не может начинаться с

1) латинской буквы; 2) заглавной латинской буквы; 3) цифры; 4) знака подчёркивания; 5) латинской буквы, а затем знака подчёркивания.

16. В приведенном фрагменте программы (First — ссылка на первый элемент списка; список объявлен следующим образом: Type SS = ^List; List = Record A : LongInt; Next : SS End;)

	P := First; S := 0; While Not (P = Nil) Do Begin S := S + 1; P := P^.Next End;
определяется
1) первый элемент списка; 2) сумма элементов списка; 3) сумма первого и последнего элементов списка; 4) количество элементов списка; 5) количество звеньев списка, где указатель на следующее звено не Nil.

17. При исполнении фрагмента программы

	Var C : Integer;
		Procedure R1(Var A : Integer; C : Boolean);
			Procedure R2;
			Var C : String;
			Begin A := 1 End;
		Begin C := True; R2 End;
	Begin C := 100; R1(C, False); WriteLn(C) End.
будет напечатано значение переменной C
1) True; 2) 1; 3) 100; 4) неизвестно что, поскольку значение переменной C не определено; 5) False.

18. Цикл в фрагменте программы

	P := 4; Repeat P := P * 0.1 Until P < 0.0001;
будет исполнен
1) 0 раз; 2) 1 раз; 3) 4 раза; 4) 5 раз; 5) бесконечное число раз.

19. Кодируется шестнадцатибитовое целое со знаком (тип Integer). 11111111111100002 — это код числа

1) –15; 2) 15; 3) 16; 4) –16; 5) –30000.

20. Свойством алгоритма является

1) результативность; 2) цикличность; 3) возможность изменения последовательности выполнения команд; 4) возможность выполнения алгоритма в обратном порядке; 5) простота при записи на языках программирования.

21. Из перечисленных ниже в программе обязателен

1) раздел Var; 2) раздел Const; 3) раздел Type; 4) раздел Label; 5) раздел Begin … End.

22. Ввод данных — это

1) процесс передачи данных из оперативной памяти на внешний носитель; 2) процесс ввода с клавиатуры каких-либо значений; 3) передача данных от внешнего носителя в оперативную память для обработки; 4) присваивание конкретных значений переменным, которые используются в программе; 5) запись файла на диск.

23. Значение R после выполнения операции логического присваивания

		R := Not (A Or B Or (X > 2) And (Y < 0))
при A = False, B = False, X = 3, Y = 2 будет равно
1) –1; 2) False; 3) True; 4) 0; 5) 1.

24. С помощью какой из приведенных серий команд переменной B присваивается значение выражения?

	а) A := (x + y) / (x – y); B := (A – 1 / A) * (1 / A + A);
	б) A := (x + y) / (x – y); B := Sqr(A) – Sqr (1 / A);
	в) A := (x – y) / (x + y); B := Sqr(1 / A) – Sqr (A);
1) а; 2) б; 3) в; 4) всех трех; 5) ни один из ответов 1–4 не является верным.

25. Значения переменных a и b после выполнения следующих действий

	a := 15 Div (16 Mod 7); b := 34 Mod a * 5 – 29 Mod 5 * 2;
будут равны
1) a = 1, b = 160; 2) a = 1, b = 4; 3) a = 7, b = 25; 4) a = 7, b = 22; 5) a = 7, b = 28.

26. Во фрагмент алгоритма

		For K := 10 To 99 Do
		Begin  P1 := K Div 10;
			P2 := K Mod 10;
			S := P1 + P2;
			If ____ Then WriteLn(K)
		End;
печатающий все двузначные числа, в записи которых есть цифра N или сумма цифр которых равна самим числам, нужно вписать логическое выражение
1) (P1 = N) Or (P2 = N) And (S = K); 2) (P1 = N) Or (P2 = N) Or (S = K); 3) (P1 = N) And (P2 = N) Or (S = K); 4) ((P1 = N) Or (P2 = N)) And (S = K); 5) (P1 = N) And (P2 = N) And (S = N).

27. Значения переменных p и d после выполнения фрагмента алгоритма

		k := 47; Case k Mod 9 Of
				5: Begin d := k; p := True End;
				0..2: Begin d := 2; p := False End;
				8: Begin d := 1; p := False End
				Else Begin d := 1; p := True End
			End;
равны
1) p = True, d = 1; 2) p = False, d = 2; 3) p = False, d = 3; 4) p = True, d = 47; 5) p = True, d = 2.

28. Тело цикла в программе

	a := 1; b := 1; While a + b < 8 Do begin a := a + 1; b := b + 2 end;
выполнится
1) 1 раз; 2) 2 раза; 3) 3 раза; 4) ни разу; 5) бесконечное число раз.

29. Элементы массива p[1..5] равны соответственно 1, –1, 5, 2, 4. Значение выражения

		p[1] * p[3] – p[2 * p[2] + p[p[5] – p[2]]]
равно
1) 8; 2) –8; 3) 12; 4) –12; 5) 6.

30. Задана строка St.Фрагмент алгоритма

	S := 0;
	For I := 1 To Length (St) Do
	Begin
		Val(St[I], d, k);
		If K = 0 Then S := S + d
	End;
1) определяет количество цифр в строке; 2) подсчитывает количество нулей в строке; 3) определяет сумму номеров позиций в строке, где стоят цифры; 4) подсчитывает сумму цифр в строке; 5) определяет сумму номеров позиций в строке, где стоят нули.

31. Какая из приведенных серий операторов определяет и печатает индекс последнего отрицательного элемента в линейном массиве из n элементов?

а) i := n; While (i >= 1) And (m[i] > 0) Do Dec (i); If i < 1 Then WriteLn (‘i = 0’) Else WriteLn (‘i = ’, i);
б) k := 0; For i := 1 To n Do If m[i] < 0 Then k := i; WriteLn (‘i = ’, k);
в) i := n; Repeat i := i – 1 Until (m[i] < 0); WriteLn (‘i = ’, i);
1) а, б; 2) б, в; 3) а, б, в; 4) б; 5) ни один из ответов 1–4 не верен.

32. Задан линейный массив M[1..n].

	Function Control (M: Myarray): Boolean;
	Var I : Integer;
	Begin I := 1;
		While (I <= n) And (M[I] > 0) Do Inc(I);
		Control := (I <= n);
	End;
Если в данном массиве все элементы положительные, приведенная функция возвращает значение
1) n; 2) True; 3) False; 4) I <= n; 5) ни один из ответов 1–4 не верен.

33. Задан двумерный массив X[1..n, 1..m]. Процедура

		Procedure Sub (Var X: Myarray);
		Var i, j: Integer;
		Begin For i := 1 To n Do
			  For j := 1 To m Div 2 Do X[i, 2 * j] := X[i, 2 * j] + X[i, 1];
		End;
1) к элементам столбцов в первой половине матрицы прибавляет элементы первого столбца соответствующей строки; 2) добавляет к матрице еще M столбцов с элементами, равными соответствующим элементам первого столбца; 3) к элементам четных столбцов прибавляет элементы первого столбца соответствующей строки; 4) к элементам четных строк прибавляет элементы первой строки соответствующего столбца; 5) меняет порядок столбцов таблицы.

34. Задан двумерный массив X[1..n, 1..m]. Функция

	Function Check (X: Myarray): Boolean;
	Var i, j : Integer; t : Boolean;
	Begin	t := True; i := 1;
		While t And (i <= n) Do 
            	Begin	 j := 1; While (j <= m) And (X[i, j] <> 0) Do Inc (j);
	                   t := (j = m + 1); Inc (i)
	            End;
		Check := Not t
	End;
возвращает значение
1) True, если все элементы массива ненулевые; 2) True, если в массиве есть элемент, равный нулю; 3) False, если в массиве есть элемент, равный нулю; 4) Not t; 5) ни один из ответов 1–4 не верен.

35. Среди перечисленных соответствий, которые необходимо соблюдать между формальными и фактическими параметрами

а) соответствие по типу параметров; б) соответствие по количеству параметров; в) соответствие по типу используемых вспомогательных переменных; г) соответствие по порядку перечисления; лишним является
1) а; 2) б; 3) в; 4) г; 5) ни один из ответов 1–4 не верен.

36. Определите тип выражения (здесь A : Array[1..20] Of Real; B : Boolean; C : Integer)

		C + Ord(Round(A[7]) + Ord(B)) – Trunc(A[1])
1) Real; 2) Integer; 3) Boolean; 4) Byte; 5) среди ответов 1–4 нет верного.

37. Список объявлен следующим образом

		Type Ukaz = ^Zveno; Zveno = Record X : String; N : Ukaz End;
		Var First : Ukaz; {ссылка на начало списка}
В следующем фрагменте программы
		P := First;
		While P^.N <> Nil Do
		Begin	 B := P; M := P;
			While B <> Nil Do Begin If B^.X < M^.X Then M := B; B := B^.N End;
			S := P^.X; P^.X := M^.X; M^.X := S; P := P^.N
		End;
выполняется
1) перемещение компонента к началу списка; 2) сортировка компонентов списка в порядке возрастания; 3) сортировка компонентов списка в порядке убывания; 4) перестановка соседних компонентов списка; 5) добавление в список нескольких новых компонент.

38. Фрагмент программы

		S := A; A := B; B := S;
выполняет
1) обмен значений переменных A, B; 2) присваивание переменным A, B значения S; 3) замена значения переменной A значением переменной B; 4) во фрагменте не выполняется никаких действий; 5) замена значения переменной B значением переменной A.

39. Имеется следующее описание

		Type U = ^Zveno; Zveno = Record X, Y : Boolean; Pred, Next : U End;
		Var Logic : Boolean; A, B : Pointer; X, Y : U;
К ошибке компиляции "Несовместимость типов" приведет следующее присваивание
1) A := X^.Next^.Next; 2) X := Y; 3) Logic := X^.X; 4) X^.Next := A; 5) X^ := Y^.Next.

40. При присваивании изменяется

1) алгоритм; 2) имя переменной; 3) тип переменной; 4) значение переменной; 5) значение константы.

 

Тест разработан Шестаковым А.П. при участии Широких А.А. с использованием материалов тестирования по информатике в Саратовском регионе (http://prcnit.ssu.runnet.ru/abiturient/win/testing/informika.htm).

 

Верные ответы
   1  2  3  4  5     1  2  3  4  5 
1   X  21    X
2   X  22  X  
3   X  23  X  
4  X   24   X 
5 X    25   X 
6  X   26 X   
7 X    27 X   
8   X  28 X   
9X     29    X
10   X  30   X 
11  X   31X    
12 X    32  X  
13   X  33  X  
14    X 34 X   
15  X   35  X  
16   X  36 X   
17 X    37 X   
18   X  38X    
19   X  39    X
20X     40   X 

 


Рейтинг ресурсов УралWeb

© А.П. Шестаков, 2000
X