должно быть минимум 7 элементов
Объяснение:
Каждый излучающий элемент имеет два состояния- красный или синий цвет (выключенное состояние не рассматривается по условиям).
Значит, число возможных вариантов, которые можно показать на таком табло равно двум в степени, равной числу элементов.
Например:
один элемент: различных сигнала (состояния панели)
три элемента: различных сигналов можно отобразить
шесть элементов: различных сигнала (мало, надо сто)
семь элементов: различных сигналов (нам хватит)
Выбираем семь элементов, т.к. ими можно отобразить сто вариантов (и даже немного больше).
Можно и посчитать число элементов напрямую, без подбора.
Считается через логарифм по основанию два из десяти, затем округляется с избытком (то есть, всегда вверх):
В расчёте также показано, что такой логарифм можно посчитать через отношение двух десятичных логарифмов (lg), либо двух натуральных логарифмов (ln).
program SortV;
const
n = 100; // количество элементов в массиве
r = 1000; // максимальное значение числа
w = 4; // ширина поля для вывода на экран
var
a: Array [1..n] of Integer;
i, j, jmin, atmp: Integer;
begin
Randomize;
for i := Low (a) to High (a) do begin
a [i] := Random (r);
Write (a [i] :w);
end;
for i := Low (a) to High (a) do begin
jmin := i;
for j := i + 1 to High (a) do begin
if a [j] < a [jmin] then // возрастание и убывание меняется знаком "<" или ">" в этом операторе
jmin := j;
end;
atmp := a [i];
a [i] := a [jmin];
a [jmin] := atmp;
end;
WriteLn; WriteLn;
for i := Low (a) to High (a) do begin
Write (a [i] :w);
end;
ReadLn;
end.
program SortU;
const
n = 100; // количество элементов в массиве
r = 1000; // максимальное значение числа
w = 4; // ширина поля для вывода на экран
var
a: Array [1..n] of Integer;
i, j, jmax, atmp: Integer;
begin
Randomize;
for i := Low (a) to High (a) do begin
a [i] := Random (r);
Write (a [i] :w);
end;
for i := Low (a) to High (a) do begin
jmax := i;
for j := i + 1 to High (a) do begin
if a [j] > a [jmax] then // возрастание и убывание меняется знаком "<" или ">" в этом операторе
jmax := j;
end;
atmp := a [i];
a [i] := a [jmax];
a [jmax] := atmp;
end;
WriteLn; WriteLn;
for i := Low (a) to High (a) do begin
Write (a [i] :w);
end;
ReadLn;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Составить алгоритм решения . вычислить объем v и площадь поверхности s сферы по введенному значению радиуса r: v=4/3*п*r^3 s=3/4*п*r^2
//Pascal ABC.NET v3.0 сборка 1111
var
r,v,s:real;
begin
readln(r);
v:=4/3*pi*power(r,3);
s:=3/4*pi*sqr(r);
writeln('V=',v,' S=',s);
end.