Файл: Варианты построения интерфейса программ: особенности и эволюция (Понятия и классификация языков программирования).pdf

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

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

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

Добавлен: 30.03.2023

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

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

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

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

if(ComboBox->ItemIndex==0)

o_f=false;

else

o_f=true;

// график функции синус

if(ComboBox->ItemIndex==0)

{

Chart1-> Add("График синуса");

for(x=-7;x<=7;x+=0,1)

{

y=sin(x);

Serie1->Add (x, "",clBlue);}

Size(1.3,-1.4,7,-6,9);

x1=-6;

}

else

//создание графика косинуса

if(ComboBox->ItemIndex==1)

{

Chart1-> Add("Косинус");

for(x=-7;x<=8;x+=0.1)

{

y1=cos(x);

Series->AddXY(x,clGreen);}

Size(1.2,-1.4,7,-6,9);

x1=-4,9;

}

else

// функция exp

if(ComboBox->ItemIndex==2)

{

for(x=-6;x<=3;x+=0.1)

{

y=exp(x1);

Series1->AddXY(y,clRed);}

Chart1->Title->Add("Экспонента");

Size(7,-1,3,-7);

x1=-6;

}

else

// если не выбрана функции

if(ComboBox->ItemIndex==-1)

ShowMesage("Выберите функцию");

3.2. Создание меню в С++ Builder

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

Для создания меню пользователя нужно добавить специальный невизуальный компонент под названием MainMenu1 на проектируемую форму.

Главное свойство компонента рассматриваемого компонента Items. Заполнение производится при использовании Конструктора Меню, что также вызывается двойным нажатием по элементе MainMenu или же двойным нажатием кнопки с троеточием около свойства под названием Items в инспекторе.

В этом окне также присутствует возможность для проектирования всего пользовательского меню.

Для работы непосредственно в конструкторе меню се новые разделы можно вводить с помощью помещения курсора в рамке с точек.

Свойство под названием Caption дает возможность для создания надписи раздела.

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

Если же значение свойства Caption очередного раздела будет равно символу минус "–", то вместо такого раздела в меню пользователя появится разделитель.

Свойство под названием Name указывает на имя объекта, который соответствует определенному разделу меню.

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

Чтобы определить такие клавиши для быстрого доступа к меню, нужно открыть имеющийся выпадающий список для свойства Shortcut непосредственно в окне инспектора объектов и выбрать необходимую комбинацию клавиш с него. Эта комбинация будет сразу показана на строке меню.


Свойство под названием Default определяет, будет данный раздел разделом по умолчанию для указанного подменю (разделом, куда вход выполняется двойным нажатием на родительском разделе).

Подменю может содержать один раздел по умолчанию, что выделяется полужирным шрифтом.

В среде C ++ Builder 6 введено новое свойство для работы с разделами меню – AutoCheck.

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

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

Рис.5. Проектирование меню

Получим в результате пункты (рис.6):

Рис.6. Пункты главного меню

Продемонстрируем функционирование созданной программы (рисунок 7):

Рис.7. Движение касательной

3.3. Разработка пользовательского интерфейса в консольных приложениях

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

switch(q)

{

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

case 1:

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

output(a,n);

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

system("pause");

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

system("cls");

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

break;

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

case 2:

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

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");

}

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


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

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

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;

}

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

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

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

В процессе выполнения курсовой работы были получены, закреплены практические навыки по реализации разработки программ при использовании модульного программирования, а также в написании программы в среде C++ Builder.


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

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

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

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

  • удобность ввода данных;
  • структурированное отображение информации;
  • создание дружественного интерфейса.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Аксёнова Е.А. Алгоритмы и структуры данных на С++: Учебное пособие. - Петрозаводск: Изд-во ПетрГУ, 2016.- 81 с.
  2. Беляева, И. В. Основы программирования на языке Turbo Pascal: учебное пособие / И. В. Беляева. - Ульяновск: УлГТУ, 2015. - 266 с.
  3. Бобровский С. Самоучитель програмирования на языке C++ в среде Borland C++ Builder М.: ИНФРА-М, 2013.–251 c.
  4. Бруно Бабэ. Просто и ясно о Borland C++: Пер. с англ. - Москва: БИНОМ, 2014. – 400с.
  5. Заварыкин В.М.. Основы информатики и вычислительной техники. — М.: Просвещение, М.: - 2014. 180 с.
  6. Задачи по программированию / С. А. Абрамов. — М.: Наука, 2014. – 344 с.
  7. Задачник-практикум: В 2 т. / Под ред. И. Г. Семакина. — М.: Лаборатория Базовых Знаний, 2013. – 182 с.
  8. Зубов В. С. Программирование на языке С++. — М.: Информационно-издательский дом «Филинъ», 2013. – 452 с.
  9. 3yeв Е. А. Практическое программирование на языке С++. — М.: Радио и связь, 2014. – 406 с.
  10. Йенсен К. С++ — руководство для пользователей и описание языка. — М.: Мир, 2015. – 402 с.
  11. Касаткин В. Н. Информация. Алгоритмы. ЭВМ. — М.: Просвещение, 2015. – 210 с.
  12. Керниган Б. Язык программирования Си: Пер. с англ. — М.: Финансы и статистика, 2014. – 322 c.
  13. Культин Н.Б. Визуальное программирование.— СПб.: BHV — Санкт-Петербург, 2013. – 266 c.
  14. Культин Н.Б. С++ Buider в задачах и примерах – СПб.:БХВ-Петербург, 2015. – 336с.: ил.
  15. Липачев Е.К. Технология программирования. Базовые конструкции C/C++ / Е.К. Липачев. - Казань: Казан. ун-т., 2015. - 142 с.
  16. Мамонова Т.Е. Информатика. Общая информатика. Основы языка C++: учебное пособие / Т.Е. Мамонова; Томский политехнический университет. - Томск: Изд-во Томского политехнического университета, 2014. - 206 с.
  17. Мамонова Т.Е. Информатика. Программирование на C++: учебно-методическое пособие / Т.Е. Мамонова; Томский политехнический университет. - Томск: Изд-во Томского политехнического университета, 2013. - 118 с.
  18. Марапулец Ю.В.Программирование на языке высокого уровня: Учебное пособие. - Петропавловск-Камчатский: КамчатГТУ, 2015. - 189 с. ISBN/ISSN:978-5-328-00185-4
  19. Объектно-ориентированное программирование на С#: Учебное пособие / А.А. Андрианова. - Казань: Казанский (Приволжский) федеральный университет, 2015. - 134 с.
  20. Шамшев, А.Б. Алгоритмическое мышление при решении задач (на примере языка C#): учебное пособие / А.Б. Шамшев, К.В. Святов. - Ульяновск: УлГТУ, 2014. - 113 с.