Var a:array [1..12] of integer; i,k,s:integer; begin randomize; writeln('Массив:'); for i:=1 to 12 do begin a[i]:=random(41)-10; write(a[i],' '); end; writeln; k:=1; for i:=1 to 12 do begin s:=s+a[i]; if a[i]<a[k] then k:=i; end; writeln('Сумма всех элементов: ',s); writeln('Номер минимального элемента: ',k); end.
Для перевода из двоичной в шестнадцатеричный надо код разделить на тетрады (на группы по 4 цифры): 0101 1101 1000 1010 1010 1111 0010 1010 Если слева недостаточно цифр до тетрады, то слева добавляем нули. Далее переводим тетрады в шестнадцатеричный код с таблицы: 0000 => 0 0001 => 1 0010 => 2 0011 => 3 0100 => 4 0101 => 5 0110 => 6 0111 => 7 1000 => 8 1001 => 9 1010 => A 1011 => B 1100 => C 1101 => D 1110 => E 1111 => F 0101 1101 1000 1010 1010 1111 0010 1010 = 5D8AAF2A
Для перевода в восьмеричный код делаем аналогично, только на двоичный код делим на группы по 3 цифры: 001 011 101 100 010 101 010 111 100 101 010 И также если не хватает до 3-ех цифр, то слева добавляем нули. Затем переводим по аналогичной таблице: 000 => 0 001 => 1 010 => 2 011 => 3 100 => 4 101 => 5 110 => 6 111 => 7 001 011 101 100 010 101 010 111 100 101 010 = 13542527452
Представим, что мы сняли всю землю с холмов до нулевого уровня в пределах полосы шириной 1 метр, а потом засыпали её обратно так, чтобы уровень стал горизонтальным на высоте h.
Посчитаем объем земли, который был снят. Всю землю можно разделить на фигуры толщиной 1 метр, в основании которых трапеции с высотой 1 м и основаниями - двумя соседними измерениями высоты. Тогда объем каждой фигуры V(i) = (h(i) + h(i + 1)) / 2, полный объем V = V(1) + V(2) + ... + V(N - 1) = h(1)/2 + (h(2) + h(3) + ... + h(N - 2)) + h(N - 1)/2
Объем земли, который использовался для засыпания, равен V = h (N - 1).
Эти объемы, конечно, равны, тогда h = (h(1)/2 + h(N - 1)/2 + (h(2) + h(3) + ... + h(N - 2))/(N - 1)
PascalABC.NET 3.2.1518: begin var N := ReadInteger; print(ReadSeqInteger(N) .Select((x, i) -> (i = 0) or (i = N - 1) ? x/2 : x) .Sum / (N - 1)) end.
С вводом-выводом в файл: begin var f := OpenRead('INPUT.TXT'); var N := f.ReadInteger; var S := f.ReadInteger / 2; for var i := 2 to N - 1 do S += f.ReadInteger; S += f.ReadInteger / 2; print(S / (N - 1)) end.
a:array [1..12] of integer;
i,k,s:integer;
begin
randomize;
writeln('Массив:');
for i:=1 to 12 do
begin
a[i]:=random(41)-10;
write(a[i],' ');
end;
writeln;
k:=1;
for i:=1 to 12 do
begin
s:=s+a[i];
if a[i]<a[k] then k:=i;
end;
writeln('Сумма всех элементов: ',s);
writeln('Номер минимального элемента: ',k);
end.