Файл: Международные и отечественные стандарты языков программирования..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 23.04.2023

Просмотров: 66

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

Объектом исследования стали языки программирования и история развития языков программирования.

Целью курсовой работы является изучение классификации языков программирования и их развития.

Цели исследования:

1. II, РАЗДЕЛ II. см. раздел Общие сведения и уровни языка программирования.

2. Просмотр истории развития языка программирования.

3. Сделать обзор современных языков программирования.

Цели исследования:

1. Изучайте языки программирования.

2. Обзор истории развития языка программирования.

3. Пересмотр современных языков программирования.

В первой главе описываются языки программирования и история их разработки.

Во второй главе рассматриваются современные языки программирования.

Этот курс использовал исследовательские методы.

Применяемые технические средства: ПЭВМ: Core 2 Duo E6600 2.4 ГГц 2 x 4 Мб L2; 2 x 1024 Мб DDR3-1333МГц; NVIDIA GeForce 8600 GT 512 Мб; HDD Hitachi Deskstar 7K1000 1 Тб; Принтер: Canon LBP3010.

Программные средства ОС Windows XP Professional SP3. Данная курсовая работа выполнена в программе Microsoft Word 2003, а также были использованы другие программы: Microsoft PowerPoint, Nero StartSmart.

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

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


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

Основные требования к языкам программирования :

наглядность-использование в языке по возможности уже существующих символов, хорошо известных и понятных для программистов и пользователей компьютера;

блок использовать те же символы для обозначения тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть как можно меньше;

гибкость-возможность относительно удобного и простого описания распространенных математических методов расчета с ограниченным набором визуальных инструментов, доступных на языке;

модульность - возможность описания сложных алгоритмов в виде набора простых модулей, которые могут быть скомпилированы отдельно и использованы в различных сложных алгоритмов;

двусмысленность - это двусмысленность написания любого алгоритма. В противном случае это может привести к неправильным ответам при решении задач [2].

В настоящее время в мире используется несколько сотен языков программирования. Каждый из них имеет свою сферу применения.

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

По этому критерию можно выделить следующие уровни языков программирования :

· машины;

· ориентированная машина (сборщики);

* самостоятельный (языки высокого уровня).

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

Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется низкоуровневым языком программирования. В этом случае "низкий" не означает "плохой"."Это означает, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора. [2]

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


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

Язык ассемблера - это низкоуровневый машинно-зависимый язык, в котором короткие мнемонические имена соответствуют отдельным командам компьютера. Он используется для представления в удобочитаемой форме программ, записанных в машинном коде. [2]

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

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

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

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


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

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

алфавит языка высокого уровня значительно шире алфавита родного языка, что существенно повышает наглядность текста программы;

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

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

необходимые операции задаются общепринятыми математическими символами;

данным на языках высокого уровня присваиваются индивидуальные имена, выбранные программистом;

язык может обеспечить значительно более широкий набор типов данных по сравнению с набором машинных типов данных.

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

Основные компоненты алгоритмического языка:

· алфавит,

· синтаксис,

· семантический.

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

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

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


Языки высокого уровня делятся на:

* процессуальный;

· логический;

* объектно-ориентированный.

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

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

Разнообразие классов задач привело к разработке нескольких сотен алгоритмических языков. Однако, широкое распространение и международное признание получили лишь 10-15 языков. К ним относятся: Fortran и Algol-языки, используемые для решения научно - технических задач, Cobol - для решения экономических задач, Basic-для решения небольших вычислительных задач в режиме диалога. В принципе, каждый из этих языков можно использовать для решения задач, которых нет в вашем классе. Однако реализация, как правило, нежелательна.

В то же время в середине 1960-х годов они начали разрабатывать алгоритмические языки широкой направленности: универсальные языки. Они, как правило, основаны на принципе объединения возможностей узкоориентированных языков. Среди них наиболее известными являются PL / 1, Pascal, C , C+, Modula, Ada. Однако, как и любой универсальный инструмент, эти широко ориентированные языки зачастую менее эффективны [2].

Логические языки (Пролог, Lisp, Mercury, Klo и др.) они ориентированы не на написание алгоритма решения задачи, а на систематизированное и формализованное описание задачи, решение которой должно основываться на скомпилированном описании. Этих языках указывается что дано и что нужно получить. В то же время поиск решения поставленной задачи возлагается непосредственно на компьютер.

Object Pascal, C++, Java, Objective Caml. и другие). Основная идея объектно-ориентированных языков заключается в попытке связать данные с процедурами их обработки в одном объекте.

Объектно-ориентированный подход использует следующие базовые понятия: