Файл: Основные правила работы с функциями: примеры и ограничения использования функций в различных языках программирования (ПОНЯТИЯ О ПРОГРАММИРОВАНИИ).pdf

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

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

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

Добавлен: 31.03.2023

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

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

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

Метод Volatile объекта Application имеет один аргумент (True или False). Если функция выделена как volatile (изменяемая), она пересчитывается всякий раз, когда изменяется любая ячейка листа. При использовании аргумента False метода Volatile функция пересчитывается только тогда, когда в результате пересчета изменяется один из ее аргументов.[13]

Во втором разделе представляемой курсовой работы рассмотрены основные понятия и принципы создания функций в языках программирования С++ и VBA.

3. РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКИХ ФУНКЦИЙ В С++ И VBA

3.1. Применение функций С++ для реализации модульной программы

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

В среде программирования С++ разработать программу из меню пользователя, которая над введенным массивом выполняет следующие операции: [9]

1. Выводит массив на экран;

2. Транспонирует массив;

3. Находит попарно сумму элементов массива (первый элемент + последний, второй + предпоследний и т.д.);

4. Удаляет элемент, который находится на позиции с номером X;

5. Сортирует каждые Y элементов на росте.

6. Записывает начальный массив в текстовый файл;

7. Формирует с одномерного массива квадратную матрицу минимального размера (в случае отсутствия необходимого количества элементов добавить значение 0).

Программа будет написана в среде разработки Dev-C++ на соответственном ЯП высокого уровня.

Основные ее характеристики: [6]

– удобный интерфейс;

– быстрый компилятор;

– применение встроенных компонентов в автоматическом порядке;

– использование подсказок при наборе программного кода;

– использование на бесплатном основании.

Интерфейс среды показан на рисунке 9:

Рис.9. Интерфейс Dev-C++

Рассмотрим функции, которые будут применяться для организации программы: [3]

– dim() – функция предназначена для ввода размерности используемого массива;

– input() – функция предназначена для ввода элементов массива при использовании генератора псевдослучайных чисел;


– output() – функция для организации вывода элементов массива;

– sum() – функция для нахождения суммы элементов массива;

– sort() – функция для сортировки элементов массива методом пузырька;

– sh() – вывод искомого элемента;

– vs() – функция, реализующая вставку элемента;

– rez() – функция для удаления элемента массива;

– menu() – функция для реализации меню программы;

– main() – главный модуль программы.

Основная функция, которая применяется для вывода меню выводит перечень пунктов меню в текстовом режиме (рисунок 10):

Рис.10. Пример меню

В зависимости от выбора значения (1, … , 6) будет реализован соответствующий пункт меню. [16]

Для создания такого меню нужно ввести такой программный код:

int menu()

{

int q;

cout<<"---------------------------------------------------"<<endl;

cout<<"| ПРИМЕР ИСПОЛЬЗОВАНИЯ МЕНЮ |"<<endl;

cout<<"---------------------------------------------------"<<endl;

cout<<" ВЫБЕРИТЕ С ПЕРЕЧНЯ НУЖНОЕ ДЕЙСТВИЕ "<<endl;

cout<<"---------------------------------------------------"<<endl;

cout<<"1. Ввод массива"<<endl;

cout<<"2. Сумма элементов массива"<<endl;

cout<<"3. Среднее арифметическое массива"<<endl;

cout<<"4. Сортировка массива"<<endl;

cout<<"5. Вставка значения массива"<<endl;

cout<<"6. Выход"<<endl;

cin>>q;

return q;

}

Стоит отметить, что количество пунктов меню легко увеличивается в результате добавления новой строки с оператором вывода cout. [12]

Логика программы построена таким образом, что при выборе соответствующего пункта будет запущена одна с функций.

Такая возможность реализована с помощью оператора множественного выбора switch.

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

Оператор case проверяет, какое именно значение введено, и в зависимости от него запускается определенная подпрограмма: [8]

switch(q)

{

//выбор значения 1

case 1:

//запуск функции для вывода массива

output(a,n);

//задержка на экране

system("pause");

//очистка экрана

system("cls");

//выход с оператора выбора

break;

//аналогично выполняются остальные составные части оператора выбора[4]

case 2:

//вывод суммы элементов[11]

cout<<"Сумма: "<<sum(a,n)<<endl;

system("pause");

system("cls");

break;

//вывод среднего значения

case 3:

cout<<"Среднее: "<<sum(a,n)/n<<endl;

system("pause");

system("cls");

break;

//сортировка массива

case 4:

sort(a,n);

system("pause");

system("cls");


break;

//вставка элемента массива

case 5:

x=sh();

y=vs();

rez(a,n,x,y);

system("pause");

system("cls");

break;

//выполнение закрытия программы

case 6:

cout<<"Программа окончена"<<endl;

system("pause");

break;

//break;

//случай некорректного ввода данных

default:

cout<<"Введите корректное значение";

getch();

system("cls");

}

Рассмотрим подробнее некоторые функции, которые применены в рассматриваемой программе.[5]

Функция для ввода размерности одномерного массива:

//определение функции

int dim()

{

//объявление переменной функции

int n;

//вывод сообщения

cout<<"Размерность: ";

//ввод размерности

cin>>n;

//возврат значения из функции

return n;

}

Функция для нахождения суммы элементов массива[20]

//название прототипа функции

int sum(int a[], int n)

{

//инициализация переменной

int s=0;

//нахождение суммы массива

for(i=0;i<n;i++)

s+=a[i];

//возврат значения

return s;

}

Другие функции созданы по аналогии.

Рассмотрим пример использования данной программы.

После запуска нужно выполнить ввод размерности. Автоматически будет сгенерирован массив и будет показано меню пользователя (рисунок 11):

Рис.11. Ввод размерности

Для, к примеру, вывода сортировки массива, нужно выбрать пункт 4. В результате получим (рисунок 12):[15]

Рис.12. Результат сортировки

После нажатия любой клавиши опять будет показано меню с выводом его пунктов.

3.2.Использование функций в ЯП VBA

Рассмотрим следующую задачу, которую нужно реализовать в VBA.

Дан список групп учебного заведения:[3]

Рис.13. Перечень групп

Список дисциплин:

Рис.14. Список дисциплин

Нормы контроля:

Рис.15. Нормы контроля

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

Для реализации этой задачи нужно выполнить такие действия.

Необходимо ввести:[19]

– номер группы и количество студентов;

– группу, дисциплины, вид контроля;

– вид контроля и количество часов.

После нажатия на кнопку расчет объема нагрузки в ячейке I10 получим искомый результат.


Рис.16. Результат вычислений

Рассмотрим листинг кода:[3]

Sub Pr()

s = 0

For i = 3 To 7

For j = 3 To 14

If Cells(i, 1) = Cells(j, 4) Then

For k = 3 To 6

If Cells(j, 6) = Cells(k, 8) Then

s = s + Cells(i, 2) * Cells(k, 9)

End If

Next k

End If

Next j

Next i

Cells(10, 9) = s

End Sub

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

Для ввода данных нужно открыть окно функции и ввести ячейку с параметром – радиус шара:[20]

Рис.17. Ввод аргументов

После этого в ячейке появится результат.

Рис.18. Результат

Листинг кода следующий:

Function fun(r As Single)

fun = 4 * 3.1415 * r * r

End Function

В последнем разделе работы на практике выполнено проектирование программ на основании модульно программирования, которые демонстрируют возможности использования функций в ЯП С++ и VBA.

ЗАКЛЮЧЕНИЕ

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

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

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

– встроенные (или стандартные);

– функции пользователя.

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

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

– интерфейс функции;

– название функции;

– параметры функции.

В работе были реализованы следующие задачи:

– выполнено рассмотрение основных определений по теории ЯП высокого уровня;

  • описаны принципы модульного программирования, как отдельной парадигмы для написания программ;
  • приведена методика написания функций на языке VBA;
  • на практике рассмотрены принципы использования модульных программ в С++;
  • разработаны программы, используя модульный подход организации ПО в VBA.