Создание библиотек и подпрограмм для обработки массивов
Расчет матрицы по заданной формуле. Формирование вектора по алгоритму, построение его вектора. Структура окна С++. Свойства события компонент С++, которые использовались для реализации задачи. Структуры программирования. Блок-схемы алгоритмов подпрограмм.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 26.06.2016 |
Размер файла | 602,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Язык программирования C++ - является языком третьего поколения, возникшим в начале 1980-х годов, когда сотрудник фирмы Bell Labs Бьёрн Страуструп придумал ряд усовершенствований к языку C под собственные нужды. Язык С++ стал эволюционным развитием языка "C" и за счет использования сложных произвольных типов (шаблонов, объектов), называемых в его терминологии классами, позволил перейти к новой объектно-ориентированной парадигме программирования. Сегодня язык C++ вытеснен языками нового поколения и новой объектно-событийной парадигмой. Последняя позволила создать системы быстрой разработки приложений и распределенные программные среды.
Интегрированная среда разработки C++Builder IDE (Integrated Development Environment), предназначенная для эффективной разработки приложений.
Borland C++ Builder - выпущенное недавно компанией Borland средство быстрой разработки приложений, позволяющее создавать приложения на языке C++, используя при этом среду разработки и библиотеку компонентов Delphi.
C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода.
Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.
1. Структура окна С++
Запускается C++ Builder обычным образом, т. е. выбором из меню Borland C++Builder 6 команды «C++Builder 6».
Рисунок 1 - Запуск C++Builder
Вид экрана после запуска C++ Builder несколько необычен. Вместо одного окна на экране появляются пять:
· главное окно - C++Builder 6;
· окно стартовой формы - Form1;
· окно редактора свойств объектов - Object Inspector;
· окно просмотра списка объектов - Object TreeView;
· окно редактора кода - Unitl.cpp.
Окно редактора кода почти полностью закрыто окном стартовой формы.
Рисунок 2 - Вид экрана после запуска C++ Builder
В главном окне находится меню команд, панели инструментов и палитра компонентов.
Окно стартовой формы (Form1) представляет собой заготовку главного окна разрабатываемой программы (приложения).
Рисунок 3 - Главное окно
Окно Object Inspector - окно редактора свойств объектов предназначено для редактирования значений свойств объектов. В терминологии визуального проектирования объекты - это диалоговые окна и элементы управления (поля ввода и вывода, командные кнопки, переключатели и др.). Свойства объекта - это характеристики, определяющие вид, положение и поведение объекта. Например, свойства Width и Height задают размер (ширину и высоту) формы, свойства тор и Left - положение формы на экране, свойство caption - текст заголовка. В верхней части окна указан объект (имя объекта), значения свойств которого отражены в окне Object Inspector. На вкладке Properties перечислены свойства объекта и указаны их значения.
Рисунок 4 - Инспектор объектов
В окне редактора кода, которое можно увидеть, отодвинув в сторону окно формы, следует набирать текст программы. В начале работы над новым проектом окно редактора кода содержит сформированный C++ Builder шаблон программы.
Рисунок 5 - Окно редактора кода
2. Свойства события компонент С++, которые использовались для реализации задачи
Компоненты вкладки Standard палитры компонент осуществляют включение в вашу программу 14 стандартных интерфейсных элементов Windows.
Рисунок 6 - Вкладка Standart палитры компонент
TEdit - Отображает прямоугольную область редактируемого ввода одиночной строки информации на форме. Начальное содержимое области редактирования определяет строка, являющаяся значением свойства Text.
TEdit является прямой производной от класса TCustomEdit, полностью наследуя его свойства, методы и события.
TMainMenu - Создает панель команд главного меню и соответствующие им выпадающие меню для формы. Идентификаторы всех команд меню определяются свойством Items, которое имеет доступ к любой конкретной команде меню. Свойство AutoMerge вместе с методами Merge и Unmerge управляют процессом слияния меню разных форм.
TLabel - Отображает на форме прямоугольную область статического текста, который нельзя редактировать. Обычно текст представляет собой название другой компоненты. Текст названия является значением свойства Caption. Свойство Alignment определяет способ выравнивания текста. Чтобы размер шрифта автоматически соответствовал максимальному заполнению области, установите значение true свойстваAutoSize. Чтобы весь текст можно было увидеть внутри короткой области, задайте значение true свойства WordWrap.
Установкой значения true свойства Transparent вы можете оставить видимой часть другой компоненты сквозь название, расположенное прямо на ней.
ТМеmо - Отображает прямоугольную область редактируемого ввода множественных строк информации на форме. Начальное содержимое области редактирования определяет массив строк, являющийся значением свойства Lines. Окно редактораэлементов списка открывается кнопкой в графе значении этого свойства. TMemo является прямой производной от класса TCustomMemo, полностью наследуя его свойства, методы и события.
TButton - Создает прямоугольную кнопку с надписью. Нажатие на кнопку инициирует некоторое действие в программе. Кнопки чаще всего используются в диалоговых окнах. Кнопка по умолчанию, выбранная значением true свойства Default,запускает обработчик события OnClick всякий раз, когда нажимается клавиша Enter в окне диалога. Кнопка прерывания, выбранная значением true свойства Cancel, запускает обработчик события OnClick всякий раз, когда нажимается клавиша Escape в окне диалога.
TButton является производной от класса TButtonControl.
TStringGrid - расположен на странице Additional Палитры компонентов. Использование электронных таблиц пользователями компьютеров стало привычным и достаточно удобным средством в работе с данными. С помощью компонента StringGrid создаются таблицы, в ячейках которых содержаться произвольные текстовые данные. Он является прямым потомком компонента DrawGrid, много свойств и методов унаследовано от него. Основное свойство компонента StringGrid - это двумерный массив Cells[ACol, ARow: integer] типа String с помощью него можно обращаться к содержимому ячеек и изменять их содержание. ACol устанавливает номер столбца, ARow - задает строку в таблице. Этим свойством можно воспользоваться только во время выполнения программы, оно доступно для записи и чтения. Нумерация строк и столбцов идет с нуля. Свойство ColCount задает число столбцов, RowCount - число строк.
3. Структуры программирования, которые использовались для реализации задачи
Структура файла проекта
Для каждого приложения C++ Builder создается один файл проекта, один make-файл и один файл ресурсов. Файл проекта генерируется при выборе пункта меню File/New Application. Первоначально файлу проекта присваивается по умолчанию имя Project1.cpp. Если в процессе разработки приложения добавляются формы и модули, C++ Builder обновляет файл проекта.
Для просмотра файла проекта следует выбрать пункт меню View/Project Source. Эта операция выполнит загрузку исходного текста файла проекта в редактор кода.Файл проекта имеет такую же структуру, как и файл модуля. Подобно файлу модуля, это файл исходного кода на языке C++, который компилируется с другими файлами при создании исполняемого файла.
В файле проекта имеется определенный набор ключевых элементов:
· Директива препроцессора #include <vcl\vcl.h> предназначена для включения в текст проекта заголовочного файла, ссылающегося на описания классов библиотеки компонентов.
· Директива препроцессора #pragma hrdstop предназначена для ограничения списка заголовочных файлов, доступных для предварительной компиляции.
· Директива USEFORM сообщает, какие модули и формы используются в проекте.
· директива USERES компилятора присоединяет файлы ресурсов к выполняемому файлу. При создании проекта автоматически создается файл ресурсов с расширением *.res для хранения курсоров, пиктограммы приложения и др.
· Application->Initialize() Это утверждение критично только в случае, если приложение является OLE automation-сервером. В остальных случаях оно фактически ничего не делает.
· Application->CreateForm() Это утверждение создает форму приложения. По умолчанию, каждая форма в приложении имеет свое утверждение CreateForm.
· Application->Run() Это утверждение запускает приложение (точнее, переводит его в состояние ожидания наступления одного из событий, на которое оно должно реагировать).
· Конструкция try...catch используется для корректного завершения приложения в случае возникновения ошибки при инициализации, создании форм, запуске приложения.
· Структура make-файла
· Make-файл - это текстовый файл, содержащий макросы, директивы и инструкции по компиляции и сборке проекта для утилиты make.exe. Отметим, что make-файл по существу ничем не отличается от обычного знакомого пользователям С и С++ make-файла. Он генерируется автоматически при создании проекта, и его содержимое зависит от установок, указанных программистом в опциях проекта. Чтобы увидеть содержание make-файла, следует выбрать пункт меню View/Project Makefile.
· Структура модуля
· Модули являются основой создания библиотек и приложений в C++ Builder. Модуль содержит исходный текст на языке C++ и первоначально представляет собой файл с расширением *.CPP. В дальнейшем каждый такой файл компилируется в объектный файл с расширением *.OBJ. Объектные файлы, в свою очередь, собираются компоновщиком в выполняемый файл с расширением *.EXE.
· При добавлении к проекту новой формы генерируется новый модуль. При добавлении модуля к проекту при помощи выбора пункта меню File/New Unit создается пустая структура модуля, в которой включены директивы: #include <vcl\vcl.h>; #pragma hdrstop; #include "Unit2.h"
· Директива #include "Unit2.h" указывает на то, что в текст модуля должен быть включен соответствующий заголовочный файл.
Структура h-файла
· h-файл генерируется при создании нового модуля. В нем содержится информация о данных и функциях, которые можно использовать в модуле. h-файл для модуля, связанного с формой, содержит описания интерфейсных элементов и других компонентов этой формы и обработчиков событий для них (то есть, в терминологии объектно-ориентированного программирования, описание класса формы). Такие описания автоматически добавляются в h-файл при внесении в форму новых компонентов или генерации новых обработчиков событий. Иными словами, в h-файле содержится интерфейс, а в самом модуле - реализация.
· Примечание. При удалении из формы компонентов их описания удаляются из h-файла, а описания обработчиков событий сохраняются. При переименовании компонентов изменяются их описания в h-файле, а также имена и описания обработчиков событий, сгенерированные автоматически. Однако при этом не изменяются ссылки на эти компоненты и обработчики событий, используемые в других функциях, поэтому рекомендуется переименовывать компоненты и обработчики событий сразу же после их создания, пока на них не появились ссылки.
· Не рекомендуется удалять из модуля пустые функции (например, случайно созданные шаблоны обработчиков событий). Они не увеличат размер исполняемого файла, но их удаление может привести к невозможности заново сгенерировать обработчик события, если в этом возникнет необходимость.
· Отметим, что в модуле могут содержаться функции, не описанные в h-файле, однако видимость их в этом случае ограничивается данным модулем.
· Внутри модуля функции могут быть определены и ссылаться друг на друга в произвольном порядке. Если данный модуль ссылается на другие формы и модули, следует с помощью директивы препроцессора #include включить в него соответствующий h-файл с помощью пункта меню File/Include Unit Hdr.... После этого интерфейсные элементы другого модуля будут доступны в данном модуле.
Файл формы
· Форма является одним из важнейших элементов приложения C++ Builder. Процесс редактирования формы происходит при добавлении к форме компонентов, изменении их свойств, создании обработчиков событий.
· Когда к проекту добавляется новая форма, создаются три отдельных файла:
· Файл модуля (.cpp) - cодержит исходный код, связанный с формой.
· h-файл(.h) - cодержит описание класса формы, то есть описания содержащихся на форме компонентов и обработчиков событий.
· Файл формы (.dfm) - двоичный файл, содержащий сведения об опубликованных (то есть доступных в инспекторе объектов) свойствах компонентов, содержащихся в форме. Двоичный файл формы содержит информацию, используемую для конструирования формы из компонентов, расположенных на ней. При добавлении компонента к форме и заголовочный файл, и двоичный файл формы модифицируются. При редактировании свойств компонента в инспекторе объектов эти изменения сохраняются в двоичном файле формы.
· Хотя в C++ Builder файл.dfm сохраняется в двоичном формате, его содержание можно просмотреть с помощью редактора кода. Для этого нужно нажать правую клавишу мыши над формой и из контекстного меню формы выбрать пункт View as Text.
Элементы программы
Константы - это данные, значения которых не могут меняться в процессе работы программы. Подробно синтаксические правила записи различных констант будут рассмотрены при изучении соответствующих типов данных. Сейчас только одно замечание по поводу использования алфавита языка при формировании строковых (текстовых) констант: в них можно использовать не только символы алфавита языка C++, но и все другие символы, имеющиеся в используемой таблице символов (символы национальных алфавитов, символы псевдографики и т.д.).
Комментарии - это фрагменты текста, игнорирующиеся компилятором при обработке текста программы. Комментарии в текстах программ используются для различных пояснений к тексту программы, а также для исключения временно не нужных фрагментов текста программы (например, отладочных кодов или вариантов реализации).
В C++ имеются комментарии двух видов: однострочные и многострочные.
Однострочный комментарий начинается двумя символами // (прямой косой черты) и заканчивается в конце строки текста программы.
Многострочный комментарий - начинается символами /* и заканчивается */ и может содержать множество строк. Многострочные комментарии не могут вкладываться друг в друга. Однострочные комментарии могут находиться внутри многострочных комментариев.
Подпрограммы. Функции в С++ играют ту же роль, что и подпрограммы: процедуры и функции в Delphi.
Среди функций всегда имеется главная - main - для консольных приложений (работающая с WIN32) или WinMain -для приложений Windows. Именно эта главная функция выполняется после начала работы программы. Функцию WinMain содержит головной файл проекта.
Функция имеет следующую структуру:
тип имя_функции (список параметров)
{
тело функции
}
Тип функции может быть любым. Могут быть функции, не возвращающие никакого значения. Тип таких функций объявляется как void.
Список параметров состоит из имен параметров и указаний на их тип.
Если функция не принимает никаких параметров, то скобки либо остаются пустыми, либо в них записывается ключевое слово void.
Если функция не должна возвращать никакого значения, то выход из нее происходит после выполнения всех ее операторов, или при выполнении оператора return. Если же функция возвращает значение, то выход из нее осуществляется оператором
return выражение
где выражение должно формировать выходное значение и совпадать по типу с типом функции.
Как правило, помимо описания функции, в текст программы включается прототип функции - ее предварительное объявление. Прототип представляет собой тот же заголовок функции, но с точкой с запятой в конце. В прототипе можно не указывать имена параметров.
Прототип позволяет использовать в данном модуле функцию, описанную в другом модуле. Если определены прототипы функций, то последовательность размещения в модуле описания функций безразлична, в то время как без прототипов любая используемая функция должна быть описана до ее первого вызова в тексте.
Переменная -- это «ячейка» оперативной памяти компьютера, в которой может храниться какая-либо информация.
В программировании переменная, как и в математике, может иметь название, состоящее из одной латинской буквы, но также может состоять из нескольких символов, целого слова или нескольких слов.
Массив -- это переменная, которая хранит множество значений под одним именем, но каждому значению присвоен свой индекс.
Это набор некоторых значений, которые хранятся друг за другом, под одним именем. Для получения этих значений вам не придется создавать новых переменных, нужно только указать индекс под которым хранится значение в массиве.
Для объявления массива необходимо указать две вещи (помимо имени): тип и размер массива:
int my array [6];
Данная строка объявляет массив из шести целочисленных значений.
Массивы могут также использоваться для представления многомерных данных, например, таких, как шахматная доска или поле для игры в крестики нолики. При использовании многомерных данных для доступа к элементам массива будут использоваться несколько индексов.
При использовании массивов вам не обойтись без циклов. Для того, чтобы пробежать по циклу просто инициализируется нулевая переменная и увеличивается, пока она не превысит размеры массива -- шаблон как раз подходящий для цикла.
Циклы используются для многократного повторения некоторого участка кода. В C++ есть три вида циклов: for, while и do…while. Каждый из них имеет свое применение. Чаще всего применяется цикл for. Для инициализации цикла можно объявить переменную или использовать уже существующую. Условие сообщает программе, что нужно делать: если условие -- истина, то действие повторяется, если ложь -- выход из цикла. Обновление определяет, как будет изменяться переменная, это поле может выглядеть так: x++, x+=10, ++x и т.п. Если поле условие оставить пустым, то оно всегда будет считаться истиной, поэтому цикл будет выполняться, пока он не будет прерван каким-либо другим способом.
Синтаксис цикла for имеет вид:
for (выражение1; выражение2;выражение 3)
{
операторы;
}
Описание синтаксиса
1. Сначала присваивается первоначальное значение счетчику, после чего ставится точка с запятой.
2. Затем задается конечное конечное значение счетчика цикла. После того, как значение счетчика достигнет указанного предела, цикл завершится. Снова ставим точку с запятой.
3. Задаем шаг цикла. Шаг цикла -- это значение, на которое будет увеличиваться или уменьшаться счетчик цикла при каждом проходе.
Условный оператор if. Оператор if используется для того, чтобы определить действия программы при различных условиях. Например у нас есть число. И если оно четное нам нужно его удвоить, а иначе разделить пополам. Для написания подобной программы и используется оператор if. В самой простой вариации он будет иметь следующую форму if(<условие>) оператор_1; else оператор_2;
Если в задаче требуется, чтобы в зависимости от значения условия выполнялся не один оператор, а несколько, их необходимо заключить в фигурные скобки, как составной оператор.
if (условие) { оператор_1; оператор_2; … }
else { оператор_1; оператор_2; … }
4. Блок-схемы алгоритмов подпрограмм
4.1 Блок-схема алгоритма подпрограммы расчёта матрицы А
На рисунке 7 представлена блок-схема алгоритма подпрограммы расчета матрицы A.
Рисунок 7 - Блок-схема алгоритма процедуры расчета матрицы A
4.2 Блок-схема алгоритма подпрограммы расчёта вектора Х
На рисунке 8 представлена блок-схема алгоритма подпрограммы расчета вектора X.
Рисунок 8 - Блок-схема алгоритма подпрограммы расчета вектора X
4.3 Блок-схема алгоритма подпрограммы расчёта функции G
На рисунке 9 представлена блок-схема алгоритма подпрограммы расчета вектора X.
Рисунок 9 - Блок-схема алгоритма подпрограммы расчета функции G.
Вывод
В данной курсовой работе была рассчитана матрица по заданной формуле, сформирован вектор по заданному алгоритму, из элементов вектора рассчитана функция по заданной формуле, построен график для вектора. В процессе выполнения курсовой работы, получены практические навыки работы с библиотеками. Полученные значения расчетов:
Матрица А:
3,600 2,667 2,143 1,800
4,500 3,083 2,357 1,913
6,267 4,222 3,190 2,567
8,175 5,479 4,125 3,309
Вектор Х:
1,800
1,913
2,567
3,309
Функция G= 1
Список использованных источников
1. Архангельский А.Я. Программирование в С++ Builder 5. -М.: Бином, 2000 - 1152 с.
2. Березин Б.Н., Березин С.Б., Начальный курс С и С++. -М.: Диалог-МИФИ, 2000 - 288 с.
3. Бьерн Страуструп. Язык программирования С++. - С.Пб.-М.: Бином, 1999 - 991 с.
4. Бруно Бабэ Просто и ясно о Borland C++ - М., Бином 2001- 1167 с.
5. Borland C-Biulder - Библиотека программиста - М.: Бином, 2000 - 543 с.
6. Borland C-Biulder - Экспресс-курс - БХВ, СПб, 2006 -232 с.
7. http://vk.com/away.php?to=http%3A%2F%2Fwww.helloworld.ru%2Ftexts%2Fcomp%2Flang%2Fbuilder%2Fbuilder%2F4.htm
8. http://vk.com/away.php?to=http%3A%2F%2Fwww.bourabai.kz%2FC-Builder%2Fcpp%2Findex.htm
9. http://vk.com/away.php?to=http%3A%2F%2Fsamoucka.ru%2F
Приложения
Приложение А
Текст программы
Модуль Unit1
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Kurs.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
// Процедура создания формы.
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
StringGrid1->Cells[0][0]=" A";
for(int i; i<=n; i++)
{
StringGrid1->Cells[i][0]=IntToStr(i)+"-ая строка";
StringGrid1->Cells[0][i]=IntToStr(i)+"-ий столбец";
}
}
//---------------------------------------------------------------------------
// Процедура обработки кнопки "Вычисление матрицы".
void __fastcall TForm1::Button1Click(TObject *Sender)
{
matrix();
for (int i=0;i<n;i++) // Перебираем строки массива.
for (int j=0;j<m;j++) // Перебираем столбцы массива.
// Выводим значение массива в компонент округленные до третьего
// разряда после запятой.
StringGrid1->Cells[j+1][i+1]=FloatToStrF(a[i][j],ffFixed,5,3);
// Делаем видимыми или активными следующие элементы формы:
N5->Enabled=true; // пункт меню "Вычисление вектора",
Button2->Visible=true; // кнопка "Вычисление вектора",
StringGrid1->Visible=true; // таблица элементов матрицы,
Label1->Visible=true; // надпись "Элементы матрицы".
}
//---------------------------------------------------------------------------
// Процедура обработки кнопки "Вычисление вектора".
void __fastcall TForm1::Button2Click(TObject *Sender)
{
vector();
Memo1->Clear(); // очистка компонента
for (i =0; i<n; i++) // начало цикла за индексами массива
Memo1->Lines->Add(FormatFloat("0.00", x[i])); // вывод одного значения массива
// Делаем видимыми или активными следующие элементы формы:
N6->Enabled=true; // пункт меню "Построение графика",
N7->Enabled=true; // пункт меню "Вычисление функции".
Button3->Visible=true; // кнопка "Построение графика X[i]",
Button4->Visible=true; // кнопка "Вычисление функции",
Memo1->Visible=true; // список элементов вектора,
Label2->Visible=true;// надпись "Элементы вектора".
}
//---------------------------------------------------------------------------
// Процедура обработки кнопки "Построение графbка X[i]".
void __fastcall TForm1::Button3Click(TObject *Sender)
{
for (i=0; i<n; i++) // Перебираем элементы массива.
Series1->AddXY(i,x[i]); // Построение графика.
Chart1->Visible=true; // График зависимости x[i].
}
//---------------------------------------------------------------------------
// Процедура обработки кнопки "Вычисление функции".
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Edit1->Text=FloatToStr(G());// Выводим значение функции в компонент.
// Делаем видимыми или активными следующие элементы формы:
Edit1->Visible=true; // значение функции,
Label3->Visible=true; // напись "Значение функции".
}
//---------------------------------------------------------------------------
// Процедура обработки пункта меню "О программе".
void __fastcall TForm1::N3Click(TObject *Sender)
{
ShowMessage("Дмитриенко Алёна Владимировна Вариант 10");
}
//---------------------------------------------------------------------------
// Процедура обработки пункта меню "Выход".
void __fastcall TForm1::N2Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
Модуль Kurs
#ifndef KursH
#define KursH
#include <math.h>
//---------------------------------------------------------------------------
const int n=4;
const int m=4;
typedef float mass[n][m];
mass a;
float x[n];
int i,j;
void matrix()
{for(int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
a[i-1][j-1]=(3+i)/(4.0+j)*2*pow(i,(-2))+4*(i/(j+1.0));
}
void vector()
{ float p=1;
float min;
int jmin;
for (int i=0;i<n;i++)
{p*=a[i][1];
min=p;
jmin=0;
}
for(int j=1;j<m;j++)
{p=1;
for(int i=0;i<n;i++)
if(a[i][j]>0)
{p*=a[i][j];
}
if(p<min)
{jmin=j;
min=p;
}
}
for(int i=0;i<n;i++)
x[i]=a[i][jmin];
}
double G()
{float s=0;
for(int i=0;i<n;i++)
s+=pow(x[i],2);
float p=1;
for(int i=1;i<n;i++)
p*=x[i-1];
return pow(fabs(s*p),1/3);
}
#endif
программирование алгоритм вектор матрица
Приложение Б
Результаты работы программы
Рисунок 10 - Основная форма программы на этапе разработки
Рисунок 11 - Окно прикладной программы на этапе выполнения
Размещено на Allbest.ru
Подобные документы
Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ.
курсовая работа [575,8 K], добавлен 06.12.2013Обработка сложных структур данных как одна из наиболее распространенных возможностей применения языка программирования С++. Преимущества использования подпрограмм. Передача параметров, одномерных и двумерных массивов, функции и их возврат в функцию.
курсовая работа [1,1 M], добавлен 24.11.2013Составление программы разветвляющейся структуры для вычисления заданной функции. Нахождение произведения чётных и нечётных первых чисел натурального ряда. Приёмы программирования обработки одномерных массивов. Расчет суммы положительных элементов массива.
контрольная работа [1,3 M], добавлен 20.12.2012Основные операции над матрицами. Формирование матрицы из файла. Ввод матрицы с клавиатуры. Заполнение матрицы случайными числами. Способы формирования двухмерных массивов в среде программирования С++. Произведение определенных элементов матрицы.
курсовая работа [537,0 K], добавлен 02.06.2015Изучение команд для обработки строк, приемов, используемых в работе со строками, приемы их использования. Команды префикса повторения. Приемы программирования на языке Ассемблера с использованием подпрограмм, работа с командами вызова подпрограмм.
методичка [121,0 K], добавлен 18.12.2011Разработка программы построения графика экспериментальных точек и полинома регрессии второй степени в среде Turbo Pascal. Блок-схемы алгоритмов используемых процедур. Листинг программы. Составление вектора свободных членов и матрицы коэффициентов.
курсовая работа [46,6 K], добавлен 24.11.2013Различные способы обработки информации и программирование в среде Pascal. История создания языка. Блок схема с использованием заголовка функций задания. Описание подпрограмм. Сущность структурного программирования в аспекте написания алгоритмов программ.
курсовая работа [331,9 K], добавлен 18.01.2016Аналитический обзор существующих параллельных интерфейсов. Разработка лабораторного стенда и алгоритмов подпрограмм обмена информацией. Создание программ драйвера ИРПР. Команды микропроцессора, алгоритмы подпрограмм инициализации, ввода и вывода символа.
курсовая работа [255,2 K], добавлен 10.07.2017Разработка концептуальной (инфологической) модели, выбор языка и среды программирования. Разработка блок-схемы алгоритмов для отдельных подпрограмм. Пользовательский интерфейс автоматизированной системы. Требования к клиентскому программному обеспечению.
дипломная работа [2,4 M], добавлен 10.07.2017Разработка простейших линейных алгоритмов (составление логических выражений), программ с ветвлениями, циклических программ и составление их блок-схем. Практическое выполнение обработки массивов на примере вычисления элементов квадратной матрицы.
контрольная работа [173,3 K], добавлен 01.03.2010