При составлении расписания работы наземной приемной станции может возникать ситуация, когда два спутника одновременно находятся в зоне видимости станции.
в таких случаях приходится делать выбор: какой из пересекающихся спутников будет принимать станция. предположим, в программе, которая составляет расписание, интервалы времени сеансов одного спутника хранятся в переменной passa, другого – в переменной passb. для представления интервалов времени используются двухэлементные массивы (индексируемые с 0), в которых первый элемент содержит время начала интервала, второй – время конца.
тип элементов этих массивов позволяет использовать операторы < и > для сравнения моментов времени ( «раньше/позже»).
какое из следующих выражений можно использовать для проверки условия пересечения (даже частичного) сеансов passa и passb:
выберите один вариант из списка
(passb[1] > passa[0]) or ( passb[0] < passa[1] )
(passb[0] > passa[0]) and ( passb[1] < passa[1] )
(passb[1] < passa[0]) or ( passb[0] > passa[1] )
(passb[1] > passa[0]) and ( passb[0] < passa[1] )
begin
var a:=MatrixRandom(7,7,0,9);
var k:=0;
for var i:=0 to 6 do begin
for var j:=0 to 6 do begin
Write(a[i,j]:3);
if a[i,j] in [1..5] then Inc(k)
end;
Writeln
end;
Writeln('Кол-во элементов на [1,5]: ',k)
end.
Тестовое решение:
2 1 7 3 3 2 7
9 2 9 2 0 5 5
4 2 6 9 4 6 0
1 0 3 5 4 5 9
6 3 6 0 2 0 8
0 8 4 3 2 1 8
6 0 4 4 5 4 0
Кол-во элементов на [1,5]: 27
Вариант "совсем для школы"
const
n=7;
var
a:array[1..n,1..n] of integer;
i,j,k:integer;
begin
Randomize;
k:=0;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(10);
Write(a[i,j]:3);
if a[i,j] in [1..5] then Inc(k)
end;
Writeln
end;
Writeln('Кол-во элементов на [1,5]: ',k)
end.
problems : array [0..9] of String = ('x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10','x1+5=10', 'x1+5=10', 'x1+5=10');
answers : array [0..9] of String = ('-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5');
var
countOfAnswers, counter: integer;
userAnswer: String;
begin
countOfAnswers := 0;
for counter:=0 to 9 do
begin
write('Введите ответ уравнения ', problems[counter], ' : ');
readln(userAnswer);
if userAnswer = answers[counter] then Inc(countOfAnswers);
end;
if countOfAnswers > 8 then writeln('Отлично')
else if countOfAnswers > 5 then writeln('Хорошо')
else writeln('Плохо');
end.