- •1.Понятие программного продукта
- •2.Важнейшие этапы создания программного продукта
- •3. Инструментальные средства разработки программных продуктов
- •4. Подходы к программированию и технология создания программного продукта Символьные эквиваленты адресов данных
- •Типизация и организация данных
- •Объектно-ориентированное программирование
- •Событийное управление программными средствами
- •5. Свойства алгоритмов и способы их описания
- •6. Типовые алгоритмы обработки информации
- •8. Резюме к первой главе
- •9. Общие приемы работы со средой
- •11.Последовательность постановки задачи
- •12.Определение наборов данных и их организация
- •13.Определение способа хранения данных
- •14.Определение алгоритма преобразования данных
- •15.Проектирование интерфейса
- •17.Проектирование структуры программы и разработка алгоритма ее работы
- •Алгоритм преобразования данных
- •Разработка интерфейса программы
- •Проектирование структуры программы и разработка алгоритма ее работы
- •19.Описание доступности модулей, процедур и функций
- •20.Описание данных и преобразование типов данных
- •21.Запись данных в оперативную память
- •22.Ввод данных с клавиатуры
- •23. Вывод данных и сообщений на экран
- •24. Применение объекта RichTextBox для ввода и вывода информации
- •25.Обработка информации
- •Логические выражения
- •Not (логическое_выражение)
- •Операции над строками
- •Операции вычисления даты и времени
- •26.Организация циклов
- •27.Работа с массивами
- •28.Работа с файлами и папками
- •29.Работа с файлами как с целыми объектами
- •Работа с файлами на уровне изменения записей
- •30. Работа со списком и окном с раскрывающимся списком
- •Работа с окном ComboBox
- •Работа с окном списка ListBox
- •30.Работа с объектом Timer
- •31.Работа со строкой статуса
- •Работа с простой строкой статуса
- •Работа с многопанельной строкой статуса
- •32. Создание контекстных подсказок
- •33.Накопление сумм и произведений
- •34. Сортировка методом всплывающего пузырька
- •35.Вывод данных на принтер
11.Последовательность постановки задачи
Постановка задачи обязательно предваряет разработку текста программы. Даже если кто-то из "советчиков" говорит, что он это не делает, не верьте. Просто он делает постановку задачи в неявном виде во время проектирования программы. Для этого нужен большой опыт и наработка большого количества шаблонных решений. Но даже в этом случае вероятность ошибочных и нерациональных решений велика, немалый объем будет иметь работа по исправлению ошибочных решений.
Постановка задачи предусматривает следующие операции:
составление технического задания,
определение входного и выходного набора данных и их организацию,
определение набора промежуточных данных,
определение способа хранения данных,
определение алгоритма преобразования входных данных в промежуточные и выходные данные,
разработку интерфейса программы,
проектирование структуры программы,
разработку алгоритма работы программы в целом.
12.Определение наборов данных и их организация
Входной набор данных обычно отражает исходные данные, которые задаются для решения задачи, выходные данные описывают полученный результат. Промежуточные данные вводятся для упрощения вычисляемых выражений и для согласования возможностей интерфейса пользователя с процессом вычислений, выполняемых программой.
В столбце "Видимость" записываются слова, определяющие доступность данных для различных блоков:
"public",
"private",
"static".
В столбце "Способ организации" записываются слова:
"переменная",
"константа",
"массив", "динамический массив",
"элемент массива",
"поле … базы данных …".
способ организации" описывает способ хранения данных в памяти вычислительной машины. Таблица описания наборов данных делится на три раздела – входные, выходные и промежуточные данные.
В столбце "Назначение" помещается комментарий, фиксирующий содержание (смысл) данных, имеющих это имя.
13.Определение способа хранения данных
Принципиально существует два способа хранения данных на дисках – в файлах прямого и последовательного доступа. В обоих случаях для работы с файлами выделяется область ОЗУ, называемая буфером файла.
Файл прямого доступа состоит из записей фиксированной длины. Запись может быть сплошной или разделенной на части – поля. Для помещения в файл многокомпонентной записи язык Visual Basic позволяет использовать сложный тип данных, определяемый пользователем. Доступ к каждой записи возможен непосредственно без обработки других записей. При обработке файла прямого доступа возможна как запись, так и чтение данных через один и тот же буфер. Файл последовательного доступа предусматривает возможность использования записей произвольной длины. Запись может состоять из одного или из нескольких компонентов. Буфер файла последовательного доступа может использоваться только для записи или только для чтения данных. Обработка любой записи предполагает хотя бы формальную обработку всех предшествующих записей.
14.Определение алгоритма преобразования данных
После того, как определены наборы входных, выходных и промежуточных данных необходимо описать процесс преобразования входных данных в выходные. Этот процесс удобно описать комбинацией таблицы с формулами и Р-графа. Таблица формул имеет столбцы "Имена данных", "Обозначение формулы", "Вид формулы". Имена данных берутся из таблицы описания наборов данных. Обозначения формул – произвольные последовательности символов, например "А=Ф1" или "А<-Т5", но лучше в обозначения формул вкладывать какой-нибудь смысл, например, указание на выполняемую операцию. Приведенные выше обозначения можно расшифровать как "А вычисляется по формуле Ф1" или "Т5 преобразуется в А" соответственно. Способ создания обозначения непринципиален, самое главное, чтобы разные действия не обозначались одинаково или одни и те же действия не были описаны дважды.При написании формулы в столбце "Вид формулы" необходимо учитывать возможность определения одних и тех же величин по разным выражениям в зависимости от способа ввода (с клавиатуры или из файла).
Р-граф алгоритма преобразования данных показывает последовательность применения формул во всех вариантах действий программы и позволяет:
проследить отсутствие тупиковых ситуаций, в которых программа "не знает, что ей делать",
проследить отсутствие ситуаций "неполных данных" – ситуаций в которых делается попытка оперировать с неопределенными данными,
обнаружить нерациональные действия,
обнаружить места возникновения возможных ошибок выполнения программы, например, попытки деления на ноль.
В дальнейшем весь процесс преобразования данных можно изобразить как сложную ветвь (или ветви) Р-графа с короткой надп Проектирование интерфейса