- •Курс лекций
- •Лекция 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. Состав проекта
- •Создание дистрибутива программного средства
- •Документирование программных средств
- •Аттестация программного средства.
Вызов процедуры.
Существуют два способа вызова процедуры либо просто указать имя процедуры, либо воспользоваться оператором Call . В любом случае необходимо указать имя процедуры и требуемые для ее вызова параметры.
Синтаксис вызова процедуры имеет вид
Call <имя процедуры> [ аргументы.]
Либо
Имя процедуры аргументы без скобок
В каждой из синтаксической записи аргументы передаваемые в процедуру могут использоваться литеральные величины, , переменные или функции, возвращающие данные требуемого типа. В этом заключается отличие от оператора Sub, параметрами которого могут быть только имена переменных.
Пример
Процедура
Sub TestGame (New As String, Option As Integer)
MyAppId = Shell ( New, Option)
AppActivate MyAppId
End Sub
Вызов процедуры
Call TestGame (New, Option)
Либо TestGame New, Option ‘ во втором случае при вызове процедуры аргументы не заключаются в скобки
Число параметров и их типы в операторе вызова процедуры должны соответствовать числу и типам параметров в определении процедуры.
Передача аргументов
В Vb аргументы в процедуру могут передаваться двумя способами: либо как ссылки (ByRef) либо как значения (ByVal).
Если аргумент передается как ссылка, то вызванная процедура получает физический адрес памяти передаваемой информации. Различия между двумя способами передачи аргументов состоит в том, что при передаче аргумента как ссылки модно изменять значение этого аргумента. Для того . чтобы передать значение аргумента как ссылку, следует перед аргументом указать ключевое слово ByReff, а для того, чтобы передать аргументы как значения - ключевое слово ByVal. Возможно также использование именованных аргументов, которые передаются в последовательности , указанной в заголовке процедуры.
Пример
Private Sub Command _ Click ()
A = 5
Someprocedure A, B ‘ вызов процедуры
Print B ‘ результат 25
End Sub
Sub SomeProcedure (ByRef First, Ssecond)
Second = First * 5
End Sub
Пример 2
Private Sub Command _ Click ()
Someprocedure 1, 2, 3
End Sub
Sub SomeProcedure (aOne, aTwo, aThree)
Print aOne, aTwo? aThree
End Sub
Пример 3
Private Sub Command _ Click ()
Someprocedure aThree = 3, aTwo = 2, aOne = 1
End Sub
Sub SomeProcedure (aOne, aTwo, aThree)
Print aOne, aTwo, aThree
End Sub
Передача в процедуру массива несколько отличается от передачи обычных переменных. Процедура должна обеспечивать возможность обработки массива любого размера, поскольку иногда невозможно заранее указать процедуре размер обрабатываемого массива. Для этого в списке параметров процедуры используется динамический массив.
Для определения динамического массива, как вам известно, достаточно в списке параметров оператора Sub привести имя массива, за которым следуют круглые скобки.
Например:
Sub ArraySort (InputArray ( ),ardim)
После описания такой процедуры её можно вызывать, как и другие процедуры, указывая имя массива в качестве одного из параметров списка. При вызове процедуры следует указывать только имя передаваемого массива. Скобки и размерность массива в операторе вызова опускаются.
Рассмотрим пример такой процедуры для сортировки массива.
В вызывающей программе случайным образом формируется массив символов, который после вызова процедуры выводится на печать в первоначальном виде и после сортировке по нажатию командной кнопки в упорядоченном виде.
Public Sub ArraySort(Input Array ( ), ardim) ‘ ardim- количество элементов в массиве
For I = 1 to ardim
For J = 1 to ardim
If InputArray ( i ) > InputArray ( j ) Then
Temp = InputArray ( i )
InputArray ( i ) = InputArray ( j )
InputArray ( j ) = Temp
End If
Next j
Next i
End Sub
Dim ThisArray (1 To 10 )
For i = To 10
J = Int ( Rnd ( )* 25 + 1)
ThisArray ( i ) = Chr$ ( 64 + j )
Next i
For i = 1 To 10
Form1.Print ThisArray ( i ) ‘ вывод на печать исходного массива
Next i
ArraySort ThisArray, 10 ‘ 10 - число элементов в массиве
Form1.Print “ “
For i = 1 To 10
Form1. Print ThisArray ( i ) ‘ вывод на печать упорядоченного массива
Next i
Процедура ArraySort, как и все другие процедуры начинается с оператора Sub. В списке параметров процедуры указан массив и переменная, в которой будет записано количество элементов в массиве.
Код, составляющий тело процедуры, содержит вложенные операторы цикла For , предназначенные для проверки значения каждого элемента массива и помещения его в соответствующую позицию. После выполнения сортировки происходит возврат в основную программу.
В программе, вызывающей процедуру, сначала объявляется массив, затем элементам этого массива присваиваются случайные значения. После завершения формирования массива он выводится на экран в исходном виде. Далее вызывается процедура сортировки. После завершения работы процедуры массив снова выводится на экран, но уже в отсортированном виде.
