Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование .doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.35 Mб
Скачать

8. Материально-техническое обеспечение дисциплины

Таблица 8

п/п

Наименование специализированных аудиторий и лабораторий

1

Классы с персональными компьютерами для проведения текущей и промежуточной аттестации

2

Аудитория с мультимедийным оборудованием для проведения лекционных и практических занятий

4.

Интегрированная среда разработки Visual Studio 2010

3

Описание лабораторных работ

9. Опорный конспект

1. Основы алгоритмизации

1.1 Этапы решения задач на эвм.

Решение задачи разбивается на этапы:

  1. Постановка задачи

  2. Формализация (математическая постановка)

  3. Выбор (или разработка) метода решения

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

  5. Составление программы

  6. Отладка программы

  7. Вычисление и обработка результатов

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

  2. На этом этапе все объекты задачи описываются на языке математики, выбирается форма хранения данных, составляются все необходимые формулы.

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

  4. На этом этапе метод решения записывается применительно к данной задаче на одном из алгоритмических языков (чаще на графическом).

  5. Переводим решение задачи на язык, понятный машине.

1.2. Алгоритм. Свойства алгоритмов

Алгоритм - это точное предписание, задающее преобразование исходных данных в конечный результат.

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

  1. Определенность

  2. Дискретность

  3. Целенаправленность

  4. Конечность

  5. Массовость

Дискретность – последовательное выполнение простых или ранее определённых (подпрограммы) шагов. Преобразование исходных данных в результат осуществляется дискретно во времени. Процесс решения задачи должен быть разбит на последовательность отдельных шагов, каждый из которых называется командой. Примером команд могут служить пункты инструкции, нажатие на одну из кнопок пульта управления, рисование графического примитива, оператор языка программирования.

Понятность – каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм; в противном случае, эта команда и, следовательно, весь алгоритм в целом не могут быть выполнены. Казалось бы, что может быть проще, чем нарисовать на экране точку. Но пока вы не будете знать команду, которая это делает, получить результат будет невозможно.

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

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

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

Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных (разработка в общем виде).

Если внимательно проанализировать свойства алгоритма, то становится очевидным, что для выполнения алгоритма совсем не требуется его понимание, а правильный результат может быть получен путем формального и чисто механического следования содержанию алгоритма. Из возможности формального исполнения алгоритма следует очень важное следствие: поскольку осознавать содержание алгоритма не требуется, его исполнение вполне можно доверить автомату или ЭВМ. Т.о., составление алгоритма является обязательным этапом автоматизации любого процесса.

Порядок выполнения алгоритма:

  1. Действия в алгоритме выполняются в порядке их записи

  2. Нельзя менять местами никакие два действия алгоритма

  3. Нельзя не закончив одного действия переходить к следующему