BigEdu.ru
» » » Языки программирования
Вернуться назад

Языки программирования

Содержание
Введение…………………………………………………………………………..3
1. Структура и типы данных языка программирования…………………..4
2. Базы данных, экспертные системы, искусственный интеллект………..9
3. Передача данных по сети…………………………………………………...20
4. Методы защиты от вирусов………………………………………………...28
Заключение……………………………………………………………………...37
Список литературы…………………………………………………………….39
Введение
Слово информатика привлекает исследователей по машинной обработке информации давно. За последние четыре-пять десятков лет информатика прошла официальный путь от названия научной дисциплины до названия науки. Возможно, что информатика неофициально уже существует 300 и более лет, так осознанная обработка сообщений (знания) с помощью различных устройств существовала давно.
Информатика - это наука об описании, осмыслении, определении (толковании), представлении, обобщении (формализации) и использовании знаний с применением средств вычислительной техники и программ ее работы для получения нового знания в различных сферах деятельности человека.
Определение информатики возникло в недрах кибернетики. Информатика стала самостоятельной наукой, что породило споры о субординации двух наук. Сопоставление теории познания (гносеология или эпистемология) и информатики сводится к разделению их по определениям, по предмету, по рассматриваемым ими проблемам и по другим атрибутам научной дисциплины.
Теория познания - это раздел философии, в котором изучаются закономерности и возможности познания человеком, отношение знания (наблюдений, ощущений, представлений, понятий, обобщений и применений) к окружающему миру (объективной реальности), исследуются ступени и формы процесса познания, условия и критерии его достоверности и истинности.

1. Структура и типы данных языка программирования
Язы́к программи́рования — формальная знаковая система, предназначенная для записи программ. Программа обычно представляет собой некоторый алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Со времени создания первых программируемых машин человечество придумало уже более восьми с половиной тысяч языков программирования. Каждый год их число пополняется новыми. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.
Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространенным утверждениям, признаваемым большинством разработчиков, относятся следующие:
· Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.
· Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека компьютеру, в то время, как естественные языки используются для общения людей между собой. В принципе, можно обобщить определение «языков программирования» — это способ передачи команд, приказов, четкого руководства к действию; тогда как человеческие языки служат также для обмена информацией.
· Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Язык программирования может быть представлен в виде набора спецификаций, определяющих его синтаксис и семантику.
Для многих широко распространённых языков программирования созданы международные стандарты. Специальные организации проводят регулярное обновление и публикацию спецификаций и формальных определений соответствующего языка. В рамках таких комитетов продолжается разработка и модернизация языков программирования и решаются вопросы о расширении или поддержке уже существующих и новых языковых конструкций.
Во внутреннем представлении обычно данные в современных цифровых компьютерах сохраняются в бинарном виде (в двоичном виде). Данные, которые представляют информацию из реального мира (имена, банковские счета, измерения и др.) — высокоуровневые концепции.
Особая система, по которой данные организуются в программе, — это система типов языка программирования; разработка и изучение систем типов известна под названием теория типов. Языки могут быть классифицированы как системы со статической типизацией и языки с динамической типизацией.
Статически-типизированные языки могут быть в дальнейшем подразделены на языки с обязательной декларацией, где каждая переменная и объявление функции имеет обязательное объявление типа, и языки с выводимыми типами. Иногда динамически-типизированные языки называются латентно типизированными.
Системы типов в языках высокого уровня позволяют определять сложные, составные типы, так называемые структуры данных. Как правило, структурные типы данных образуются как декартово произведение базовых (атомарных) типов и ранее определённых составных типов.
Основные структуры данных (списки, очереди, хэш-таблицы, двоичные деревья и пары) часто представлены особыми синтаксическими конструкциями в языках высокого уровня. Такие данные структурируются автоматически.
Существует несколько подходов к определению семантики языков программирования.
Наиболее широко распространены разновидности следующих: операционного (или так называемого математического), и деривационного (или аксиоматического).
При описании семантики в рамках операционного подхода обычно исполнение конструкций языка программирования интерпретируется с помощью некоторой воображаемой (абстрактной) ЭВМ.
Деривационная семантика описывает последствия выполнения конструкций языка с помощью языка логики и задания пред- и постусловий. Денотационная семантика оперирует понятиями, типичными для математики — множества, соответствия и др.
Язык программирования строится в соответствии с той или иной базовой моделью вычислений.
Несмотря на то, что большинство языков ориентировано на так называемую императивную модель вычислений, задаваемую так называемой фоннеймановской архитектурой ЭВМ, существуют и другие подходы. Прежде всего следует упомянуть языки со стековой вычислительной моделью (Forth, Factor, Postscript и др), а также функциональное (Лисп, Haskell, ML и др.) и логическое программирование (Пролог).
В настоящее время также активно развиваются проблемно-ориентированные, декларативные и визуальные языки программирования.
В вычислительной технике структура данных — это программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих интерфейс структуры данных. Структура данных часто является реализацией какого-либо абстрактного типа данных.
При разработке программного обеспечения большую роль играет проектирование хранилища данных, и представление всех данных в виде множества связанных структур данных. Хорошо спроектированное хранилище данных оптимизирует использование ресурсов (таких как время выполнения операций, используемый объём оперативной памяти, число обращений к дисковым накопителям), требуемых для выполнения наиболее критичных операций.
Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.
Различные виды структур данных подходят для различных приложений; некоторые из них имеют узкую специализацию для определённых задач. Например, Б-деревья обычно подходят для создания баз данных, в то время как хэш-таблицы используются повсеместно для создания различного рода словарей, например, для отображения доменных имён в интернет адреса компьютеров.
При разработке программного обеспечения сложность реализации и качество работы программ существенно зависит от правильного выбора структур данных. Это понимание дало начало формальным методам разработки и языкам программирования, в которых именно структуры данных, а не алгоритмы, ставятся во главу архитектуры программного средства. Большая часть таких языков обладает определённым типом модульности, позволяющим структурам данных безопасно переиспользоваться в различных приложениях. Объектно-ориентированные языки, такие как Java, C# и C++, являются примерами такого подхода.
Многие классические структуры данных представлены в стандартных библиотеках языков программирования или непосредственно встроены в языки программирования. Например, структура данных хэш-таблица встроена в языки программирования Lua, Perl, Python, Ruby, Tcl и др. Широко используется стандартная библиотека шаблонов STL языка C++.
Фундаментальными строительными блоками для большей части структур данных являются массивы, записи (см. конструкцию struct в языке Си и конструкцию record в языке Паскаль), размеченные объединения (см. конструкцию union в языке Си) и ссылки. Например, структура данных двусвязный список, может быть построена с помощью записей и зануляемых ссылок, а именно, каждая запись будет предоставлять блок данных (узел, node), содержащий ссылки на «левый» и «правый» узлы, а также сами хранимые данные.

2. Базы данных, экспертные системы, искусственный интеллект
База Данных (БД) — структурированный организованный набор данных, описывающих характеристики каких-либо физических или виртуальных систем.
«Базой данных» часто упрощённо или ошибочно называют Системы Управления Базами Данных (СУБД). Нужно различать набор данных (собственно БД) и программное обеспечение, предназначенное для организации и ведения базы данных (СУБД).
Организация структуры БД формируется исходя из следующих соображений:
1. Адекватность описываемому объекту/системе — на уровне концептуальной и логической модели.
2. Удобство использования для ведения учёта и анализа данных — на уровне так называемой физической модели.
Виды концептуальных (инфологических) моделей БД: «сущность-связь», семантические, графовые.
Виды логических (даталогических) моделей БД:
1. Документальные (архивы) — ориентированные на формат документа, дескрипторные, тезаурусные.
2. Фактографические (картотеки)
теоретико-графовые: иерархическая модель, сетевая модель.
теоретико-множественные: реляционная модель (ER-модель), многомерная модель.
объектно-ориентированные: объектная модель.
основанные на инвертированных файлах.
Таким образом, по модели представления данных БД классифицируются:
· Картотеки
· Сетевые
· Иерархические
· Реляционные
· Многомерные
· Объектно-ориентированные
· Дедуктивные
На уровне физической модели электронная БД представляет собой файл или их набор в формате TXT, CSV, Excel, DBF, XML либо в специализированном формате конкретной СУБД. Также в СУБД в понятие физической модели включают специализированные виртуальные понятия, существующие в её рамках — таблица, табличное пространство, сегмент, куб, кластер и т. д.
В настоящее время наибольшее распространение получили реляционные базы данных. Картотеками пользовались до появления электронных баз данных. Сетевые и иерархические базы данных считаются устаревшими, объектно-ориентированные пока никак не стандартизированы и не получили широкого распространения. Некоторое возрождение получили иерархические базы данных в связи с появлением и распространением XML.
Этапы проектирования базы данных
1. Концептуальное проектирование — сбор, анализ и редактирование требований к данным. Для этого осуществляются следующие мероприятия:
· обследование предметной области, изучение ее информационной структуры
· выявление всех фрагментов, каждый из которых характеризуется пользовательским представлением, информационными объектами и связями между ними, процессами над информационными объектами
· моделирование и интеграция всех представлений
По окончании данного этапа получаем концептуальную модель, инвариантную к структуре базы данных. Часто она представляется в виде модели «сущность-связь».
2. Логическое проектирование — преобразование требований к данным в структуры данных. На выходе получаем СУБД-ориентированную структуру базы данных и спецификации прикладных программ. На этом этапе часто моделируют базы данных применительно к различным СУБД и проводят сравнительный анализ моделей.
3. Физическое проектирование — определение особенностей хранения данных, методов доступа и т. д.
Различие уровней представления данных на каждом этапе проектирования реляционной базы данных:
Концептуальный уровень — Представление аналитика (используется инфологическая модель «сущность-связь»)
Логический уровень — Представление программиста
Физический уровень — Представление администратора
Экспе́ртная систе́ма (ЭС, expert system) — компьютерная программа, способная заменить специалиста-эксперта в разрешении проблемной ситуации. ЭС начали разрабатываться исследователями искусственного интеллекта в 1970-х годах, а в 1980-х получили коммерческое подкрепление.
Похожие действия выполняет программа-мастер (wizard). Мастера применяются как в системных программах так и в прикладных для интерактивного общения с пользователем (например, при установке ПО). Главное отличие мастеров от ЭС — отсутствие базы знаний; все действия жестко запрограммированы. Это просто набор форм для заполнения пользователем.
Другие подобные программы — поисковые или справочные (энциклопедические) системы. По запросу пользователя они предоставляют наиболее подходящие (релевантные) разделы базы статей. Например, для Википедии аналогами статических визардов являются категории, списки, шаблоны, порталы.
Структура экспертной системы:
· Интерфейс пользователя
· Пользователь
· Интеллектуальный редактор базы знаний
· Эксперт
· Инженер по знаниям
· Рабочая (оперативная) память
· База знаний
· Решатель (механизм вывода)
· Подсистема объяснений
База знаний состоит из правил анализа информации от пользователя по конкретной проблеме. ЭС анализирует ситуацию и, в зависимости от направленности ЭС, дает рекомендации по разрешению проблемы.
Как правило, база знаний ЭС содержит факты (статические сведения о предметной области) и правила - набор инструкций, применяя которые к известным фактам можно получать новые факты.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Рефераты по информатике Содержание Введение…………………………………………………………………………..3 1. Структура и типы данных языка программирования…………………..4 2. Базы данных, экспертные системы,
Оценок: 1472 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru