Какую задачу решает код?
Всем доброго времени суток! Наткнулся на следующую задачу(я не очень давно в программировании, а уж тем более не так долго изучаю питон), и не получается решить :
Какую задачу решает следующий код? (помимо ответа опишите используемый алгоритм)
n, m = map(int, input().split()) mp = dict() mp[0] = 1 sum = 0 res = 0 for i in range(n): x = int(input()) sum += x; if (sum - m) in mp: res += mp[sum - m] if sum in mp: mp[sum] += 1 else: mp[sum] = 1 print(res)
Я примерно понимаю как работает алгоритм, но никак не могу понять какую задачу этот код решает, объясните пожалуйста.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Написать код на Python 3, который решает следующий пример
1+tg(√(2*k)) через циклы while или for, в цикле должно k увеличиваться на единицу.
Какую задачу решает фрагмент?
Какую задачу решает фрагмент? <br> FOR I:= 1 TO 5 DO BEGIN <br> r:=random(9); s:=s+r; <br>.
Какую задачу решает программа
Какую задачу решает программа const nn=100; Var a:array (1..nn,1..nn); i,j,n:integer; begin.
Какую задачу решает предложенный фрагмент
Какую задачу решает предложенный фрагмент программы ? Определите значение массива А после.

Какую задачу решает данная программа?
Не могу понять что считает этот код понятно только массив из 5 рандомных чисел в первой строке, а.
Программирование. Оптимизация по времени и памяти
Запись алгоритма в словесной форме, в виде блок-схемы или на псевдокоде должна быть точна настолько, чтобы позволить исполнителю правильно выполнить алгоритм, при этом изображение команд произвольное. При решении любой задачи на компьютере предполагается, что некоторая информация подвергается обработке по предварительно составленной инструкции, называемой программой. Язык, на котором записывается алгоритм для исполнения компьютером, называется языком программирования. Языки программирования принадлежат к формальным языкам. При записи алгоритма на языке программирования все правила языка должны строго выполняться. Программа — это алгоритм, записанный на языке программирования.
Для записи программ используется конечный набор символов, составляющих алфавит языка программирования. В отличие от привычных алфавитов (например, русского) алфавит языка программирования включает в себя, кроме букв, цифры, знаки препинания, знаки арифметических действий и некоторые другие дополнительные символы. Программа записывается в виде последовательности символов из алфавита своего языка программирования. Естественно, что не любой текст, составленный из символов алфавита, будет правильной программой. Как и в естественных языках, правильность построения программы из символов алфавита можно проверить, используя синтаксис языка программирования.
Синтаксис языка программирования — это набор правил, которые определяют способы построения правильных программ из символов алфавита. Зная синтаксис языка, можно построить алгоритм, который определяет, является ли данный текст правильной программой или нет. Этот алгоритм позволяет компьютеру проверять синтаксическую правильность вводимых в него программ.
Должна быть определена и семантика языка программирования. Семантика языка программирования — это набор правил, по которым исполнитель выполняет программы на этом языке. Пользуясь семантикой языка, можно однозначно определить результат выполнения программы с заданными входными данными.
При чтении программы необходимо сначала определить, к какому виду она относится. Условно программы можно разделить на два вида: простая программа без использования подпрограмм (кроме стандартных процедур ввода\вывода) и программа, использующая подпрограммы (подалгоритмы). Такая программа может включать в свою структуру как стандартные подпрограммы, так и подпрограммы, написанные пользователем.
Для чтения простой программы необходимо выяснить:
- что является входными данными и как они вводятся в программу;
- какие действия последовательно выполняются с помощью каждого функционального узла программы (операторов), т. е. рассмотреть пошаговое выполнение операторов, при этом обратить внимание на роль вспомогательных переменных, массивов и т.д.;
- что является результаты работы программы;
- каковы ограничения по работе алгоритма.
При чтении программы, использующей подпрограммы, необходимо сначала проанализировать, что и как выполняют подпрограммы, каковы их входные и выходные параметры. Затем в основной программе вызовы каждой из подпрограмм рассматривать уже как результат работы соответствующего подалгоритма.
Существенно облегчает чтение программ наличие комментариев — поясняющего текста. Комментарии можно добавлять в любое место программы. Наличие комментариев — обязательное условие хорошо и грамотно написанной программы.
Примеры чтения программ на языках Pascal, QBASIC
Примечание. В приведенных примерах программа приводится для двух языков программирования. В зависимости от того, какой язык программирования изучается, и следует рассматривать ее вариант записи и соответствующие пояснения.
Пример 1. Дана программа на двух языках программирования. Определить, какую задачу она решает.

Решение. Проанализируем тексты программы:
- формируется тело программы и описываются переменные;
- вводятся натуральные числа М и N, причем проверяется условие корректности ввода: числа должны быть положительные. Если введенные значения не удовлетворяют условию, то ввод повторяют, пока условие не будет выполнено;
- выбирается наименьшее значение из М и N, результат записывается в K;
- NOD присваивается значение 1;
- в цикле от двух до K генерируется число I;
- тело цикла — в условном операторе проверяется, является ли значение переменной I одновременно делителем М и N. Если условие выполняется, то текущее значение I сохраняется в переменной NOD; если условие не выполняется, NOD не изменит своего значения;
- после перебора всех значений I в NOD или запишется наибольший делитель двух чисел М и N, или останется значение 1;
- последний оператор программы служит для вывода результата работы программы — значения переменной NOD.
Переменные, используемые в программе:
N, М — исследуемые числа;
I — переменная цикла;
NOD — наибольший общий делитель;
К — наименьшее из М и N.
Ответ: данная программа позволяет определить для двух чисел М и N их наибольший общий делитель NOD.
Примечание. Эту же задачу можно решить, используя алгоритм Евклида.
Пример 2. Дана программа на двух языках программирования. Определить, какую задачу она решает.

(вариант 1). Можно также организовать ввод параметра K с проверкой введенного значения, и при ошибочном вводе требовать повторения ввода значения для переменной K (вариант 2).
Пример откорректированной программы (вариант 1).

Пример откорректированной программы (вариант 2).

Создание собственной программы (30±50 строк) для решения простых задач
Процесс создания компьютерной модели можно представить как путь от постановки задачи до реализации модели на компьютере. При разработке компьютерной модели очень важен выбор программного обеспечения (ПО), с помощью которого будет реализована модель. Возможны два основных варианта выбора — это, во-первых, прикладное ПО и, во-вторых, среда программирования. Если в качестве ПО была выбрана среда программирования, то построение компьютерной модели завершается созданием программы.
При написании программы прежде всего следует четко уяснить задачу, которую должна решать программа. Затем предварительно разработанный алгоритм решения задачи записывается в виде упорядоченной последовательности команд (инструкций), т. е. составляется программа, ориентированная на определенную среду программирования.
При написании программы обязательно следует проверять, насколько она соответствует намеченной цели, т. е. делает ли программа для всех наборов данных то, что от нее требуется, не выполняет ли она каких-либо лишних действий. Основное внимание следует сосредоточить на предотвращении логических ошибок. Для этого рекомендуется перед написанием программы построить блок-схему алгоритма решения или словесный алгоритм, что позволит абстрагироваться от конкретного языка программирования и сосредоточиться на анализе алгоритма.
Примеры разработки программ
Пример 1. Составить словесный алгоритм, разработать блок-схему и написать программу проверки принадлежности введенного числа данной арифметической прогрессии. Прогрессия задается двумя последовательными членами.
Решение. Словесный алгоритм.
- Ввести два последовательных члена арифметической прогрессии: A1, A2.
- Ввести произвольное целое число C.
- Найти разность (D) арифметической прогрессии.
- Найти разность между введенным числом C и членом арифметической прогрессии, например A1.
- Найти остаток от деления нацело найденной разности на D.
- Если остаток от деления равен 0, то это значит, что число C принадлежит рассматриваемой арифметической прогрессии»; иначе получаем, что число C не принадлежит рассматриваемой арифметической прогрессии.


Примечание. Mod — операция, результатом которой является остаток от целочисленного деления.
Пример 2. Составить словесный алгоритм, алгоритм в виде блок-схемы и написать программу поиска в строковом массиве, содержащем фамилии 10 учеников, заданной фамилии, обеспечить запоминание ее порядкового номера (массив фамилий может быть неупорядочен).
- Ввести все десять фамилий (строковый массив из 10 элементов).
- Ввести фамилию, которую нужно найти.
- Сравнивать ее с очередным элементом строкового массива, пока не будет найдена такая же фамилия или пока не закончится список (массив).
- Если фамилия найдена, вывести ее номер в списке (массиве), если нет — сообщить о том, что фамилия не найдена.
Какую задачу решает программа
![]()

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

Каждое приложение можно скачать на Google Play (для смартфонов на Android) или на App Store (для айфонов).
«Google Мой бизнес»
Что это 
CRM-приложение, которое содержит базу клиентов, контрагентов и инструменты для повышения продаж.
Какую задачу решает
Помогает управлять информацией о компании, продуктах или услугах и смотреть аналитику.
Вот какие возможности предлагает «Google Мой бизнес»:
- размещать перечень услуг, адрес, режим работы и другие сведения о бизнесе в профиле и на «Google Картах»;
- выкладывать информацию о специальных предложениях, предстоящих событиях, промоакциях;
- отслеживать подписчиков компании, получать от них отзывы, оценки и комментарии;
- добавлять фотографии и видео бизнес-центра, офиса или торгового зала;
- общаться с виртуальным помощником через чат, если нужна помощь;
- отвечать клиентам через встроенный мессенджер.
Если вы обновляете информацию, она моментально появляется в профиле и на «Google Картах». А если открыли новый бизнес, можете за пару минут создать ещё одну учётную запись компании в «Google Мой бизнес».
«Мой бизнес» также помогает работать с аналитикой. Приложение показывает статистику профиля на «Google Картах»: количество уникальных посетителей, оценок, отзывов, переходов на сайт и звонков.
Trello
Что это
Виртуальный органайзер, в котором можно создавать задачи для отдельных сотрудников или всей команды.
Какую задачу решает
Помогает контролировать рабочие процессы и нагрузку, а также управлять совместными проектами отделов или всей компании.
Trello напоминает магнитную доску — здесь тоже можно создавать небольшие заметки, добавлять фотографии и писать любую информацию. Приложение построено по принципам Kanban. Это метод управления работой, при котором нагрузка распределяется равномерно между сотрудниками, а задачи решаются точно в срок. Мы сравнили Kanban и другие методы управления (Scrum, Waterfall), чтобы вы могли выбрать подходящий.
Руководители проектов могут назначать ответственных за задачи, следить за прогрессом и сроками. Кроме того, в Trello есть и другие полезные функции:
- добавлять списки дел и чек-листы;
- менять исполнителей;
- добавлять ссылки на облачные хранилища, сторонние сайты;
- обмениваться комментариями в карточках.
Slack
Что это
Корпоративный мессенджер.
Какую задачу решает
Помогает общаться с сотрудниками в режиме онлайн с помощью сообщений и звонков.
Вот что можно делать в Slack:
- сортировать чаты по темам, участникам, проектам;
- совершать аудио- и видеозвонки;
- обмениваться файлами любого формата — текстами, фото, аудио и видео;
- архивировать сообщения и искать файлы;
- интегрировать Google Drive, Salesforce, Dropbox, Twitter.
Slack позволяет совместно работать в файлах. Например, пользователи могут редактировать общий текстовый документ и писать к нему комментарии.
Ещё одна особенность — поиск по содержанию файлов. Если все скидывают документы с непонятными названиями вроде «Новый_док.docx», а вы хотите найти приказ о приёме на работу, мессенджер полностью просканирует содержимое каждого файла и найдёт нужный.
Приложение помогает автоматизировать часть работы через чат-боты. Slack умеет давать заготовленные вами ответы на вопросы пользователей. Например, вы можете сделать чат-бот, с помощью которого сотрудники быстро запросят график отпусков, шаблоны для заявлений и другие документы. Тогда вам не придётся постоянно отвечать на подобные вопросы в личных сообщениях.
Asana
Что это
Рабочее пространство со списками задач, временной шкалой, календарём и уровнем нагрузки сотрудников.
Какую задачу решает
Помогает распределять задачи, следить за их выполнением и анализировать работу всего проекта.
Asana — приложение для бизнеса, которое объединяет несколько методов управления проектами: Kanban и Scrum. Предприниматель может выбрать единый метод для всего проекта или свой подход для каждой задачи. Например, контент-план по статьям для корпоративного блога вести на доске по принципам Kanban, а создание нового продукта для клиентов — по Scrum.
С помощью Asana можно:
- отслеживать количество поручений и их статус;
- добавлять новые проекты или задачи и назначать исполнителей;
- создавать мероприятия и добавлять события в календарь;
- менять статусы индивидуальных и групповых задач;
- прикреплять файлы к каждой задаче;
- составлять списки дел и чек-листы.
Wix
Что это
CRM-приложение с функциями планировщика.
Какую задачу решает
Помогает принимать заказы, следить за общением сотрудников с клиентами и смотреть аналитику интернет-магазина.
Wix — это приложение, в котором можно собирать клиентскую базу. А если ваш сайт разработан на платформе Wix, редактируйте его прямо со смартфона. Например, создавайте дополнительные страницы, меняйте шаблоны дизайна.
Вот какие возможности предлагает программа:
- запускать рекламные акции и программы лояльности;
- создавать диалоги с клиентами в формате чатов;
- добавлять напоминания для сотрудников компании;
- просматривать информацию по заказам и заявкам;
- отслеживать аналитику — количество заказов и заявок.
Если вы создали блог на платформе Wix, то можете управлять контентом прямо через приложение:
- загружать статьи, фотографии и видео;
- делать отложенные по времени публикации;
- общаться в комментариях с читателями.
Для владельцев интернет-магазинов есть дополнительный функционал. Wix позволяет прямо со смартфона добавлять на сайт новые товары и услуги, следить за остатками на складе и редактировать онлайн-витрину.
Какую задачу решает программа



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required