Файл: КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ (язык программирование бортовой компьютер).pdf
Добавлен: 31.03.2023
Просмотров: 222
Скачиваний: 1
ВВЕДЕНИЕ
язык программирование бортовой компьютер
Сейчас практически в каждой сфере деятельности человека имеют место языки программирования высокого уровня - Фортран, Алгол, Си, С++, Java, Паскаль и т.д. Для того, чтобы суметь качественно отличить один от другого, быть способным работать с тем или иным языком, необходимо знать классификацию языков программирования высокого уровня. Это и определяет тему данной курсовой работы.
Объектом исследования курсовой работы являются языки программирования высокого уровня. В первой главе курсовой работы осуществляется сравнительный анализ самых распространенных языков, их классификация, описание их преимуществ и недостатков.
Предметом исследования данной курсовой работы является изучение такого актуального вопроса, как применение процедур, функции и подпрограмм в языках программирования высокого уровня, а также ключевых методик к разработке пользовательских меню.
Применение подпрограмм дает возможность существенно оптимизировать работу программиста, уменьшить объем памяти, занимаемый программой, сделать программный код более понятным. Разработка пользовательских меню является ключевой проблемой при создании пользовательского интерфейса.
Ввиду этого исследование данного аспекта программирования является крайне актуальным при написании современных программ на языках высокого уровня.
Итак, целью курсовой работы является раскрытие теоретических аспектов рассматриваемой темы, а также приобретение практических навыков применения процедур и функций на примере реализации конкретной задачи.
Для реализации данного цели необходимо выполнить ряд задач, а именно:
1) исследовать специфику и осуществить квалификацию языков программирования высокого уровня;
2) обосновать выбор языка Паскаль для последующего исследования;
3) изучить ключевые принципы применения процедур, функции и подпрограмм, а также разработки пользовательского меню средствами языка высокого уровня Паскаль;
4) реализовать полнофункциональную программу, дающую возможность отразить изученные теоретические вопросы на практике.
Структура курсовой работы состоит из введения, трех глав, заключения и списка использованных источников.
Глава 1. Обзор и анализ особенностей применения языков программирования
Языки программирования высокого уровня применяют в аппаратно-независимых системах программирования.
Языки программирования высокого уровня подразделяют на [3]:
- процедурно-ориентированные;
- проблемно-ориентированные;
- объектно-ориентированные.
Любой из нижеуказанных языков программирования используется для решения определенного круга задач.
1.1 Процедурно-ориентированные языки программирования
К первому классу языков, применяющихся для записи процедур или алгоритмов обработки информации, относят:
а) язык Фортран (Fortran). Представляет собой один из первых языков программирования высокого уровня. К его ключевым преимуществам можно отнести наличие существенного количества математических библиотек, поддержка работы с целыми, вещественными и комплексными числами высокой точности [3,4], интегрированных инструментов обработки массивов.
К недостаткам относится отсутствие средств отладки и анализа поведения программы, трудность понимания исходного кода. По сути, сейчас Фортран является узкоспециализированным языком, который используется, прежде всего, для научных и инженерных расчетов.
б) язык Бейсик (Basic). Создан в 1964 г. в качестве языка для обучения программированию [12].
Ключевыми преимуществами Бейсика являются: простой синтаксис, дающий возможность оперативно освоить данный язык программирования, легкость реализации графического интерфейса, опция применения WinAPI функций, что существенно увеличивает возможности языка.
Одним из ключевых недостатков Бейсика является то, что он поддерживает лишь операционные системы семейства Windows, DOS и Mac OS X, что существенно ограничивает область его использования. Вместе с тем недостатком является невысокая скорость работы и отсутствие механизма наследования реализации объектов [6].
в) язык Си (С) появился в 1969—1973 годах как язык системного программирования и изначально разрабатывался для написания ОС UNIX [4,12]. В 1980-е гг. язык С был дополнен инструментами объектно-ориентированного программирования и на базе него был создан язык C++.
Одним из ключевых его преимуществ является кроссплатформенность, а также минимальные аппаратные требования для запуска скомпилированных программ, мощный инструментарий для реализации как прикладных, так и системных задач.
К недостаткам языка относится отсутствие четкой стандартизации. В процессе исторического развития языка его компоненты нередко заимствовались из других языков, вне зависимости от присутствия прочих элементов. Это привело к появлению дублирующих и нередко противоречащих друг другу компонентов. Эти аспекты привели к тому, что язык стал достаточно сложным для восприятия.
г) язык Паскаль (Pascal). Был создан математиком Н. Виртом непосредственно для обучения программированию. Но затем Паскаль стал интенсивно использоваться для разработки программных средств в профессиональном программировании.
Самая первая версия была разработана в 1968 году профессором кафедры вычислительной техники Швейцарского федерального института технологии Никласом Виртом [3]. Ключевой целью при разработке нового языка является его простота с сохранением преимуществ уже существующих языков высокого уровня программирования.
Популярность Паскаля стала такой высокой, что уже к 1980 году было около 80 его трансляторов. В начале 80-х годов Паскаль еще более укрепил собственные позиции после разработки трансляторов Turbo-Pascal для персональных компьютеров. С данного времени язык смело вышел за границы узкого применения программистами-профессионалами. Он начал эксплуатироваться как рабочий инструмент пользователей и как средство обучения языкам программирования.
Одним из ключевых преимуществ языка Паскаль является четкая структуризация, комфортная среда разработки и отладки, дающая возможность пользователю вовремя выявить логические и синтаксические ошибки в программе. Кроме того, очевидным преимуществом является высокая скорость компиляции программ, опция интеграции вставок языка Ассемблер.
В отличие от языка С (С++) при применении Паскаль минимизированы вероятные синтаксические неоднозначности [1,2], синтаксис языка интуитивно понятен и доступен, т.к. язык изначально создавался для обучения студентов программированию.
К недостаткам первоначально разработанного компилятора можно бы отнести ряд ограничений: невозможность передачи функциям массивов переменной длины, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках и раздельной компиляции [7,9].
В настоящее время Паскаль все так же является интенсивно прогрессирующим языком программирования высокого уровня. Современные версии компилятора устранили немало вышеуказанных недостатков.
1.2 Проблемно-ориентированные языки программирования
Ключевым преимуществом данных языков программирования является минимизация трудозатрат программиста при решении задач принадлежащих определенному четко выделяемому классу [3]. К проблемно-ориентированным относят следующие языки программирования:
а) язык Лисп. Считается вторым после Фортрана старейшим высокоуровневым языком программирования [3,16]. Лисп чаще всего используется при создании экспертных систем и систем аналитических вычислений. Есть современные версии данного языка, интенсивно использующиеся при создании новейших web-технологий. Также модификации Лисп применяютс в роли интегрированных языков программирования в САПР. Примером является AutoLISP – язык для разработки надстроек в продуктах компании AutoDesk.
б) язык Пролог. Применяется для реализации систем искусственного интеллекта, а также и интеллектуальных систем баз данных [3].
Написание программ на данном языке значительно отличается от применения прочих языков программирования. Программа на Прологе не является реализацией какого-либо алгоритма, а представляет собой запись на языке формальной логики [16]. Следовательно, Пролог принадлежит к описательным языкам программирования.
Итак, областью использования данного языка является решение логических задач. Для создания вычислительных, графических задач, реализации пользовательского интерфейса данный язык не используется.
1.3 Объектно-ориентированные языки программирования
Множество объектно-ориентированных языков являются версиями процедурно-ориентированных и проблемно-ориентированных.
Сейчас чаще всего применяются и развиваются следующие среды программирования [3,4]:
а) Delphi (Lazarus - некоммерческая версия для ОС семейства Linux) – основана на Object Pascal;
б) C++, С# (~ C);
в) Visual Basic (~ Basic);
г) Visual Fortran (~ Fortran);
д) Prolog++ (~ Prolog).
Предметом исследования данной курсовой работы является изучение такого актуального вопроса, как применение процедур, функции и подпрограмм в языках программирования высокого уровня, а также ключевых методик к разработке пользовательских меню.
Ключевым фактором для реализации данной задачи может стать и верный выбор языка программирования. Для выполнения данной задачи можно применять разные языки высокого уровня, самыми распространенными из которых являются С++ и Паскаль.
Язык Паскаль является статически типизированным, компилируемым, поддерживает низкоуровневую работу с памятью. Ввиду этого его можно целесообразно использовать в роли языка программирования для изучения работы подпрограмм, процедур и функций. Легкость реализации графического интерфейса дает возможность отразить ход разработки пользовательского меню.
В данной главе курсовой работы была рассмотрена классификация языков программирования, исследованы области их использования, определены их ключевые особенности, достоинства и недостатки.
Проанализировав все выше изложенное, был сделан аргументированный выбор в пользу языка программирования высокого уровня Паскаль для дальнейшего изучения предмета исследования.
2. Теоретические аспекты использования процедур и функций в языке Паскаль
В алгоритмическом языке Паскаль существует два вида подпрограмм – процедуры и функции.
Составляя программу, в особенности довольно большую, даже не задумываясь, автор разделяет ее на отдельные блоки, реализующие определенную функцию. Соединяя их (компонуя), в конечном итоге, добиваются решения поставленной задачи. Подобные блоки программы не обязательно имеют завершенный вид. Они именуются процедурами [1]. В отличие от процедур, функции имеют завершенный вид [7].
2.1 Специфика подпрограммы-процедуры
Процедуры и функции могут быть как стандартными (находятся в библиотеке Паскаля), так и созданные пользователем. При помощи процедур и функций можно сделать программу компактнее с учетом того, что они способны несколько раз повторяться. Процедура, как и программа, имеет собственное имя.
Форма записи процедуры: PROCEDURE имя ;
После объявления процедуры идет, как и в программе, объявление переменных процедуры и между Begin ⎯ End ; записывается ее программа (порядок выполнения операторов). Программа с использованием процедур имеет следующую структуру:
Program имя программы ;
Label .... ; Определение меток, констант,
Const ..... ; массивов и других переменных
: программы
Var ..... ;
Procedure имя ; Определение процедур и функций
Var ...... ; пользователя
Begin
:
End ;
Procedure имя ;
Var ...... ;
Begin
:
End ;
:
Procedure имя ;
Var ...... ;
Begin
:
:
End ;
BEGIN Основная программа, где
: процедуры и функции могут вызы-
: ваться сколь угодно раз
:
END.
Отметим лишь одну специфическую черту [13] - в процедуре после End ставится точка с запятой. Принято считать, что если большая часть программы размещается в процедурах и функциях, тем рациональнее она составлена.
2.2 Специфика подпрограммы-функции
Подпрограмма-функция необходима для расчета определенного параметра [10]. Результат ее работы возвращается в виде значения данной функции и способен применяться в выражениях. У данной подпрограммы два ключевых отличия от процедуры.