
Вариант 8
Задание №1. Перечислить через запятую в возрастающем порядке элементы, которые входят в множество А после выполнения следующей последовательности операторов.
Var A,B,C:set of 1..100;
i:byte;
Begin
B:=[];
For i:=10 to 100 do B:=B+[i];
C:=[1..10];
A:=B*C;
End.
Задание №2. Вводится 10 целых чисел, из которых хотя бы одно число отрицательное. В результате выполнения программы на экран должно быть выведено произведение лишь отрицательных чисел. Выберите правильный фрагмент.
а) Var I,x,p:integer; Begin P:=1; for I:=1 to 10 do begin Read(x); If x<0 then p:=p*x; End; Writeln(p); End. |
b) Var I,x,p:integer; Begin P:=1; for I:=1 to 10 do Read(x); If x<0 then p:=p*x; Writeln(p); End.
|
с) Var I,x,p: integer; Begin P:=1; for I:=1 to 10 do begin Read(x); If x<0 then p:=p*x; Writeln(p); End; End. |
d) Var I,x,p:integer; Begin for I:=1 to 10 do begin Read(x); If x<0 then p:=p*x; End; Writeln(p); 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; repeat p:=p*x; step:=step+1; until p>=y; writeln(step); end. |
b) Var x,y, step, p:integer; Begin Read(x,y); P:=1; step:=0; repeat p:=p*x; step:=step+1; until p>=y; step:=step-1; writeln(step); end. |
c) Var x,y, step, p:integer; Begin P:=0; step:=0; Read(x,y); repeat p:=p*x; step:=step+1; until p>=y; step:=step-1; writeln(step); end. |
d) Var x,y, step, p:integer; Begin P:=1; step:=-1; Read(x,y); repeat p:=p*x; step:=step+1; until p<y; 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); m:=a[1]; for i:=2 to 10 do if m>a[i] then m:=a[i]; writeln(m,’ ‘,i); 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]; for i:=2 to 10 do begin if m<a[i] then begin m:=a[i]; k:=i; writeln(m,’ ‘,k); end; end. |
Задание №5. Введите в строку ответа строку s, которая будет выведена на экран в результате выполнения следующей программы.
Var s,s1:string[20];
Begin
s1:=’karabas’;
delete(s1,1,1);
s:=’-b‘+s1;
insert(s1,s,1);
writeln(s); end.
Задание №6. С одномерным массивом, состоящим из n вещественных элементов, выполнить следующее: Преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 1, а потом – все остальные.
Задание №7. Составьте программу, определяющую, лежит ли точка с указанными координатами X, Y на окружности радиуса R с центром в начале координат.
Задание №8. В строке продублировать двоеточия.
Задание №9. Найдите в файле и выведите на экран слова с буквой П.
Задание №10. Выполняется по инструкции, которая прилагается.
Создать нетекстовый файл, содержащий сведения о процессорах (модель, тактовая частота, стоимость). Вывести в текстовый файл информацию о процессорах, стоимость которых не превышает суммы, вводимой пользователем, упорядочив их по возрастанию частоты. Вывести на экран модель и тактовую частоту наилучшего из подходящих по стоимости процессоров.