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

решить задачу по программированию! 1) Найти минимальный по модулю элемент массива

👇
Ответ:
TearPrincess2
TearPrincess2
23.02.2023

Например, в массиве [10, -3, -5, 2, 5] минимальным по модулю элементом является число 2. Его номер 4 (в языках, в которых индексация массивов начинается с нуля, его индекс будет равен 3).

Если стоит задача найти минимальный (или максимальный) элемент по модулю, то значит при поиске нужно сравнивать не сами элементы массива, а их абсолютные значения (модули). Большинство языков программирования имеют встроенную функцию (например, abs()), которая возвращают модуль числа.

Поскольку требуется найти номер минимального по модулю элемента, а не сам элемент (его значение), то при поиске необходимо сохранять индекс найденного на данный момент элемента.

Алгоритм поиска индекса минимального по модулю элемента массива следующий:

Вводим переменную (например, num) и присваиваем ей индекс первого элемента массива (0 или 1 в зависимости от особенностей языка программирования). Тем самым предполагаем, что первый элемент массива и является минимальным по модулю.

Начинаем в цикле перебор массива со второго элемента и до конца. При этом в теле цикла в заголовке условного оператора (if) сравниваем модуль текущего элемента с модулем элемента, чей индекс хранится в переменной num.

Если абсолютное значение текущего элемента массива меньше, чем элемента с индексом num, то в теле условного оператора присваиваем num индекс текущего элемента.

После того, как цикл закончит свою работу, num будет содержать индекс минимального по модулю элемента. Выводим его на экран как есть или увеличиваем на единицу (номер элемента равен индексу при индексации массива с единицы, и на 1 больше индекса при индексации с нуля).

Данное решение задачи не совсем верное, так как находит только первый минимальный элемент. Однако в массиве их может быть несколько (равных между собой или равных между собой только по модулю). Например, в массе [1, 12, 4, 1, 5, 8, 3] минимальных два элемента: первый и четвертый.

Если стоит задача найти номера всех минимальных по модулю элементов, то алгоритм решения задачи будет иным:

Сначала ищется и сохраняется в переменной абсолютное значение минимального по модулю элемента (именно значение, а не индекс).

В следующем цикле каждый элемент (его модуль) сравнивается с ранее найденным минимальным и при совпадении номер текущего элемента выводится на экран.

Ниже в примерах решения задачи на языках программирования реализован первый упрощенный алгоритм (находится только первый минимальный по модулю элемент). Здесь приведем вариант решение задачи по второму алгоритму на языке Pascal:

const N = 20;

var

   arr: array[1..N] of integer;

   i: byte;

   min: integer;

begin

   randomize;

   for i:=1 to N do begin

       arr[i] := random(30)-15;

       write(arr[i]:4);

   end;

   writeln;

 

   min := 100; // хранит минимальное по модулю значение

   for i:=1 to N do

       if abs(arr[i]) < abs(min) then

           min := abs(arr[i]);

   writeln('Минимальное по модулю значение: ', min);

   

   write('Номера элементов: ');

   for i:=1 to N do

       if abs(arr[i]) = min then

           write(i:3);

   writeln;

end.

Пример выполнения кода:

 10  -8  12   3 -14  -3 -14 -15   9  -7   6  -3  -1 -11  -2 -13   1  -7   8 -10

Минимальное по модулю значение: 1

Номера элементов:  13 17

Pascal

(активная вкладка)

Язык Си

Python

КуМир

Basic-256

const N = 10;

var

   arr: array[1..N] of integer;

   i, num: byte;

begin

   randomize;

   for i:=1 to N do begin

       arr[i] := random(100)-50;

       write(arr[i]:4);

   end;

   writeln;

 

   num := 1;

   for i:=2 to N do

       if abs(arr[i]) < abs(arr[num]) then

           num := i;

   writeln(num);    

end.

 36  31 -46 -22 -29 -14  26 -41  15  29

6

4,5(88 оценок)
Открыть все ответы
Ответ:
kavabanga1337
kavabanga1337
23.02.2023
Можно заметить, что нас с каждым днем окружает все больше электронных приборов, делающих нашу жизнь проще.
Компьютеры, телевизоры, сотовые телефоны, электрочайники, умные автомобили и много чего еще в этом духе. В принципе удивительного в этом ничего нет. Человек стремится максимально улучшить, упростить свою жизнь, избавить себя от рутины. Для этого он изобретает все новые и более совершенные технологии. Так были изобретены первые роботы.
Роботы уже полной мерой вошли в нашу жизнь. Теперь мы просто не представляем ее без них. Некоторые роботы готовят еду, некоторые роботы разносят лекарства, убирают, стирают и выполняют огромное количество других функций.
Если заглянуть немного в будущее, то можно предположить, что появятся роботы, которые будут нам по дому, будут для нас что-то типа прислуги. Смогут выгуливать наших домашних животных нашим детям готовить домашние задания, сидеть с младенцами, когда родителям нужно отъехать куда-нибудь. Да и внешне они будут выглядеть точно также как и люди.
4,5(28 оценок)
Ответ:
fast0l0n
fast0l0n
23.02.2023

1)Алгори́тм (лат. ... algorithmi — от имени среднеазиатского математика Аль-Хорезми) — конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения некоторой задачи

2)Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Результативность (конечность) — алгоритм должен приводить к решению задачи за конечное число шагов. ...

3)незнаюю

4)незнаюю

Объяснение:

надеюсс

4,6(90 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ