Система автоматизированного поиска на таблицах
Выбор и анализ языка программирования для проектирования системы автоматизированного поиска по таблицам. Ввод в теории поиска и принятия решений. Роль формальных методов при решении практических проблем выбора. Средства ввода и корректировки таблиц.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 12.05.2015 |
Размер файла | 53,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Ввод в теории поиска и принятия решений
1.1 Решение и выбор
1.2 Теория принятия решений
2. Анализ системы автоматизированного поиска по таблицам
3. Подбор оценочной функции системы автоматизированного поиска по таблицам
4. Выбор и анализ языка программирования для проектирования системы автоматизированного поиска по таблицам
Заключение
Список литературы
Введение
Согласно учебному плану для учащихся специальности: 230400.62 «Информационные системы и технологии» в конце курса обучения предусмотрена преддипломная практика. Данная практика является одним из важнейших этапов подготовки студента к написанию выпускной квалифицированной работе.
Отчет по данной практике позволит студенту подготовить теоретический материал для выпускной квалифицированной работы, поставить цель и задачи выпускной квалифицированной работы.
Основные задачи по данной преддипломной практике:
· Ввод в теорию поиска и принятия решений;
· Анализ системы автоматизированного поиска по таблицам;
· Подбор оценочной функции системы автоматизированного поиска по таблицам;
· Выбор и анализ языка программирования для проектирования системы автоматизированного поиска по таблицам.
Основные цели по данной преддипломной практике:
· Подготовиться к написанию выпускной квалифицированной работе;
· Подготовить библиографический список.
1. Ввод в теорию поиска и принятия решений
1.1 Решение и выбор
программирование таблица автоматизированный
Слово «решение» имеет в русском языке несколько значений, которые для наших целей важно различать. Во-первых, под решением понимается совокупность рассматриваемых возможностей, которые тем или иным образом выделены человеком, делающим выбор. Во-вторых, решение представляет собой процесс поиска наиболее предпочтительных вариантов, включающий в себя обдумывание, изучение какого-либо вопроса или задачи, нахождение правильного ответа. В-третьих, решением является и сам полученный в ходе поиска ответ, например один или несколько выбранных вариантов, результат анализа некоторой проблемы или математической задачи. Наконец, решениями называют указы, постановления, распоряжения, приказы, акты органов законодательной и исполнительной власти, судебные и иные решения. В других языках для этих понятий используются разные слова. Например, в английском языке в первом случае говорят alternative, decision, во втором -- solving, choice, в третьем - solution, resolution, в четвертом - decree, order.
Принятие решений в профессиональном отношении представляет собой особый вид человеческой деятельности, который состоит в обоснованном выборе наилучшего в некотором смысле варианта или нескольких предпочтительных вариантов из имеющихся возможных. По-английски этот термин звучит, как decision making, т.е. буквально означает «делание» или создание решения, что более адекватно смыслу этого словосочетания. Здесь слово «решение» соответствует своему первому и третьему значениям.
Задачи принятия решений часто отождествляются с задачами выбора, являющимися одними из самых распространенных задач, с которыми человек сталкивается в своей деятельности. В повседневной жизни нам постоянно приходится делать выбор того или иного товара, покупаемого в магазине, блюда, заказываемого в кафе или ресторане, маршрута поездки или вида транспорта и т.п. В силу повторяемости, стереотипности ситуаций выбора человек принимает решение, почти не задумываясь, часто интуитивно или по аналогии. Лучший вариант обычно находится без какого-то особого анализа.
В более сложных и соответственно более редких, уникальных ситуациях, например при выборе места отдыха, учебы или работы, покупке квартиры или дорогостоящей вещи (автомобиля, мебели и т.д.), голосовании за того или иного кандидата или партию, человек более тщательно подходит к своему выбору. Прежде чем принять решение, он старается детально рассмотреть, оценить и сопоставить различные варианты, учесть разные точки зрения.
Еще более сложные задачи выбора возникают в профессиональной деятельности каждого руководителя, ученого, конструктора, врача, экономиста, финансиста, бизнесмена, военачальника. Этот список профессий нетрудно продолжить. При принятии политических, экономических, производственных, военных решений требуется учитывать различные и зачастую не совпадающие интересы действующих сторон, нужно отыскивать и анализировать разнообразную информацию. Для сравнения различных вариантов действий приходится проводить всесторонний, иногда достаточно сложный анализ проблемной ситуации, разрабатывать для этого специальные модели, привлекать к выработке вариантов решения специалистов, экспертов, консультантов, аналитиков, использовать средства вычислительной техники, строить компьютерные системы поддержки принятия решений.
Сходного рода проблемы возникают у людей, занятых управлением сложными техническими объектами (энергетическими системами и установками, самолетами, кораблями и т.п.). Но здесь ситуации осложняются еще и тем, что решение требуется принять оперативно, в реальном масштабе времени, практически не имея возможности для детального анализа всех альтернативных вариантов и возникающих последствий их реализации.
Без преувеличения можно сказать, что необходимость обоснования выбора присутствует во всех сферах человеческой деятельности. Обоснованный выбор особенно важен в управлении организационными и техническими системами.
В ситуациях принятия сложных решений всегда существует недостаток информации. Часть нужной информации нередко отсутствует, а имеющаяся информация может быть противоречивой. Опытный руководитель или специалист покрывает неполноту информации своими знаниями, умением и интуицией. Принятие верных решений в сложных ситуациях является своего рода искусством, которым владеют не многие. Однако одного искусства в принятии решений в современных условиях мало. Возросла динамичность жизни; сократился период времени, в течение которого принятые ранее решения остаются верными; повысилась сложность вариантов принимаемых решений, их взаимозависимость и взаимосвязь; существенно увеличились возможные риски и неопределенность последствий, масштабы и размеры потерь в случае принятия недостаточно обоснованных решений. Как следствие, существенно возросла ответственность человека за принятие наилучшего, «самого правильного» решения, увеличились трудности, связанные с его нахождением, преодолеть которые невозможно без использования всего арсенала средств, накопленных современной теорией принятия решений.
1.2 Теория принятия решений
Изучением того, как человек принимает решения, и созданием методов выбора занимаются многие научные дисциплины, которые возникли и исторически развивались независимо друг от друга. К ним относятся теория принятия решений, системный анализ, исследование операций, теория статистических решений, теория игр, теория оптимального управления, экономическая кибернетика, теория организаций, информатика, искусственный интеллект, когнитивная психология, теория поведения и др. Эти дисциплины с разных точек зрения анализируют механизмы, процессы и правила выбора применительно к объектам различной природы и в различных условиях их существования. Все вместе они образуют многодисциплинарную науку, помогающую человеку сделать обоснованный выбор. Теория принятия решений как самостоятельное научное направление стала складываться в середине ХХ в. в рамках методологии системного анализа, хотя самые первые работы по исследованию голосования как способа коллективного выбора появились еще в конце XVII в. Основное назначение теории принятия решений состоит в разработке методов и средств, позволяющих одному человеку или группе лиц сформулировать множество возможных вариантов решения проблемы, сравнить их между собой, найти среди них лучшие или допустимые варианты, которые удовлетворяют тем или иным требованиям (ограничениям), и при необходимости объяснить сделанный выбор.
Теория принятия решений может оказать существенную помощь в анализе и решении сложных проблем, но лишь тогда, когда ее методологические и математические средства применяются «правильно», соответственно их возможностям, не преувеличивая и не умаляя их роли в процессе нахождения решения. Поэтому теорию принятия решений правильнее было бы назвать теорией поиска и обоснованного выбора наиболее предпочтительных для человека вариантов решения проблемы.
Существуют две противоположные точки зрения на роль формальных методов при решении практических проблем выбора. Люди, профессионально не владеющие математическими методами, нередко считают, что любая проблема может быть формально переведена на язык математики и потом решена ее средствами. Другие полностью отвергают такие возможности. Действительность же гораздо сложнее этих крайних утверждений.
Любые ситуации, требующие принятия решения, содержат, как правило, большое число неопределенных факторов, которые оказывают влияние как на формальную постановку задачи, так и на средства ее решения. Эти неопределенные факторы можно в самом общем виде разбить на три группы.
Прежде всего, это так называемая неопределенность природы, т.е. факторы людям попросту неизвестные или от них не зависящие. Затем - неопределенность человека, который может вести себя непоследовательно, противоречиво, допускать ошибки, зависеть от других лиц (партнеров, противников и т.д.), чьи действия он не может полностью учесть или предвидеть. И наконец, неопределенность целей, которые могут различаться и не совпадать друг с другом. Например, авиаконструкторы, проектируя самолет, должны учитывать его целевое назначение, заданные показатели скорости, грузоподъемности и дальности полета, условия безопасности и комфортности для экипажа и пассажиров, факторы экономичности и технологичности производства и эксплуатации самолета, экологические требования и многие другие обстоятельства.
Ясно, что полностью свести подобные задачи с неопределенностью к корректно поставленным математическим задачам нельзя в принципе. Чтобы сделать возможным их решение, надо как-то ограничить, уменьшить или, как говорят, «снять» неопределенность. Для этого проводится содержательный анализ проблемной ситуации, делаются какие-либо предположения и вводятся упрощения в постановку задачи. И именно средства, входящие в состав тех или иных методов принятия решений, очень часто позволяют получить дополнительную информацию, нужную для формализации реальной проблемной ситуации и приведения ее к виду, пригодному для использования математически методов и получения приемлемого результата.
Говоря о практической применимости методов принятия решений, следует особенно подчеркнуть, что должны существовать как объективные внешние обстоятельства, таки субъективные внутренние условия, которые побуждали бы человека - руководителя, ответственного за решение стоящей проблемы, специалиста, аналитика - искать лучшие варианты ее решения. Без такой потребности спрос на научно обоснованные методы выбора будет невелик.
2. Анализ системы автоматизированного поиска по таблицам
Имеется прямоугольная таблица. Столбцам соответствуют некоторые параметры, строкам соответствуют некоторые действия. Строки могут быть сгруппированы, при этом, группировка указывается в крайних слева столбцах таблицы. Группировки в крайних столбцах могут не совпадать.
Таблица 1
Способ покрытия |
Вид покрытия |
Материал трущейся пары |
Размеры |
Пар 1 |
Пар I |
Пар N |
|
Напыление |
Баббит |
Бронза + бронза |
Диаметр 50мм |
14, 0.04 |
|||
Силумин |
Диаметр 100мм |
||||||
Электролиз |
Диаметр 150мм |
||||||
Напыление |
Бронза + сталь |
||||||
Наваривание |
Баббит |
Сталь + сталь |
|||||
Хром |
|||||||
Латунь + бронза |
|||||||
Электролиз |
Латунь + латунь |
За пример взят фрагмент технологической таблицы трущейся пары (шарнир), заполнение приблизительное. Число параметров может быт в пределах до 2х сотен. Число строк в принципе не ограничено, но обычно не более сотни (это для механики, но в других предметных областях может быть больше). Число столбцов группировок не более 10.
Ведущая группировка здесь материал трущейся пары, остальные вспомогательные. В ведущей группировке повторов нет, во вспомогательных возможны. Вещая группировка в таблице всегда одна, но должен быть механизм замены ведущей группировки и соответствующей перестройки таблицы.
Ячейки таблицы заполняют значения параметров с их допусками, например, 14±0.04 (можно просто пару (14, 0.04)).
Таблицы используются для поиска и принятия решений. Для этого назначается ряд критериальных параметров (т.е. столбцов, значения параметров которых будет оцениваться). Задаются значения критериальных переменных для поиска требуемой строки или набора строк. Критериальные переменные в каждой строке оцениваются по специальной функции с учетом заданных значений поиска, и сводятся в интегральный показатель строки. Далее интегральные показатели строк сравниваются и выбирается строка или набор строк для которых значение интегрального показателя оказалось наилучшим. Для сужения поиска могут быть также заданы отдельные группировки (например, в приведенном фрагменте - диаметры), тогда строки не входящие в заданные группировки игнорируются.
3. Подбор оценочной функции системы автоматизированного поиска по таблицам.
Оценочную функцию подбираем таким образом, чтобы в области допустимых значений переменной, принадлежали бы интервалу [0,1], была безразмерной, определялась бы однозначно и была бы линейной или хотя бы кусочно-линейной.
Функция оценки значения переменной для некоторого шага моделирования или момента актуализации информации t принимается равной:
(xi-xi)/(xi- xi), если xi < xi ;
((xi-i)-xi)/((xi-i)-xi), если xi xi< xi-i;
(xi)= 0, если xi-i xi xi+i;
( xi-(xi+i))/(xi-(xi+i)), если xi+i<xi xi;
(xi-xi)/(xi- xi), если xi> xi.
Где: xi - значение параметра в ячейке
xi - нижняя граница заданных для поиска значений,
xi - верхняя граница заданных значений,
xi - предпочтительное (оптимальное) значение,
i - допускаемое отклонение значений заданного значения от предпочтительного, при котором значение продолжает считаться оптимальным (xi[xi-i, xi+i]).
Функцию является кусочно-линейной, (xi)=axi+b, где значения a и b будут меняться в зависимости от участка области изменения функции. Чем меньше значение функции, тем ближе к оптимуму (в оптимальной окрестности оно равно нулю).
Функция принимает значение только в области положительных чисел, так как выражения вычисляющие значения функции в каждом интервале ее значений составлены так, что всегда меньшее вычитается из большего, имеет два интервала монотонности. Функция показывает относительное приближение значения переменной к некоторому базовому интервалу. Вне промежутка допустимых значений скорость изменения функции меньше, чем внутри области допустимых значений
Вид графика функции (xi) приведен ниже.
Рисунок 1
Все критериальные переменные в строке оцениваются при помощи данной функции
Интегральная оценка строки
j=max((xi)),
где j - индекс строки.
Выбирается строка или набор строк (что вряд ли), для которой значения критерия
Все критериальные переменные считаются одинаковой важности.
Для всех параметров производятся расчеты для значений плюс допуск и минус допуск, учитывается то значение, для которого значение (xi) больше.
Если для какого-либо параметра не предусмотрено оптимальной окрестности, то оптимальной считается одна из границ заданного промежутка значений. Нижняя, если нужно уменьшить, верхняя, если увеличить.
А также рассмотрим некоторые свойства разрабатываемой системы:
· Если вводить приоритетность критериальных переменных, то чем меньше вес, тем приоритетнее переменная, веса в пределах [0,1] (чем вес ближе к нулю, тем переменная важнее, но это не обязательно, так для сведения).
· Полученная строка распечатывается полностью со всеми группировками и параметрами.
· В начале обработки запроса всегда проверяется, есть ли среди сохраненных запросов запрос с аналогичным заданием, тогда искать не надо, выводится ранее полученный результат. Если таблица была изменена, то использовать старые запросы можно только как справочные, даже если параметры запросов совпадают нужно проводить новый поиск.
4. Выбор и анализ языка программирования для проектирования системы автоматизированного поиска по таблицам
Выбранным языком программирования стал С++ как изучаемый язык программирования в процессе обучения на специальности 230400.62 «Информационные системы и технологии»
C++ -- компилируемый статически типизированный язык программирования общего назначения.
Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником -- языком C, -- наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.
Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. [4] Когда в конце 1970-х годов Страуструп начал работать в Bell Labs над задачами теории очередей (в приложении к моделированию телефонных вызовов), он обнаружил, что попытки применения существующих в то время языков моделирования оказываются неэффективными, а применение высокоэффективных машинных языков слишком сложно из-за их ограниченной выразительности. Так, язык Симула имеет такие возможности, которые были бы очень полезны для разработки большого программного обеспечения, но работает слишком медленно, а язык BCPL достаточно быстр, но слишком близок к языкам низкого уровня и не подходит для разработки большого программного обеспечения.
Вспомнив опыт своей диссертации, Страуструп решил дополнить язык C (преемник BCPL) возможностями, имеющимися в языке Симула. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами. В результате практические задачи моделирования оказались доступными для решения как с точки зрения времени разработки (благодаря использованию Симула-подобных классов), так и с точки зрения времени вычислений (благодаря быстродействию C). В первую очередь в C были добавлены классы (с инкапсуляцией), наследование классов, строгая проверка типов, inline-функции и аргументы по умолчанию. Ранние версии языка, первоначально именовавшегося «C with classes» («Си с классами»), стали доступны с 1980 года.
Разрабатывая C с классами, Страуструп написал программу cfront[en] -- транслятор, перерабатывающий исходный код C с классами в исходный код простого C. Это позволило работать над новым языком и использовать его на практике, применяя уже имеющуюся в UNIX инфраструктуру для разработки на C. Новый язык, неожиданно для автора, приобрёл большую популярность среди коллег и вскоре Страуструп уже не мог лично поддерживать его, отвечая на тысячи вопросов.
К 1983 году в язык были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль комментариев (//). Получившийся язык уже перестал быть просто дополненной версией классического C и был переименован из C с классами в «C++». Его первый коммерческий выпуск состоялся в октябре 1985 года.
До начала официальной стандартизации язык развивался в основном силами Страуструпа в ответ на запросы программистского сообщества. Функцию стандартных описаний языка выполняли написанные Страуструпом печатные работы по C++ (описание языка, справочное руководство и так далее). Лишь в 1998 году был ратифицирован международный стандарт языка C++: ISO/IEC 14882:1998 «Standard for the C++ Programming Language»; после принятия технических исправлений к стандарту в 2003 году -- следующая версия этого стандарта -- ISO/IEC 14882:2003.
Заключение
Прохождение преддипломной практики является важным элементом учебного процесса по подготовки специалиста в области информационных технологий.
На этом этапе обучения были поставлены следующие цели и задачи для выпускной квалификационной работы:
· Предоставление пользователям эффективной системы поиска и принятия решений;
· Разработка системы автоматизированного поиска на таблицах с использование языка программирования С++;
· Интерфейс должен содержать средства ввода и корректировки таблиц (изменение группировок, изменение ведущей группировки, ввод и удаление столбцов), средства ввода и корректировки запроса, вывода результата, возможность сохранения таблицы, запроса, результатов запроса.
Список литературы
1. А.Б. Петровский. «Теория принятия решений» серия «Прикладная математика и информатика».
2. Техническое задание на тему дипломной работы «Система автоматизированного поиска на таблицах».
Размещено на Allbest.ru
Подобные документы
Обзор существующих систем атоматизированного поиска. Мир электронных денег. Разработка структуры системы автоматизированного поиска отделений и терминалов банков. Обоснование выбора технологии разработки, программной среды и языка программирования.
курсовая работа [1,2 M], добавлен 17.01.2011Обзор алгоритмов распознания объектов на двумерных изображениях. Выбор языка программирования. Обнаружение устойчивых признаков изображения. Исследование алгоритмов поиска объектов на плоскости. Модификация алгоритма поиска максимума дискретной функции.
дипломная работа [1,0 M], добавлен 16.06.2013Характеристика структурированного языка программирования С, его основных структурных компонентов, области памяти, библиотеки. Методы поиска в массивах данных. Описание программы, функции сортировки и меню выбора, последовательного и бинарного поиска.
курсовая работа [1,7 M], добавлен 19.05.2014Основные направления развития системы автоматизированного проектирования, состав его лингвистического обеспечения. Назначение и принципиальное устройство ввода-вывода информации. Сущность и группы языков программирования, их роль в переработке информации.
курсовая работа [1,9 M], добавлен 18.01.2010Обоснование выбора языка программирования. Описание разработки структуры программы. Спецификация переменных и процедур. Руководство оператора, словесный алгоритм. Состав информационной системы поиска квартир и характеристика её программных интерфейсов.
отчет по практике [2,2 M], добавлен 15.09.2014Особенности проведения поиска по реквизитам документа, контексту, специализированным классификаторам (тематический), интеллектуальный. Средства и инструменты поиска в компьютерных справочно-правовых системах "гарант", "консультантплюс", "кодекс".
реферат [25,9 K], добавлен 19.03.2016Основные протоколы, используемые в Интернет. Инструменты поиска в Интернете. Популярные поисковые системы. Как работают механизмы поиска. Средства поиска и структурирования. Автоматизированная навигация по Сети. Критерии качества работы поисковой машины.
реферат [19,7 K], добавлен 14.02.2012Человеко-машинные комплексы, специально предназначенные для принятия решений. Процесс принятия решений и его этапы. Методы поиска новых вариантов решений: дерево решений, морфологические таблицы, конференции идей. Принцип математической оценки тенденций.
курсовая работа [272,1 K], добавлен 30.07.2009Обоснование выбора метода извлечения ключевых слов. Анализ предметной области, проектирование информационной системы поиска релевантных документов. Реализация запросов к электронным библиотекам. Реализация интерфейса системы поиска релевантных документов.
дипломная работа [1,1 M], добавлен 21.09.2016Методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня. Программирование алгоритмов сортировки и поиска в рамках создаваемого программного средства на языке Delphi. Создание руководства пользователя.
курсовая работа [1,7 M], добавлен 16.04.2012