Файл: Основные правила работы с функциями: примеры и ограничения использования функций в различных языках программирования (ПОНЯТИЯ О ПРОГРАММИРОВАНИИ).pdf
Добавлен: 31.03.2023
Просмотров: 66
Скачиваний: 2
СОДЕРЖАНИЕ
1.1. Определение программирования
1.2. Этапы развития программирования
2.1. Основы модульного программирования в C++
2.2.Использование подпрограмм в ЯП VBA
3. РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ В С++ И VBA
3.1. Применение функций С++ для реализации модульной программы
ВВЕДЕНИЕ
С развитием первых экземпляров вычислительной компьютерной техники начали применяться машинно-ориентированные языки программирования (ЯП), при применении которого разработчики могли задавать функциональные операторы и команды, оперируя непосредственно ячейками памяти, а также полностью применять на практике практически все возможности электронной машины того времени для реализации вычислений разной сложности.
Но, стоит отметить, тот факт, что непосредственное использование многих персональных компьютеров (ПК) для реализации самых первых программ на машинном языке было очень затруднительным.
Поэтому от непосредственного его применения пришлось со временем отказаться.
В результате, при развитии языков программирования высокого уровня, появилась принципиально новая возможность для использования адаптации обработки данных с использованием уже ранее созданных программ или программных модулей, которые в себе содержали составные части программного кода.
Вместе с этим были созданы первые образцы программ, которые использовали графический пользовательский интерфейс, а также применяющие главное и контекстное меню.
Постоянная необходимость реализации разработки модульных программ являются чрезвычайно актуальными в настоящее время, так как использование подпрограмм значительно структурирует программу.
Целью написания работы является обзор основных методов создания процедур и функций, что применимы в языках программирования высокого уровня.
Задачи курсовой работы следующие:
– выполнить рассмотрение основных определений по теории ЯП высокого уровня;
- описать принципы модульного программирования на языке С++, как отдельной парадигмы для написания программ;
- привести методику написания функций на языке VBA;
- на практике рассмотреть принципы использования модульных программ в С++;
- разработать программы, используя модульный подход организации ПО в VBA.
Объектом работы являются ЯП высокого уровня.
Предмет работы – методология применения функций в программировании.
По мере развития компьютерной техники были создавались самые разные подходы к написанию программ, которыми занимались многие ученные и специалисты в проектировании программного обеспечения.
ПОНЯТИЯ О ПРОГРАММИРОВАНИИ
1.1. Определение программирования
Программирование – это быстро развивающаяся и сравнительно молодая отрасль науки.
Опыт произведения реальных разработок, а также совершенствования имеющихся технических и программных средств постоянно переосмысливается, а в результате появляются новые инструменты, методологии и технологии, что, в свою очередь, служат базовой платформой для более современных средств проектирования программного обеспечения разного уровня.[7]
Исследовать многие процессы создания новейших технологий и определять для них основные тенденции является целесообразным, сопоставляя эти технологии непосредственно с уровнем развития языков программирования и некоторыми особенностями имеющихся аппаратных и программных средств в распоряжении программистов.[4]
На рисунке 1 показана технология для написания программного кода для общего случая:
Технология программирования – это совокупность методов, а также средств, применяемых в процессе разработки современного программного обеспечения (ПО).
Как любая иная технология, технология написания программ представляет собой совокупность технологических инструкций, что включают:
– указание множества выполнения программных технологических операторов;
– перечисление совокупности условий, при которых будет выполняться та или другая операция; [3]
– описания самих программных операций, где все операции определены для каждой единицы исходных данных, результаты, а также разные инструкции, стандарты, нормативы, критерии и методы для оценки программного кода и т. д. (рисунок 1).[3]
Рис. 1. Технологическая операция написания программы
Кроме набора операций, а также их последовательности, все технологии определят способ описания проектируемой программной системы, точнее модели, что используется на конкретном этапе их разработки. Различают при этом технологии, используемые только на конкретных этапах создания или для решения целиком отдельных задач данных этапов, а также технологии, охватывающие сразу несколько этапов процесса разработки. [8]
В основании первых, как правило, находится ограниченно применимый метод, что позволяет решить конкретную задачу.
Заметим, что в основе вторых лежит обычно базовый метод, определяющий всю совокупность методов, применяемых на разных этапах процесса разработки, или только методологию. [7]
Чтобы разобраться в уже существующих технологиях программирования, а также определить основные тенденции для их развития, надо рассматривать все такие технологии в хронологическом контексте, выделяя главные этапы развития программирования.[8]
1.2. Этапы развития программирования
Развитие технологии проектирования программных продуктов опиралось на ЯП как средство для их непосредственного осуществления.
Эволюция технологии программирования – это эволюция методологий написания и создания программ, а также эволюция языков программирования [5].
Эволюцию технологии программирования можно также рассматривать на примере развития так называемой архитектуры программы, которая отражает в общем виде процесс развитие средств для программирования.
На самом первом этапе как таковых методов программирования не было, а само программирование считалось искусством.
Архитектура программ была очень просто и имела такой вид (рисунок 2):
Рис.2. Архитектура программ первого этапа
На данном этапе наблюдались проблемы с тем, что данные являлись общедоступными, а, следовательно, была велика вероятность их неправильного применения (к примеру, одновременное использование одной переменной для многих целей). [15]
Также в больших программах без понятия структурирования очень сложно было разобраться, так как код был написан без разного рода разделителей.
На втором этапе развития программирования методологией являлось структурное программирование.[12]
Архитектура создания программ имела следующий вид, который показан на рисунке 3:
Рис.3. Архитектура программ на втором этапе развития программирования
На данном этапе наблюдались проблемы общей незащищенной области хранимых данных. Они со временем были решены, но не полностью, хотя все же появилась некоторая возможность применения локальных переменных в создаваемых подпрограммах.
При огромном размере программ структурирование разных действий с применением подпрограмм не уменьшает уровня растущей сложности, что не полностью так же решает данную проблему.[4]
Опытные разработчики объединялись в группы, что предполагает дальнейшее развитие принципов программирования. Появилась в методологии острая необходимость, позволяющая программистам эффективно применять совместно разработанный программный код в разных программах.
На этом этапе появился метод проектирования программного обеспечения (ПО) – метод пошаговой детализации.[17]
К тому же впервые выделены 3 основных алгоритмических конструкции:
– цикл;
– следование;
– ветвление.
Стоит отметить, что и теперь они считаются полностью достаточными для построения практически любого алгоритма.[19]
На третьем этапе был развит модульный подход к написанию программных продуктов, архитектура которого имела такой вид (рисунок 4): [10]
Рис.4. Принцип модульного программирования
Проблемы, что возникли на данном этапе такие:[6]
Область данных в модулях может быть закрыта также от внешнего использования, это не всегда считается удобно, поскольку не позволяет удобно применять данные модуля.
Также есть возможность иметь либо полностью готовые, либо полностью недоступные объекты и данные.
На данном этапе были решены такие основные проблемы:[10]
– Повысился общий уровень систематизации, а это позволило существенно снизить уровень сложности при непосредственном проектировании программ.
Кроме этого, частично решена проблема с защитой данных внутри модуля.
После прохождения таких этапов развития технологии проектирования программ были намечены следующие тенденции для их развития:[14]
– нужно мобильное (избирательное) ограничение для уровня доступности информации;
– все больше внимания уделяется проектированию данных, алгоритму для их непосредственного оперирования.
Все это требует разработки новой методологии для проектирования программ, что существенным образом отличается от ранее изобретенных тем, что в ней применяется принципиально новая модель – модель «активных» данных.
Громоздкость описания использует большие аппаратные ресурсы, а так же ограничивает сферу применения данного подхода для задач со сложной сферой реализации.[17]
При реализации данного этапа решены такие проблемы:
– каждая программа может состоять из модулей;
– модули могут содержать описание объектов и классов («активных» данных), а также методы (алгоритмы) строятся на основе активных данных.
В программе может отсутствовать область общих глобальных данных, основой при конструировании программы служат «активные» данные.
Защита в описываемых «активных» данных стала более мобильная.
На 4 этапе было развито объектно-ориентированное программирование (ООП).[6]
Термины «объектно-», а также «ориентированный» в современном смысле тогда не было.
Они появились в программировании в начале 1980 годов. В среде программистов по искусственному интеллекту понятие «объект» мог относиться также к идентифицированным элементам со свойствами и атрибутами.[9]
Алан Кэй писал позже, что понимание устройства Лиспа оказало огромное влияние на мышление программистов.
Сущность ООП можно изобразить рисунком 5:
Рис.5. Сущность ООП
В результате развития данного подхода были применены
Объектно-ориентированное программирование определено как технология создания программного обеспечения, основанная на рассмотрении программы в качестве совокупности объектов, где каждый из которых будет экземпляром определенного класса, а классы, в свою очередь, образуют иерархию с выполнением наследованием свойств.[11]
Взаимодействие программных объектов для такой системы осуществляется путем передачи информации. Объектная структура программы была использована впервые в языке имитационного моделирования Simula, появившемся в конце 60-х годов XX в. [13]
Естественный для ЯП моделирования способ разработки программы получил развитие в ином специализированном языке моделирования, который имеет название Smalltalk, а затем применен в новых версиях языков программирования.
В первом разделе курсового исследования рассмотрена и дана характеристика основным понятиям программирования, описаны основные этапы развития программирования.
2. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ
2.1. Основы модульного программирования в C++
Одной с самых распространенных методик создания ПО в настоящее время считается структурное программирование.
К тому же, одним из главных принципов структурного программирования длительное время являлся принцип модульности. В соответствии с этим принципом программный продукт разделяется на законченные фрагменты, которые называются программными модулями, блоки которых просты по управлению, а также допускают независимое тестирование и отладку.
В результате ветви программы могут реализовываться разными группами программистов.[7]
Программа, разработанная по принципам структурного программирования, удовлетворяет таким требованиям: