Контрольная работа №4 «Программное управление работой компьютера»
Часть А
Во Что из указанного НЕ входит в алфавит языка Паскаль?
1) латинские буквы
2) служебные слова
3) русские буквы
4) знаки арифметических действий
Во Какая строка из перечисленных описывает вещественную переменную на
языке Паскаль?
Var x: integer;
Var x: Boolean;
Var x: real;
Var x: stringl
Во Как записывается оператор вывода?
Writeln ( )
Readln( )
While ( )
Begin ( )
Во Укажите условие выбора чисел, кратных 5 и не кратных 10:
(X mod 5=0) and (X mod 10<>0);
(X mod 5<>0) or (X mod 10=0);
(X mod 5=0) and (X mod 10=0)
Во Чем характеризуется переменная?
Именем, типом, значением
Типом, значением
Именем, значением
Во Сколько раз повторится тело цикла в процессе выполнения фрагмента
программы:
k:= 8;
while k<20 do k:=k+10;
8
6
2
10
Во Операторы в Паскале разделяются:
запятой
переходом на новую строку
точкой с запятой
точкой
Во Какой оператор в Паскале служит для выбора одного из двух вариантов
действий?
оператор ввода
оператор вывода
условный оператор
оператор цикла
Во Какое значение примет переменная Х после выполнения оператора
Х=17div2?
8.5
1
8
19
Во Оператор цикла с заданным числом повторений в Паскале имеет следующий
формат:
While <выражение> do <оператор>;
For <параметр>:=<начальное значение> to <конечное значение> do
Repeat <оператор> until <выражение>
Часть Б
1. В программе «:=» обозначает оператор присваивания; знаки «+», «−», «*»
и «/» − соответственно операции сложения, вычитания, умножения и
деления. Правила выполнения операций и порядок действий соответствует
правилам арифметики.
Определите значение переменной а после выполнения алгоритма:
a := −12
b := 14 − a / 2
b := (b − a) / 8
a := b * 2 + 6
В ответе укажите одно целое число − значение переменной а.
2. Запишите значение переменной s, полученное в результате работы следующей программы.
Var s,k: integer;
Begin
s := 8;
for k := 3 to 8 do
s := s + 8;
writeln(s);
End.
3. В таблице Dat хранятся данные измерений среднесуточной температуры за
10 дней в градусах (Dat[1] — данные за первый день, Dat[2] — за второй
и т. д.). Определите, какое число будет напечатано в результате работы сле-
дующей программы.
Var k, m: integer;
Dat: array[1..10] of integer;
Begin
Dat[1] := 12; Dat[2] := 15;
Dat[3] := 17; Dat[4] := 15;
Dat[5] := 14; Dat[6] := 12;
Dat[7] := 10; Dat[8] := 13;
Dat[9] := 14; Dat[10] := 15;
m := 0;
for k := 1 to 10 do
if Dat[k] > 12 then
begin
m := m + 1;
end;
writeln(m);
End.
n=5;
Var
ar:array[1..n] of integer;
ar2:array[1..n] of integer;
i,k:integer;
function prost(a:integer):boolean;
var i:integer;
b:boolean;
begin
b:=true;
for i:=2 to a div 2 do
if a mod i=0 then
begin;
b:=false;
break;
end;
if a=1 then b:=false;
prost:=b;
end;
begin;
randomize;
k:=0;
for i:=1 to n do
begin;
ar[i]:=random(101);
write(ar[i]:4);
end;
writeln;
for i:=1 to n do
if prost(ar[i]) then
begin;
inc(k);
ar2[k]:=ar[i];
write(ar2[k]:4);
end;
end.
нц пока не сверху свободно
закрасить
вправо
кц
нц пока сверху свободно
вправо
кц
нц пока справа свободно
закрасить
вправо
кц
нц пока не справа свободно
закрасить
вниз
кц
нц пока справа свободно
вниз
кц
нц пока не справа свободно
закрасить
вниз
кц
15.2 Решение
var k, n, a, amax: integer;
begin
amax:=0;
readln(n);
for k:=1 to n do
begin
readln(a);
if (a mod 5 = 0) and (a>amax) then
amax:=a;
end;
writeln(amax);
end.
Для проверки правильности работы программы необходимо использовать следующие тесты:
Объяснение: