Основы алгоритмизации и программирования
Основные этапы развития языков программирования и компьютерного решения задач. Среда разработки программ и структура программного кода в Visual Basic. Рассмотрение основных методов программирования с использованием типовых алгоритмических конструкций.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 03.03.2018 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
· Наследование -- означает, что новый объект можно определить на основе уже существующих объектов, при этом он будет содержать все свойства и методы родительского. Наследование полезно, когда требуется создать новый объект, обладающий дополнительными свойствами по сравнению со старым. Следует заметить, что VB не поддерживает наследования в строгом смысле этого понятия.
· Полиморфизм -- многие объекты могут иметь одноименные методы, которые могут выполнять разные действия для разных объектов. Например, оператор "+" для числовых величин выполняет сложение, а для текстовых -- склеивание.
В ООП центральным является понятие класса. Класс - это шаблон, по которому создаются объекты определенного типа. Класс объединяет в себе данные и методы их обработки.
Объекты -- это экземпляры определенного класса. Например, кнопки или текстовые поля, устанавливаемые на форме являются экземплярами соответствующих стандартных классов VB.
Создать собственный класс в VB можно с помощью модуля класса. Модуль класса состоит из элементов трех типов: свойств, методов, событий, оформляемых в виде описаний, процедур и функций внутри контейнера -- модуля. У модуля класса нет собственного пользовательского интерфейса -- формы, однако он может использовать контейнер формы, для чего должен содержать соответствующие методы.
Элементы управления -- это объекты, используемые при разработке пользовательского интерфейса.
4.1 Технология визуального программирования в среде VBA
Основой для визуального программирования являются формы. Программирование в среде Access начинается с создания формы в режиме конструктора. В этом случае открывается доступ к панели элементов, показанной на рисунке.
Программисту необходимо установить на форме требуемый элемент управления нажатием соответствующей кнопки на панели элементов и "протяжкой" указателем мыши в нужном месте формы.
Для того, чтобы обеспечить выполнение элементом управления требуемых действий, его необходимо запрограммировать. Это можно сделать, вызвав через контекстное меню окно свойств элемента управления. На вкладке События следует выбрать подходящее событие и нажать кнопку с тремя точками в выбранной строке. В результате откроется окно редактора VBA с заготовкой процедуры обработки события. Программа управления вписывается внутрь этой заготовки.
Например, для наиболее часто используемого элемента управления - кнопки основным событием является нажатие кнопки. Процедура обработки этого события может содержать любой код, например, обращение к другой процедуре, выполняющей обработку данных в таблице.
Кроме кнопки очень часто используются элементы управления "Надпись" и "Поле".
Надпись применяется для вывода текста, который не должен изменяться пользователем (например, заголовок какого-либо объекта управления).
Поле используется для ввода, вывода и редактирования пользователем текстовой (символьной) информации.
Рассмотрим технологию программирования с использованием элементов управления на примере. При этом будем придерживаться общей методики программирования, рассмотренной в предыдущих разделах.
1. Постановка задачи.
В последовательности из N чисел найти непрерывную подпоследовательность, имеющую максимальную сумму. Интерфейс пользователя должен иметь вид, показанный на рисунке.
Рис. 1 Вид пользовательского интерфейса
2. Формализация задачи.
Для рассматриваемой задачи введем обозначения:
· A -- массив, содержащий исходную последовательность чисел;
· MaxSum -- максимальная сумма;
· NumBegin, NumEnd -- номера первого и последнего элементов подпоследовательности, образовавшей максимальную сумму.
Массив -- это множество однотипных переменных, имеющих одно имя, доступ к которым определяется индексом. В Visual Basic индексы заключаются в круглые скобки после имени массива, например A(5). При описании массива следует указывать его верхнюю границу, например, описание Dim A(100) As Single определяет массив A из 101 элемента вещественного типа. Такое количество элементов обусловлено тем, что нижняя граница индексов любых массивов равна нулю. Следует заметить, что описание только резервирует необходимый объем памяти для хранения массива. Количество элементов массива, используемых при решении задачи может быть любым в пределах описанных границ.
Таким образом, формальной постановкой решаемой задачи является:
· дано: N, A;
· найти: MaxSum, NumBegin, NumEnd.
3. Моделирование задачи и подготовка контрольного примера.
Для сформулированной задачи имеется несколько решений. Оптимальное заключается в использовании однократного просмотра всех N элементов и базируется на том, что при получении отрицательной суммы, вся подпоследовательность, давшая эту сумму, может быть исключена из дальнейшего рассмотрения.
Контрольный пример: A = (2.5; -3.1; 1.8; 4.2; 2.9; -1.1; 2.9; 2.3; -7.9). Максимальную сумму в этом примере, равную 13, образуют элементы с 3-го по 8-й.
4. Разработка алгоритма решения задачи.
Алгоритм для рассматриваемого примера и его детализация показаны на рис. 2-4.
5. Разработка интерфейса
Для хранения исходных данных создадим таблицу Последовательность с одним числовым полем (одинарное с плавающей точкой) под именем Элемент. Заполним таблицу Последовательность значениями, подготовленными в качестве контрольного примера.
В режиме конструктора создадим форму "Определение максимальной суммы". Для того, чтобы убрать с формы лишние детали, зададим ее свойства, как показано на рисунке.
Рис. 5 Свойства формы
Для вывода массива A установим на форме элемент Список, как показано на рис. 1. Если на панели элементов нажата кнопка Мастера, то мастер потребует определить некоторые свойства списка. Главным из них является свойство Источник записей, где следует указать таблицу Последовательность.
Вывод максимальной суммы, начального и конечного номеров будем выполнять в простые поля. Следует проверить, чтобы имена полей были соответственно Поле1, Поле3 и Поле5, а командной кнопки -- Кнопка0. В этом случае имена будут совпадать с приводимыми ниже в листинге программы
6. Программирование алгоритма
Для записи программы вызовем контекстное меню кнопки запуска вычислений (рис.1) и выберем пункт Обработка событий.... В окне Построитель следует выбрать Программы. Откроется окно редактора VBA с заготовкой:
Private Sub Кнопка0_Click()
End Sub
Код обработки нажатия кнопки следует вписать внутрь этой процедуры. Ниже при-веден полный листинг программы с комментариями к командам программы.
Работа программы может зависеть от настройки интегрированной среды. Поэтому, находясь в среде редактора программы, следует обратиться к меню Tools/References... и подключить библиотеки, как показано на рис. 6. Важен не только набор библиотек, но и их расположение в окне References: верхние имеют приоритет по сравнению с нижними. Для изменения приоритета в окне имеются две кнопки Priority.
Рис. 6 Окно References
4.2 Листинг программы решения задачи
Option Compare Database 'Режим сравнения текстов
Option Explicit 'Режим явного описания переменных.
Private Sub Кнопка0_Click() 'Процедура обработки нажатия кнопки
Dim dbs As Database 'Описание dbs как базы данных
Dim rds As Recordset 'Описание rds как виртуальной таблицы
' Описание переменных вещественного типа
Dim A(100) As Single, MaxSum As Single, S As Single
' Описание переменных целого типа.
Dim i As integer, j As Integer, NumBegin As Integer
Dim NumEnd As Integer, N As Integer
Dim SL As String
Set dbs = CurrentDb 'Определить dbs как текущую базу данных
' Заполнить rds записями из таблицы "Последовательность"
SL = "SELECT * FROM Последовательность"
Set rds = dbs.OpenRecordset(SL)
rds.MoveLast 'Установить указатель на последнюю запись в rds
N = rds.RecordCount 'Определить количество записей в rds
rds.MoveFirst 'Установить указатель на первую запись в rds
For i = 1 To N 'Цикл, формирующий массив A
A(i) = rds!Элемент 'Запомнили i-ое значение поля "Элемент".
rds.MoveNext 'Перевели указатель на следующую запись в rds
Next 'Конец цикла
dbs.Close 'Закрыли базу данных
NumBegin = 1: NumEnd = 1 'Блок 3.1, рис. 3
MaxSum = A(1):S = 0: j = 1
For i = 1 To N 'Блок 4, рис. 2
S = S + A(i) 'Блок 5.1, рис. 5
If S > MaxSum Then 'Блок 5.2, рис. 5
MaxSum = S: NumBegin = j: NumEnd = i 'Блок 5.3, рис. 5
End If 'Конец условия
If S < 0 Then 'Блок 5.4, рис. 5
j = i + 1: S = 0 'Блок 5.5, рис. 5
End If 'Конец условия
Next i 'Конец цикла
Поле1.SetFocus 'Вывод решения
Поле1.Text = Str(MaxSum) 'путем установки
Поле3.SetFocus 'фокуса на элемент
Поле3.Text = Str(NumBegin) 'управления типа "поле"
Поле5.SetFocus 'и вывода в него
Поле5.Text = Str(NumEnd) 'строки с результатом.
End Sub 'Конец процедуры
Код обработки события нажатия кнопки на форме состоит из трех основных частей:
· формирование массива A из записей таблицы Последовательность;
· решение задачи;
· вывод результатов в текстовые поля.
Формирование массива выполнено через виртуальную таблицу rds, что является стандартным приемом работы с таблицами БД. Виртуальная таблица формируется при помощи инструкции SELECT, являющейся командой языка SQL (Structured Query Language), используемого для управления базами данных. VBA позволяет встраивать фрагменты SQL.
Для запуска программы следует открыть форму и щелкнуть по кнопке запуска. Результат выполнения программы показан на рис. 7.
Рис. 7 Решение задачи
Контрольные вопросы
1. Какова главная идея концепции объектно-ориентированного программирования (ООП)?
2. Каковы основные характеристики объекта?
3. В чем отличие порядка выполнения программ в ООП и в процедурном программировании?
4. Каковы основные понятия ООП?
5. Что такое инкапсуляция? Приведите примеры.
6. Что означает наследование?
7. В чем заключается полиморфизм объектов?
8. Что такое класс? Что объединяет в себе класс?
9. Что такое объект? Приведите примеры объектов.
10. Как можно создать собственный класс в Visual Basic?
11. Из каких элементов состоит модуль класса?
12. Что такое элементы управления? Приведите примеры.
13. С чего начинается программирование в среде Access?
14. Как можно установить на форме элемент управления?
15. Как обеспечить выполнение элементом управления требуемых действий?
16. Каково назначение элементов управления надпись и поле?
17. Какова технология программирования с использованием элементов управления?
18. Что называется массивом? Как можно описать массив? Для чего служит описание массива?
19. Опишите этап формализации задачи на примере.
20. В чем смысл этапа моделирования?
21. Как выполняется разработка интерфейса приложения?
22. Как записать процедуру обработки события?
23. Из скольких частей состоит код обработки события нажатия кнопки на форме? Перечислите их.
24. Как запустить программу?
Размещено на Allbest.ru
...Подобные документы
Основные этапы развития языков программирования. Характеристика машинно-ориентированной, проблемно-ориентированной и процедурно-ориентированной систем программирования. Ознакомление с системами программирования Delphi, Visual Basic и Visual C++.
курсовая работа [102,4 K], добавлен 21.07.2012Структура и назначение программного кода программы по созданию 3D-графики средствами языка программирования Visual Basic. Элементы управления "Окно формы" и "Таймер", выполняемые ими функции и основные свойства, значение в работе программного кода.
лабораторная работа [362,4 K], добавлен 06.07.2009Язык программирования Visual Basic: краткая история возникновения, значение и общая характеристика. Изучение основных свойств Visual Basic, синтаксис языка. Обзор ключевых операторов Visual Basic, пользовательские процедуры и функции данного языка.
контрольная работа [36,4 K], добавлен 23.07.2014Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.
курсовая работа [407,4 K], добавлен 21.06.2014Реализация алгоритма Гомори на языке программирования Object Pascal при использовании среды разработки Borland Delphi 7. Рассмотрение основных способов компьютерного осуществления решения задач целочисленного программирования симплексным методом.
курсовая работа [1,8 M], добавлен 28.03.2013Исследование теоретических аспектов разработки программы посредством использования Visual Basic. Анализ достоинств и недостатков данного языка программирования. Изучение особенностей создания интерфейса приложения. Основные этапы реализации программы.
практическая работа [460,6 K], добавлен 22.01.2013Развитие и классификация языков программирования. Методические рекомендации по изучению языков программирования. Основные понятия объектно-ориентированного программирования. Создание электронного учебного пособия с помощью языка гипертекстовой разметки.
курсовая работа [331,1 K], добавлен 06.09.2011Характеристика базовых конструкций языков программирования. Изучение истории их развития и классификации. Определение основных понятий языков программирования. Описание основных операторов, которые используются в языках программирования высокого уровня.
курсовая работа [400,6 K], добавлен 10.11.2016Сумма двух разреженных полиномов, заданных ненулевыми коэффициентами и их номерами. Разработка программ на языке программирования Visual Basic for Applications. Вывод справочной информации. Операционная система Windows. Хранение двоичных данных.
научная работа [390,2 K], добавлен 09.03.2009Принципы визуального программирования. Создание программы, генерирующей звук через определенные промежутки времени. Visual Basic как средство разработки прототипов программы, для разработки приложений баз данных и компонентного способа создания программ.
лабораторная работа [1,1 M], добавлен 10.12.2014Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.
курсовая работа [428,9 K], добавлен 19.09.2012Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.
контрольная работа [989,9 K], добавлен 29.03.2011Модульная структура программного продукта и типовые управляющие структуры алгоритмов обработки данных различных программных модулей в основе структурного программирования. Особенности пошаговой разработки программ. Основные типы базовых конструкций.
контрольная работа [163,7 K], добавлен 04.06.2013Порядок описание процесса разработки модели для разрешения задачи программирования с помощью средств языка программирования. Структуры данных и основные принципы их построения. Этапы компьютерного моделирования. Этапы и значение написания программы.
курсовая работа [19,5 K], добавлен 19.05.2011Особенности решения задач нелинейного программирования различными методами для проведения анализа поведения этих методов на выбранных математических моделях нелинейного программирования. Общая характеристика классических и числовых методов решения.
дипломная работа [2,4 M], добавлен 20.01.2013Сущность и основные свойства алгоритмов, принципы их составления. Скалярные типы данных в языке Pascal. Тождественность и совместимость типов данных. Понятие и основные этапы развития, а также движущие силы эволюции языков программирования, типы.
презентация [85,8 K], добавлен 18.05.2014Понятие математического программирования. Класс как тип структуры, позволяющий включать в описание типа не только элементы данных, но и функции. Рассмотрение основных особенности языка программирования C++. Характеристика среды MS Visual Studio 2008.
контрольная работа [318,0 K], добавлен 13.01.2013Рабочая среда Visual Basic (VB) и ее основные компоненты. Ввод и вывод данных в VB. Объявление переменных и констант в программе. Создание и работа с процедурами и функциями, их виды. Организация ветвления в VB. Использование циклов в программировании.
практическая работа [502,5 K], добавлен 26.10.2013Системы программирования и их графические возможности. Разработка мультимедиа курса, способствующего эффективному усвоению учащимися базовой школы темы "Графические возможности языка программирования" (на примере языков программирования Basic и Pascal).
дипломная работа [588,3 K], добавлен 29.12.2010Языки среды программирования Visual Studio. Стартовая страница интегрированной среды разработки. Окно New Project. Вкладка разработки формы. Перемещение и изменение размера кнопки. Прибавление программного кода к кнопке. Запуск и сохранение проекта.
презентация [1,4 M], добавлен 29.04.2014