Файл: Классификация языков программирования высокого уровня (Языки программирования высокого уровня: общие сведения).pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ: ОБЩИЕ СВЕДЕНИЯ

1.1 Основные определения для языков программирования

1.4 Операторы управления в языках программирования, на примере с++

2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

2.1 Парадигма языков программирования

2.2 Императивные языки программирования

2.4 Логические (декларативные) языки программирования высокого уровня

2.5 Объектно-ориентированные языки программирования высокого уровня

2.6 Критерии оценки языков программирования

3. ХАРАКТЕРИСТИКА НАИБОЛЕЕ ИЗВЕСТНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

3.1 Характеристика императивных языков программирования

3.2 Характеристика объектно-ориентированных языков программирования

3.3 Характеристика функциональных языков программирования

3.4 Характеристика логических языков программирования

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ВВЕДЕНИЕ

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

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

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

Существуют языки программирования низкого уровня, которые преобразуют двоичный машинный код, в более понятный для человека вид с помощью программ трансляторов – ассемблер. Также есть языки высокого уровня, которые еще более понятны и удобны для программиста. Среди языков высокого уровня можно назвать: Pascal, Java, C#, Python и другие.

О языках программирования высокого уровня, их классификации написана эта работа.

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

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

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

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

Задачи, исходя из поставленных целей:

• Просмотреть общих сведений о языках программирования высокого уровня.

• Рассмотрение процессов интерпретации и компиляции.

• Дать определения и привести примеры: объектно-ориентированным, декларативным, логическим и функциональным языкам программирования.

• Дать критерии оценки языков программирования.

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


Методы исследования: сбор, обобщение, систематизация, анализ информации и метод сравнения.

Курсовая работа состоит: из введения, трех глав, заключения, списка использованной литературы:

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

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

• Во второй главе дается классификация языков программирования высокого уровня. Даются критерии оценки языков программирования высокого уровня.

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

• В заключении сделаны основные выводы по теме.

Теоретическую базу курсовой работы составили следующие издания: Т. А. Жданова, Ю. С. Бузыкова «Основы алгоритмизации и программирования»; А. Г. Аузяк, Ю. А. Богомолов, А. И. Маликов, Б. А. Старостин «Программирование и основы алгоритмизации: Для инженерных специальностей технических университетов и вузов»; Г. Р. Кадырова. «Основы алгоритмизации и программирования»; Макаров В. Л. «Программирование и основы алгоритмизации»; И. П. Рак, А. В. Терехов, А. В. Селезнев «Основы алгоритмизации и программирования». Также для наиболее полного раскрытия темы я использовал дополнительно следующие источники: Орлов С. А. «Теория и практика языков программирования», Молдованова О. В. «Языки программирования и методы трансляции», Трофимов В. В. «Основы алгоритмизации и программирования».

Данные источники выбраны потому что, они рекомендованы преподавательским составом. Они надежны, так как изданы в различных университетах. Раскрывают тему работы в полном объеме.

1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ: ОБЩИЕ СВЕДЕНИЯ

1.1 Основные определения для языков программирования

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


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

Поэтому для облегчения программирования разработаны специальные языки – алгоритмические языки или языки программирования [1].

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

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

• машинные;

• машинно-ориентированные (ассемблеры);

• машинно-независимые (языки высокого уровня).

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

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

Работа всех трансляторов строится по одному из двух принципов: интерпретация или компиляция.

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


Компиляция программы включает два действия: анализ, т. е. определение правильности записи исходной программы в соответствии с правилами построения языковых конструкций входного языка, и синтез – генерирование эквивалентной программы в машинных кодах[2].

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

Рассмотрим основные элементы языков программирования высокого уровня на примере языка QBasic.

Язык программирования Qbasic (как и любой другой язык) образуют

три его составляющие: алфавит, синтаксис и семантика.

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

Синтаксис – это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза.

Семантика определяет смысловое значение предложений языка[3].

Продолжим на примере языка С++. Из символов алфавита формируются лексемы языка:

• идентификаторы;

• знаки операций;

• константы;

• разделители.

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

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

Переменные - это данные, которые могут изменять свои значения в процессе выполнения программы[4].

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

Функции:

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


1.3 Операции и выражения для языков программирования, на примере языка С++

Выражение в языке С++ - это последовательность операндов, операций и символов-разделителей. Операнды - это переменные, константы либо другие выражения. Разделителями в С++ являются символы [ ] ( ) { } , ; : . * = #, каждый из которых выполняет свою функцию. Выражение может состоять из одной или более операций и определять выполнение целого ряда элементарных шагов по преобразованию информации. Компилятор соблюдает строгий порядок интерпретации выражений, называемый правилами предшествования.

По числу операндов, участвующих в операции, различают следующие типы:

• унарные (имеющие один операнд);

• бинарные (имеющие два операнда);

• тернарные (имеющие три операнда).

По типу выполняемой операции различают:

• арифметические операции;

• логические операции и операции отношения;

• операцию условия;

• операцию присваивания;

• операцию sizeof;

• операцию преобразования типов.[6]

Арифметические операции:

Язык С++ (С) включает:

• арифметические операции сложения (задается знаком +), вычитания и унарный минус (-), умножения (*), деления (/), операцию определения остатка (%);

• операции инкремента (++) и декремента (--).

Логические операции и операции отношения:

Логические операции и операции отношения используются при формировании логических выражений, имеющих только два значения: 1, если логическое выражение ИСТИННО; 0, если логическое выражение ЛОЖНО. С++ поддерживает следующие логические операции:

• && - логическое И;

• || - логическое ИЛИ;

• ! - логическое НЕ.

С++ поддерживает следующие операции отношения:

• > - больше;

• < - меньше;

• = = - равно;

•>= - больше или равно;

•<= - меньше или равно;

•!= - не равно;

Операция условия:

В языке C++ - условная операция имеет следующий формат:

операнд-1 ? операнд-2 : операнд-3.

Операнд-1 должен быть целого или плавающего типа или быть указателем. Он оценивается с точки зрения его эквивалентности 0. Если операнд-1 не равен 0, то вычисляется операнд-2, и его значение является результатом операции. Если операнд-1 равен 0, то вычисляется операнд-3, и его значение является результатом операции. Следует отметить, что вычисляется либо операнд-2, либо операнд-3, но не оба.

Операция присваивания:

Язык С++ имеет несколько особенностей выполнения операции присваивания.