5.1. Постановка проблемы

Как работать с постановкой проблемы в создании моделей задач на языке программирования Python?

Подумай

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

Новые знания

Задача и этапы ее решения

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

   Мы познакомились с этапами выполнения заданной задачи на языке программирования Python в младших классах. Как теперь этапы выполнения задачи реализовать на практике с помощью программы? Давайте ответим на этот вопрос. Для этого рассмотрим этапы решения задачи с практической точки зрения. Рассмотрим проект задачи «Разделение дерева на равные части» в Python. Причина, по которой мы считаем его проектом, заключается в том, что даже если программный код этой задачи создается по-другому, он может дать правильный результат. Для этого мы рассмотрим алгоритм полного решения этой задачи как авторский проект. Полное выполнение проекта, этапы реализации программирования представлены в качестве практической работы. Нужно тщательно проанализировать этап выполнения данного проекта и понять, что создание программы тесно связано с математикой, если вы выполняете его на компьютере.

Практическая работа

  Проект «Бревно распилили на равные части»

   Определите, можно ли бревно длиной N (2≤N≤ 100) распилить на M (2≤M <20) равные части. Если невозможно распилить на равные части, то разделите на части, длина которых отличается только на 1.

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

   Условие 1: разделение бревна длиной N метра на М равных частей.
   Условие 2: в случае невозможности распилить на одинаковые части, то нужно разделить на целые части, с разницей в длине на 1. Других вариантов нет в решении задачи. Потому что при разделении бревна на части обязательно выполняется одно из этих двух условий.
   ​2. Разработка математической модели проекта.       В тесте 1 рассматриваемой задачи можно распилить бревно на равные части, если число N на М делится без остатка. То есть для выполнения условия 1 должно быть выполнено условие N % М =0. Если это условие не выполнено, то результат задачи будет выдан в соответствии с условием 2. Если посмотреть на представленные тестовые данные, то можно увидеть, что в решении задачи имеется своя закономерность.

   Например, рассмотрим тестовые данные №2. Деление 13 на 4 нацело в результате дало делимое 3 и остаток 1. В ответе следует вывести К (К=3) М-Р раз, т. е. 3 раза и (К+1) в ответе Р раз (рисунок 1). Эту закономерность можно проверить и с другими тестовыми данными.

   При невозможности разделения бревна на равные части по 1 условию, то можно сразу по условию 2 распилить на целые части с разницей не более чем на единицу.

Рисунок 1

   3. Разработка алгоритма.

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

Алгоритм задачи

  • Выбор операторов ввода и вывода результата. В нашем случае мы используем операторов input и print.
  • Для того, чтобы проверить основное условие задачи N% М =0, необходимо воспользоваться оператором проверки условий
  • Для того, чтобы вывести последовательность чисел, используем оператора цикла с параметром.

   4. Преобразование алгоритма на язык программирования.

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

Рисунок 2. Код программы

   5. Ввод и тестирование данных.

   После разработки программы проекта запускаем его в действие. При запуске проекта появится форма проекта, представленная на рисунке 2. При вводе данных следует обратить внимание на то, что не должны вводиться данные, за исключением ограничений, указанных в условии задачи. Если вводить в программу в качестве вводных данных 0 и 2 или 10 и 16, программа покажет ошибку. Потому что в первом случае длина бревна не может быть равна нулю. Такое бревно невозможно разделить на части. Во втором случае не выполняется условие деления бревна на целые части по условию задачи.

   6. Получение результатов задачи и его анализ.         После запуска программы по результатам тестирования при получении правильного результата на все заранее подготовленные тестовые данные считается, что задача решена на 100 процентов. Если результаты, полученные в результате тестирования, не соответствуют условиям задачи, то поиск логических, алгоритмических ошибок, имеющиеся в структуре программы, следует проверить методом трассировки, изученным в предыдущей теме. На рисунке 2 видно, что при вводе данных в программу, приведенных в 3 задаче, программа выдает верный ответ. Можно проверить работу программу не только с предложенными данными, но и создать другие данные тестирования задачи.

  • Правильное понимание условий заданной задачи.
  • Мы нашли основную закономерность задания и создали математическую модель.
  • Напишем программу проекта по составленному алгоритму.
  • После разработки программы проекта запускаем его в действие.
  • Постановка проблемы.
  • Разработка алгоритма.
  • Преобразование алгоритма на язык программирования.
  • Ввод и тестирование данных.

Синтез

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Вопросы

1. Из каких этапов состоит решение задачи в среде программирования?

2. На какие проблемы следует обратить внимание при выборе компонента проекта?

3. Какие условия следует учитывать при составлении тестовых данных для задачи и тестировании?

4. Какие специфические особенности решения задач на компьютере вы можете назвать? Приведите примеры.

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

Задания

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

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Прикрепите свой файл к этому заданию, нажав «Добавить свой материал».

Өтінемін күте тұрыңыз