Как найти минимальное арифметическое

В Microsoft Office Excel можно работать с цифрами и узнавать любое числовое значение. Этот табличный процессор справится практически со всеми расчётами. Он идеально подходит для бухгалтерского учёта. Для вычислений существуют специальные инструменты — формулы. Их можно применять к диапазону или к отдельным ячейкам. Чтобы узнать минимальную или максимальную цифру в группе клеток, необязательно искать их самостоятельно. Лучше воспользоваться предназначенными для этого опциями. Также полезно будет разобраться, как посчитать среднее значение в Excel.

Это особенно актуально в таблицах с большим объёмом данных. Если в столбце, например, указаны цены на продукцию торгового центра. И вам надо узнать, какой товар самый дешёвый. Если искать его «вручную», уйдёт очень много времени. Но в Экселе это можно сделать буквально за несколько кликов. Утилита также высчитывает среднее арифметическое. Ведь это две простые операции: сложение и деление.

Среднее, минимальное и максимальное значение в Excel

В этой статье мы расскажем, как вычислить различные значения в Эксель

Максимальное и минимальное

Вот как найти максимальное значение в Excel:

  1. Поставьте курсор-ячейку в любое место.
  2. Перейдите в меню «Формулы».
  3. Нажмите «Вставить функцию».
  4. В списке выберите «МАКС». Или напишите это слово в поле «Поиск» и нажмите «Найти».
  5. В окне «Аргументы» введите адреса диапазона, максимальное значение которого вам нужно узнать. В Excel имена клеток состоят из буквы и цифры («B1», «F15», «W34»). А название диапазона — это первая и последняя ячейки, которые в него входят.
  6. Вместо адреса можно написать несколько чисел. Тогда система покажет самое большее из них.
  7. Нажмите «OK». В клетке, в которой стоял курсор, появится результат.

Excel вставить функцию

Следующий шаг — укажите диапазон значений

Теперь будет легче разобраться, как найти минимальное значение в Excel. Алгоритм действий полностью идентичен. Просто вместо «МАКС» выберите «МИН».

Среднее

Среднее арифметическое вычисляется так: сложить все цифры из множества и поделить на их количество. В Экселе можно посчитать суммы, узнать, сколько ячеек в строке и так далее. Но это слишком сложно и долго. Придётся использовать много разных функций. Держать в голове информацию. Или даже что-то записывать на листочек. Но можно упростить алгоритм.

Вот как найти среднее значение в Excel:

  1. Поставьте ячейку курсор в любое свободное место таблицы.
  2. Перейдите на вкладку «Формулы».
  3. Нажмите на «Вставить функцию».
  4. Выберите «СРЗНАЧ».
  5. Если этого пункта нет в списке, откройте его с помощью опции «Найти».
  6. В области «Число1» введите адрес диапазона. Или напишите несколько цифр в разных полях «Число2», «Число3».
  7. Нажмите «OK». В ячейке появится нужное значение.

Excel СРЗНАЧ аргументы функции

Нажмите ОК для подсчета

Так можно проводить расчёты не только с позициями в таблице, но и с произвольными множествами. Excel, по сути, играет роль продвинутого калькулятора.

Другие способы

Максимальное, минимальное и среднее можно узнать и другими способами.

  1. Найдите панель функций с обозначением «Fx». Она над основной рабочей областью таблицы.
  2. Поставьте курсор в любую ячейку.
  3. Введите в поле «Fx» аргумент. Он начинается со знака равенства. Потом идёт формула и адрес диапазона/клетки.
  4. Должно получиться что-то вроде «=МАКС(B8:B11)» (максимальное), «=МИН(F7:V11)» (минимальное), «=СРЗНАЧ(D14:W15)» (среднее).
  5. Кликните на «галочку» рядом с полем функций. Или просто нажмите Enter. В выделенной ячейке появится нужное значение.
  6. Формулу можно скопировать непосредственно в саму клетку. Эффект будет тот же.

Excel минимальное значение

Впишите диапазон и нажмите Enter

Найти и вычислить поможет Excel-инструмент «Автофункции».

  1. Поставьте курсор в ячейку.
  2. Перейдите в раздел «Формулы».
  3. Найдите кнопку, название которой начинается на «Авто». Это зависит от выбранной в Excel опции по умолчанию («Автосумма», «Авточисло», «Автосмещ», «Автоиндекс»).
  4. Нажмите на чёрную стрелочку под ней.
  5. Выберите «МИН» (минимальное значение), «МАКС» (максимальное) или «СРЗНАЧ» (среднее).
  6. В отмеченной клетке появится формула. Кликните на любую другую ячейку — она будет добавлена в функцию. «Растяните» рамку вокруг неё, чтобы охватить диапазон. Или щёлкайте по сетке с зажатой клавишей Ctrl, чтобы выделять по одному элементу.
  7. Когда закончите, нажмите Enter. Результат отобразится в клетке.

В Excel вычислить среднее значение достаточно легко. Не нужно складывать, а потом делить сумму. Для этого существует отдельная функция. Также можно найти минимум и максимум в множестве. Это намного легче, чем считать вручную или выискивать цифры в огромной таблице. Поэтому Эксель популярен во многих сферах деятельности, где требуется точность: бизнес, аудит, кадровое делопроизводство, финансы, торговля, математика, физика, астрономия, экономика, наука.

Изучаем статистику: средние значения

Один из разделов описательной статистики посвящен знакомству
с характеристиками числового набора: минимальное значение, максимальное
значение, размах, среднее арифметическое и медиана. Ученики должны научиться
определять их для набора чисел, заданного списком, таблицей или диаграммой
рассеивания.

Мы изучали этот материал в течение трех уроков. На первых
двух были введены новые понятия и решались задачи из учебного пособия (авт.
Ю.Н. Тюрин, А.А. Макаров, И.Р. Высоцкий, И.В. Ященко). Например. Найдите
наибольшее и наименьшее значение, размах, среднее значение и медиану набора
чисел: 12; 7; 25; 3; 19; 15. (Ответ: 25; 3; 22; 13,5; 13,5).

Однако естественно показать учащимся, зачем мы все это
изучаем. На третьем уроке мы решали задачи, в которых требуется выбрать
такое среднее, которое наилучшим образом отражает особенности данного набора
чисел в соответствии с их природой и требованиями задачи. В одних задачах не
сказано, какую характеристику надо искать, поэтому, чтобы ответить на вопрос
задачи, приходится примерять к поставленной задаче поочередно разные средние и
выяснять, какое подходит больше других. В этом случае ответом к задаче является
не число, а название подходящей характеристики. В других задачах присутствует
необходимость правильно интерпретировать полученные результаты, отнестись к ним
критически, попытаться найти здравое зерно даже там, где, на первый взгляд, «все
сделано неверно». И наконец, предложен и третий вид задач, в которых природа
данных накладывает определенные дополнительные требования на найденное значение
среднего: например, оно должно быть целым.

Тем самым мы не только продолжаем закреплять навык подсчета
среднего, но и демонстрируем возможности применения изученного в реальных
жизненных ситуациях. Ведь для учащихся важным фактором освоения нового является
осознание необходимости знания этого нового, то есть не только как
найти, но и зачем находить.

Данная статья состоит из двух частей. В первой дается описание наиболее
употребительных средних. Во второй части предлагается набор задач для решения в
классе и для самостоятельной работы учащихся.

Знакомимся со средними

Наибольшее и наименьшее значения

Слова «минимальный», «максимальный», «меньший», «больший»
интуитивно понятны учащимся, поэтому первые две характеристики: наибольшее
и наименьшее значения оставим без определения. Скажем, что в наборе,
упорядоченном по возрастанию, наименьшее число стоит на первом месте, а
наибольшее — на последнем.

В пособии имеются задания, в которых требуется найти
наибольшее или наименьшее значения среди чисел, указанных в таблице. К ним
добавим задания с другой формой представления данных — в виде диаграммы
рассеивания.

Задание. Имеется диаграмма 1 рассеивания, показывающая
взаимосвязь роста и веса 15 опрошенных юношей. Найти рост самого высокого и рост
самого низкого юноши (т.е. определить минимальное и максимальное значения набора
чисел, заданного диаграммой рассеивания).

Для этого будем использовать следующее: минимальный рост
соответствует абсциссе точки, расположенной левее других, а
максимальный — абсциссе крайней точки справа. Получим:

min ≈ 167 см, max ≈ 181 см.

Интересно, что остальные 13 точек участия в «обсуждении»
вообще не принимают. Их можно стереть — результат от этого не изменится (см.
диаграмму 2).

Диаграмма 1

Вторая особенность получаемого результата в том, что, в
отличие от работы с таблицей, данные, получаемые с помощью графиков и диаграмм,
являются не точными, а приближенными, то есть ответы могут отличаться.

Аналогично находим минимальное и максимальное значения веса,
как ординаты самой нижней и самой верхней точек.


Диаграмма 2

С каким же видом представления данных удобнее работать?

Преимущество таблицы заключается в точности получаемых
результатов, но работа с ней требует концентрации внимания на протяжении
длительного времени
: нельзя пропустить искомое число, а оно может попасть в
любой исследуемый столбец. И если таблица содержит не 15 чисел, а 5000, то этот
аргумент становится решающим в пользу наглядного представления данных. Оно дает
менее точные результаты, зато обработка такой информации происходит за
считанные секунды
. Даже если диаграмма будет содержать 5000 точек, нас будут
интересовать только две крайние, на остальные мы даже не посмотрим.

Размах

В отличие от предыдущих понятий, размах — это
незнакомая учащимся характеристика набора. Он показывает протяженность набора
вдоль числовой оси, меру его разброса.

Определение. Размах набора чисел (R) — это
разность между наибольшим и наименьшим числом набора.

Например, в предыдущем задании размах равен: R = 181 –
167 = 14 см.


Что показывает размах значений?

Сравним диаграммы 3 и 4:


Диаграмма 3                 Диаграмма 4

 

Точки, изображенные на диаграмме 3, расположены ближе друг к
другу, соответственно, и максимальное и минимальное значение отличаются друг от
друга меньше, чем на диаграмме 4. Таким образом, размах показывает, сильно ли
отличаются числа набора друг от друга.

Маленький размах показывает, что исследуемая величина
принимала практически одинаковые значения. Большой размах показывает, что
некоторая величина принимает значительно отличающиеся друг от друга значения, то
есть нестабильность. Иногда большой размах свидетельствует о наличии
грубой ошибки измерений, о том, что какое-то из чисел попало в список случайно.

Если вычислить полусумму наименьшего и наибольшего значений
набора и обозначить ее с, а половину размаха обозначить то можно
утверждать, что все числа набора содержатся в промежутке На бытовом уровне
размах (а точнее, полуразмах) дает информацию о точности информации: расстояние
от дома до дачи (100 ± 5) км, цена на хлеб (14 ± 2) р. и т.д.

Среднее арифметическое

Определение. Средним арифметическим нескольких чисел () называется частное от деления суммы этих чисел на количество чисел.

Например, средним арифметическим чисел 4; 6; 11 является
число

Зачастую среднее арифметическое называют просто «средним» в
силу его наибольшей популярности. Говорят о среднем балле аттестата,
среднегодовом потреблении населением фруктов. «Потребительская корзина» для
определенного слоя граждан рассчитывается исходя из средних показателей.

Рассмотрим следующий пример. На олимпиаде по математике
предлагалось решить пять задач по 4 балла за каждую. В протоколе указана сумма
баллов каждого из восьми участников этой олимпиады:

12; 14; 14; 16; 17; 18; 19; 200.

Для ускорения подсчета имеется автоматизированная система
обработки данных, которая находит среднее арифметическое любых введенных чисел.
Какой средний балл набрали участники олимпиады?

У данного набора среднее равно 38,75. Однако такую сумму
баллов никто из участников набрать не мог. К тому же семь чисел из данных восьми
намного меньше его. Все значения этого набора, кроме крайнего правого,
достаточно кучно попадают в интервал [12; 19], а 38,75 в него не попадает. Все
это говорит о том, что полученное среднее арифметическое не только не передает
особенностей данного набора чисел, но и вообще противоречит здравому смыслу.
Значит, либо в условие, либо в решение вкралась ошибка! Посмотрим еще раз на
данные числа. Теперь, получив явно бессмысленный результат, мы сможем более
критически отнестись к условию: первые семь чисел вполне реальны, а вот
последнее… Откуда оно взялось?! Видимо, оно случайно попало в этот список:
возможно, в результате описки. Однако обнаружение ошибки в условии не избавляет
нас от необходимости довести решение до конца. Можно, конечно, посоветовать
комиссии снова переписать результаты учащихся и ввести числа из нового,
«правильного» протокола. Но где гарантия, что в нем снова не будет опечатки?

Когда все результаты более или менее кучно располагаются на
числовой оси, кроме, быть может, нескольких ненадежных значений, анализировать
результаты можно! Достаточно высокую точность полученных значений будет
гарантировать применение других средних — в частности, урезанного среднего.
Для его нахождения сначала упорядочивают набор по возрастанию, а затем
отбрасывают слева и справа равное небольшое количество чисел. При этом «выбросы»
(или ошибки наблюдений) в дальнейших вычислениях не участвуют. У полученного
«урезанного» набора обычным образом находят среднее арифметическое. Оно и
является урезанным средним исходного набора.

Вернемся к задаче. Если отбросить по одному числу с каждой
стороны, то есть числа 12 и 200, то у оставшегося набора из шести чисел среднее
равно

Это и есть урезанное среднее. Оно неплохо передает реальное
среднее количество баллов, набранных юными математиками.

Некоторая аналогия с нахождением урезанного среднего
просматривается в правилах судейства во многих видах спорта. Например, в
соревнованиях по прыжкам с трамплина технику каждого прыжка оценивают 5 судей.
Чтобы получить объективные оценки, две из них — высшую и низшую — отбрасывают, а
для трех оставшихся находят сумму. Такой подход не дает возможности судьям
повышать баллы своим соотечественникам, а спортсменам затрудняет нечестный путь
к медалям.

Медиана

Медианой числового набора является число, которое
разделяет этот набор на две одинаковые по части.

Если набор упорядочен и в нем имеется нечетное количество
чисел (2n + 1), то медиана стоит посередине этого набора, на (n +
1)-м месте. Если упорядоченный набор состоит из четного количества чисел (2n),
то медианой является любое число, находящееся между двумя числами, которые стоят
в середине (под номерами n и n + 1). Обычно берется их полусумма.

В наборе 12; 14; 14; 16; 17; 18; 19; 200 медианой является
любое число из интервала (16; 17), например, 16,5. Напомним, что урезанное
среднее равнялось 16,3. Похоже!

Перейдем к решению задач.

Вычисляем средние

1. Про отличника. У отличника Коли были отметки по математике
«5», «5», «5», «5».
И вдруг в конце четверти он получил «2». Он знает, что
учитель математики выставляет четвертную отметку как среднее всех отметок,
имеющихся у ученика, и не признает пересдач. Какое среднее было бы
предпочтительнее для Коли, если он, естественно, надеется на пятерку в четверти?

Решение. 1. Попробуем начать с такого очень
распространенного способа выставления четвертных отметок, как нахождение
среднего арифметического
:

Естественно, что любой учитель округлит этот результат в
меньшую сторону и выставит итоговую отметку «4». Значит, это среднее Колю не
устраивает.

Мы видим, что один неудачный ответ на балл снизил четвертную
отметку. Ведь до этого среднее арифметическое равнялось 5.

2. Помочь Колиной мечте сбыться может другое среднее, и не
одно! Например, если в качестве среднего учитель Коли возьмет медиану или
урезанное среднее, то в четверти Коле обеспечена пятерка:

— медиана набора 2, 5, 5, 5, 5 равна 5;

— урезанное среднее набора 5, 5, 5, равно

Ответ: медиана или урезанное среднее.

2. Про лодку. Рыбаки собираются порыбачить на озере. Но не
везде им обеспечен хороший улов. Чтобы найти рыбное место, они решили
воспользоваться лодкой с мотором. На лодке установлен мотор, который можно
регулировать по высоте, поднимая или глубже погружая его. Известно, что мотор
работает надежно и не перегревается во время работы, если опустить его как можно
ниже в глубь воды. Но тогда возникает опасность зацепить им за дно водоема.
Мотор устанавливается на желаемую высоту на берегу, в воде менять глубину
погружения нельзя. Какой информацией о глубине воды в озере надо располагать
рыбакам, чтобы не повредить мотор о дно?

Решение. Рыбаки должны узнать глубину озера вдоль
предполагаемого маршрута следования. Затем у полученного набора чисел надо найти
минимальное значение. Оно обеспечит им удачное прохождение и других,
более глубоких участков.

Ответ: минимальное значение.

3. Библиотека. Известно, что детская библиотека выдает в день
в среднем 180 книг. Сколько книг выдает библиотека в среднем за неделю? за
месяц? за год?

Решение. Под средним в данной задаче подразумевается
среднее арифметическое
. Так как библиотека работает 6 дней в неделю, значит,
за неделю она выдает около 1806
= 1080 книг. За 26 рабочих дней месяца она выдаст 18026
= 4700 книг. За 12 месяцев выдача составит 468012
= 56 000 книг.

Ответ: 1080 книг, около 4700 книг, около 56 000 книг.

Решая эту задачу, уместно обсудить вопрос точности полученных
результатов. Во-первых, из условия неясно, за какой период было получено
среднедневное значение. Если наблюдения велись лишь одну неделю, то к полученным
вычисленным значениям нужно относиться весьма скептически. Для получения более
точных результатов надо было проводить более длительное наблюдение, сопоставимое
по длительности с запрашиваемым периодом. А во-вторых, возможно, наблюдатели
«попали» на неделю «книжного бума», тогда результаты, распространенные на месяц
и тем более на год получатся явно завышенными. Возможна и обратная картина: нам
сообщили результаты, полученные в период летних каникул, значит, результаты
вычислений будут заниженными. Другими словами, к полученным числам нужно
относиться с большой осторожностью, если нет возможности уточнить, как было
проведено исследование, и за какой период было вычислено среднее значение 180
книг.

Этот пример показывает, что для получения достоверных
результатов исследований нужно соблюдать некоторые условия, следовать
определенным правилам, чтобы полученным выводам можно было доверять.

4. Метание молота. Спортивный клуб должен организовать
соревнования по метанию молота среди спортсменов с разной спортивной подготовкой
и разными достижениями. Для этого он должен пригласить необходимое количество
судей в сектор для метания. Судьи, с которыми сотрудничает клуб, точно отмечают
место падения молота, если находятся не далее четырех метров от него. Спортивный
клуб может запросить любую информацию о прошлых результатах приглашенных
спортсменов. Какой информацией должны располагать организаторы, чтобы пригласить
необходимое количество судей?

Решение. Надо запросить предыдущие результаты метания
молота всех участников и найти максимальный, минимальный результаты и размах.
Зная величину угла сектора для метания и максимальный результат, можно
вычислить длину дуги, вдоль которой через каждые 8 м надо расставить судей.

Количество таких рядов зависит от размаха результатов.
Если он окажется менее 8 м, то судьи могут стоять в один ряд. Если размах
окажется бóльшим, то чтобы успешно фиксировать как более далекие, так и близкие
результаты судей надо расставить в несколько рядов через каждые 8 м.

Ответ: максимальный результат, размах.

5. Отпуск на юге. Для успешной рекламы отдыха на Кипре
туристическая фирма запросила данные о погоде на острове за последние 10 лет.
Выяснилось, что за этот период было лишь 216 пасмурных или дождливых дней,
которые были равномерно распределены по запрашиваемым годам. Сколько дней в году
на острове Кипр светит солнце?

Решение. За 10 лет наблюдалось 3652 – 216 = 3436
солнечных дней. Значит, в среднем за один год — 343,6 дня. Поскольку в ответе
надо писать целое число дней, то можно округлить до целых, а можно и до
десятков: в рекламе круглые числа смотрятся лучше.

Ответ: около 340 дней.

Задачи для самостоятельного решения

1. а) Через речку хотят построить мост. Известно, что уровень
воды в реке меняется в течение года: весной при таянии снега повышается,
засушливым летом понижается. Какую характеристику уровня воды в реке надо
учитывать, чтобы построенный мост был над водой?

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

2. За урок учительница вызывает в среднем 5 человек из класса
и каждому ставит отметку за устный ответ. Сколько отметок за устные ответы
выставит эта учительница за неделю, если она проводит в этом классе 5 уроков в
неделю? За четверть?

3. В забеге на 800 м принимали участие 19 спортсменов,
разделенных на группы, стартующие в разное время. Как судьи определили
победителя забега?

4. На зимние каникулы в одной из школ города Мурманска
учительница дала детям задание: следить за погодой и найти среднюю температуру.
Ежедневно в течение десяти дней в 15 часов Наташа записывала показания
термометра:

–13, –10, –15, 11, –9, –9, –11, –12, –10, –11.

А затем вычислила среднее арифметическое и получила –8,9.

а) Действительно ли в период наблюдений температура
колебалась вблизи этого числа?
б) Почему большинство значений (9 из 10) меньше найденного
среднего?
в) Как исправить ответ, если он неверный (заново повторить
наблюдение, естественно, нельзя)?

5.  Имеются данные об успеваемости по химии 8 «А» и 8 «Б» : о
количестве учащихся, получивших ту или иную четвертную отметку. Данные занесены
в таблице:

Отметка

8 «А»

8 «Б»

5

6 чел.

4 чел.

4

12 чел.

10 чел.

3

6 чел.

5 чел.

Какой класс в среднем имеет лучшие результаты?

6. Лучший нападающий баскетбольной команды «Луч» за восемь
прошедших матчей принес своей команде 61 очко. Сколько в среднем очков добавлял
своей команде этот игрок за каждую игру?

Подводя итог сказанному, хочется отметить, что решение задач,
приведенных в этой статье, было встречено учениками с большим интересом. В их
глазах просматривалось и удивление: оказывается школьные знания имеют прямое
отношение к реальной жизни. Длинные формулировки задач не только не мешали
воспринимать задачу, а напротив, учащиеся успевали глубже погрузиться в
ситуацию, пропустить ее через себя. Сюжеты не были надуманными, они
согласовывались с имеющимся у детей жизненным опытом, поэтому даже слабо
подготовленные ученики на этих уроках проявляли необычную для них активность.
Решение некоторых задач проходило в форме жаркой, но доброжелательной дискуссии,
и доказать свою правоту могла только та сторона, которая аргументированно
отстаивала свою позицию, опираясь на строгие математические факты и здравый
смысл!

Решения и ответы

1. а) Максимальное значение уровня воды в реке.
б) Все зависит от массы обстоятельств: географического
положения реки, «поведения» реки в прошлом и др. Конечно, раз в 100–150 лет даже
на самой «мирной» реке может быть катастрофический паводок. Однако стоит ли
строить очень высокий мост через каждую речку, ожидая ужасного, но
маловероятного катаклизма?

2. Около 25 отметок; около 200 отметок.

3. Победитель затратил на преодоление дистанции минимальное
время.

4. а) Нет, в период наблюдений температура колебалась в
промежутке [–15; –9], которому найденное среднее не принадлежит;
б) потому что имеется число 11, которое существенно
отличается от всех остальных и поэтому меняет среднее в большую сторону;
в) найти урезанное среднее данного набора:

–9, –9, –10, –10, –11, –11, –12, –13, –15,
11. Оно приближенно равно 11,4.

5. 8 «А».

6. Около 8 очков.

Багишова О.

Конспект урока по информатике

«Использование стандартных функций для нахождения
суммы, среднего арифметического, поиска минимального (максимального) значений»

Цель:создать
условия для  практического применения встроенных стандартных функций при
решении прикладных задач в ЭТ, показать значимость

Задачи:

Образовательные:

·         
сформировать у учащихся понятие «стандартная
функция»; умения использовать стандартные функции при решении прикладных задач
в ЭТ;

·       
совершенствовать умения и навыки работы с ЭТ:
создание, заполнение, форматирование, абсолютная и относительная адресация
.

Развивающие:

·       
способствовать развитию логического мышления,
умений анализировать, систематизировать, обобщать.

·       
развивать
представления об ЭТ как инструменте для решения задач из бытовой сферы
человеческой деятельности. 

Воспитательные:

·     создать условия, обеспечивающие воспитание интереса к будущей
профессии экономиста.

Тип урока:урок
усвоения новых знаний и умений
.

Оборудование: класс
компьютерной техники, карточки с заданиями, табличный процессор, учебник.

Литература:

1.     Заборовский,
Г.А. Информатика : учеб.пособие для 10-го кл. учреждений общ. сред.образования
с рус. яз. обучения / Г.А. Заборовский, А.Е. Пупцев. – Минск : Изд. центр БГУ,
2011. – 151с. : ил.

План
урока:

1.     Организационный
момент(1 мин)

2.     Актуализация
знаний(5 мин)

3.     Изучение
нового материала(12мин)

4.     Физкультминутка
(1 мин)

5.     Практическая
работа (22 мин)

6.     Подведение
итогов(2 мин)

7.    
Домашнее
задание(1 мин)

Ход урока:

1.Организационный
момент:

Доброе утро, ребята! Я рада вас приветствовать на
уроке информатике. Напоминаю, к работе за компьютером приступаем с указания
учителя, и соблюдаем технику безопасности. Сегодня продолжим работу в программе
Exel, которая позволяет решать задачи самого разного
характера.

2.
Актуализация знаний:

Совершим экскурс в историю.

Идея создания электронной таблицы возникла у студента
Гарвардского института Дэна Бриклинав 1979 г. Выполняя скучные вычисления с
помощью бухгалтерской книги, он и его друг Боб Франкстон, который разбирался в
программировании, разработали первую программу электронной таблицы, названную
ими VisiCals [ВизиКэлс].

А первая версия электронной таблицы фирмы Microsoft
появились только спустя 8 лет.В каком году? (1987 г.)

В настоящее время это самый совершенный инструмент для
профессиональной работы с данными, представленными в табличной форме.

Наиболее широкое применение электронные таблицы нашли
в экономических и бухгалтерских расчетах.

Как вы считаете, в каких учебных областях возможно
использование электронных таблиц? (алгебра, геометрия, семейная экономика,
физика…)

Где можно применить электронные таблицы в
повседневной жизни?
(Для учета и анализа расходования денежных средств:
при ежедневной покупке продуктов и хозяйственных товаров, при оплате счетов и
т.д.)

Да, действительно с помощью средств электронной
таблицы легко можно рассчитать свои заработную плату, бюджет семьи на год, а
также затраты за коммунальные услуги. И сегодня мы поговорим о них.

Каждый гражданин
владеющий жильем получает документ на оплату коммунальных услуг
(демонстрируется жировка) не позднее 15-го числа каждого месяца. И не позднее
25-го числа этого же месяца  Жилищно-коммунальные услуги должны быть оплачены. В
случае задержки платежа ежедневно начисляется пеня в размере 0,3% от оплаты за
квартиру.

Давайте вычислим величину
годовой оплаты за квартиру для двух случаев: при своевременной оплате и при
задержке платежей (в феврале оплата за коммунальные услуги была задержана на 9
дней, в марте – на 30 дней и в августе – 15 дней). На сколько возрастёт оплата
за год при задержке платежей?

Кто выступит в роли
экономиста и произведет расчеты?

В построенной расчетной таблице, в которой помесячно
отображаются суммы для оплаты коммунальных услуг в зимний и летний периоды для
случаев своевременной оплаты и при задержке платежей, для начала вычислим суммы
оплаты коммунальных услуг для месяцев, в который начислялась пеня. Так в ячейку
С16 ведем формулу =В16+($А$2*$А$4*А5), которая определит сумму оплаты за
февраль. Можно ли скопировать эту формулу в ячейку С17, для подсчета суммы
оплаты за март?(можно, но в этом случае ссылки на ячейки А2,А4 должны быть
абсолютными)
.

Осталось ввести формулу = В22+(А3*$А$4*А7) в ячейку
С22.

На следующем шаге определим суммы, необходимые при
оплате за квартиру без пени и с ее наличием, в ячейки В28 и С28 введем формулы.
Как это сделать? (ввести формулу =В12+В13+В14+…+В23 или использовать
инструмент Автосумма)
.

3.Этап целеполагания

Давайте найдем значения максимального и минимального
платежа за год. Как мы это сделаем?

Дляэто в Excel существуют встроенные стандартные функции МИН
и МАКС, и также СУММ и СРЗНАЧ.

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

4.   Изучение
нового материала

Табличный процессор располагает
множеством стандартных функций, которые можно использовать в вычислениях.
Наличие большого количества стандартных функций позволяет не только
автоматизировать процесс вычислений, но и сэкономить время. Функция —
это программа, которая выполняет определенные операции или вычисляет некоторую
величину, например итоговое значение, среднее значение, величину ежемесячных
процентных отчислений или среднее геометрическое группы чисел.

Функция вызывается по имени, после которого в скобках
следуют аргументы. Аргументами функции могут быть числа, тексты, ссылки на
ячейки или диапазоны ячеек. Если аргументов несколько, то они перечисляются
через точку с запятой.

Аргумент

Примеры

Число

КОРЕНЬ(100)

Ссылка

SIN(F25)

Выражение

КОРЕНЬ(D15+3*G8)

Вложеннаяфункция

ABS(SIN(F25))

Диапазон (блок) ячеек

СУММ(А1:В5)

Выделим ячейку B30, введем знак = и наберем имя
функции: =МАКС(). Правильному вводу помогает появившаяся подсказка. Аргумент
функции (адрес диапазона В12:В23)можно набрать с клавиатуры, но лучше ввести
выделением этого диапазона мышью. В завершение ввода аргумента незабудем
закрыть скобку и щелкнем мышью по любой свободной ячейке. В ячейке B30 будет
отображен результат вычислений.

Содержащие функции выражения можновводить также и в
строке формул. Эти выражения могут содержатьнесколько функций.

Мы сегодня уже вспоминали инструмент Автосумма. Рядом
c ней находится значок выпадающего списка, в котором можно выбратьеще несколько
часто встречающихся функций: Среднее, Максимум, Минимум, а также перейти к
спискам других функций.

Следует быть внимательным при использовании этой
кнопки, поскольку табличныйпроцессор автоматически пытается выделитьдиапазон
ячеек, для которых предполагаетсявыполнить выбранное действие. При
необходимости это выделение нужно изменить и лишь затем нажать клавишу Ввод или
кнопку.

Сейчас с помощью этого инструмента найдем минимальное
значение платежа за год. Выделим ячейку В31. Нажмем кнопку Автосумма. Из
выпадающего списка выберем функцию МИН, выделим требуемый диапазон ячеек и
нажмем Ввод. В ячейке B31отображен результат выполнения.

Количество стандартных функций в MS Excel очень
велико. Дляоблегчения поиска они сгруппированы по категориям. Список всех
категорий функций можно вызвать:

·    
нажатием кнопкиfx в
строкеформул,

·    
выбором пункта Другие
функции
в выпадающем спискекнопкиАвтосумма,

·    
либо с помощью меню Формулы
→ Вставить функцию
.

Категория Полный алфавитный перечень содержит
все функции,расположенные в алфавитном порядке. Наиболее часто
используютсяфункции из категорий Дата и время, Математические, Статистические.

Для повторных вычислений удобна категория 10
недавно использовавшихся
, которая хранит список 10 последних использованных
функций.После выбора категории появляется список соответствующих функций.

Избежать ошибок при вводе имени функции и адресов
ячеек позволяет использование Мастера функций. Работа с Мастером
функцийвключает два шага. На первом шаге из списка выбирают нужную функцию. На
втором шаге открывается новое окно, в которомвводят аргументы выбранной
функции. Ссылки лучше невводить вручную, а указывать мышью ячейку или диапазон.

5.
Физкультминутка.

А теперь немного отдохнем: быстро-быстро поморгайте,
посмотрите вдаль, посмотрите на кончик носа, закройте глаза. Представьте, вы в
теплой квартире сидите перед телевизором, пьете чай, играете в смартфон,
батарея которого на исходе и вдруг выключается свет. А все почему? Потому что
работники службы Брестэнерго приехали отключать электроэнергию соседу, не оплатившему
коммунальные услуги.

6.
Закрепление изученного материала.

И так вы оценили важность электроэнергии в нашей
жизни? Как будущему владельцу жилья или экономисту, не менее важно знать, как
подсчитывается размер оплата за коммунальные услуги. Что же включают в себя
коммунальные услуги и как они подсчитываются?  Основные коммунальные услуги:
электроэнергия, водоснабжение, газ.

Кто знает, как подсчитать сумму оплаты за услуги
электроэнергии? Какие данные необходимы для этого?(Надо знатьпоказания
счетчика за текущий месяц и прошлый, а также тариф)

Тариф на услуги энергоснабжения, отопления и
водоснабжения зависит от многих показателей.

Разделитесь на 3 группы и изучите тарифы на
электроэнергию, водоснабжение и потребление природного газа и дайте ответ на 1
задание из практической ратобы.

(Ученики разбиваются на 3 группы и
получают задание, после работы, представитель группы рассказывает, что они узнали).

Теперь каждая группа сделайте первое задание из ваших
практических работ.

Первая группа
скажите
, какая должна быть
формула в ячейке В2, чтобы посчитать нормы расхода воды в
литрах на одного человека в месяц, в котором 30 дней?

Вторая группа, какая должна быть формула в ячейке В2, чтобы посчитать стоимость оплаты за использование
электроэнергии, если в ячейке А2 помещена информация о
количестве электроэнергии, израсходованной в квартире, в которой нет
электрической плиты и системы централизованного горячего водоснабжения и снабжения
природным газом.

Третья группа, какая должна быть формула в ячейке В2, чтобы
посчитать стоимость оплаты за использованный природный газ, если в ячейке А2 помещена информация о количестве кубов, израсходованных в
квартире со счетчиком, в которой нет индивидуальных газовых отопительных
приборов?

Ребята, как вы думаете, сумма оплаты (расход) каких
коммунальных услуг может нами регулироваться? (электроэнергия,
водоснабжение, природный газ)

Да, действительно. Ведь при бережном и экономном
отношении к этим ресурсам мы сократим расход, а значит, уменьшим и сумму
оплаты.

Приступим к практической работе. Необходимо произвести
расчеты, в соответствии с тарифами, используя стандартный функции и ссылки.

7.Контроль
знаний и умений

Тестовое
задание

1.В
какой вкладке расположены «Встроенные функции»?

ÿ         
вставка

ÿ         
формулы

ÿ         
главная

ÿ         
вид

2.Какой
категории нет во «Встроенных функциях»?

ÿ         
математические

ÿ         
финансовые 

ÿ         
физические

ÿ         
логические

3.
Какую встроенную функцию необходимо внести в ячейку, чтобы найти минимальное
значение в диапазоне ячеек с В2 по В13?

ÿ        
=МИН(с B2 по B13)

ÿ        
=МИН(B2-B13)

ÿ        
=МИН(B2:B13)

ÿ        
=МИН(B1:B13)

4.
Какую встроенную функцию необходимо внести в ячейку, чтобы найти максимальное
значение в диапазоне ячеек с В3 по В21?

ÿ         
=МАКС(с B3 по B21)

ÿ         
=МАКС(B3-B21)

ÿ         
=МАКС(B3:B21)

ÿ         
=МАКС(B1:B21)

5.  Какие
из записей функции являются правильными?

ÿ         
 =СРЗНАЧ(А1#А2);

ÿ         
 =СРЗНАЧ(А1;А2);

ÿ         
 =СРЗНАЧ(А1:А2);

ÿ         
 =СРЗНАЧ(А1..А2);

6. При работе в
электронной таблице MS Excel для чего предназначена кнопка,
показанная на рисунке hello_html_32be0d89.png?

ÿ         
построение диаграммы

ÿ         
вычисление суммы

ÿ         
сортировка по возрастанию

ÿ         
сортировка по убыванию

ÿ         
вызов мастера функций

Дополнительно. Посмотрите на доску и скажите, что значат
эти обозначения в табличном процессоре.

8.Подведение
итогов

Давайте
вспомним цель урока, научиться использовать стандартные функции. В процессе сегодняшнего  урока по
теме «Электронные таблицы» мы с вами закрепили полученные знания и
навыки работы с табличным процессором.  Познакомились с новыми
возможностями Excel. Практическая работа в группах показала хорошие знания
электронной таблицы, которые можно применять для решения задач прикладного
характера.
Заверши фразу:(на доске)Сегодня я узнал…

Ваши отметки сегодня..

9.Домашнее
задание

Изучить материал §
15 , ответить на вопросы 1 – 3

Сильным ученикам:
продумать выполнение задания 2 стр. 102.

Подождите!

Не закрывайте страницу. Нейросеть пишет ответ. Он появится тут.

Этот ответ написан нейросетью.

Искуственный интеллект во многом преуспевает, но в некоторых областях может давать неточные ответы.
Если вам не понравился ответ, попробуйте задать его более развёрнуто и конкретно, используя точные параметры.

Ответ нейросети:

ArrayList является реализацией интерфейса List в Java. Он представляет собой динамический массив, который может содержать элементы любого типа данных, включая целочисленные значения. Цель задачи — найти минимальное, максимальное и среднее арифметическое значение из этого списка.

Для этого можно использовать методы Collections.min() и Collections.max() из класса Collections. Collections.min() находит минимальный элемент в списке, а Collections.max() находит максимальный элемент в списке.

Чтобы найти среднее арифметическое значение, необходимо выполнить следующие шаги:

1. Объявить переменную для хранения суммы элементов в списке.
2. Пройтись по всем элементам списка и добавить каждый элемент в переменную для хранения суммы.
3. Разделить переменную для хранения суммы на количество элементов в списке, чтобы получить среднее арифметическое значение.

Пример кода:

«`
import java.util.ArrayList;
import java.util.Collections;

public class FindMinMaxAvg {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(10);
list.add(20);
list.add(30);
list.add(40);

int minValue = Collections.min(list);
int maxValue = Collections.max(list);

int sum = 0;
for (Integer value : list) {
sum += value;
}

double avgValue = (double) sum / list.size();

System.out.println(«Minimum value: » + minValue);
System.out.println(«Maximum value: » + maxValue);
System.out.println(«Average value: » + avgValue);
}
}
«`

В этом примере мы создали список ArrayList и добавили в него несколько целочисленных значений. Затем мы использовали методы Collections.min() и Collections.max() для поиска минимального и максимального значений.

Для нахождения среднего арифметического значения мы использовали цикл for для обхода всех элементов в списке и добавления каждого элемента в переменную sum. Затем мы разделили значение sum на количество элементов в списке, чтобы получить среднее арифметическое значение.

В результате выводится минимальное, максимальное и среднее арифметическое значения списка. Использование метода Collections.max() упрощает поиск максимального значения, так как не нужно перебирать все элементы вручную.

⚠️Зарепортить пост!

Как найти минимальное число

Нахождение максимального и минимального значения.

Нахождение максимального и минимального значения.

В этой статье мы рассмотрим сравнение чисел.

При сравнении чисел мы выбираем то число, которое банально больше. Ну, например, при сравнении числа 2 и 3 мы выберем максимальным числом 3, а минимальным 2. Графически 3 на числовой оси X находится правее, чем 2.

Я покажу один из самых рациональных алгоритмов выбора максимального и минимального числа, подходящего для общего случая. Это присвоение для переменных, выражающих минимальное и максимальное значение, значение одного из элементов заданных чисел/массива.

Ну теперь перейдем к практике.

Простая программка для сравнения 3 чисел(min_max_1):

Program Min_Max;
var a,b,c,min,max:integer;
begin
write(‘Введите 3 числа для сравнения (через пробел) : ‘);read(a,b,c);
min:=a;max:=a;
if b>max then max:=b;if b<min then min:=b;
if c>max then max:=c;if c<min then min:=c;
writeln(‘Максимальное число : ‘,max);
writeln(‘Минимальное число : ‘,min);
readln;
end.

Теперь подробнее.

Ну смысл этой строки понятен, если хотите, можете выразить переменные через тип real, но особой разницы нету.

write(‘Введите 3 числа для сравнения (через пробел): ‘);read(a,b,c);

Мы вводим три числа через пробел, т.к. здесь оператор write.

Здесь мы присваиваем переменным min и max значение одного из введенных чисел, если вы хотите разнообразия, то можете вместо переменной a написать b или c.

if b>max then max:=b; if b<min then min:=b;
if c>max then max:=c; if c<min then min:=c;

Здесь происходит сравнение оставшихся введенных переменные со значениями переменных min и max.

Ну здесь у нас происходит вывод ответа, думаю, объяснять где, какое значение выводится не надо=)

MEX (Minimum EXcluded) Алгоритм поиска минимального отсутствующего числа

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

Мы разберем три алгоритма и посмотрим на их производительность.

Добро пожаловать под cut

Предисловие

Перед тем как начать, хотелось бы рассказать — почему я вообще за этот алгоритм взялся?
Всё началось с задачки на OZON.

Как видно из задачи, в математике результатом работы функции MEX на множестве чисел является наименьшим значением из всего набора, который не принадлежит этому множеству. То есть это минимальное значение набора дополнений. Название «MEX» является сокращением для «Minimum EXcluded» значение.

И покопавшись в сети, оказалось, что нет общепринятого алгоритма нахождения MEX…

Есть решения в лоб, есть варианты с дополнительными массивами, графами, но, как-то всё это раскидано по разным углам интернета и нет единой нормальной статьи по этому поводу. Вот и родилась идея — написать эту статью. В этой статье мы разберем три алгоритма нахождения MEX и посмотрим, что у нас получиться по скорости и по памяти.

Код будет на языке C#, но в целом там не будет специфичных конструкций.

Базовый код для проверок будет таким.

И еще один момент в статье я часто упоминаю слово «массив», хотя более правильным будет «множество», то заранее хочу извиниться перед теми, кому будет резать слух данное допущение.

Примечание 1 на основе комментариев: Многие придрались к O(n), мол все алгоритмы O(n) и по фигу, что «O» везде разное и не даёт фактически сравнить количество итераций. То для душевного спокойствия поменяем O на T. Где T более-менее понятная операция: проверка или присвоение. Так, как я понимаю, всем будет проще

Примечание 2 на основе комментариев: мы рассматриваем случай когда исходное множество НЕупорядоченное. Ибо сортировка это множества — тоже требует времени.

1) Решение в лоб

Как нам найти «минимальное отсутствующие число»? Самый простой вариант – сделать счетчик и перебирать массив до тех пор, пока не найдем число равное счетчику.

Максимально базовый случай. Сложность алгоритма составляет T(n*cell(n/2))… Т.к. для случая нам нужно будет перебрать все числа т.к. совершить 15 операций. А для полностью заполного ряда из 100 числе 5050 операций… Так себе быстродейственность.

2) Просеивание

Второй по сложности вариант в реализации укладывается в T(n)… Ну или почти T(n), математики хитрят и не учитывают подготовку данных… Ибо, как минимум, — нам нужно знать максимальное число во множестве.

С точки зрения математики выглядит так.

Берется битовый массив S длинной m (где m – длина массива V) заполненный 0. И в один проход исходному множеству (V) в массиве (S) ставятся 1. После этого в один проход находим первое пустое значение. Все значения больше m можно просто игнорировать т.к. если в массиве «не хватает» значений до m, то явно будет меньше длины m.

Т.к. «математики» – хитрые люди. То они говорят, что алгоритм T(n) ведь проход по исходному массиву всего один…

Вот сидят и радуются, что такой крутой алгоритм придумали, но правда такова.
Первое — нужно пройтись по исходному массиву и отметить это значение в массиве S T1(n)
Второе — нужно пройтись по массиву S и найти там первую попавшеюся свободную ячейку T2(n)
Итого, т.к. все операции в целом не сложные можно упростить все расчеты до T(n*2)

Но это явно лучше решения в лоб… Давайте проверим на наших тестовых данных:

  1. Для случая : В лоб: 11 итераций, просеивание: 8 итераций
  2. Для случая : В лоб: 15 итераций, просеивание: 10 итераций
  3. Для случая : В лоб: 441 итерация, просеивание: 108 итерация
  4. Для случая : В лоб: 500500 итераций, просеивание: 2000 итераций

Давайте сделаем это, и оптимизируем код.

Что мы тут сделали. Во-первых, в 64 раза уменьшили количество оперативной памяти, которая необходима.

Во-вторых, оптимизировали финальную проверку: мы проверяем сразу блок на вхождение первых 64 значений: if (sieve[i] != maxInblock) и как только убедились в том, что значение блока не равно бинарным 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111, только тогда ищем уже вхождение на уровне блока: ((sieve[i] & (one << j)) == 0

В итоге алгоритм просеивание нам дает следующие результат:

  1. Для случая : просеивание: 8 итераций, просеивание с оптимизацией: 8 итераций
  2. Для случая : просеивание: 10 итераций, просеивание с оптимизацией: 11 итераций
  3. Для случая : просеивание: 108 итерация, просеивание с оптимизацией: 108 итерации
  4. Для случая : просеивание: 2000 итераций, просеивание с оптимизацией: 1056 итераций

T(n*3) мы превратили в T(n*2) + T(n / 64) в целом, чуть увеличили скорость, да еще объём оперативной памяти уменьшили аж в 64 раза. Что хорошо)

3) Сортировка

Как не сложно догадаться, самый простой способ найти отсутствующий элемент во множестве – это иметь отсортированное множество.

Самый быстрый алгоритм сортировки — это «quicksort» (быстрая сортировка), которая имеет сложность в T1(n log(n)). И итого мы получим теоретическую сложность для поиска MEX в T1(n log(n)) + T2(n)

Шикарно. Ничего лишнего.

Проверим количество итераций

    Для случая : просеивание с оптимизацией: 8, сортировка:

Вот у меня и возникла идея оптимизировать quicksort для поиска MEX. Данный вариант алгоритма я не находил в интернете, ни с точки зрения математики, и уж тем более с точки зрения программирования. То код будем писать с 0 по дороге придумывая как он будет выглядеть 😀

Но, для начала, давайте вспомним как вообще работает quicksort. Я бы ссылку дал, но нормальное пояснение quicksort на пальцах фактически нет, создается ощущение, что авторы пособий сами разбираются в алгоритме пока его рассказывают про него…

Так вот, что такое quicksort:
У нас есть неупорядоченный массив
Нам потребуется «случайное число», но лучше взять любое из массива, — это называется опорное число (T).

И два указателя: L1 – смотрит на первый элемент массива, L2 смотрит на последний элемент массива.

0, 12, 4, 7, 1
L1 = 0, L2 = 1, T = 1 (T взял тупа последние)

Первый этап итерации:
Пока работам только с указателем L1
Сдвигаем его по массиву вправо пока не найдем число больше чем наше опорное.
В нашем случае L1 равен 8

Второй этап итерации:
Теперь сдвигаем указатель L2
Сдвигаем его по массиву влево пока не найдем число меньше либо равное чем наше опорное.
В данном случае L2 равен 1. Т.к. я взял опорное число равным крайнему элементу массива, а туда же смотрел L2.

Третей этап итерации:
Меняем числа в указателях L1 и L2 местами, указатели не двигаем.
И переходим к первому этапу итерации.
Эти этапы мы повторяем до тех пор, пока указатели L1 и L2 не будет равны, не значения по ним, а именно указатели. Т.е. они должны указывать на один элемент.

После того как указатели сойдутся на каком-то элементе, обе части массива будут всё еще не отсортированы, но уже точно, с одной стороны «обединённых указателей (L1 и L2)» будут элементы, которые меньше T, а со второй больше T. Именно этот факт нам и позволяет разбить массив на две независимые группы, которые можно сортировать в разных потоках в дальнейших итерациях.

Проверим реальное количество итераций:

  1. Для случая : просеивание с оптимизацией: 8, сортировка: 11 итераций
  2. Для случая : просеивание с оптимизацией: 11 итераций, сортировка: 14 итераций
  3. Для случая : просеивание с оптимизацией: 108 итерации, сортировка: 1520 итераций
  4. Для случая : просеивание с оптимизацией: 1056 итераций, сортировка: 500499 итераций

Т.е. если мы точно знаем, что в одной из частей нет элементов больше определённого значения, то само это отсутствующие число нужно искать во второй части массива. В целом так работает алгоритм бинарного поиска.

В итоге у меня родилась мысль упростить quicksort для поиска MEX объединив его с бинарным поиском. Сразу скажу нам не нужно будет полностью отсортировывать весь массив только те части, в которых мы будем осуществлять поиск.

В итоге получаем код

Проверим количество итераций

  1. Для случая : просеивание с оптимизацией: 8, сортировка MEX: 8 итераций
  2. Для случая : просеивание с оптимизацией: 11 итераций, сортировка MEX: 4 итераций
  3. Для случая : просеивание с оптимизацией: 108 итерации, сортировка MEX: 1353 итераций
  4. Для случая : просеивание с оптимизацией: 1056 итераций, сортировка MEX: 999 итераций

Итого

Мы получили разные варианты поиска MEX. Какой из них лучше — решать вам.

В целом. Мне больше всех нравится просеивание, и вот по каким причинам:
У него очень предсказуемое время выполнения. Более того, этот алгоритм можно легко использовать в многопоточном режиме. Т.е. разделить массив на части и каждую часть пробегать в отдельном потоке:

Единственное, нужен lock при записи sieve[values[i] / size]. И еще — алгоритм идеален при выгрузке данных из базы данных. Можно грузить пачками по 1000 штук например, в каждом потоке и всё равно он будет работать.

Но если у нас строгая нехватка памяти, то сортировка MEX – явно выглядит лучше.

Pascal: Занятие № 4. Логический тип данных Boolean, поиск максимума и минимума в Паскале

Мы уже научились писать программы, основанные на линейных алгоритмах, в Паскале. И даже уже составляем нелинейные алгоритмы — с ветвлением — в которых используются логические выражения, которые принимают значения true или false .

Значения логического типа:

TRUE

FALSE

В примере ниже, на экран выводится результат логического выражения:

var A: integer; begin A := 5; write(A > 0); end.

Для записи результата логического выражения используется специальная логическая переменная, которая имеет в Паскале тип boolean и может также принимать одно из двух значений — true или false .

Посмотрим, как работает та же самая задача с логической переменной:

var A: integer; b: boolean; begin A := 5; b:=A > 0; write(b); end.

var a:boolean; begin a:=true; if a=true then writeln (‘истина’) else writeln(‘ложь’); end.

Для создания сложных условий используются специальные логические операции: and , or , not и xor .

[Название файла: task_bool1.pas ]

Рассмотрим пример с использованием логической операции XOR :

program Boolean; var x,y: integer; c :boolean; begin write(‘Введите X, Y: ‘); read(x,y); c := (Odd(x)) xor (Odd(y)); writeln(‘Только одна из переменных X и Y имеет нечетное значение — ‘, c); end.

Рассмотрим еще одно решение задачи в Паскале с использованием логической переменной:

[Название файла: task_bool2.pas ]

Рассмотрим решение более сложной задачи с переменной логического типа:

const a=348; var d_n, s_n, e_n: integer; flag:boolean; begin flag:=false; s_n:=a div 100; d_n:=((a mod 100)div 10); e_n:=a mod 10; if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then flag:=true; writeln(flag); end.

Здесь каждый разряд получается путем использования операций деления нацело и взятия остатка от деления: s_n — это цифра сотого разряда, d_n — цифра десятого разряда, e_n — единицы.

[Название файла: task_bool3.pas ]

Минимальное и максимальное число в Паскале.

[Название файла: task_bool4.pas ]

При организации поиска минимального или максимального числа среди ряда чисел всегда на помощь приходит старенький «бабушкин» алгоритм:

  • Представим ситуацию, что мы жарим пирожки, и уже нажарили целую большую горку; теперь надо выбрать из них самый большой, т.е. в нашем случае максимальный.
  • Берем верхний пирожок, т.е. первый, и говорим, что он пока самый большой и откладываем его в сторону.
  • Затем берем второй и сравниваем с самым большим, если этот второй пирожок оказывается больше — откладываем его на место «бывшего самого большого» и говорим, что теперь он самый большой.
  • Берем следующий и повторяем действия. Так осуществляем данную процедуру со всеми пирожками.

Иногда в качестве первоначального максимума назначается самое малое возможное число (в зависимости от контекста задачи). А в качестве минимума — напротив, самое большое возможное число. Например, если сказано, что необходимо найти максимальное / минимальное среди положительных чисел, меньших 1000, то:

max:=integer.MinValue;; // минимальное среди типа Integer min:=integer.MaxValue;; // максимальное среди типа Integer

print(max(2,8)); // 8 print(min(2,8)); // 2

Рассмотрим теперь решение задачи на Паскале нахождения максимального числа:

var i, chislo, max:integer; begin // первое введенное число //сразу определяем как максимальное: readln(max); for i:=2 to 10 do begin readln (chislo); if chislo > max then max:= chislo end; writeln(max) end.

begin // первое введенное число //сразу определяем как максимальное: var maximum:=readInteger(); for var i:=2 to 10 do begin var chislo:=readInteger(); // используем стандартную функцию max(): maximum := max(chislo,maximum); end; writeln(maximum) end.

Аналогично осуществляется поиск минимального из чисел.

Для лучшего понимания темы поиска максимального или минимального значения предлагаем посмотреть видео урок:

[Название файла: task_max1.pas ]

[Название файла: task_max2.pas ]

[Название файла: task_max3.pas ]

Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:

Понравилась статья? Поделить с друзьями:
  • Как найти неизвестное слагаемое онлайн
  • Как составить для налоговой письмо по налогу на прибыль
  • Как найти песню которую скачал на телефон
  • Как найти маски для фото в инстаграм
  • Как найти темп прироста в коэффициентах