ТЕОРЕТИЧЕСКИЕ ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ

Прежде всего хочется отметить, что первая глава учебного пособия носит ознакомительный характер: здесь представлены теоретические основы алгоритмизации и программирования. Ее чтение подготовленному читателю можно пропустить, а начинающему лучше ее внимательно изучить. Тем не менее, стоит упомянуть, что в тексте будут приводиться примеры различных функций (термин «функция» уже может быть непонятен читателю), результаты их работы, терминологические названия (списки, кортежи и пр.), однако написанное может не объясняться в деталях.

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

Алгоритм. Свойства алгоритма. Способы описания алгоритма

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

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

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

  • 1. Достать ключ.
  • 2. Вставить ключ в замочную скважину.
  • 3. Повернуть ключ два раза против часовой стрелки.
  • 4. Вынуть ключ.

Представим, что мы поменяли местами второе и третье действия. Мы сможем выполнить и этот алгоритм, но дверь не откроется, т. е. алгоритм станет невыполнимым.

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

Таким же, какими являются понятия точки, прямой и плоскости в геометрии,

вещества в химии, пространства и времени в физике и т. д.

Свойства алгоритма:

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

Способы описания алгоритмов

словесный;

графический;

табличный;

формульный.

  • 1.
  • 2.
  • 3.
  • 4.

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

представление алгоритма называется структурной схемой алгоритма, или блок-схемой.

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

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

 
< Пред   СОДЕРЖАНИЕ     След >