Автор работы: Пользователь скрыл имя, 30 Июня 2013 в 15:23, контрольная работа
(ИТ, от англ. information technology, IT) — широкий класс дисциплин и областей деятельности, относящихся к технологиям создания, сохранения, управления и обработки данных, в том числе с применением вычислительной техники. В последнее время под информационными технологиями чаще всего понимают компьютерные технологии. В частности, ИТ имеют дело с использованием компьютеров и программного обеспечения для создания, хранения, обработки, ограничения к передаче и получению информации. Специалистов по компьютерной технике и программированию часто называют ИТ-специалистами.
Информация и информационные технологии.
Центральный процессор, системные шины.
Операционная система, система управления работой пользователей, командные языки; организация личного и корпоративного информационного обеспечения.
Текстовые редакторы.
Классификация и формы представления моделей.
Объектно-ориентированное программирование.
Структуры и типы данных языка программирования.
Объекты баз данных.
Компьютерные коммуникации и коммуникационное оборудование.
Методы защиты информации. Организационные меры защиты информации.
Однако общность механизма обмена сообщениями имеет и другую сторону — «полноценная» передача сообщений требует дополнительных накладных расходов, что не всегда приемлемо. Поэтому в большинстве ныне существующих объектно-ориентированных языков программирования используется концепция «отправка сообщения как вызов метода» — объекты имеют доступные извне методы, вызовами которых и обеспечивается взаимодействие объектов. Данный подход реализован в огромном количестве языков программирования, в том числе C++, Object Pascal, Java, Oberon-2. В настоящий момент именно он является наиболее распространённым в объектно-ориентированных языках.
Концепция виртуальных методов, поддерживаемая этими и другими современными языками, появилась как средство обеспечить выполнение нужных методов при использовании полиморфных переменных, то есть, по сути, как попытка расширить возможности вызова методов для реализации части функциональности, обеспечиваемой механизмом обработки сообщений.
Структура данных (англ. data structure) — программная единица, позволяющая
хранить и обрабатывать множество однотипных
и/или логически связанных данных в вычислитель
Термин «структура данных» может иметь несколько близких, но тем не менее различных значений:
Структуры данных формируются с помощью типов данных, ссылок и операций над ними в выбранном языке программирования.
Различные виды структур данных подходят для различных приложений; некоторые из них имеют узкую специализацию для определённых задач.
Например, B-деревья обычно подходят для создания баз данных, в то время как хеш-таблицы используются повсеместно для создания различного рода словарей, например, для отображения доменных имён в интернет-адреса компьютеров.
При разработке программного обеспечения
сложность реализации и качество
работы программ существенно зависит
от правильного выбора структур данных.
Это понимание дало начало формальным
методам разработки и языкам программирования,
в которых именно структуры данных, а не
алгоритмы, ставятся во главу архитектуры
программного средства. Большая часть
таких языков обладает определённым типом модульности, позволяющим структурам данных безопасно переиспользоваться в
различных приложениях. Объектно-
Многие классические структуры
данных представлены в стандартных
библиотеках языков программирования
или непосредственно встроены в
языки программирования. Например,
структура данных хэш-таблица встроена
в языки программирования Lua,
Фундаментальными
Проектировать структуры данных для функциональных языков более сложно, чем для императивных, как минимум по двум причинам:
Язык программирования — формальная
Со времени создания первых программируемых машин человечество придумало более двух с половиной тысяч языков программирования (включая абстрактные и нестандартные языки).[1] Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.
Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:
1.Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иноговычислительного процесса и организации управления отдельными устройствами.
2.Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой.
Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.
3.Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Можно сказать, что первые языки
программирования возникали еще
до появления современных
В это же время, в 1940-е годы, появились электрические цифровые компьютеры и был разработан язык, который можно считать первым высокоуровневым языком программирования для ЭВМ — «Plankalkül», созданный немецким инженером К. Цузе в период с 1943 по 1945 годы[3]. Строилось программное обеспечение и для американского компьютера «Марк-1»; одна из активных участниц этого процесса, программист Грейс Хоппер, впоследствии разработала первый компилятор для языков программирования.
Программисты ЭВМ начала 1950-х годов, в особенности таких, как UNIVAC и IBM 701, при создании программ пользовались непосредственно машинным языком —
то есть писали на языке первого поколения.
Вскоре на смену такому методу программирования
пришло применение языков второго поколения,
также ограниченных спецификациями конкретных машин, но более простых для запоминания. Они
традиционно известны под наименованием языков ассемблера.
Позднее, к концу десятилетия, языки второго
поколения были усовершенствованы: в них
появилась поддержка макрокоманд. Одновременно с этим начали появляться
уже и языки третьего поколения — такие,
как Фортран, Лисп и Кобол[4]. Языки программирования этого типа
более абстрактны и универсальны, не имея
жесткой зависимости от конкретной аппаратной платформы и
используемых на ней машинных команд.
Обновленные версии перечисленных языков
до сих пор имеют хождение в разработке
программного обеспечения, и каждый из
них оказал определенное влияние на последующее
развитие языков программирования. Тогда
же, в конце 1950-х годов, появился Алгол, также послуживший основой для ряда
дальнейших разработок в этой сфере. Необходимо
заметить, что на формат и применение ранних
языков программирования в значительной
степени влияли интерфейсные ограничени
В период 1960-х — 1970-х годов были разработаны основные парадигмы языков программирования, используемые в настоящее время, хотя во многих аспектах этот процесс представлял собой лишь улучшение идей и концепций, заложенных еще в первых языках третьего поколения.
Каждый из этих языков породил по семейству потомков, и большинство современных языков программирования в конечном счете основано на одном из них.
Кроме того, в 1960 — 1970х годах активно велись споры о необходимости поддержки структурного программирования в тех или иных языках[9]. В частности, голландский специалист Э. Дейкстра выступал в печати с предложениями о полном отказе от использования инструкций GOTO во всех высокоуровневых языках. Развивались также приемы, направленные на сокращение объема программ и повышение продуктивности работы программиста и пользователя; в итоге наборы инструкций на языках четвертого поколения уже требовали существенно меньшего количества перфокарт для их записи, нежели аналогичные программы на языках третьего поколения.
В 1980-е годы наступил период, который можно условно
назвать временем консолидации. Язык С++ объединил в себе черты объектно-ориентированного
и системного программирования, правительство США стандартизир
Важной тенденцией, которая наблюдалась в разработке языков программирования для крупномасштабных систем, было сосредоточение на применении модулей — объемных единиц организации кода. Хотя некоторые языки, такие, как ПЛ/1, уже поддерживали соответствующую функциональность, модульная система нашла свое отражение и применение также и в языках Модула-2, Ада и ML. Часто модульные системы объединялись с конструкциями обобщенного программирования.
В 1990-х годах в связи с активным развитием Интернета распростра
В настоящее время развитие языков программирования идет в направлении повышения безопасности и надежности, создания новых форм модульной организации кода и интеграции с базами данных.
Язык программирования строится в соответствии с той или иной базовой моделью вычислений и парадигмой программирования.
Несмотря на то, что большинство
языков ориентировано на императивную модель вычислений,
задаваемую фон-неймановской архитектурой
ЭВМ, существуют и другие подходы. Можно
упомянуть языки со стековой вычислительной
моделью (Форт, Factor, PostScript и др.), а также функциональное (Лисп, Ha
В настоящее время также активно
развиваются проблемно-
Языки программирования могут быть
реализованы как компилируемые
Программа на компилируемом языке при помощи компилятора (особой программы) преобразуется (компилируется) в машинный код (набор инструкций) для данного типа процессора и далее собирается в исполнимый модуль, который может быть запущен на исполнение как отдельная программа. Другими словами, компилятор переводит исходный текст программы с языка программирования высокого уровня в двоичные коды инструкций процессора.
Если программа написана на интерпретируемом
языке, то интерпретатор непосредствен
Информация о работе Контрольная работа по "Коммуникации и СМИ"