Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритм преобразования данных




Способ хранения данных

В задании было указано на необходимость создания, хранения и последующего просмотра протокола работы. Протокол работы можно хранить на жестком или на гибком диске. Обеспечим возможность различных вариантов хранения протокола и на жестком и на гибком диске. Поэтому в табл. 3.2 необходимо добавить три строчки с данными LogDisk, LogPath и LogFile, соответствующими имени диска, пути к файлу протокола и имени файла протокола. Все три величины имеют тип string, видимость – public, организацию – "переменные".

Для хранения протокола можно выбрать как файл последовательного доступа, так и файл прямого доступа. В данном случае это совершенно безразлично, но для работы с файлом прямого доступа потребуется создать сложный тип данных. Выбираем файл последовательного доступа с многокомпонентной записью данных в последовательности a,b. Корень х уравнения можно было бы также записать в файл, что упростило бы процесс чтения протокола, но знание метода решения уравнения позволяет предвидеть необходимость записи при а=0 сообщений "не определен" или "не существует".

Метод решения уравнения А*х+В=0 предельно прост:

= -В/А при А¹0

х не определен при А=0 и В=0

не существует при А=0 и В¹0.

Анализ алгоритма решения уравнения показывает, что для его полной реализации должна быть введена промежуточная переменная типа string или вычисляющая ее функция, в которую записывается символьный эквивалент значения х или текст соответствующего сообщения. С учетом соображений, высказанных в 3.6.3 и в данном подразделе, табл. 3.2 можно придать вид
табл. 3.3.

Таблица 3.3

Уточненное описание наборов данных

Имя Тип Способ организации Видимость Назначение
Входные данные
A Single Переменная Public Коэффициент а
B Single Переменная Public Коэффициент b
Выходные данные
X Single Переменная Public Корень уравнения
Промежуточные данные
TBA.Text String Свойство Text Box Public Ввод коэффициента а
TBB.Text String Свойство Text Box Public Ввод коэффициента b
LBX.Caption String Свойство Label Public Отображение корня х
MessX String Функция Public Сообщение о корне х
  LogDisk LogPath LogFile   String String String   переменная переменная переменная   Public Public Public Данные протокола: Имя диска Путь Имя файла

Алгоритм преобразования данных показан на Р-графе (рис. 3.1) и в
табл. 3.4. На рис. 3.1 жирным шрифтом показаны обозначения формул (иногда совпадающие с самими формулами), курсивом – имена состояний процесса, а нормальным шрифтом – условия, разрешающие выполнение соответствующих действий. В качестве имен состояний процесса выбраны слова "Вход" (начало процесса), "Выход" (завершение процесса) и номера состояний. Ввиду простоты задачи описание состояний не делается. Если возникнет необходимость в этой операции, то описание состояний можно сделать в таблице, в которой для каждого имени состояния указать имена данных, значения которых определенны.


Вход 1 а¹0 2 3 Выход

o о o o о

TBA.Text>a x= - b/a x →MessX LB.Caption=MessX

TBB.Text>b a=0 4 b¹0

 

MessX="не существует"

b=0

MessX="не определен"

функция MessX

Рис. 3.1. Р-граф алгоритма преобразования данных

 

Таблица 3.4

Таблица формул к алгоритму преобразования данных

Имена данных Обозначения формул Вид формул
TBA.Text Нет Ввод с клавиатуры
TBB.Text Нет Ввод с клавиатуры
a TBA.Text>a a=val(TBA.Text) при вводе с клавиату-ры, иначе читается из файла
b TBB.Text>b b=val(TBB.Text) при вводе с клавиату-ры, иначе читается из файла
x x= -b/a x= -b/a при а≠0, иначе не определяется
MessX x →MessX MessX="не существует" MessX="не определено" MessX=str(x) при а≠0, MessX="не существует" при а=0 и b≠0 MessX="не определено" при а=0 и b=0
LB.Caption LB.Caption=MessX LB.Caption=MessX
LogDisk LogDisk Из списка дисков
LogPath LogPath Из списка каталогов диска
LogFile LogFile Из списка файлов или с клавиатуры



Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 1380; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.