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