- •Курс лекций
- •Лекция 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. Состав проекта
- •Создание дистрибутива программного средства
- •Документирование программных средств
- •Аттестация программного средства.
Структура данных в языках программирования высокого уровня
Во всяком языке программирования определены способы организации данных и способы организации действий над данными. Кроме того , существует понятие «элементы языка», включающее в себя множество символов (алфавит), лексемы, и другие изобразительные средства языка программирования, Несмотря на разнообразие языков программирования они связаны общностью структуры языков высокого уровня, которая схематически отражена на рис. 5. 1.
Алфавит языка состоит из множества символов, включающих в себя буквы, цифры, и специальные символы, Обычно Это латинские прописные и строчные буквы, цифры от 0 до 9, шестнадцатиразрядные цифры, специальные символы (+, =, -, /, <> , ( ) , #, &, ) и др.
К специальным символам относятся служебные слова, смысл которых определен однозначно. Служебные слова не могут быть использованы для других целей.
Идентификаторы- символическое имя определенного программного объекта_ имена констант , имена переменных, типов данных, функций, процедур, объектов, свойств объектов, программ.
Комментарии – пояснения к программе, к операторам и т.п. Комментарии выделяются кавычками либо скобками. Они игнорируются компилятором.
Язык программирования
Элементы языка
Организация действий над данными
Организация данных
Алфавит, синтаксис, оформление программы
Ввод - вывод данных, работа с файлами
Обработка данных
Тип и структура данных
Операции и выражения
Операторы:
-присваивания
ветвления
цикла
и др.
Организация и использование программ
Рис. 5.1. Структура данных в языках программированияТипы данных
Концепция типов данных является одной из центральных в любом языке программирования, С типом величины связаны три ее свойства : форма внутреннего его представления; множество принимаемых значений, множество допустимых значений. Структура типов отражена на рис. 5.2.
Обычно в языках программирования существует несколько типов простых значений, хотя теоретически можно было бы обойтись и одним. Простые значения – это числа, логические значения, литеры, ссылки. В некоторых языках встречаются и другие простые типы.
Принято различать два основных типа чисел : целые и вещественные. Внутри этих типов числа различаются по диапазоны допустимых значений. Диапазоны зависят не от самого языка программирования, а от того сколько байтов памяти отводится под одно числовое значение из того или иного диапазона.
Если операнды двуместных операций принадлежат различным диапазонам , то они приводятся к более широкому диапазону из двух. Над целыми числами любая операция должна исполняться точно, если она вообще выполнима внутри этого диапазона. Если результат операции не укладывается в этот диапазон, то последствия могут быть различными: результат оказывается искаженным, результат рассматривается, как число следующего по ширине диапазона или как вещественное число, работа программы прерывается с сообщением о невозможности исполнить операцию. Выбор между этими значениями чаще всего зависит от реализации языка.
Р
ис
5.2 Структура типов данных
Для вещественных чисел точность исполнения даже самых простых операций не гарантируется, то есть допускается , что результат любой операции может быть получен с некоторой погрешностью - ошибкой округления. Величина этой ошибки зависит от операции, значений операндов, диапазону которому принадлежат эти значения и, разумеется от компьютера, на котором выполняется программа, поскольку вид компьютера определяет способ представления чисел внутри каждого диапазона. Если результат операции не представим в соответствии со способом представления ее операндов, то опять либо он переводится в следующий диапазон, либо исполнение программы прерывается с выдачей диагностического сообщения. Поэтому более точно этот тип можно было бы охарактеризовать термином приближенное число.
В таблице 5.2. приведены основные типы данных языков программирования Турбо – Паскаль и Visual Basic.
Таблица 5.2.
Простые типы данных в Visual Basic
Тип |
Хранимая величина |
Занимаемая память |
Диапазон значений |
Byte |
Целые числа |
1 байт |
От 0 до 255 |
Integer |
Целые числа |
2 байта |
От –32768 до +32767 |
Long |
Длинное целое число |
4 байта |
От –2147483648 до +2147483648 |
Single |
Число с плавающей запятой |
4 байта |
От –3,402823Е38 до –1,401298Е-45 для отрицательных величин, и от +1,401298Е-45 до +3,402823Е38 |
Double |
Число с плавающей запятой двойной точности |
8 байт |
От –1,79769313486232Е 308 до –4,94065645841247Е-324 для отрицательных чисел и от +4,94065645841247Е-324 до +1,79769313486232Е 308 для положительных чисел |
Currency |
Денежная величина, либо число с количеством знаков 15 слева от запятой и 4 знаками справа от запятой |
8 байт |
От –922337203685477,5808 до + 922337203685477,5807 |
String (в Т-П) |
Строковая переменная |
1 байт на символ |
65500 символов -16 разрядный код и 2Е32 символов – 32 разрядный код |
Boolean |
Логические величины |
2 байта |
True или False |
Date |
Дата и время |
8 байт |
От 1 января 100г. до 1 января 9999г. |
Object |
Рисунки, объекты |
4 байта |
Любая ссылка на объект |
Variant |
Любой тип данных |
!6 байт + 1 байт на символ |
Не задан |
