Алгоритмы
Исключительно важно использовать язык блок-схем при разработке алгоритма решения задачи. Решение одной и той же задачи может быть реализовано с помощью различных алгоритмов, отличающихся друг от друга как по времени счета и объему вычислений, так и по своей сложности. Запись этих алгоритмов с помощью блок-схем позволяет сравнивать их, выбирать наилучший алгоритм, упрощать, находить и устранять ошибки.
Отказ от языка блок-схем при разработке алгоритма и разработка алгоритма сразу на языке программирования приводит к значительным потерям времени, к выбору неоптимального алгоритма. Поэтому необходимо изначально разработать алгоритм решения задачи на языке блок-схем, после чего алгоритм перевести на язык программирования.
При разработке алгоритма сложной задачи используется метод пошаговой детализации. На первом шаге продумывается общая структура алгоритма без детальной проработки отдельных его частей. Блоки, требующие детализации, обводятся пунктирной линией и на последующих шагах разработки алгоритма продумываются и детализируются.
В процессе разработки алгоритма решения задачи можно выделить следующие этапы:
- Этап 1 . Математическое описание решения задачи.
- Этап 2 . Определение входных и выходных данных.
- Этап 3 . Разработка алгоритма решения задачи.
1.2. Задача о пути торможения автомобиля
Рассмотрим последовательность этапов решения задачи на компьютере (см. рис. 2.1) на примере простой задачи.
Водитель автомобиля, движущегося с некоторой постоянной скоростью, увидев красный свет светофора, нажал на тормоз. После этого скорость автомобиля стала уменьшаться каждую секунду на 5 метров. Требуется найти расстояние, которое автомобиль пройдёт до полной остановки.
Первый этап. Дано:
υ0x — начальная скорость;
υх — конечная скорость (равна нулю, так как автомобиль остановился);
ах — ускорение (равно -5 м/с 2 ).
Требуется найти: sx — расстояние, которое автомобиль пройдёт до полной остановки.
Второй этап. В данной ситуации мы имеем дело с прямолинейным равноускоренным движением тела. Формула для перемещения при этом имеет вид:
Упростим эту формулу с учётом того, что конечная скорость равна нулю: . При аx = -5 м/с 2 получим: (при условии задания скорости в метрах в секунду и вычислении пути в метрах).
Третий этап. Представим алгоритм решения задачи в виде блок-схемы:
Четвёртый этап. Запишем данный алгоритм на языке программирования Паскаль:
Пятый этап. Протестировать составленную программу можно, используя информацию, что при скорости 72 км/ч с начала торможения до полной остановки автомобиль проходит 40 метров.
Шестой этап. Выполнив программу несколько раз при различных исходных данных, можно сделать вывод: чем больше начальная скорость автомобиля, тем большее расстояние он пройдёт с начала торможения до полной остановки.
Применяя компьютер для решения задач, всегда следует помнить, что наряду с огромным быстродействием и абсолютной исполнительностью у компьютера отсутствуют интуиция и чувство здравого смысла и он способен решать только ту задачу, программу решения которой ему подготовил человек.
Прикладные программы для выполнения на компьютере конкретных задач.
Прикладные программы для выполнения на компьютере конкретных задач.
Как они все вместе одним словом называются.
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобретя в каталоге.
Электронное приложение к уроку
Файлы | Материалы урока | Ресурсы ЭОР |
Cкачать материалы урока
SMART
Один из самых популярных подходов, который позволяет собрать воедино всю необходимую информацию и сформулировать задачу максимально четко и понятно. Изначально использовался для постановки целей, но подходит и для задач.
Буквы аббревиатуры обозначают критерии правильно поставленной задачи:
Time bound – ограниченная во времени.
Пример. Допустим, заказчику нужно получить больше трафика из контекстной рекламы в высокий сезон – с июня по август. Для этого он ставит задачу исполнителю – подрядчику по контекстной рекламе. Чтобы она соответствовала SMART-критериям, ее можно сформулировать так:
Увеличить трафик с контекстной рекламы на 20% к 1.06.2020 за счет запуска РСЯ, Google Ads и YouTube.
В такой формулировке задача:
конкретная – показывает, какой нужно получить результат и каким способом;
измеримая – указан процент, на который нужно увеличить трафик;
достижимая – учитывая, что РСЯ, Google Ads и YouTube еще даже не запускали;
значимая – компании важно получить больше трафика в сезон, чтобы максимизировать прибыль;
ограниченная во времени – указан срок.
Модель ориентирована на постановку задач программистам, так как работает по принципам алгоритма, но и для взаимодействия с сотрудниками и подрядчиками других специальностей тоже подойдет. Особенно полезна для работы с новичками, так как раскладывает задачу и процесс работы над ней по полочкам.
В отличие от метода SMART, здесь буквы аббревиатуры обозначают не критерии, а главы ТЗ и отчасти этапы работы над задачей:
Test1 – какой результат нужно получить или что конкретно сделать;
Operation – какие действия нужно выполнить, чтобы получить результат;
Test2 – как мы поймем, что двигаемся к результату;
Exit – как мы поймем, что достигли результата.
Такой подход помогает исполнителю лучше понять задачу, потому что показывает, как достигнуть результата и убедиться, что получили именно то, что нужно.
Четкий алгоритм постановки задачи по TOTE
Пример. Специалист по контекстной рекламе взял в помощники новичка и решил начать практику с самого простого, например с составления объявлений. Такая задача, поставленная по TOTE, может выглядеть так:
Подготовить объявления для рекламной кампании Ателье
T1: Нужно составить объявления в соответствии с согласованной с клиентом концепцией (в файле) по шаблону (прилагаю) и нашим правилам (в чек-листе). Объявления должны содержать по два заголовка, тексты, быстрые и отображаемые ссылки.
O: Чек-лист задачи:
1. Изучить концепцию и чек-лист по созданию объявлений;
2. Скопировать в шаблон ключевые фразы и заполнить все поля для каждой;
3. Проверить объявление по чек-листу и на соответствие ограничениям Директа;
4. Согласовать результат.
T2: Чтобы не переделывать, делай все в этой последовательности.
E: Результатом будет заполненный и согласованный шаблон, готовый к загрузке в Яндекс.Директ.
Как правильно ставить задачи
Эффективная постановка задач — это не примитивное составление чек-листа . Она состоит из нескольких компонент:
- Грамотное распределение ролей;
- Конкретизация действия и результата;
- Назначение ответственных;
- Ограничение по срокам;
- Использование инструментов трекинга.
Распределение ролей
Прежде чем ставить задачи, необходимо определиться с ролями, которые исполняют все участники коллектива.
Идеальный процесс подбора команды для выполнения стратегического плана выглядит следующим образом:
- Первоочередная задача руководителя — сформулировать полный перечень компетенций, необходимых для реализации проекта.
- Согласно компетенциям описывается структура отдела или всей команды, функционал и обязанности каждого участника.
- Руководитель набирает специалистов, наиболее точно подходящих для выполнения обязанностей на описанных позициях.
- Учитывая компетентность, сильные и слабые стороны всех подчинённых, руководитель формулирует тактические и стратегические задачи, назначает исполнителей.
К сожалению, на практике далеко не всегда руководитель наделён полномочиями по подбору персонала и корректировке состава подопечного ему коллектива. Поэтому во многих случаях приведённый план организации командной работы оказывается весьма ограниченным.
Тем не менее, необходимо по максимуму использовать все доступные возможности по распределению ролей в коллективе. Во-первых, следует начать с оценки навыков каждого подчинённого. После этого — построить такую структуру ответственности и коммуникаций, при которой существующий состав специалистов покажет наибольшую эффективность.
Каждый должен ясно понимать свою роль в общем деле, границы возможностей и ответственности. Расстановка игроков на поле поможет:
- Исключить пересечение обязанностей разных сотрудников, при котором одна и та же работа по недосмотру будет выполняться дважды или трижды.
- Исключить простаивающие без исполнителя задачи.
Конкретизация действия и результата
Далее следует упаковать стратегию или цели на ближайшую перспективу в набор конкретных действий, выполняя которые ваши сотрудники достигнут намеченного результата.
Ошибка руководителей заключается в том, что многие привыкли использовать абстрактные формулировки. Например, задачи они ставят в форме наименования — в именительном падеже.
— Отгрузка керамогранита.
Такие формулировки не подталкивают к действию, ассоциируются с пассивной констатацией. Вместе с тем, в данной постановке нет деталей, которые помогут разобраться в том, как приступить к задаче и какой результат получить.
— Отгрузить 2 тонны керамогранита 60х60 на склад в Одинцово, отзвониться в офис и отметиться в ведомости.
Здесь, как видно, процесс расписан намного подробнее. Вместо ничего не значащего «наименования» задачи, ровным счётом ничего не сообщающего сотруднику, подобная развёрнутая формулировка даёт инструкцию к действию.
Это может показаться элементарным или не заслуживающим внимания, но смена существительных на глаголы в формулировке задачи:
- Гораздо сильнее ассоциируется с действием;
- Помогает сориентироваться и начать решать задачу;
- Придаёт мотивации.
Назначение ответственных
Сформулированная задача немедленно адресуется конкретному исполнителю.
Как уже было обозначено ранее, сами задачи во многом проистекают из возможностей и компетенций коллектива. В связи с этим каждая задача отчасти ставится под заранее определённых исполнителей и немедленно им адресуется.
Назначая тех ответственных, которые по-вашему лучше других справятся с порученным, вы обеспечиваете наилучший возможный результат работы.
Наличие ответственных позволяет всегда держать процесс под контролем. Вы точно знаете, какой сотрудник в данный момент занят той или иной задачей. Это позволяет в любой момент запросить статус, внести корректировки, дать обратную связь.
По окончании выполнения работ подчинённый предоставляет готовые материалы, качество которых — исключительно его зона ответственности. Таким образом, при наличии недочётов всегда ясно, кому направлять вопросы и замечания.
Ограничение по срокам
Не менее важны ограниченные сроки выполнения задания.
Если сроки не установлены, исполнителю может показаться, что они не ограничены, а потому можно совершенно спокойно предаваться прокрастинации.
Чтобы исключить неразбериху и простой в работе, сразу после назначения ответственных необходимо ставить дедлайны. Даже если невозможно точно оценить масштаб работ, следует назначить промежуточную контрольную точку. Вплоть до этой даты сотрудник должен сделать максимум возможного в рамках выполнения поставленной задачи.
В день сдачи промежуточного результата вы вместе с подчинённым должны:
- Оценить темп работы;
- Обсудить и решить возникшие вопросы, предложения;
- Назначить примерные сроки полного завершения выполнения задачи.
Трекинг задач
Чтобы не только ставить задачи, но и получать качественный результат, необходимо владеть инструментами, которые позволяют контролировать ход работ и все нюансы процесса.
Вместо того, чтобы пытаться по памяти восстанавливать все задачи и их аспекты, лучше изначально документировать эту информацию.
Но не все инструменты улучшают наглядность процессов и вашу производительность как контролёра.
Например, обычный блокнот может показаться подходящим решением, но на самом деле вы, скорее, запутаетесь, фиксируя ход работ ручкой на бумаге. Обычно при трекинге задач необходимо намного больше места, чем может предоставить стандартная страница записной книжки, а постоянная корректировка и добавление статусов в ней вовсе невозможны.
Лучше применять электронные инструменты — тем более, что сейчас мы всегда имеем под рукой гаджет, но нередко не способны найти ручку. Все программные решения имеют адаптированные мобильные версии и приложения, поэтому полный набор данных по задачам всегда доступен в смартфоне, на планшете и на персональном компьютере.
В зависимости от масштаба проекта, может применяться программное обеспечение различной мощности.
- Для одиночных исполнителей, стартапов и небольших отделов рабочим вариантом станут: Google Docs, Trello, Basecamp, Wunderlist, Slack.
- Крупные проекты, требующие серьёзных затрат человеко-часов, используют: JIRA, Redmine, недавно вышедший Яндекс.Трекер. В отдельных случаях используются CRM , если решаемая проблема шире простой постановки и контроля задач.
Интеграции Calltouch
- Быстрая настройка без путанных инструкций
- CRM-системы, рекламные площадки и другие сервисы: более 50 готовых решений
- Webhooks и API для безопасной передачи событий
- Автоматическая передача данных от показов и бюджетов до сделок и ROI
Корпоративные решения, безусловно, следует внедрять с должной осмотрительностью и после тщательного анализа пула ресурсов компании. Обычно для подобного привлекают интеграторов, чья специализация — именно установка систем трекинга процессов.
Для начала можно опробовать простые решения из первого пункта. Иногда могут подойти даже боты для Telegram и Slack, но только в случае небольшого объёма исполнителей и конкретики по задачам. Бот сможет фиксировать информацию, оповещать и уведомлять участников команды об обновлениях в статусах.
Решения из коробки — Trello, Basecamp, Wunderlist — обладают продуманным интерфейсом и продвинутым функционалом. В них предусмотрена категоризация задач, наглядная система статусов, удобное перетаскивание задач между этапами, комментарии, исполнители и оповещения. Они отлично подходят для стандартных задач с линейной этапностью.
Тем, кому необходимо пространство для творчества ввиду не очевидной логики процесса, не вписывающегося в рамки таск-трекеров, подойдёт Google Spreadsheets. В онлайн-таблицах вы сможете выстраивать свою собственную структуру этапов, комментариев и взаимосвязей, наиболее точно отвечающую потребностям проекта.
Сквозная аналитика
- Автоматически соберет данные с рекламных площадок, сервисов и CRM в 1 окне
- Бесплатные интеграции c CRM и другими сервисами: более 50 готовых решений
- Анализируйте воронку продаж от показов до кассы
- Оптимизируйте свой маркетинг с помощью подробных отчетов: дашборды, графики, диаграммы
- Кастомизируйте таблицы, добавляйте свои метрики. Стройте отчеты моментально за любые периоды
Самое главное
- постановка задачи;
- формализация;
- алгоритмизация;
- программирование;
- компьютерный эксперимент.
Для решения задач на компьютере необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.