Добавлен: 29.04.2023
Просмотров: 84
Скачиваний: 2
Рисунок 8 – Инспектор объектов
Некоторые основные свойства компонентов называются атрибутами, определяющими поведение и внешний их вид. Все свойства компонентов в таких столбцах свойств принимают самые разные значение, которые устанавливаются по умолчанию. [8]
Свойство определенного компонента может отображаться и на вкладке свойств. А в это время инспекторы для объектов могут отображать некоторые опубликованные свойства компонентов. [14]
Помимо рассмотренных свойств, все компоненты используют также общие свойства, являющиеся доступными во время программного запуска. Инспектор объектов применим при установке некоторых основных свойств и проектировании программ.
3.2. Создание оконной программы
Рассмотрим методику создания оконного приложения для реализации алгоритма вычисления определителя методом Крамера.
Приведем краткое описание алгоритма.[12]
Рассмотрим систему линейных уравнений, неизвестными, то есть, систему вида: [7]
Обозначим матрицу :
.
Матрицу называют основной матрицей.
Пусть вектор – матрица-столбец имеющихся неизвестных значений, а – столбец свободных членов СЛАУ:[19]
и .
В этом случае систему можно переписать так:
.
Указанный метод может применяться и для выполнения решений СЛАУ, где количество неизвестных и уравнений совпадают, а матрица А – невырожденная.[11]
Если в СЛАУ число уравнений , неизвестных будет совпадать, то при этом , а система совместная и использует только одно решение: [10]
(),
тут , – определитель, что вычисляется с определителя путем замены -го столбца на столбец свободных членов.
Приведенные формулы называют алгоритмом вычисления Крамера.
Написания приложения будет состоять с нескольких этапов.
Первым является разработка интерфейса пользователя программы.[13]
Для этого откроем C++ Builder и создадим для ней пустой проект с оконным видом.
После расположения визуальных составляющий на имеющейся форме, настройки их при использовании окна с названием Object Inspector, разработанный интерфейс имеет вид (рисунок 9):[5]
Рисунок 9 – Интерфейс программы
Следующим этапом для реализации программ является написание кода компонентов и событий.
Далее рассмотрим главные функции для создаваемой программы.
К примеру, кнопка «Автоматически заполнить» содержит код:
{
int i_2,j_2;
{
for (i_2=1;i_2<=StrToInt(Edit1->Text);i_2++)
for (j_2=1;j_2<=StrToInt(Edit1->Text);j_2++)
{
StringGrid1->Cells[i_2][j_2]=rand()%30-2;StringGrid1->Cells[UpDown1->Position+2][j_2]=rand()%30-1;
}
}
}
Функции используются для заполнения компонентов с названием StringGrid1, а также числовыми данными с [-1; 29].
При этом, после нажатия на компонент UpDown1 увеличивается количество строк и столбцов, а также изменяется название их.
Нажав далее на кнопки под названием «Вычислить матрицу» выполнится код вида:
int n_2 = StrToInt(Edit1->Text);
float** a_2 = mtx(n_2);
for(int i_2=1;i<UpDown1->Position+1;i_2++)
{
for(int j_2=1;j_2<UpDown1->Position+1;j_2++)
a[i_2-1][j_2-1]=StrToFloat(StringGrid1->Cells[j_2][i_2]);
b[i_2-1]=StrToFloat(StringGrid1->Cells[StringGrid2->ColCount-1][i_2]);
}
float dd_2 = det(a_2,n_2)
Edit14->Text=dd_2;
if(dd_2==0)
{
ShowMessage("Определитель – нуль");
return;
}
for(int i_2=0;i_2<n_2;i_2++)
{
d[i_2] = det(Swap(a_2,b,i_2,n_2),n_2);
x[i_2] = d[i_2]/dd_2;
D[i_2]->Text=FloatToStrF(d[i_2],ffGeneral,5,4);
X[i_2]->Text=FloatToStrF(x[i_2],ffGeneral,5,4);
}
AnsiString s1="",p1;
del(a_2,n_2);
Этот код будет вычислять методом Крамера корни.
Запустим программу на выполнение и введем размерность.
В результате получим (рисунок 10):
Рисунок 10 – Ввод данных
Далее нажмем кнопку под названием Вычислить матрицу. В результате получим (рисунок 11):[16]
Рисунок 11 – Результат выполнения программы
В последней главе описана реализация алгоритма Крамера решения СЛАУ, применены основные теоретические пункты указанного алгоритма, создан графический продукт на С++ Builder.
ЗАКЛЮЧЕНИЕ
Широкое использование современных информационных технологий практически во всех сферах деятельности человека является одним с основных признаков цивилизованного общества.
Вся мировая история никакой другой отрасли технологий и науки не знает, развивающейся столь стремительными шагами. Трудно представить себе нынешнего специалиста, не владеющего самыми основными навыками в работе ПК.
Прогресс компьютерных технологий определяет процесс появления новых самых разнообразных знаковых систем по записи алгоритмов – языков программирования.
Весь смысл появления такого ЯП – оснащенный набор вычислительных средств дополнительной информации, превращает его в алгоритм. Язык программирования также служит 2-м между собой связанным целям:
– он дает программисту аппараты для задания действий, что должны быть выполнены;
– формирует концепции, что используется программистом, размышляя о том, что именно делать.
В процессе написания работы реализованы такие задачи:
– выполнить характеристику языков программирования;
– дать характеристику парадигмам программирования;
- изучить основные принципы ООП;
- дать характеристику основных языков программирования высокго уровня;
- на практике создать программное приложение, которое демонстрирует функционал языков программирования высокго уровня.
В процессе проводимого анализа работы выявлены положительные стороны языков высокго уровня:
- удобность применения иерархии классов;
- гибкость языков;
- интегрированность шаблонных классов и прочее.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- Хортон А. Visual C++ 2010. Полный курс. Издательский дом «Вильямс». – 2014. – 300 с.
- Борис Пахомов. С/С++ и MS Visual C++ 2010 для начинающих. БХВ-Петербург. – 2014. – 436 с.
- Брайан Керниган, Деннис Ритчи. Язык программирования С++. Издательство «Невский диалект». – 2014. – 320 с.
- Бьерн Страуструп. Программирование. Принципы и практика использования С++. Издательский дом «Вильямс». – 2015. – 258 с.
- Джесс Либерти. Освой самостоятельно С++ за 21 день. Издательский дом «Вильямс». – 2017. – 230 с.
- Динман М.И. С++. Освой на примерах. – СПб.: БХВ-Петербург, 2017.– 260 с.
- Дэвид Гриффитс, Дон Гриффитс. Изучаем программирование на С. Издательство «Эксмо». – 2013. – 400 с.
- Кнут, Дональд, Эрвин. Искусство программирования. Том : Уч. пос. М.: Издательский дом. «Вильямс», 2014.– 720с.
- Кубенский А.А. Структуры и алгоритмы обработки данных: процедурно-ориентированный подход. – СПб.: БХВ-Петербург, 2013. – 464с.
- Лаптев В.В. С++. Объектно-ориентированное программирование. Задачи и упражнения. – СПб.: Питер. 2013. – 288 с.
- Майерс С. Эффективное использование С++. – М.: ДМК Пресс; – СПб.: Питер. 2013.–240с.
- Прата С. Язык программирования С++. Издание 6. Издательский дом «Вильямс» – 2016. – 304 с.
- Р. Лафоре. Объектно-ориентированное программирование в С++. Издательство «Питер». Издание 4. – 2014. – 628 с.
- С++ Стандартная библиотека. Для профессионалов./Н. Джосьютис. – СП Питер, 2017. – 350 с.
- Седжвик Роберт. Фундаментальные алгоритмы на С++. К.: Издательство «ДиаСофт», – 2014. – 500 с.
- Скляров В.А. Язык С++ и объектно-ориентированное программирование. – Минск. «Вышейшая школа». – 2017. – 478с.
- Харви Дейтел, Пол Дейтел. Как программировать на С++. Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 2017. – 430 с.
- Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке Си. Учеб. пособие. – Финансы и статистика, 2014. – 464с.
- Штерн Виктор. Основы С++: Методы программной инженерии.– Издательство «Лори», 2013. – 860с.
- Язык С++: Учеб. Пособие /И.Ф. Астахова, С.В. Власов, В.В. Фертиков, А.В. Ларин.–Мн.: Новое знание, 2013. – 203 с.