- •Курс лекций
- •Лекция 1. Технология программирования - основа разработки качественных программных средств
- •1.1. Программа как формализованное описание процесса обработки данных. Понятие «программное средство».
- •Определение требований к программному средству.
- •1.3. Спецификация качества программного средства.
- •Технология программирования как технология разработки качественных программных средств.
- •. Этапы развития технологии программирования.
- •2.1. Специфика разработки программных средств.
- •Виды программных продуктов и специализация программистов
- •Лекция 2. Общие принципы разработки программных средств
- •2.2. Основные этапы решения задач на эвм и их характеристика.
- •Основные этапы решения задач на эвм и их характеристика
- •Постановка задачи.
- •Формализация задачи.
- •Построения алгоритма
- •Составление программы на языке программирования.
- •Отладка и тестирование программы
- •Разработка документации.
- •Сопровождение опытной эксплуатации.
- •2.3. .Источники ошибок в программных средствах
- •2.3.1. Интеллектуальные возможности человека
- •2.3.2. Неправильный перевод как причина ошибок в программных средствах.
- •Модель перевода.
- •Основные пути борьбы с ошибками.
- •Лекция 3. Разработка структуры программы и модульное программирование.
- •3.1. Основные классы архитектур программных средств.
- •Структура программы. Методы разработки структуры программы. Блок - схема программы
- •Модульное программирование. Основные характеристики модуля.
- •Основные характеристики программного модуля.
- •Спецификация программного модуля содержит,
- •Порядок разработки программного модуля.
- •Контроль структуры программы.
- •Лекция 5. Представление основных структур программы в языках высокого уровня
- •Основные языки программирования и их характеристика.
- •Структура данных в языках программирования высокого уровня
- •Типы данных
- •6. Лекция 6. Стандартные типы данных в языках программирования Visual Basic.
- •Простые целые и вещественные типы переменных. И операции с ними
- •Логические типы данных и операции с ними.
- •7. Лекция 7. Представление строковых типов данных, типы данных Date и Variant.
- •Строковые типы данных и функции работы сними.
- •7.1.1. Операции со строковым типом данных.
- •Переменные типа Data и стандартные функции работы с ними.
- •Лекция 8. Структуры ветвления (операторы условного перехода) и повторения ( циклы) и особенности их использования в программах.
- •Операторы ветвления
- •8.2. Структуры повторения (Циклы).
- •Лекция 9. Структурированные типы данных. Массивы и пользовательские типы данных, их использование в программах
- •Типы данных, определяемые пользователем.
- •9.1. Массивы. Статические массивы.
- •9.2. Динамические массивы
- •9.3. Функции, предназначенные для работы с массивами.
- •9.4. Типы данных, определяемые пользователем.
- •Лекция 10. Основные строительные блоки программы, процедуры и функции.
- •Процедуры, назначение, написание, размещение.
- •10.2. Процедуры обработки событий.
- •Процедуры общего назначения.
- •Вызов процедуры.
- •Выход из процедуры до ее завершения.
- •Лекция 11. Функции . Области видимости переменных, функций и процедур
- •Функции. Стандартные функции
- •Функции, создаваемые пользователем
- •Модульная конструкция программы. Модули, формы. Стандартные модули, модули класса.
- •Области видимости переменных, процедур и функций
- •Лекция 12. Хранение информации в файлах.
- •12.1. Файлы с последовательным доступом.
- •12.1. Открытие файла с последовательным доступом.
- •12.3. Чтение данных из файла с последовательным доступом.
- •12.3. Запись информации в файл с последовательным доступом.
- •12.4. Работа с файлами произвольного доступа.
- •12.5. Ввод и вывод информации записями
- •Лекция 13. Операции с файлами.
- •13.1. Операции работы с файлами
- •13.2. Установка атрибутов файлов
- •Стандартные объекты для работы с файлами.
- •13.4. Вывод информации на печать
- •Лекция 14. Методы структурного программирования. Методы доказательства и отладки программ. Вопросы:
- •Методы структурного программирования
- •14.2. Пошаговая детализация и понятие о псевдокоде.
- •Пример пошагового составления программы
- •Доказательство свойств программы.
- •14.3.1. Обоснования программ. Формализация свойств программ.
- •Свойства простых операторов.
- •Свойства основных конструкций структурного программирования.
- •14.4.4. Завершимость выполнения программы.
- •Пример доказательства свойства программы.
- •Лекция 15 Отладка программы
- •15.1. Типы ошибок в программе
- •15.2. Программные средства для обнаружения ошибок.
- •Ошибки в структуре программы.
- •Перехват и устранение ошибок
- •15.5. Инструменты отладки
- •6. Отображение значений переменных и функций.
- •Лекция 16. Обьекто - ориентированное программирование.
- •16.1. Основные понятия объекто – ориентированного программирования.
- •16.2. Стандартные объекты управления, свойства, методы, события
- •16.3. . Пользовательские элементы управления
- •Лекция 17. Применение технологии ole в программировании и завершение проекта.
- •17.1.. Применение технологии ole в программировании на языках высокого уровня
- •Объект управления ole Container
- •Технология ole Automation.
- •17.4. Состав проекта
- •Создание дистрибутива программного средства
- •Документирование программных средств
- •Аттестация программного средства.
9.4. Типы данных, определяемые пользователем.
Кроме встроенных типов данных, таких как Integer, ….Long т.п. возможно использовать типы данных . определяемых пользователем.
Допустим вы пишете программу распределения работ и хотели бы ввести в память несколько имен для каждой смены: управляющий, служащий №1, служащий №2, администратор, кассир и т.д. Для каждого лица вы должны включать его личный номер, имя, фомилию, номер телефона. Если их создавать как отдельные элементы, вы должны записать последовательность операторов объявления переменных ля каждого лица, его имени фамилии , номера телефона и т. д.
Но можно избежать этого создав собственный тип данных ( пользовательский тип данных). Они могут быть созданы как на основе встроенных типов данных, так и на основе ранее определенных пользователем.
Для определения пользовательского типа данных используется ключевое слово Type:
|Private | Pablic | Type < имя типа>
Элемент1[ ( [ Размерность] )] As Тип
[Элемент2 [ ( [ Размерность] )] As Тип]
End Type
Пример:
Type Staff
EmpNamber As String
FirstName As String
LastName As string
PhoneNamber As String
End Type
Здесь объявление Type создает новый тип Staff, который вы можете в дальнейшем использовать в предложениях Dim при объявлении новых переменных. Ниже приведен пример того. как вы можете определить персонал для каждой рабочей смены.
Dim Manger As Staff, Super As Staff
Dim Clerr1 As Staff, Clerr2 As Staff
Эти строки Dim резервируют пространство в памяти, достаточное для хранения номеров, имен, фамилий, и номеров телефонов.
Каждый элемент в типе – это свойство такого типа. Что бы обратиться к фамилии управляющего, вы используете выражение Manager. FirstName. Для номера телефона первого служащего вы записываете Clerr1. PhoneNamber.
Создание пользовательского типа данных позволяет.
Обращаться с подобными данными как с единым целым.
При создании переменной для нового сотрудника потребуется ввести имя только одной переменной.
Возможно использовать новый тип данных и его функций в связанных с ним проектах, таких как программ прибыли сотрудников и телефонный справочник сотрудников.
В пользовательский тип можно просто добавить новые элементы данных в тип, и новые поля будут добавлены ко всем переменным, которые используют этот тип.
Определение общего (Pablic) собственного типа данных возможна только в секции (General) (Declarations) модуля В этом случае этот тип будет доступен во всех процедурах всех форм, модулей и модулей классов. Для определения пользовательского типа данных в форме или модуле класса следует использовать ключевое слово Private, поскольку объявление общего типа в данной ситуации не допускается. При этом область видимости такого типа будет ограничена тем контейнером, где он объявлен.
Определив собственный тип данных, вы можете использовать для его объявления переменных этого типа. Эти переменные могут быть локальными, глобальными или переменными контейнера:
(General) (Declarations) ( Module )
Type usrGoodType
GoodNum As Long
Name As String *40
Price As Currency
End Type
(General) (Declarations) ( Form )
Dim usrTools As usrGoodType
Private Sub Command1_Click ( )
usrTools. Name = “Отвертка”
usrTools. Price = 2,95
End Sub
В этом примере в секции объявления модуля определяется глобальной тип данных usrGoodsType. Затем в секции объявлений формы, объявляется доступная в контейнере usrTools типа usrGoodsType, а конкретные значения составляющих этой переменной устанавливаются в процедуре Command1_ Click.
Доступ к элементам переменной пользовательского типа осуществляется, по аналогии с доступом к свойствам объектов управления, путем указания точки после имени переменной При этом переменные одинакового типа можно присваивать не поэлементно, а напрямую:
(General) (Declarations) ( Module )
Type usrPerson
Name As usrName
Namber As Integer
End Type
Pablic usrCostumer As usrPerson, usrSupplier As usrPerson
Private Sub Command1_ Click ( )
usrSupplier. Name = “Петров”
usrSupplier. Number = 21873
usrCostomer = usrSupplier
End Sub
Переменные usrSupplier и usrCostumer относятся к одному типу usrPerson. Поэтому они присваиваются напрямую, а не поэлементно.
Пользовательские типы данных могут быть составными. В этом случае важна последовательность определения типов. Сначала нужно определить базисный тип , который будет использоваться далее в составных типах. Если не соблюдать это правило, то после запуска программы появится сообщение об ошибке. Ниже приводится пример использования составных пользовательских типов данных:
1. (General) (Declarations) ( Module )
Type usrName
FirstName As String
name As string * 40
End Type
2. (General) ( Declarations) (Module )
Private Type usrPerson
Name As usrName
BirthDate As Date
End Type
3. Dim usrCostomer As usrPerson
Private Sub Command_ Click ( )
UsrCostumer. Name. FirstName = “Иван”
Usr Costomer. Name.name = “Lampe”
End Sub
В первой записи определяется базовый тип usrName, состоящий из двух элементов FirstName и name. Во второй записи определяется переменная типа usrPerson, один из элементов которого имеет тип, определенный выше как name. В третьей записи определяется переменная usrCostomer, как тип usrPerson. Следовательно переменная типа UsrCostumer является составной и включает в себя элемент Name переменной usrPerson, которая в свою очередь состоит из FirstName и name, переменной usrName.
