Раздел 8. Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования. Система программирования Microsoft Visual Basic.
Тема 12. Понятие алгоритма. Требования к алгоритмам. Способы представления алгоритмов. Блок-схемный (графический) способ записи алгоритма. Основные типы алгоритмов (базовые конструкции). Линейный разветвляющийся, циклический алгоритмы.
Тема 13. Системы программирования. Среда проектирования MS Visual Basic. Создание проекта в среде Visual Basic. Элементы управления и их свойства. Этапы создания проекта. Язык программирования Visual Basic. Основные конструкции языка. Переменные, константы. Типы данных. Программирование основных структур алгоритмов на языке Visual Basic. Массивы, обработка массивов.
Методические указания
Во всех сферах своей деятельности, в частности в сфере обработки информации, человек сталкивается с различными способами или методиками решения разнообразных задач. Они определяют порядок выполнения действий для получения желаемого результата – это и будет первоначальное определение алгоритма. Существует несколько определений алгоритма. Например, по определению российского ученого Маркова А.А., алгоритм – это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату. К алгоритмам предъявляется ряд общих требований. Алгоритм должен содержать конечное количество элементарно выполнимых предписаний, выполнять конечное количество шагов при решении задачи, быть единым для всех допустимых исходных данных, приводить к правильному решению.
К основным способам представления алгоритмов относят: словесный, графический (блок-схемный), псевдокоды, программный. Для представления алгоритмов широко применяется запись с помощью графических объектов в виде блок-схемы (ГОСТ 19.701-90). Каждый пункт алгоритма отображается соответствующим блоком и дополняется (внутри блока) словесным описанием. Блоки соединяются линиями потоков информации. Основное направление идет сверху вниз и слева направо (стрелки можно не указывать), снизу вверх и справа налево (стрелки обязательны).
Для выполнения типичных последовательностей действий в алгоритме разработаны базовые алгоритмические конструкции в виде определенного набора блоков и стандартных средств их соединения – линейные, разветвляющиеся и циклические. Линейный алгоритм – это алгоритм, в котором действия осуществляются последовательно друг за другом. Разветвляющийся алгоритм – это алгоритм, в котором действия выполняются по одной из возможных ветвей решения задачи в зависимости от выполнения условий. Циклический алгоритм – это алгоритм, в котором некоторая часть операций (тело цикла) выполняется многократно. Следует различать цикл с предусловием (тело цикла расположено после проверки условий) и цикл с постусловием (тело цикла расположено перед проверкой условия). Тело цикла может выполняться заданное число раз – это циклы с заданным числом повторений и незаданное, но конечное число раз, пока не выполнится некоторое условие, - это циклы с незаданным числом повторений. Циклы могут быть простыми и сложными (цикл в цикле).
Система программирования, называемая системой проектирования Windows-приложений Visual Basic, позволяет легко создавать полноценные Windows-приложения со всеми присущими им свойствами. Программирование в этой системе осуществляется на алгоритмическом языке Visual Basic. Простота и мощность языка Visual Basic позволила сделать его встроенным языком для приложений Microsoft Office. После запуска Visual Basic следует изучить интегрированную среду разработки проекта с входящими в нее окнами: окно экранной формы (Form),окно (панель) элементов управления (Toolbox), окно свойств (Properties).Для ввода исходного кода программы (текста программы) используется окно редактора кода(Code). Программой в общем случае можно назвать последовательность операций, которую выполняет компьютер для достижения определенной цели. Программирование – это составление программы на языке программирования, ввод этой программы в компьютер, а также ее отладка, то есть доведение программы до выдачи ожидаемых результатов. В большинстве случаев создание даже самого простого приложения требует написания программного кода. В процессе создания Windows-приложения можно выделить следующие этапы: постановка задачи; разработка интерфейса (создание экранной формы с соответствующими элементами управления); программирование; отладка программы - устранение синтаксических и логических ошибок для достижения удовлетворительной работы приложения; сохранение проекта - сначала сохраняется экранная форма, затем сам проект; компиляция - превращение проекта в исполняемое приложение – ехе-файл, способное работать за пределами среды проектирования.
К простейшим конструкциям языка относят константы, переменные, выражения (арифметические, логические, строковые), функции (математические, строковые, системные). В программе необходимо объявить тип переменной для установления границ ее значений (например, с помощью оператора Dim). В Visual Basic более 10 типов переменных: числовой (Byte, Integer, Single), строковый (String), типа дата (Date), логический (Boolean)), произвольный (Variant) и т.д. Для ввода исходных данных можно использовать размещенные на форме текстовые поля (элемент управления TextBox), системную функцию InputBox (окно ввода), а также вводить данные с файла. Для вывода данных можно также использовать текстовые поля, системную функцию MsgBox (окно сообщения), размещенные на форме окна списков (элемент управления ListBox и ComboBox), оператор Print для вывода на экранную форму, а также выводить данные в файл.
Программа выполняется последовательно от первого оператора до последнего. Однако часто требуется изменить порядок выполнения команд в зависимости от выполнения или невыполнения определенного условия. В Visual Basic существуют управляющие конструкции, предназначенные для управления порядком выполнения команд. Различают два основных типа управляющих операторов: If…Then…Else – группа операторов выполняется при соблюдении определенных условий; Select Case – на основании анализа значений заданного выражения выполняются те или иные действия. С помощью управляющих операторов можно программировать алгоритмы разветвляющейся структуры. При решении задач часто необходимо многократно повторять одни и те же действия над одними и теми же переменными, которые меняют свои значения. Такие вычислительные процессы называются циклическими. Для организации циклов используются операторы цикла FOR … NEXT (цикл со счетчиком) и DO … LOOP (цикл с условием).
Для хранения величин кроме простых переменных можно использовать массивы. Массивы – это собранное воедино множество переменных одного типа с общим именем, но с разными индексами. Каждая такая переменная называется элементом массива. Например, Х - это простая переменная, а Xi - индексированная переменная, называемая массивом. Следует различать одномерные массивы (Хi) и многомерные (например, двухмерный массив Zij). В программе массив может быть объявлен с помощью оператора Dim. Различают массивы фиксированного размера (статические) и динамические массивы. Массив, число элементов которого задано явно, называется статическим массивом. Статический массив имеет неизменный размер, заданный при его объявлении. Массив, число элементов которого задано не явно, называется динамическим массивом. Динамические массивы могут изменять размер в процессе выполнения. Такой массив в программе должен быть объявлен дважды. Сначала он объявляется оператором Dim с незаданной верхней границей (например, Dim х() As Single), а затем, после ввода размера массива (например, n), он переобъявляется оператором ReDim с теперь уже заданной верхней границей (например, ReDim х(n) As Single). Следует помнить, что при программировании задач по обработке массивов, массивы вводятся, выводятся и обрабатываются в цикле. Если массив одномерный, то для этого организуются простые циклы – циклы с одной переменной цикла. Если массив двухмерный, то необходимо организовать сложный цикл (цикл в цикле), где уже будет две переменных цикла.
При изучении данной темы следует обратить внимание на типовые алгоритмы обработки массивов: вычисление суммы, произведения, количества, среднего значения элементов массива в соответствии с заданным критерием, поиск максимального (минимального) элемента массива, сортировка массива по убыванию (возрастанию).
Литература: [1, гл.12]; [3, гл. 14]; [4]; [7]; [8].
Вопросы для самопроверки
1. Что такое алгоритм, требования к алгоритмам, способы представления?
2. Приведите примеры основных типов алгоритмов.
3. Что собой представляет интегрированная среда разработки проекта в Visual Basic?
4. Назовите основные этапы создания Windows-приложений.
5. Приведите примеры переменных, констант, выражений?
6. Назовите основные типы переменных, как объявить тип переменной?
7. Как организовать ввод данных в программе? Привести примеры.
8. Как организовать вывод данных в программе? Привести примеры.
9. Оператор условного перехода If…Then…Else. Привести примеры.
10. Использование оператора цикла For…Next. Привести примеры.
11. Дать определение массива. Привести примеры массивов.
12. Объявление массивов. Привести примеры.
13. Статический и динамический массивы. В чем их различие?
14. Как ввести и вывести одномерный массив? Привести примеры.
15. Типовые приемы обработки массивов. Привести примеры.
16. Что значит сложный цикл?