Файл: Классификация языков программирования высокого уровня.pdf

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

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

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

Добавлен: 29.06.2023

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

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

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

Введение

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

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

В обозримой вселенной известно несколько тысяч языков программирования. Человек всегда искал самый удобный способ постановки задач вычислительным машинам. Рассматривать мы будем именно языки программирования высокого уровня. Что же такое языки высокого уровня? По каким же критериям выбирать язык для своего проекта? Наглядно увидеть уровни языков программирования можно на рисунке №1 (см. приложения).

  • Язык высокого уровня - Язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора.

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

В настоящее время, во всем мире, существуют такие языки программирования высокого уровня, как: Fortran, Algol, C, С++, Java и другие. В кругах программистов сейчас особое место занимает Паскаль. Популярности среди программистов он обязан, прежде всего, своей простоте, универсальности и удобству работы в нем. Язык программирования Паскаль используется уже более тридцати лет. На сегодняшний день создано уже семь версий. Проверим и убедимся, действительно ли вся слава популярного языка получена не просто так.


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

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

Именно поэтому изучение этого аспекта программирования является особенно актуальным при написании современных программ на языках высокого уровня.

Глава 1. Классификация программирования  

Машинно-ориентированные

Машинно-ориентированные языки – языки, наборы и изобразительные средства существенно зависят особенностей ЭВМ языка, структуры и т.д.). Машинно-ориентированные позволяют использовать возможности и особенности языков:

- высокое создаваемых программ и скорость выполнения);

- использования конкретных ресурсов;

- предсказуемость кода и заказов

- для составления программ необходимо систему команд и функционирования данной

- трудоемкость процесса программ ( особенно машинных языках и плохо защищенного появления ошибок;

- скорость программирования;

- непосредственного использования составленных на языках, на других типов.

Машинно-ориентированные по степени программирования подразделяются классы.

Машинный

Как уже в введении, отдельный имеет свой машинный язык МЯ), ему выполнение указываемых над определяемыми операндами, поэтому является командным. Однако, семейства ЭВМ (например, ЕС ЭВМ, IBM/370/ и др.) имеют единый МЯ для ЭВМ разной мощности. В команде любого из них сообщается информация о местонахождении операндов и типе выполняемой операции. [Хротко Г . Языки программирования высокого уровня, 1982 г]

Языки Символического Кодирования

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


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

Автокоды

Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд - они называются Автокоды.

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

В с генерацией имеются программы, анализирующие которые определяют, функцию необходимо и формируют необходимую команд, реализующих функцию.

Обе системы используют с ЯСК и набор которые также операторами автокода.

Развитые получили название Ассемблеры. Сервисные и пр., как составлены на типа Ассемблер. Более информация об Ассемблера см. ниже.

Макрос

Язык, средством для последовательности символов выполнение требуемых ЭВМ на сжатую форму - Макрос (средство замены).

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

Макрос может работать, с программами, так и с данными.

Машинно – языки

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

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


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

Проблемно – языки

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

Проблемных очень много,

Фортран, Алгол – созданные для математических задач;

Simula, - для моделирования;

Лисп, – для работы списочными структурами.

Об языках я расскажу дальше.

Универсальные

Универсальные языки созданы для круга задач: научных, моделирования и т.д. Первый язык был фирмой IBM, в последовательности языков Пл/1. Второй мощности универсальный называется Алгол-68. Он работать с символами, числами с фиксированной и запятой. Пл/1 развитую систему для управления для работы с переменной длины, с организованными в сложные и для эффективного каналов связи. Язык включенные во машины возможности и имеет соответствующие операторы. Предусмотрена параллельного выполнение программ.

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

Диалоговые

Появление новых возможностей поставило перед системными – создать программные обеспечивающие оперативное человека с ЭВМ назвали диалоговыми языками.

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

Необходимость оперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМ копии исходной

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


Одним из примеров диалоговых языков является Бэйсик (Basic).

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

Непроцедурные языки

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

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

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

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

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

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

Каждый из описанных ниже языков программирования применяется для решения определенного круга задач. Напомню, что языки программирования высокого уровня подразделяют 3 категории:

1)процедурно-ориентированные;

2)проблемно-ориентированные;

3)объектно-ориентированные.

2.1 Языки

К первому языков, который для записи или алгоритмов информации относят:

а) Фортран (Fortran). Является из первых программирования высокого уровня. К основным достоинствам наличие огромного математических библиотек, работы с целыми, и комплексными числами точности, встроенных обработки массивов. [Малютин Э.А. Языки 1982 г]

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

б) Бейсик (Basic). Был в 1964 г. в языка для программированию.

Основными этого языка простой синтаксис, позволяет в кратчайшие освоить этот программирования, простота графического интерфейса, использования WinAPI что значительно возможности языка.