
Вариант 7
Задание №1. Перечислить через запятую в алфавитном порядке символы, которые входят в множество А после выполнения следующей последовательности операторов.
Var A,B,C:set of char; ch:char; i:byte;
Begin
A:=[‘a’..’z’];
For ch:=’c’ to ‘x’ do A:=A-[ch];
C:=[‘a’,’d’];
A:=C+A;
End.
Задание №2. Вводится 10 целых чисел. В результате выполнения программы на экран должны быть выведены количество чисел больших 100 и сами числа большие 100. Выберите правильный фрагмент.
a) Var I,x,p:integer; Begin P:=0; for I:=1 to 10 do begin Read(x); If x>100 then p:=p+x; Writeln(x); End; Writeln(p); End.
|
b) Var I,x,p:integer; Begin P:=0; for I:=1 to 10 do begin Read(x); If x>100 then begin p:=p+1; Writeln(x); End; End; Writeln(p); End. |
c) Var I,x,p:integer; Begin P:=0; for I:=1 to 10 do begin Read(x); If x>100 then p:=p+1; Writeln(x); End; Writeln(p); End. |
d) Var I,x,p:integer; Begin P:=0; for I:=1 to 10 do begin Read(x); If x>100 then begin p:=p+1; Writeln(x); Writeln(p); End;End;End. |
Задание №3. Задача заключается в нахождении наибольшей степени (обозначим ее step) числа х, такой, что значение xstep меньше заданного числа y. Например, если х=3 и y=30, то step=3, так как 33=27 меньше 30, а 34=81 больше 30. Определите, какая из программ правильно описывает алгоритм решения данной задачи.
а) Var x,y, step, p:integer; Begin Read(x,y); P:=1; step:=0; While x<=y do begin p:=p*x; step:=step+1; end; writeln(step); end. |
b) Var x,y, step, p:integer; Begin Read(x,y); P:=1; step:=0; While step<y do begin p:=p*x; step:=step+1; end; step:=step-1; writeln(step); end. |
c) Var x,y, step, p:integer; Begin P:=1; step:=0; Read(x,y); While p<y do begin p:=p*x; step:=step+1; end; step:=step-1; writeln(step); end.
|
d) Var x,y, step, p:integer; Begin P:=1; step:=-1; Read(x,y); While x<=y do begin x:=x*x; step:=step+1; end; writeln(step); end.
|
Задание №4. В массиве из 10 чисел требуется найти и вывести на экран минимальный элемент и его номер. Массив заполняется случайными числами. Определите правильный вариант программы.
а) Var a:array[1..10] of integer; m, i, k:integer; Begin for i:=1 to 10 do a[i]:=random(100); m:=a[1]; k:=1; for i:=2 to 10 do if m<a[i] then begin m:=a[i]; k:=i; end; writeln(m,’ ‘,k); end. |
b) Var a:array[1..10] of integer; m, i :integer; Begin for i:=1 to 10 do a[i]:=random(100); k:=1; for i:=2 to 10 do if a[i]<a[k] then k:=i; writeln(a[k],’ ‘,k); end.
|
c) Var a:array[1..10] of integer; m, i:integer; Begin for i:=1 to 10 do a[i]:=random(100); m:=a[1]; for i:=2 to 10 do if m>a[i] then m:=a[i]; writeln(m,’ ‘,a[i]); end. |
d) Var a:array[1..10] of integer; m, i, k :integer; Begin for i:=1 to 10 do a[i]:=random(100); m:=a[1]; begin if m>a[i] then begin m:=a[i]; k:=i; end; writeln(m,’ ‘,k); end. |
Задание №5. Введите в строку ответа строку s, которая будет выведена на экран в результате выполнения следующей программы.
Var s,s1:string[20];
Begin
s1:=’karabas’;
s:=copy(s1,2,6);
s:=’b‘+s;
insert(‘-‘,s,5);
writeln(s);
end.
Задание №6. С одномерным массивом, состоящим из n вещественных элементов, выполнить следующее: Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине – элементы, стоявшие в четных позициях.
Задание №7. Вы ввели трехзначное число. Затем ввели любую цифру. Составьте программу, определяющую, есть ли в этом числе данная цифра.
Задание №8. В строке удалить символы двоеточия и подсчитать количество удаленных символов.
Задание №9. Найдите в файле и выведите на экран числа, кратные 5.
Задание №10. Выполняется по инструкции, которая прилагается.
Создать нетекстовый файл с информацией о днях рождения сотрудников (фамилия; дата рождения: год, месяц, число). Вводится произвольная дата. Переписать в текстовый файл фамилии всех сотрудников, у которых день рождения в текущем месяце. Фамилии упорядочить в возрастающем порядке. Имя файла построить следующим образом: BirthNN.txt, где NN – номер месяца. Вывести на экран информацию о ближайшем дне рождения.