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

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

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

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

Добавлен: 01.04.2023

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

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

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

Введение

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

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

Большое количество компьютерных программ создано при использовании языков высокого уровня, например, Fortran, Си++, Pascal и др. Причем многие из них были разработаны в 60-70-х годах, однако остаются актуальны до сих пор.

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

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

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

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

Для достижения поставленной цели необходимо реализовать следующие задачи:

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


2) представить классификацию языков программирования высокого уровня и выявить их и достоинства и недостатки;

3) рассмотреть виды циклических структур;

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

5) продемонстрировать практическую реализацию циклических структур и массивов.

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

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

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

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

Язык программирования это искусственный язык. От естественных он отличается ограниченным количеством «слов», значение которых понятно транслятору, и очень строгими правилами записи операторов. Совокупность таких требований определяет синтаксис языка программирования. Смысл каждой команды и конструкций языка образует семантику языка программирования [6]. Нарушение формы записи программы приводит к непониманию транслятором назначения оператора и в следствии появляется сообщение о синтаксической ошибке. Правильное написание, но не соответствующее алгоритму использование команд языка, приводит к семантической ошибке. Процесс поиска ошибок в программе называется тестированием, а процесс устранения ошибок – отладкой.

Языки программирования можно разбить на два основных вида по степени ориентации на специфические возможности электронных вычислительных машин: машинно-зависимые и машинно-независимые. Программы, написанные на первом виде языков, привязываются к ЭВМ только определенного типа, а программа на машинно-независимом языке имеет возможность переноситься на ЭВМ другого типа [11].


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

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

Рисунок 1 – Классификация языков программирования

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

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

– Кобол – язык, ориентированный на решение задач обработки данных, применяется для решения учетно-экономических и управленческих задач;

– Алгол – использовался для записи алгоритмов, построенных в виде последовательности процедур;

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

Функциональное или аппликативное программирование, по словам А.П. Ершова, это «способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части является введение име­ни функции, а единственным правилом композиции – оператор суперпозиции функций. Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более, блок-схем, ни передачи управления».

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

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

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


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

Представителями данного вида программирования являются языки Visual Basic, Delphi, C++ и др [9].

1.3. Возможности современных языков программирования высокого уровня

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

История развития языков программирования высокого уровня довольно обширна и весьма разнообразна, ее начало принято относить к середине прошлого века – моменту создания первого языка программирования высокого уровня «Фортран»[17]. Именно с появлением ЯП ВУ компьютеры начали реализовывать весь свой потенциал.

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

C ростом потребностей в расчетах появились новые задачи для компьютеров, вследствие чего, языки программирования стали быстро модифицироваться. Программы стали сложнее, были попытки создать универсальный язык программирования, например такой, как ПЛ/1. В то время это оказало лишь обратное действие на пользователей прикладного программного обеспечения. Ввиду громоздкости управляющих конструкций языка и сложности для понимания концепции вычислительной модели, язык, не смотря на то, что изучался в вузах и использовался для инженерных расчетов, так и не получил широкого распространения. Вывод был очевиден: тяжело реализовать сложную конструкцию с простым интерфейсом, ориентированную «на все».


Кроме того, эволюционируя, языки программирования получали все больше математических функций: рекурсия, массивы, использование локальных переменных. В связи с этим были заложены основные языки программирования, базой которых мы пользуемся до сих пор, а именно: COBOLPascal, C. Параллельно развивались логические языки, такие как, Prolog(1972), но в силу своих функциональных особенностей они использовались редко и не для инженерно-технических расчетов.

Следующая веха развития программирования – появление процедур и функций в структурном программировании, что позволило объединить разнородные данные и сделать программы автономными и управляемыми. На этом этапе развития языков программирования было выявлено: когда программа достигает определенной длины, то она уже не может обрабатывать правильно сложные запросы. Примером языка, в котором проявился этот недостаток, является ЯП ВУ «Simula - 67».

Развитие структурирования привело к появлению классовых структур, где программы разбиваются на классы – структуры данных, содержащие в себе переменные и функции, которые работают с этим переменными. Такой подход послужил к объектно-ориентированному программированию, которое содержало в себе такие концепты, как полиморфизм, инкапсуляция и наследование. Примерами могут служить языки Java, Oberon, C++ . Это и есть апогей развития языков программирования, данные языки относятся к прошлому столетию, но актуальность их не потеряна и в настоящее время. Эти языки можно совершенствовать и брать за основу их концепции, чтобы попробовать достичь каких-либо преимуществ во вновь создаваемых инструментах написания программного кода. Надо отметить, что первые версии языков с незначительной доработкой являются базовыми при начальном обучении технологии программирования бакалавров.

Языки создаются и эволюционируют постоянно. Их влияние нельзя недооценивать на обработку современных научно-технических расчетов, на моделирование сложных процессов и систем в различных прикладных областях экономической деятельности человечества. Эволюцию и взаимовлияние ЯП ВУ задает генеалогическое дерево[17].

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

Одним из ярких представителей языков нового времени является язык Elm. Ключевая особенность этого языка - отладчик реального времени: можно изменять код в реальном времени и наблюдать, как меняется тот или иной параметр. Все действия записываются, перематываются и переигрываются.