Виды и Языки Программирования

Автор работы: Пользователь скрыл имя, 30 Ноября 2013 в 12:22, курсовая работа

Описание работы

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

Содержание работы

Введение. 3
1.История развития программирования. 4
2.Понятие программирования и его виды. 7
2.1 Процедурное программирование. 8
2.2 Автоматное программирование. 9
2.3 Аспектно-ориентированное программирование. 11
2.4 Объектно-ориентированное программирование. 13
2.5 Компонентно-ориентированное программирование. 16
2.6 Логическое программирование. 17
2.7 Структурное программирование. 18
3. Языки программирования. 21
3.1 Определение языка программирования. 21
3.2 Используемые символы. 23
3.3 Языки программирования низкого уровня. 24
3.4 Языки программирования высокого уровня. 25
3.4.1 Pascal. 27
3.5 Язык программирования сверхвысокого уровня. 34
3.6 Сравнительный анализ языков программирования. 35
Заключение. 37
Литература. 38

Файлы: 1 файл

курсовая.docx

— 62.69 Кб (Скачать файл)

 

 

3.2 Используемые символы.

Итак, современные языки программирования рассчитаны на использование ASCII, то есть доступность всех графических символов ASCII является необходимым и достаточным условием для записи любых конструкций языка. Управляющие символы ASCII используются ограниченно: допускаются только возврат каретки CR, перевод строки LF и горизонтальная табуляция HT (иногда также вертикальная табуляция VT и переход к следующей странице FF).

Ранние языки, возникшие  в эпоху 6-битных символов, использовали более ограниченный набор. Например, алфавит Фортрана включает 49 символов (включая пробел): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ ' : . Заметным исключением является язык APL, в котором используется очень много специальных символов.

Использование символов за пределами ASCII (например, символов KOI8-R или символов Юникода) зависит от реализации: иногда они разрешаются  только в комментариях и символьных/строковых  константах, а иногда и в идентификаторах. В СССР существовали языки, где все  ключевые слова писались русскими буквами, но большую популярность подобные языки не завоевали (исключение составляет Встроенный язык программирования 1С:Предприятие).

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

 

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

Язык программирования низкого уровня (низкоуровневый язык программирования) - язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, Java, Microsoft .NET) процессора. Для обозначения машинных команд обычно применяется мнемоническое обозначение. Это позволяет запоминать команды не в виде последовательности двоичных нулей и единиц, а в виде осмысленных сокращений слов человеческого языка (обычно английских).

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

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

Также к языкам низкого  уровня условно можно причислить MSIL, применяемый в платформе Microsoft .NET, Форт, Java байт-код.

 

3.4 Языки программирования  высокого уровня.

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

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

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

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

Первым языком программирования высокого уровня считается компьютерный язык Plankalkul разработанный немецким инженером Конрадом Цузе ещё в  период 1942—1946 гг. Однако транслятора  для него не существовало до 2000 г. Однако, широкое применение высокоуровневых  языков началось с возникновением Фортрана и созданием компилятора для  этого языка (1957).

Распространено мнение, что  программы на языках высокого уровня можно написать один раз и потом  использовать на компьютере любого типа. В действительности же это верно  только для тех программ, которые  мало взаимодействуют с операционной системой, например, выполняют какие-либо вычисления или обработку данных. Большинство же интерактивных (а  тем более мультимедийных) программ обращаются к системным вызовам, которые сильно различаются в  зависимости от операционной системы. Например, для отображения графики  на экране компьютера программы под Microsoft Windows используют функции Windows API, которые  отличаются от используемых в системах, поддерживающих стандарт POSIX. Чаще всего  для этих целей в них используется программный интерфейс X-сервера.

Примеры языков программирования высокого уровня:

    • C;
    • C++;
    • Visual Basic;
    • Java, Python;
    • PHP;
    • Ruby;
    • Perl;
    • Pascal;
    • Delphi.

Рассмотрим один из них  более подробно.

3.4.1 Pascal.

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

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

Паскаль был создан Никлаусом  Виртом в 1968-69 годах после его  участия в работе комитета разработки стандарта языка Алгол-68. Он был  опубликован в 1970 году Виртом как  небольшой и эффективный язык, чтобы способствовать хорошему стилю  программирования, использовать структурное  программирование и структурированные  данные.

Разновидности языка:

  • UCSD Pascal;
  • Object Pascal (Free Pascal, GNU Pascal, TMT Pascal);
  • Turbo Pascal.

Паскаль, в его первоначальном виде, представляет собою чисто процедурный  язык и включает в себя множество  алголоподобных структур и конструкций  с зарезервированными словами наподобие  if, then, else, while, for, и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алгол-68, созданного Никлаусом Виртом AlgolW и предложены Хоаром. В современных диалектах (Free Pascal) доступны такие операции как перегрузка операторов и функций.

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

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

begin

end.

Программа не выполняет никаких  действий и содержит пустой блок операторов.

Примитивные типы данных Паскаля:

Числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Паскале):

  • var { секция объявления переменных }
  • r: Real;  { переменная вещественного типа }
  • i: Integer;  { переменная целого типа }
  • c: Char;  { переменная-символ }
  • b: Boolean;  { логическая переменная }
  • s: String; { переменная строки }
  • t: Text; { переменная для обьявления текстового файла }
  • e: (apple, pear, banana, orange, lemon);  { переменная типа-перечисления }

Выделяется понятие порядковых типов данных (ordinal), к ним относятся  целые типы (знаковые и беззнаковые), логический (boolean), символьный (char), перечислимые типы и типы-диапазоны.

Порядковые типы задаются целым числом (кодом), которое можно  получить с помощью функции ord. Все  операции, выполняемые над порядковыми  типами, выполняются с их кодами.

Диапазоны содержат подмножество значений других порядковых типов:

Var:

  • x: 1..10;
  • y: 'a'..'z';
  • z: pear..orange;

Для порядковых типов определены операции inc, dec, succ, pred, ord, операции сравнения (= > < => <= <>), их можно использовать в операторах case, for (как счётчик  цикла), как границы массивов, для  задания элементов множеств и типов-диапазонов.

В Паскале, в отличие от Си-подобных языков, с типами boolean и char арифметические целочисленные операции не определены.

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

var

  set1: set of 1..10;

  set2: set of 'a'..'z';

  set3: set of pear..orange;

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

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

if i in [5..10] then  { проверка на принадлежность элемента  множеству }

обработается быстрее, чем

if (i>4) and (i<11) then  { проверка логическими условиями  }.

Для задания значения множества  используется список элементов множества, отделенных запятыми и заключённый  в квадратные скобки (как уже было показано выше):

var { секция объявления  переменных }

d:set of char;

begin  { начало  блока }

d:=['a','b'];

Новые типы могут быть определены из существующих:

type { секция объявления  типов }

  x = Integer;

  y = x;

Более того, из примитивных  типов могут быть сконструированы  составные:

type { секция объявления  типов }

  a = Array [1..10] of Integer;  { определение массива }

  b = record  { определение  записи }

        x: Integer;

        y: Char;

      end;

  c = File of a;  { определение файла }.

Файловые типы в Паскале  делятся на типизированные, текстовые  и файлы без типов.

Также паскаль поддерживает использование указателей, как типизированных, так и нетипизированных.

Для целей обращения к  полям записей и объектов можно  также использовать оператор with.

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

В операторах while, for, if, case в качестве выполняемого оператора может использоваться блок. Такая конструкция, представляющая собой обычный оператор или блок, называется сложным оператором.

В Паскале подпрограммы делятся на процедуры и функции:

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

Информация о работе Виды и Языки Программирования