Информация и программирование

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 24.11.2014
Размер файла 54,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1.1 Представление графических данных в двоичном коде

Представление графических данных в двоичном коде.

Есть два основных способа представления изображений.

Первый -- графические объекты создаются как совокупности линий, векторов, точек -- называется векторной графикой.

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

Модель RGB. Чтобы оцифровать цвет, его необходимо измерить. Немецкий ученый Грасман сформулировал три закона смешения цветов:

1) закон трехмерности -- любой цвет может быть представлен комбинацией трех основных цветов;

2) закон непрерывности -- к любому цвету можно подобрать бесконечно близкий;

3) закон аддитивности -- цвет смеси зависит только от цвета составляющих.

За основные три цвета приняты красный (Red), зеленый (Green), синий (Blue). В модели RGB любой цвет получается в результате сложения основных цветов. Каждый составляющий цвет при этом характеризуется своей яркостью, поэтому модель называется аддитивной. Эта схема применяется для создания графических образов в устройствах, излучающих свет, -- мониторах, телевизорах.

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

· голубой (Cyan = В + G), дополняющий красного;

· пурпурный (Magenta = R + В), дополняющий зеленого;

· желтый (Yellow = R + G), дополняющий синего.

Но так как цветные красители по отражающим свойствам не одинаковы, то для повышения контрастности применяется еще черный (black). Модель CMYK названа по первым буквам слов Cyan, Magenta, Yellow и последней букве слова black. Так как цвета вычитаются, модель называется субстрактивной.

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

Если для кодирования яркости каждой точки использовать по одному байту (8 бит) на каждый из трех цветов (всего 3 * 8 = 24 бита), то система обеспечит представление 224« 16,7 млн распознаваемых цветов, что близко цветовосприятию человеческого зрения. Режим представления цветной графики двоичным кодом из 24 разрядов называется полноцветным или True Color. Очевидно, графические данные, также как и звуковые, занимают очень большие объемы на носителях. Например, скромный по современным меркам экран монитора имеет растр 800 х 600 точек, изображение, представленное в режиме True Color, займет 800 х 600 х 3 = 1 440 000 байт.

В случае, когда не требуется высокое качество отображения цвета, применяют режим High Color, который кодирует одну точку растра двумя байтами (16 разрядов дают 216 ~ 65,5 тысячи цветов).

Режим, который при кодировании одной точки растра использует один байт, называется индексным, в нем различаются 256 цветов. Этого недостаточно, чтобы передать весь диапазон цветов. Код каждой точки при этом выражает собственно не цвет, а некоторый номер цвета (индекс) из таблицы цветов, называемой палитрой. Палитра должна прикладываться к файлам с графическими данными и используется при воспроизведении изображения.

1.2 Оцифровка изображения

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

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

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

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

1.3 Понятие сжатия информации, его необходимость

Сколько существуют компьютеры, столько их обладателям не хватает памяти на внутренних и съёмных дисках для размещения своих данных. Стремительный рост объёмов дисков не решает эту проблему. Если 10 лет назад нам не хватало 20 мегабайт на винчестере, то сегодня точно так же не хватает 20 гигабайт.

Размеры используемых нами программ и данных растут вместе с ростом объёмов винчестеров. Мы уже можем себе позволить хранить на винчестере библиотеку из нескольких десятков тысяч книг. Но музыкальных произведений можем хранить на винчестере пока несколько сот часов звучания, а видеофильмов - всего несколько десятков часов просмотра. Поэтому проблема архивирования или сжатия данных остаётся так же актуальна, как и 10, и 20 лет назад.

Как же происходит сжатие информации? Например, сжатие текстовых файлов происходит приблизительно так. Составляется таблица встречающихся в тексте слов и выражений. Затем всем словам и выражениям в этой таблице даются номера. И весь текст в файле заменяется номерами из таблицы слов и выражений. Такой способ позволяет уменьшить размер текстового файла в 2-3 раза. Иногда текст сжимается и в 10 раз, если в нём много повторов.

Программа, переводящая текстовый файл в "сжатый" вид, называется упаковщиком. А полученный в результате сжатия файл называется упакованным или сжжатым файлом. Очень часто сжатые файлы называют архивами или архивными файлами, что, если подходить строго к терминологии, неверно. Изначально архивами назывались файлы, специально созданные во время процессов резервного копирования. В ходе такого процесса создавался один файл, который содержал в себе несколько исходных файлов и папок. Это и был архив. Никакого сжатия при этом не производилось. Подобная ситуация до сих пор существует в операционной системе Linux, где архивация данных и сжатие данных являются двумя независимыми процессами. В операционной системе MS-DOS, а затем и в MS Windows программы сжатия данных с самых первых своих версий стали поддерживать как сжатие, так и архивацию данных, то есть создавали сжатый файл, содержащий не один, а несколько исходных (архивируемых) файлов и папок. С той поры в этих операционных системах понятие "архивация" означает и архивацию (сбор в один файл-архив), и одновременное сжатие данных. Поскольку архивный файл записан не в текстовом формате, с ним не могут работать редакторы текстов. Перед открытием архивного файла редактором текстов этот файл необходимо разархивировать. Разархивацию производит та же самая программа - архиватор. После разархивации текстовый файл приобретает точно такой же вид и размер, как и до архивации.

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

Упаковщики, применяемые для сжатия текстов и программ, не могут эффективно сжимать звуковые, графические или видео файлы. Для их сжатия были разработаны другие, более сложные, алгоритмы. Правда, после распаковки полученные файлы немного отличаются от оригиналов (такое сжатие называется сжатием с потерями). Но этого не улавливает обычное человеческое ухо и не замечает обычный глаз на экране монитора.

1.4 Структуры данных: линейная, табличная, иерархическая

Работа с большими наборами данных автоматизируется проще, когда данные упорядочены, то есть образуют заданную структуру. Существует три основных типа структур данных: линейная, табличная и иерархическая. При создании любой структуры данных необходимо обеспечить решение двух задач: как разделять элементы данных между собой и как разыскивать нужные элементы. Линейные структуры - это хорошо знакомые списки. Список - это простейшая структура данных, отличающаяся тем, что каждый элемент данных однозначно определяется своим уникальным номером в массиве (списке). Табличные структуры данных подразделяются на двумерные и многомерные. Двумерные табличные структуры данных (матрицы) - это упорядоченные структуры, в которых адрес элемента определяется номером столбца и номером строки, на пересечении которых находится ячейка, содержащая искомый элемент. Многомерные таблицы - это упорядоченные структуры данных, в которых адрес элемента определяется тремя и более измерениями. Для отыскания нужного элемента в таких таблицах необходимо знать параметры всех измерений (размерностей). Линейные и табличные структуры являются простыми. Ими легко пользоваться, поскольку адрес каждого элемента задаётся числом (для списка), двумя числами (для двумерной таблицы) или несколькими числами для многомерной таблицы. Они также легко упорядочиваются. Основным методом упорядочения таких данных является сортировка. Недостатком простых структур данных является трудность их обновления. При добавлении, например, произвольного элемента в упорядоченную структуру возникает необходимость изменения адресных данных у других элементов. Иерархические структуры - это структуры, объединяющие нерегулярные данные, которые трудно представить в виде списка или таблицы. В иерархической структуре адрес каждого элемента определяется маршрутом, ведущим от вершины структуры к данному элементу. Эти структуры по форме сложнее, чем линейные и табличные, но они не создают проблем с обновлением данных. Их легко развивать путём создания новых уровней. Недостатком иерархических структур является относительная трудоёмкость записи адреса элемента данных и сложность упорядочения. Поэтому для упорядочения в таких структурах применяется метод предварительной индексации. При этом каждому элементу данных присваивается свой уникальный индекс, который используется при поиске, сортировке и тому подобное. В качестве примера иерархической структуры может служить система почтовых адресов.

1.5 Проблема обеспечения доступа к информации. Хранение и манипулирование данными

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

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

К базовым средствам манипулирования данными языка SQL относятся "поисковые" варианты операторов UPDATE и DELETE. Эти варианты называются поисковыми, потому что при задании соответствующей операции задается логическое условие, налагаемое на строки адресуемой оператором таблицы, которые должны быть подвергнуты модификации или удалению. Кроме того, в такую категорию языковых средств входит оператор INSERT, позволяющий добавлять строки в существующие таблицы. Логично начать изложение именно с оператора INSERT, поскольку, для того чтобы можно было что-либо модифицировать в таблицах или удалять из таблиц, нужно, чтобы в таблицах содержались какие-то строки.

1.6 Понятие файла. Информация, которая может храниться в файлах. Понятие формата файла

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

Каждый файл имеет имя. Имя файла складывается из двух частей: собственно имени, которое состоит из 1-8 символов, и расширения имени (типа), которое может отсутствовать или состоять из 1-3 символов. Тип файла присваивается в соответствии с характером хранимой информации. Задание типа осуществляет либо сам пользователь, либо программа, порождающая файл. Имя и тип используются совместно для идентификации файла. Имя и тип файла могут содержать русские и латинские буквы, а также символы: #,$,%,^,&,(,),-,_,@,!,",~. Символы с кодами меньше, чем 20Н, а так же символы "*" и "?" не могут использоваться в именах файлов. Полное имя файла образуется из двух слов - имени и типа, разделяемых знаком "точка". Если в имени файла отсутствует тип, точку можно опускать.

Примеры полных имен файлов:

COMMAND.COM PCTOOLS.EXE

AUTOEXEC.BAT HELP.TXT

CONFIG.SYS PROG1.PAS

PROG-1.BAS PROG2

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

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

В современных компьютерах цифровые данные всегдаНа самом деле есть исключения. Но они сейчас нас не интересуют. объединены в байты, т.е. в группы по 8 бит. Байт может принимать значение от 0 до 255. Принято, однако, записывать значение каждого байта не в десятичной, а в шестнадцатиричной системе счисления. Это существенно удобнее, поскольку одна шестнадцатиричная цифра представляет ровно 4 бита, а две шестнадцатиричные цифры - соответственно, байтНапомним, что в шестнадцатиричной системе счисления используются цифры от 0 до 9, а также от A (10) до F (15). Вы можете легко вычислить, что FF в шестнадцатиричной системе - это как раз и есть 255 в десятичной.

В любом текстовом документе и текст, и дополнительная информация должны быть закодированы в виде последовательности байтов. Только так компьютер сможет работать с ними.

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

Как правило, текстовый документ хранится в компьютере в виде одного файла. Формат файла определяет, какая именно информация и каким образом может быть открыт файл. Формат файла, также его называют тип файла -- это информация о файле для компьютера. Благодаря этой информации, компьютер приблизительно знает, что находится внутри файла и «понимает», в какой программе его открыть. Чтобы компьютер понимал, к какому типу относится тот или иной файл и в какой программе его открыть, после имени указано расширение.

Расширение -- это несколько букв или цифр, находящихся после точки в имени файла.

Список использованной литературы

1. Власов В.К., Королев Л.Н. Элементы информатики./ Под. Ред. Л.Н. Королева. М.: Наука, 2008.

2. Информатика. Под ред. Н.В. Макаровой. М.: Финансы и статистика, 2007. 768 с.

3. Информатика: Практикум по технологии работы на компьютере / Под ред. Н.В. Макаровой. 3-е изд., перераб. М.: Финансы и статистика, 2005. 256 с.

4. Могилев и др. Информатика: Учебное пособие для вузов / А.В.Могилев, Н.И.Пак, Е.К.Хеннер; Под ред. Е.К. Хеннера. М.: Изд. центр "Академия", 2008.

5. Острейковский В.А. Информатика. М.: Высшая школа, 2007. 512 с.

6. Шапорев С.Д. Информатика: Теоретический курс и практические занятия: учебник для вузов. М.: Высшая школа, 2008. 480 с.

2.1 Языки программирования. Понятие «язык программирования»

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

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

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

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

Для преодоления этой проблемы проводится разработка такой системы записи, которая была бы понятна и человеку - разработчику алгоритма. Этот способ предусматривает разработку такого программного обеспечения, которое бы позволяло использовать сложные с точки зрения компьютера алгоритмические конструкции (как разветвление или циклы) в понятной с точки зрения человека команде. Для этого, помимо системы записи алгоритмических конструкций на языке, понятном человеку, должны разрабатываться и программы текстов записи алгоритмов на язык, понятный компьютеру. Теперь программа, написанная даже учеником 4 класса на одном из языков программирования, будет выполняться на компьютере независимо от его типа, если на нем установлен соответствующую среду программирования.

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

2.2 Системы программирования. Компиляторы и интерпретаторы

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

Реализация языка - это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд.

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

Следует заметить, что любой язык программирования может быть как интерпретируемым, так и компилируемым, но в большинстве случаев у каждого языка есть свой предпочтительный способ реализации. Языки Фортран, Паскаль в основном компилируют; язык Ассемблер почти всегда интерпретирует; языки Бейсик и Лисп широко используют оба способа.

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

2.3 Классификация и обзор языков программирования. Процедурное программирование. Функциональное программирование Логическое программирование. Объектно-ориентированное программирование (ООП)

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

Различают такие языки процедурного программирования:

· Язык Фортран создан в начале 50-х годов 20-го века для программирования научно-технических задач;

· Кобол - создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях;

· Алгол (1960 год) - это многоцелевой расширенный язык программирования. В нем впервые введены понятия «блочная структура программы» и «динамическое распределение памяти»;

· В середине 60-х годов 20-го века был создан специализированный язык программирования для начинающих - BASIC для решения научных, технических и экономических задач, а также задач, например, игровых.

· В 1963-1966гг был создан многоцелевой универсальный язык PL-1.

· Язык Паскаль (PASCAL) (1968-1971гг)- язык процедурного программирования наиболее популярный для ПК, который и в настоящее время успешно применяется. В основу языка Pascal положен подход от общей задачи к частным (более простым и меньшим по объему). К основным принципам, которыми обладает Паскаль, можно отнести: а) Структурное программирование, которое основано на использовании подпрограмм и независимых структур данных; б) Программирование «сверху-вниз», когда задача делится на простые, самостоятельно решаемые задачи. Затем выстраивается решение исходной задачи полностью сверху вниз.

· К языкам процедурного программирования можно отнести язык АДА (1979 г) Его отличает модульность конструкций.

· Язык СИ (начало 70-х годов) также относится к языкам процедурного программирования. Первоначальный его вариант планировался как язык для реализации операционной системы Unix вместо языка Ассемблера. Одной из особенностей языка СИ является то, что различия между выражениями и операторами сглаживаются, что приближает его к функциональным языкам программирования.

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

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

Наиболее известными языками функционального программирования являются:

· LISP -- (Джон МакКарти, 1958) и множество его диалектов, наиболее современные из которых:

· Common Lisp

· Erlang -- (Joe Armstrong, 1986) функциональный язык с поддержкой процессов.

· APL -- предшественник современных научных вычислительных сред, таких как MATLAB.

· ML (Робин Милнер, 1979, из ныне используемых диалектов известны Standard ML и Objective CAML).

· F# -- функциональный язык семейства ML для платформы.NET

· Miranda (Дэвид Тёрнер, 1985, который впоследствии дал развитие языку Haskell).

· Nemerle -- гибридный функционально/императивный язык.

· XSLT и XQuery

· Haskell -- чистый функциональный. Назван в честь Хаскелла Карри.

Логическое программирование - это парадигма программирования, в которой программы пишутся не в виде последовательности инструкций, а в виде множества фактов и правил, а процесс выполнения программы сводится к выводу нужных результатов из этого множества. Логическое программирование относится к декларативному программированию, поскольку программа на нём скорее описывает свойство задачи, нежели алгоритм её решения. Наиболее известным языком логического программирования является Prolog. Его наиболее известные реализации для платформы.NET - это Prolog.NET и P#. Оба языка позволяют компилировать Пролог-программу в множество.NET-классов на C#, а P# содержит также диалоговый интерпретатор. Тем, кто хочет разобраться во внутреннем устройстве Пролог-системы, будет интересен проект C#Prolog, реализация Пролог-интерпретатора на C#.

Объектно-ориентированное программирование (ООП) -- это метод программирования, при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта. Объединение данных и свойственных им процедур обработки в одном объекте, называется инкапсуляцией и является одним из важнейших принципов ООП.

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

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

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

Наиболее современными языками программирования являются С++ и Java. С середины 90-х годов многие объектно-ориентированные языки реализуются как системы визуального проектирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно - ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. Язык VBA (Visual Basic for Application) - язык приложений Microsoft Office (Excel, Word, Power Point и др). VBA соблюдает основной синтаксис языка и правила программирования языков Basic - диалектов, позволяет создавать макросы для автоматизации выполнения некоторых операций и графический интерфейс пользователя, интеграцию между различными программными продуктами.

Список использованной литературы

1. Макарова Н.В., Волков В.Б. Информатика. Учебник для вузов. СПб.: Питер, 2011. Глава 19.

2. Могилев и др. Информатика: Учебное пособие для вузов / А.В.Могилев, Н.И.Пак, Е.К.Хеннер; Под ред. Е.К. Хеннера. М.: Изд. центр «Академия», 2008 Глава 3. Стр. 207 - 220.

3. Острейковский В.А. Информатика. М.: Высшая школа, 1999. Раздел VII: с. 575 - 585.

4. Симонович С.В. Информатика - базовый курс. СПб: Питер, 2001. Глава 20: с. 568 - 633.

5. Соболь Б.В., Галин А.В. и др. Информатика. Ростов н/Д, Феникс, 2007. Раздел 6: с. 318 - 336.

Размещено на Allbest.ru

...

Подобные документы

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

    методичка [2,8 M], добавлен 15.02.2010

  • Непрерывная и дискретная информация. Кодирование как процесс представления информации в виде кода. Особенности процедуры дискретизации непрерывного сообщения. Позиционные и непозиционные системы счисления. Представление информации в двоичном коде.

    реферат [117,3 K], добавлен 11.06.2010

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

    контрольная работа [19,6 K], добавлен 11.12.2011

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

    дипломная работа [2,4 M], добавлен 02.06.2013

  • Почему C++. Возникновение и эволюция языка C++. Сравнение языков С++ и С. Эффективность и структура. Процедурное программирование. Модульное программирование. Абстракция данных. Объектно-ориентированное программирование. Улучшенный С.

    реферат [26,4 K], добавлен 03.06.2004

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

    курсовая работа [1,9 M], добавлен 18.01.2010

  • Аналоговое и цифровое представление информации. Понятие, классификация и характеристика методов сжатия данных: алгоритмы одно- и двухпараметрической адаптации, линейной экстра- и интерполяции. Кодирование информации и вычисление циклического кода.

    курсовая работа [157,4 K], добавлен 07.12.2012

  • Понятия языка программирования, разновидности и характеристика языков. Исторический обзор их создания и применения. Классификация, примеры использования. Характеристики языков программирования с точки зрения элементов объектной модели, их популярность.

    реферат [463,6 K], добавлен 07.09.2009

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

    курсовая работа [665,6 K], добавлен 02.04.2015

  • Виды информации, с которыми работают современные компьютеры. Понятие "информация": в физике, в биологии, в кибернетике. Представление информации. Кодирование и каналы передачи информации. Локальные компьютерные сети. Хранение информации в файлах.

    контрольная работа [26,4 K], добавлен 13.01.2008

  • Понятие об информации. Информатика, краткая история информатики. Информация аналоговая и цифровая. Аналого-цифровое преобразование, устройства аналоговые и цифровые. Понятие о кодировании информации. Хранение цифровой информации. Бит.

    реферат [68,9 K], добавлен 23.11.2003

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

    курсовая работа [1,0 M], добавлен 01.10.2011

  • Характеристики и свойства языков программирования. Исследование эволюции объектно-ориентированных языков программирования. Построение эволюционной карты механизмов ООП. Разработка концептуальной модели функционирования пользовательского интерфейса.

    курсовая работа [2,6 M], добавлен 17.11.2014

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

    презентация [359,3 K], добавлен 20.05.2015

  • Обзор существующих систем управления базы данных. Основные характеристики языка программирования MS VB 2010. Содержание базы данных для хранения информации об успеваемости. Программирование системных модулей программы, содержание интерфейса пользователя.

    курсовая работа [1,1 M], добавлен 22.02.2014

  • Рассмотрение общих сведений и уровней языков программирования. Ознакомление с историей развития, использования языков программирования. Обзор достоинств и недостатков таких языков как Ассемблер, Паскаль, Си, Си++, Фортран, Кобол, Бейсик, SQL, HTML, Java.

    курсовая работа [759,5 K], добавлен 04.11.2014

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

    реферат [170,3 K], добавлен 14.11.2013

  • Сущность и основные свойства алгоритмов, принципы их составления. Скалярные типы данных в языке Pascal. Тождественность и совместимость типов данных. Понятие и основные этапы развития, а также движущие силы эволюции языков программирования, типы.

    презентация [85,8 K], добавлен 18.05.2014

  • Представление информации в двоичной системе. Необходимость кодирования в программировании. Кодирование графической информации, чисел, текста, звука. Разница между кодированием и шифрованием. Двоичное кодирование символьной (текстовой) информации.

    реферат [31,7 K], добавлен 27.03.2010

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

    курсовая работа [124,8 K], добавлен 30.04.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.