- •Курс лекций
- •Лекция 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. Состав проекта
- •Создание дистрибутива программного средства
- •Документирование программных средств
- •Аттестация программного средства.
12.3. Чтение данных из файла с последовательным доступом.
Чтение из файла одной строки
Для чтения из файла за один раз одной строки информации используется оператор Line Input (вывод строки). Это оператор выполняет чтение текста, начиная с текущей позиции указателя до символа возврата каретки или перехода на новую строку. Для оператора Line Input используется следующий синтаксис:
Line Input #filenum, varname
Где
#filenum – номер, или дескриптор открытого файла, который используется для ввода. Это то же самое число, которое определено в операторе Open при открытии файла. Как и в операторе Open, это может быть число или числовая переменная , Символ # указывает, что далее следует числовое выражение.
Второй параметр - имя переменной, используемой для хранения информации, содержащейся в строке файла. Переменная должна иметь тип string или variant. Оператор Line Input позволяет читать за один раз одну строку и устанавливать соответствующее значение переменной varname.
Пример:
Open “A:\TEST1.TXT” For Input As #1 ‘Открытие файла TEST1.TXT на диске A
Do While Not EOF(1) ‘начало цикла просмотра файла до конца
Line Input #1, fstlin ‘ чтение одной строки файла
eqpos = InStr(fstlin, “=”) ‘определение знака равенства
optparm = Trim(Ucase(Left(fstlin, eqpos – 1))) ‘вывод из строки имени параметра и его значения
stlen = Len(fstlin)
optval = Right(fstlin)
If optparm = “DEFONT” Then - ‘идентификация имени параметра и присваивает его значение свойству текстового окна
txtTest.Font.Name = Trim(optval)
End If
Loop do
Close #1
Функция EOF (End of file) определяет конец файла. Принимает значение True при достиженииконца файла.
Чтение заданного количества символов
Для чтения из файла заданного количества символов, или даже всего файла, можно использовать функцию Input. Функция Input осуществляет чтение указанного количества символов из файла, начиная с текущей позиции указателя ( определяемой как позиция за последним прочитанным символом).
Синтаксис обращения к функции Input имеет следующий вид:
varname = Input (numchrs, [#]filenum)
где
filenum – определяет дискриптор открытого файла, из которого вы хотите прочесть информацию
[#] – указывает, что далее следует числовое выражение;
numchrs – Определяет количество символов, которое вы хотите прочесть из входного файла;
varname – имя переменной типа String или Variant, в которую записывается результат выполнения операции вывода.
Функция Input читает и хранит в переменной все встретившиеся символ, включая пробелы, символы конца строки и тому подобное.
При чтении всего файла количество символов в нем можно определить с помощью функции Lof. Функция Lof определяет количество символов и ли байтов в файле. Обращение к функции выполняется с помощью следующего выражения:
resultver = LOF(filenum)
resultver – представляет переменную, содержащую возвращаемое функцией значение. а filename – номер файла, открытого с помощью оператора Open.
В приведенном примере представленный код позволяет прочесть все содержимое файла в текстовое окно для редактирования. Имя файла пользователь может определить с помощью другого текстового окна на экранной форме. Код помещается в поле события Click командной кнопки Open Fife на экранной форме.
Пример:
Dim numchars As Long
filnam = txtFileName.Text
Open filnam For Input As #1
numchars m = LOF(1) ‘ олределение длины файла.
If numchars > 3200 Then ‘сравнение длины файла с размером текстового окна.
MsgBox “File is too long for this program”
Exit Sub
End If
txtFileContents.Text = Input(numchars, #1)
Close #1
Функция LOF позволяет определить длину файла в байтах.
Чтение нескольких переменных
Рассмотренные операторы позволяют считывать данные из файла по частям только в переменную типа String. Для того чтобы одним оператором прочитать данные сразу в несколько переменных непосредственно в программу следует использовать оператор Input #, а для считывания определенного количества символов Input$
Он используется следующим образом.
Input #filenum, variant,
где
filenum – Определяет номер файла открытого для вывода;
variant – представляет список переменных, в которые будет помещаться информация, считываемая из файла. Список может содержать любое количество переменных любого типа за исключением массивов.
Последовательность и типы данных в списке должны соответствовать последовательности и типу данных в файле. Если. например вы попытаетесь с помощью оператора Input # записать прочитанные данные в переменные типа String и Imteger, в то время как файл содержит две строки, возникнет ошибка, и будет выведено сообщение о несоответствии типов считываемых данных.
Данные, читаемые из файла с помощью оператора Input #, должны быть разделены запятыми или находиться в различных строках. Подобный способ задания данных известен как ограничение данных запятой.
Несмотря на то, что в операторе Input # не допускается использование массива , можно указать его элемент. Ниже приводится код, позволяющий с помощью такого приёма выполнить считывание данных в массив.
1. Dim ThisArray (1 To 10)
For i = o To 10
Input #1, ThisArray(i)
Next i
2. strText = Input$ (LOF(intFH), intFH)
Close #intFH
