Файл: Классификация языков программирования высокого уровня (Языки программирования высокого уровня: общие сведения).pdf
Добавлен: 28.03.2023
Просмотров: 388
Скачиваний: 2
СОДЕРЖАНИЕ
1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ: ОБЩИЕ СВЕДЕНИЯ
1.1 Основные определения для языков программирования
1.4 Операторы управления в языках программирования, на примере с++
2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
2.1 Парадигма языков программирования
2.2 Императивные языки программирования
2.4 Логические (декларативные) языки программирования высокого уровня
2.5 Объектно-ориентированные языки программирования высокого уровня
2.6 Критерии оценки языков программирования
3. ХАРАКТЕРИСТИКА НАИБОЛЕЕ ИЗВЕСТНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ
3.1 Характеристика императивных языков программирования
3.2 Характеристика объектно-ориентированных языков программирования
3.3 Характеристика функциональных языков программирования
ВВЕДЕНИЕ
В наше время информационные технологии становятся все более важной стороной жизни каждого человека. Каждый из нас, хотя бы раз в день пользуется смартфоном, планшетом или другим электронным устройством. За процессом появления этих всевозможных устройств, стоят процессы разработки различных языков программирования.
Языки программирования являются связующим звеном между программистом, создателем программ и электронной машиной, которая их выполняет. Эти языки, представляют собой, набор разных правил, команд и данных, которые понятны компьютеру и служат для написания программ.
Программы предназначены для решения конкретных задач с помощью ЭВМ.
Существуют языки программирования низкого уровня, которые преобразуют двоичный машинный код, в более понятный для человека вид с помощью программ трансляторов – ассемблер. Также есть языки высокого уровня, которые еще более понятны и удобны для программиста. Среди языков высокого уровня можно назвать: 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, но не оба.
Операция присваивания:
Язык С++ имеет несколько особенностей выполнения операции присваивания.