Лекционный комплекс по дисциплине "Алгоритмизация и программирование"
Лекция 1. Основы алгоритмизации. Алгоритмы и величины. Этапы решения задачи на ЭВМ.
Понятия алгоритма. Свойтсво алгоритмов. Этапы решения задачи на ЭВМ.
Данные и величины
Цель лекции: дать основные понятия дисциплины и ознакомить с основными этапами решения задач. Дать понятия о величинах, типах величин, данных и типах данных.
Работа по решению любой задачи с использованием компьютера делится на следующие этапы:
Постановка задачи.
Формализация задачи.
Построение алгоритма.
Составление программы на языке программирования.
Отладка и тестирование программы.
Проведение расчетов и анализ полученных результатов.
Часто эту последовательность называют технологической цепочкой решения задачи на ЭВМ. Непосредственно к программированию в этом списке относятся пункты 3, 4, 5. На этапе постановки задачи должно быть четко сформулировано, что дано и что требуется найти. Здесь очень важно определить полный набор исходных данных, необходимых для получения решения.
Второй этап — формализация задачи. Здесь чаще всего задача переводится на язык математических формул, уравнений, отношений. Если решение требует математического описания какого-то реального объекта, явления или процесса, то формализация равносильна получению соответствующей математической модели.
Третий этап — построение алгоритма. Опытные программисты часто сразу пишут программы на языках, не прибегая к каким-либо специальным способам описания алгоритмов (блок-схемам, псевдокодам). Однако в учебных целях полезно использовать эти средства, а затем переводить полученный алгоритм на язык программирования.
Первые три этапа предусматривают работу без компьютера. Дальше следует собственно программирование на определенном языке, в определенной системе программирования. Последний (шестой) этап — это использование уже разработанной программы в практических целях.
Таким образом, программист должен обладать следующими знаниями и навыками:
уметь строить алгоритмы;
знать языки программирования;
уметь работать в соответствующей системе программирования.
Понятие алгоритма.
Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от Algorithm! — латинского написания имени Мухаммеда аль-Хорезми (787—850 гг), выдающегося математика средневекового Востока. В XII в. был выполнен латинский перевод его математического трактата, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел.
Именно эти правила в то время называли алгоритмами. Сложение, вычитание, умножение столбиком, деление уголком многозначных чисел — вот первые алгоритмы в математике. Правила алгебраических преобразований, способы вычислений корней уравнений также можно отнести к математическим алгоритмам.
наше время понятие алгоритма трактуется шире. Алгоритм — это последовательность команд управления каким-либо исполнителем. В школьном курсе информатики с понятием алгоритма, с методами построения алгоритмов ученики знакомятся на примерах учебных исполнителей: Робота, Черепахи, Чертежника и т.д.
Эти исполнители ничего не вычисляют. Они создают рисунки на экране, перемещаются в лабиринтах, перетаскивают предметы с места на место. Таких исполнителей принято называть исполнителями, работающими в обстановке.
Следовательно, в качестве исполнителя выступает компьютер. Компьютер работает с величинами — различными информационными объектами: числами, символами, кодами и т. п. Поэтому алгоритмы, предназначенные для управления компьютером, принято называть алгоритмами работы с величинами.
Рисунок 1.1- Схема алгоритма перехода улицы
Если предписание должно быть выполнено машиной, то необходимо точное, «формальное» описание для соответствующего алгоритма.
Для алгоритмов важно различать следующие аспекты:
Постановку задачи, которая должна быть решена с помощью алгоритма.
Специфичный способ, каким решается задача, при этом для алгоритма различают:
- элементарные шаги обработки;
- описание выбора отдельных подлежащих выполнению шагов.
Свойства алгоритмов.
Массовость - способность получать результат для исходных данных из некоторого множества.
Результативность - способность получать требуемый результат за конечное число шагов.
Детерминированность - способность получать один и тот же результат на каждом шаге для одного и того же набора исходных данных.
Язык программирования.
Чтобы алгоритм можно было описать в форме, выполнимой на одной из машин, применяют формальные языки.
Описание алгоритма на формально описанном языке называется программой, а формальный язык - языком программирования.
Формальные языки описываются с помощью специальных нотаций, которые задают правила построения слов. Одна из распространенных нотаций БНФ- нотация (форма Бэкуса- Наура), которая позволяет писать выражения, определяющие множество последовательностей символов, т.е. формальных языков.
Достарыңызбен бөлісу: |