Здесь приведен тест для проверки знаний по алгоритмизации и программированию в среде Turbo Pascal. Этот тест охватывает обширный блок тем: типы данных, переменные, использование основных операторов, виды алгоритмов, циклы, процедуры и функции и др. Привела тест без ответов, поскольку буду использовать его в своей работе.
Тест по программированию в среде Turbo Pascal
1. Имеется описание:
Type mas = Array[1..100] Of integer;
Var M : mas;
Для хранения массива M необходим объём памяти (байт):
-1) 606;
-2) 4;
-3) 200;
-4) 2000;
-5) 512.
2. Алгоритм какого типа изображен на блок-схеме?
-1) циклический;
-2) разветвляющийся;
-3) вспомогательный;
-4) линейный;
-5) комбинация развилки и цикла.
3. После исполнения фрагмента программы, изображенного на блок-схеме,
при A = 5, B = 4 значение X будет равно
-1) 20;
-2) 9;
-3) 5;
-4) 4;
-5) 1.
4. Цикл с предусловием выполняется так:
-1) выполняется тело цикла, изменяется параметр цикла, проверяется условие продолжения выполнения цикла;
-2) изменяется параметр цикла, проверяется условие продолжения выполнения цикла, выполняется тело цикла;
-3) проверяется условие продолжения выполнения цикла, выполняется тело цикла, изменяется параметр цикла;
-4) тело цикла выполняется N раз (N — натуральное);
-5) определяется, сколько раз должен быть выполнен цикл, и далее цикл с предусловием сводится к циклу с параметром.
5. Оператор WriteLn можно использовать для:
-1) вывода одномерного массива в строку;
-2) вывода одномерного массива в столбец;
-3) ввода элементов одномерного массива с клавиатуры.
6. Значение выражения (x > y) and (z = 'F') при x = 7, y = 0, z = 'F' равно
-1) TRUE;
-2) FALSE;
-3) 0;
-4) 1;
-5) 2.
7. Идентификатор в Turbo Pascal не может начинаться с
-1) латинской буквы;
-2) заглавной латинской буквы;
-3) цифры;
-4) знака подчёркивания;
-5) латинской буквы, а затем знака подчёркивания.
8. При исполнении фрагмента программы
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.
9. Цикл в фрагменте программы
P := 4; Repeat P := P * 0.1; Until P < 0.0001;
будет исполнен
-1) 0 раз;
-2) 1 раз;
-3) 4 раза;
-4) 5 раз;
-5) бесконечное число раз.
10. Кодируется шестнадцатибитовое целое без знака (тип Word). 00000101010101002 — это код числа
-1) –15;
-2) 15;
-3) 16;
-4) 1364;
-5) –30000.
11. Свойством алгоритма является
-1) результативность;
-2) цикличность;
-3) возможность изменения последовательности выполнения команд;
-4) возможность выполнения алгоритма в обратном порядке;
-5) простота при записи на языках программирования.
12. Из перечисленных ниже в программе обязателен
-1) раздел Var;
-2) раздел Const;
-3) раздел Type;
-4) раздел Label;
-5) раздел Begin … End.
13. Ввод данных — это
-1) процесс передачи данных из оперативной памяти на внешний носитель;
-2) процесс ввода с клавиатуры каких-либо значений;
-3) передача данных от внешнего носителя в оперативную память для обработки;
-4) присваивание конкретных значений переменным, которые используются в программе;
-5) запись файла на диск.
14. Значение 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.
15. С помощью какой из приведенных серий команд переменной B присваивается значение выражения?
а) A := (x + y) / (x – y); B := (A – 1 / A) * (1 / A + A);
б) A := (x + y) / (x – y); B := A – Sqr (1 / A);
в) A := (x – y) / (x + y); B := 1 / A – Sqr (A);
-1) а;
-2) б;
-3) в;
-4) всех трех;
-5) ни один из ответов 1–4 не является верным.
16. Значения переменных a и b после выполнения следующих действий (Div – деление нацело, Mod – остаток от деления):
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.
17. Во фрагмент алгоритма
For K := 10 To 99 Do
Begin
P1 := Trunc(K/10); {P1:= K Div 10;}
P2 := K – P1*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).
18. Значения переменных 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.
19. Тело цикла в программе
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) бесконечное число раз.
20. Элементы массива 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.
21. Задана строка St. Фрагмент алгоритма (Val переводит строку St (символьное число St[i]) в число d с кодом завершения к; к=0, если нет ошибок при переводе)
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) определяет сумму номеров позиций в строке, где стоят нули.
22. Задан линейный массив M[1..n].
Function Control (M: Myarray): Boolean;
Var I : Integer;
Begin I := 1;
While (I <= n) And (M[I] > 0) Do I:=I+1; { Inc(I) };
Control := (I <= n);
End;
Если в данном массиве все элементы положительные, приведенная функция возвращает значение
-1) n;
-2) True;
-3) False;
-4) I <= n;
-5) ни один из ответов 1–4 не верен.
23. Среди перечисленных соответствий, которые необходимо соблюдать между формальными и фактическими параметрами
а) соответствие по типу параметров;
б) соответствие по количеству параметров;
в) соответствие по типу используемых вспомогательных переменных;
г) соответствие по порядку перечисления;
лишним является
-1) а;
-2) б;
-3) в;
-4) г;
-5) ни один из ответов 1–4 не верен.
24. Фрагмент программы
S := A;
A := B;
B := S;
выполняет
-1) обмен значений переменных A, B;
-2) присваивание переменным A, B значения S;
-3) замена значения переменной A значением переменной B;
-4) во фрагменте не выполняется никаких действий;
-5) замена значения переменной B значением переменной A.
25. При присваивании изменяется
-1) алгоритм;
-2) имя переменной;
-3) тип переменной;
-4) значение переменной;
-5) значение константы.
26. Значения переменных p и d после выполнения фрагмента алгоритма
k:=52; Case K Div 12 Of
7: Begin d := k; p := True End;
0..4: Begin d := 2; p := False End;
9..11: Begin d := 3; p := False End;
Else Begin d := 1; p := True End;
End;
равны
-1) p = True, d = l;
-2) p = False, d = 2;
-3) р = False, d = 3;
-4) р = True, d = 65;
-5) р = True, d = 52.
27. Значение строковой переменной S есть 'аквалангист'. В переменной S можно получить значение 'акула' с помощью фрагмента программы:
-1) S := Copy(S, 1, 5);
-2) S := Copy(S, 1, 2) + 'у' + S[5] + S[1];
-3) Delete(S, 1, 2); Delete(S, 2, 1); Delete(S, 4, 1);
-4) Delete(S, 1, 2); Insert('у', S, 3); Delete(S, 4, 1);
-5) S := S[3] + Copy(S, 5, 2) + 'ла'.
28. Задан одномерный массив х [1..N]. Фрагмент алгоритма
T := 0;
For i := 1 To N Do
If (i = 1) Or (T < х[i]) Then T := х[i];
определяет:
-1) максимальный элемент массива;
-2) сумму элементов массива, больших T;
-3) количество элементов массива, больших T;
-4) индекс последнего из элементов массива, больших T;
-5) индекс первого из элемента массива, больший T.
29. Для построения алгоритма вычисления суммы положительных элементов массива A[1..N] нужно записать блоки
A |
For k := 1 |
B |
For i := N |
C |
To N Do |
D |
DownTo 1 Do |
E |
If 0 > a[i] |
F |
If 0 < а[k] |
G |
Then s := a[k] + s; |
H |
S := a[1]; |
I |
Then s := s + a[i]; |
J |
s := 0; |
в следующем порядке:
-1) ACFG;
-2) BCFI;
-3) JACFG;
-4) BDFI;
-5) JADEG.
30. Какое логическое выражение нужно вписать во фрагмент программы, определяющий индекс первого элемента массива P[1..n], не равного x?
m := 0;
for i := n downto 1 do
if __ then m := i;
-1) P[i] = x;
-2) P[i] > x;
-3) P[i] <> x;
-4) i <= n;
-5) Ни один из ответов 1–4 не верен.