Теоретическая информатика




Теоретический раздел любой науки базируется на математических методах исследования. Это относится и к информатике. Она использует методы математики для построения и изучения моделей обработки, передачи и использования информации, создаёт тот теоретический фундамент, на котором строится всё здание информатики.

По своей природе информация дискретна и представляется обычно в символьно-цифровом виде в текстах и точечном виде на рисунках. С учётом этого в информатике широко используется математическая логика как раздел дискретной математики.

Следующее направление теоретической информатики – вычислительная математика, которая разрабатывает методы решения задач на компьютерах с использованием алгоритмов и программ.

Подраздел теория информации (а также теория кодирования и передачи информации) изучает информацию в виде абстрактного объекта, лишённого конкретного содержания. Здесь исследуются общие свойства информации и законы, управляющие её рождением, развитием и уничтожением.

Системный анализ – еще одно направление теоретической информатики. В нём изучается структура реальных объектов, явлений, процессов и определяются способы их формализованного описания через информационные модели. Имитационное моделирование – один из важнейших методов компьютерного моделирования, в котором воспроизводятся процессы и явления, протекающие в реальных объектах.

Наконец, теория принятия решений изучает общие схемы выбора нужного решения из множества альтернативных возможностей. Такой выбор часто происходит в условиях конфликта или противоборства. Модели такого типа изучаются в теории игр.


Вычислительная техника

Вычислительная техника является важнейшим компонентом процесса вычислений и обработки данных. Первыми приспособлениями для вычислений были, счётные палочки, которые и сегодня уже практически не используют.

Постепенно из простейших приспособлений для счёта рождались всё более и более сложные устройства: счёты, логарифмическая линейка, арифмометр, компьютер. Несмотря на простоту ранних вычислительных устройств, опытный счетовод может получить результат при помощи простых счётов даже быстрее, чем нерасторопный владелец современного калькулятора. Естественно, производительность и скорость счёта современных вычислительных устройств уже давно превосходят возможности самого выдающегося расчётчика-человека.


Информационные системы

 

Информационная система — это взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации для достижения цели управления. В современных условиях основным техническим средством обработки информации является персональный компьютер. Большинство современных информационных систем преобразуют не информацию, а данные. Поэтому часто их называют системами обработки данных.

По степени механизации процедур преобразования информации системы обработки данных делятся на системы ручной обработки, механизированные, автоматизированные и системы автоматической обработки данных.

Важнейшими принципами построения эффективных информационных систем являются следующие.

Принцип интеграции, заключающийся в том, что обрабатываемые данные, однажды введенные в систему, многократно используются для решения большого числа задач.

Принцип системности, заключающийся в обработке данных в различных аспектах, чтобы получить информацию, необходимую для принятия решений на всех уровнях управления.

Принцип комплексности, заключающийся в механизации и автоматизации процедур преобразования данных на всех этапах функционирования информационной системы.

Информационные системы также классифицируются:

По функциональному назначению: производственные, коммерческие, финансовые, маркетинговые и др.;

По объектам управления: информационные системы автоматизированного проектирования, управления технологическими процессами, управления предприятием (офисом, фирмой, корпорацией, организацией) и т. п.;

По характеру использования результатной информации: информационно-поисковые, предназначенные для сбора, хранения и выдачи информации по запросу пользователя; информационно-советующие, предлагающие пользователю определенные рекомендации для принятия решений (системы поддержки принятия решений); информационно-управляющие, результатная информация которых непосредственно участвует в формировании управляющих воздействий.

Структуру информационных систем составляет совокупность отдельных ее частей, называемых подсистемами.

Функциональные подсистемы реализуют и поддерживают модели, методы и алгоритмы получения управляющей информации. Состав функциональных подсистем весьма разнообразен и зависит от предметной области использования информационной системы, специфики хозяйственной деятельности объекта, управления.

1.В состав обеспечивающих подсистем обычно входят:

информационное обеспечение — методы и средства построения информационной базы системы, включающее системы классификации и кодирования информации, унифицированные системы документов, схемы информационных потоков, принципы и методы создания баз данных;

2.Техническое обеспечение — комплекс технических средств, задействованных в технологическом процессе преобразования информации в системе. В первую очередь это вычислительные машины, периферийное оборудование, аппаратура и каналы передачи данных;

3. Программное обеспечение включает в себя совокупность программ регулярного применения, необходимых для решения функциональных задач, и программ, позволяющих наиболее эффективно использовать вычислительную технику, обеспечивая пользователям наибольшие удобства в работе;

4.Математическое обеспечение — совокупность математических методов, моделей и алгоритмов обработки информации, используемых в системе;

5.Лингвистическое обеспечение — совокупность языковых средств, используемых в системе с целью повышения качества ее разработки и облегчения общения человека с машиной.

Организационные подсистемы по существу относятся также к обеспечивающим подсистемам, но направлены в первую очередь на обеспечение эффективной работы персонала, и поэтому они могут быть выделены отдельно. К ним относятся:

1. Кадровое обеспечение — состав специалистов, участвующих в создании и работе системы, штатное расписание и функциональные.обязанности;

2. Эргономическое обеспечение — совокупность методов и средств, используемых при разработке и функционировании информационной системы, создающих оптимальные условия для деятельности персонала, для быстрейшего освоения системы;

3. Правовое обеспечение — совокупность правовых норм, регламентирующих создание и функционирование информационной системы, порядок получения, преобразования и использования информации;

4.Организационное обеспечение — комплекс решений, регламентирующих процессы создания и функционирования как системы в целом, так и ее персонала.


Программирование

 

Программирование - процесс составления упорядоченной последовательности действий для ЭВМ; научная дисциплина, изучающая программы для ЭВМ и способы их составления, проверки и улучшения.

Программирование как научное направление возникло с появлением вычислительных машин и только программное обеспечение определяет эффективность использования ЭВМ. В этой области работает значительный отряд специалистов, которые подразделяются на системных и прикладных программистов.

Системные программисты являются, как правило, специалистами очень высокого уровня и разрабатывают системное программное обеспечение, которое включает в себя операционные системы, языки программирования и трансляторы. Операционные системы обеспечивают функционирование вычислительной техники и предоставляют пользователю комфортные условия взаимодействия с компьютером.

Языки программирования создаются для разработки прикладного программного обеспечения. Эти языки относятся к языкам высокого уровня, мнемоника и семантика которых близка к естественному языку общения людей.

Есть ещё машинные языки, которые используются непосредственно в ЭВМ и которые состоят из последовательности машинных команд, закодированных в микропроцессорах. Для преобразования программ, написанных на языке высокого уровня. В программы на машинном языке используются специальные программы – трансляторы, которые также создаются системными программистами.

Прикладное или проблемно-ориентированное программирование ориентировано на разработку пользовательских программ для решения тех или иных задач в различных областях науки, техники, производства. Например, в образовании используются пакеты педагогических программных средств (ППС), в которые включаются обучающие и контролирующие программные средства в определённой предметной области.

 


1.2.5. Искусственный интеллект

Искусственный интеллект - один из разделов информатики, в рамках которого ставятся и решаются задачи аппаратного и программного моделирования тех видов человеческой деятельности, которые традиционно считаются интеллектуальными (творческими).

Термин «искусственный интеллект» (artificial intelligence) предложен в 1956 году на семинаре с аналогичным названием, который состоялся в США и был посвящен решению логических задач.

Современные интеллектуальные информационные технологии — технологии обра­ботки информации и решения задач с помощью вычислительных машин, опирающиеся на достижения в области искусственного интеллекта. Результаты исследований по искусственному интеллекту используются в интеллек­туальных системах (ИС) - технических или программных системах, способных решать задачи, считающиеся творческими, принадлежащие конкретной предмет­ ной области, знания о которой хранятся в памяти интеллектуальной системы. Системы искусственного интеллекта состоят из трех основных блоков: базы зна­ний, решателя и интеллектуального интерфейса. Типичным представителем сис­тем искусственного интеллекта являются экспертные системы.

В целом системы искусственного интеллекта ориентированы на решение большого и очень важного класса задач, называемых неформализуемыми (трудно форма­лизуемыми), к которым относят задачи, обладающие одной или несколькими из следующих особенностей (свойств): алгоритмическое решение задачи неизвест­но (хотя, возможно, и существует) или не может быть использовано из-за ограни­ченности ресурсов ЭВМ; задача не может быть определена (задана) в числовой форме (требуется символьное представление); цели решения задачи не могут быть выражены в терминах точно определенной целевой функции; большая размерность пространства решения; динамически изменяющиеся данные и знания. Как пра­вило, трудно формализуемые задачи обладают неполнотой, неоднозначностью и/или противоречивостью исходных данных и знаний о предметной области.

В исследованиях по искусственному интеллекту можно выделить два основных направления:

1. Программно-прагматическое («не имеет значения, как устроено «мыслящее» устройство, главное, чтобы на заданные входные воздействия оно реагировало, как человеческий мозг») - занимается созданием программ, с помощью которых можно решать те задачи, решение которых до этого считалось исключительно прерогативой человека. Сюда относятся распознающие и игровые программы, программы для решения логических задач, поиска, классификации и т. п. Это направление ориентировано на поиски алгоритмов решения интеллектуальных задач на существующих моделях компьютеров.

2. Бионическое («единственный объект, способный мыслить - это человеческий мозг, поэтому любое «мыслящее» устройство должно каким-то образом воспроизводить его структуру») - занимается проблемами искусственного воспроизведения тех структур и процессов, которые характерны для живого человеческого мозга и которые лежат в основе процесса решения задач челове­ком. В рамках бионического подхода к проблеме искусственного интеллекта сформировалась новая наука нейроинформатика, практическим выходом ко­торой явилась разработка нейрокомпьютера — вычислительной машины VI поколения.

В настоящее время традиционным (классическим) принято считать программнопрагматическое направление, при котором не ставится вопрос об адекватности используемых структур и методов тем, которыми пользуется в аналогичных случаях человек, а рассматривается лишь конечный результат решения задачи. В рамках этого направления сначала велись поиски моделей и алгоритма человеческого мышления. Ни одна из существующих наук (философия, психология, лингвистика) не смогла предложить такого алгоритма. Тогда специалисты в области искусственного интеллекта предложили собственные модели:
модель лабиринтного поиска. Этот подход представляет задачу как некоторый граф, отражающий пространство состояний, и в этом графе проводится поиск оптимального пути от входящих данных к результирующим;
эвристическое программирование.

Эвристика - правило, теоретически не обоснованное, но позволяющее сократить количество переборов в пространстве поиска;
использование методов математической логики. На основе метода резолюций,
позволившего автоматически доказывать теоремы при наличии исходных аксиом, в 1973 г. был создан язык Пролог.

Существенный прорыв в практических приложениях искусственного интеллекта произошел в середине 70-х годов, когда на смену поискам универсального алгоритма мышления пришла идея моделировать конкретные знания специалистов-экспер­тов. В США появились первые коммерческие системы, основанные на знаниях, - экспертные системы. Сформировался новый подход к решению интеллектуальных задач - представление и использование знаний.


1.3. Язык программирования С++

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.

Разработка языка началась в 1979 году. Целью создания C++ было дополнение C возможностями, удобными для масштабной разработки ПО, с сохранением гибкости, скорости и портабельности C. Вместе с тем создатели C++ стремились сохранить совместимость с C: синтаксис первого основан на синтаксисе последнего, и большинство программ на C будут работать и как C++.

Стандартная библиотека C++ включает в себя набор средств, которые должны быть доступны для любой реализации языка, чтобы обеспечить программистам удобное пользование языковыми средствами и создать базу для разработки, как прикладных приложений самого широкого спектра, так и специализированных библиотек. Стандартная библиотека С++ включает в себя часть стандартной библиотеки C. Стандарт C++ содержит нормативную ссылку на стандарт C от 1990 года и не определяет самостоятельно те функции стандартной библиотеки, которые заимствуются из стандартной библиотеки C.

Доступ к возможностям стандартной библиотеки C++ обеспечивается с помощью включения в программу (посредством директивы #include) соответствующих стандартных заголовочных файлов. Всего в стандарте C++11 определено 79 таких файлов. Средства стандартной библиотеки объявляются как входящие в пространство имён std. Заголовочные файлы, имена которых соответствуют шаблону «cX», где X — имя заголовочного файла стандартной библиотеки C без расширения (cstdlib, cstring, cstdio и пр.), содержат объявления, соответствующие данной части стандартной библиотеки C. Стандартные функции библиотеки C также находятся в пространстве имён std.

Один из тяжелейших недостатков C++, унаследованный им от синтаксиса С, состоит в доступности компилятору описания внутренней структуры всех использованных классов. Как следствие, изменение внутренней структуры представления какого-нибудь библиотечного класса приводит к необходимости перекомпиляции всех программ, где эта библиотека используется. Это сильно ограничивает разработчиков библиотек в части их модернизации, ведь, выпуская новую версию, они должны сохранять двоичную совместимость с предыдущей. Именно эта проблема заставляет многих специалистов считать, что C++ непригоден для ведения больших и сверхбольших проектов.

И все же, несмотря на перечисленные недостатки и даже на неготовность стандарта языка (это после пятнадцати с лишним лет использования!), C++ остается одним из наиболее популярных языков программирования. Его сила прежде всего в практически полной совместимости с языком С. Благодаря этому программистам C++ доступны все наработки, выполненные на С. При этом C++ даже без использования классов привносит в С ряд настолько важных дополнительных возможностей и удобств, что многие пользуются им просто как улучшенным С.

Что касается объектной модели C++, то пока ваша программа не стала очень большой (сотни тысяч строк), ею вполне можно пользоваться. Наметившаяся в последнее время тенденция перехода к компонентному программному обеспечению только усиливает позиции C++. При разработке отдельно взятых компонентов недостатки C++ еще не проявляются, а связывание компонентов в работающую систему производится уже не на уровне языка, а на уровне операционной системы.

 


2. Обзор программных и аппаратных средств



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-10-17 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: