[МУЗЫКА] [МУЗЫКА] Рассмотрим основные определения, которые потребуются нам для применения систематического метода. Во-первых, постановка задачи есть математически точное описание поставленной задачи. Постановка задачи в программировании напоминает очень ту, которую вы делали в школе на уроках физики, но включает некоторые ещё другие определенные пункты. Затем метод решения задачи есть обобщённый способ решения задач данного класса. Что это значит? Если мы с вами, например, пишем программу для решения квадратного уравнения, нам следует написать такой метод, который был бы пригоден для всех случаев, которые будут у нас при решении этого уравнения. Затем внешняя спецификация — это есть описание входных и выходных данных нашей задачи, а также всех вариантов хода диалога пользователя и компьютера. То есть здесь мы с вами описываем, что именно будет видеть наш пользователь, когда будет работать с нашей программой. Заранее, до того, как мы её написали. Далее — алгоритм. Это есть набор инструкций, которые должен выполнить данный исполнитель для решения данной задачи. И причём всё это должно происходить за конечное число шагов. Далее мы с вами рассмотрим по пунктам на примере, как выглядят все эти части, чтобы более точно представлять, что имеется в виду. Начнём с общего вида постановки задачи. Постановка задачи у нас с вами начинается с того, что мы записываем условие задачи так, как она нам была сформулирована. Затем следует пункт «Дано». В пункте «Дано» перечисляются исходные данные. То есть то, что наш пользователь будет вводить, когда будет работать с нашей программой. Затем у нас идет пункт «Результат». В пункте «Результат» у нас с вами описываются, какие будут результаты получены, и причём здесь описываются все возможные варианты этих результатов. Далее у нас следует пункт «При». Здесь указываются ограничения на допустимость исходных данных. То есть здесь мы с вами пишем, какие данные допустимы у нас, а какие нет. Причём здесь могут фигурировать только те данные, которые у нас были в пункте «Дано». И затем у нас есть такой пункт, как «Связь». «Связь» показывает, как связаны данные из пункта «Дано» и результаты из пункта «Результат». Как правило, это математическая формула. Сейчас мы рассмотрим все пункты, которые мы с вами видели на нашей схеме на простом примере. Начнём с постановки задачи. Рассмотрим задачу решения линейного уравнения ax + b = 0 и посмотрим, как можно выполнить постановку этой задачи. Первый вариант. Мы скажем, что исходными данными являются коэффициенты a и b, результатом является у нас с вами число x, и при a не равном 0 мы будем решать задачу. Обратите внимание на пункт «Связь». В пункте «Связь» мы пишем именно как связаны «Дано» и «Результат». То есть не формулу, по которой мы с вами решаем эту задачу, а формулу, при помощи которой мы проверяем правильность результата. То есть если подставить x в наше уравнение, то получится у нас с вами результат, равный 0. Но можно поставить эту задачу и по-другому. Давайте посмотрим на второй вариант постановки. Во втором варианте у нас с вами по-прежнему даны значения коэффициентов a и b. Результатов у нас с вами есть три. Первый вариант результата — это по-прежнему число x, но мы с вами понимаем, что помимо этого варианта есть ещё два других. Это, во-первых, сообщение о том, что у уравнения нет корней, а, кроме того, есть вариант, когда у нас корнем является любое число. То есть три различных варианта результата. В этом случае ограничение на исходные данные мы с вами уже не ставим и связь — по-прежнему наша с вами формула. Теперь продолжаем и рассмотрим метод решения этой задачи. В этой задаче у нас с вами будет рассматриваться второй вариант постановки. То есть мы с вами должны выяснить, при каких исходных данных как получается результат. Первый вариант — когда у нас a не равно 0 мы выражаем из этого уравнения x и получаем формулу −b/a. Второй вариант — когда у нас с вами и a и b, оба коэффициента равны 0. Тогда мы с вами понимаем, что какое бы x мы туда ни подставили, всё равно получится у нас верное равенство. То есть результатом будет сообщение о том, что корень x — любое число. И, наконец, третий вариант. Это когда у нас с вами a = 0, а вот b нулю не равно. Представьте себе ещё раз это уравнение ax + b = 0. При этих данных какое бы x мы туда ни подставляли, всё равно корнем оно не будет. Поэтому в данном случае результатом является сообщение о том, что у нас нет корней. [МУЗЫКА] [МУЗЫКА] [МУЗЫКА]