М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
poloch
poloch
15.12.2021 02:28 •  Информатика

Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных результатов измерений. элементы массива могут принимать целые значения от 0 до 10 000 включительно. опишите на одном из языков программирования алгоритм, который выполняет выбраковку данных в массиве: если максимальный чётный элемент массива меньше максимального нечётного, все чётные элементы заменяются на нули, иначе все нечётные элементы заменяются на нули. например, для исходного массива из восьми элементов: 7 1 3 2 14 5 9 6 программа должна вывести (по одному числу в строке) числа 0 0 0 2 14 0 0 6 язык паскаль

👇
Ответ:
olga180982
olga180982
15.12.2021

{PascalABC}

Program Begenjov1997;

const

 n = 200; {Количество элементов массива}

 m = 10000; {Максимально возможное значение элемента}

var

 a:array[1..n] of integer;

 i, chet,nech: integer;

 s:string;

 

begin

 s:=' -=Alphaeus=- ';

 for i:=1 to 22 do begin write(s[i]); sleep(60) end;

{заполняем массив случайными числами}

 writeln; randomize;

 for i:=1 to n do a[i]:=random(m+1);

{Ищем максимальный чётный и максимальный нечётный элементы}

 chet:=a[1];nech:=a[1];

 for i:=2 to n do

   begin

     if (a[i]>chet) and (a[i] mod 2 = 0) then chet:=a[i];

     if (a[i]>nech) and (a[i] mod 2 <> 0) then nech:=a[i];

   end;

{сравниваем чёт и нечет, заменяем нужное на нули и выводим}

 writeln;

 for i:=1 to n do

   begin

     if (chet>nech) and (a[i] mod 2 = 0) then a[i]:=0;

     if (nech>chet) and (a[i] mod 2 <> 0) then a[i]:=0;

     writeln(a[i]:4);

   end;  

end.

4,6(56 оценок)
Открыть все ответы
Ответ:
Volosyaka
Volosyaka
15.12.2021
Function f(x: real): real;
begin
  f := (x - 3) / (sqr(x) + 2)
end;

var
  a, b, x, fa, fb, fx, eps: real;

begin
  Write('Введите через пробел границы интервала [a;b] и точность:');
  Readln(a, b, eps);
  fa := f(a);
  if abs(fa) <= eps then Writeln('x=', a, ', y=', fa)
  else begin
    fb := f(b);
    if abs(fb) <= eps then Writeln('x=', b, ', y=', fb)
    else
    if fa * fb > 0 then Writeln('На указанном интервале корней нет')
    else
      repeat
        x := (a + b) / 2;
        fx := f(x);
        if abs(fx) <= eps then Writeln('x=', x, ', y=', fx)
          else
        if fa * fx > 0 then a := x else b := x;
      until abs(fx) <= eps
  end
end.

Результат выполнения программы:

Введите через пробел границы интервала [a;b] и точность:-1 4 1e-4
x=2.9990234375, y=-8.88257162245635E-05
4,5(39 оценок)
Ответ:
sabama
sabama
15.12.2021
Если речь о "минимально возможном", знаачит используется какое-то кодирование данных. Простейший вариант кодирования - это присвоить числу 50 (меньше ведь не может быть) код 0. Тогда 500 также сдвинется на 50 и получит код 450. Чтобы определить, сколько бит потребуется для записи кода 450, нужно или перевести 450 в двоичную систему счисления, или вычислить
log_2450 и округлить результат до ближайшего большего целого. В последнем случае получим приблизительно 8.81 и округлим до 9.
На запись информации по одному донору потребуется от 1 до 9 бит. Если считать, что информация по каждому донору записывается одинаковым количеством бит, то потребуется 56х9=504 бита.
Если кодировку производить переменным числом бит, понадобится код - разделитель данных, который также занимает место. В подобных случаях решение о формате записи принимается исходя из конкретных условий.
4,5(93 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ