Смекни!
smekni.com

Решение системы линейных уравнений методом Крамера и с помощью расширенной матрицы 2 (стр. 2 из 4)

Популярность этого языка обусловлена ещё и мощными визуальными средствами разработки интерфейса пользователя. Высокая производительность работы – ещё одно преимущество Visual C++.

В среде Visual C++ можно строить различные типы проектов. Такие проекты после их создания можно компилировать и запускать на исполнение. Фирма Microsoft разработала специальный инструментарий, облегчающий и ускоряющий создание проектов в среде Visual C++.

Рассмотрим некоторые типы проектов, которые можно создавать при помощи различных средств (мастеров проектов) Microsoft Visual C++:

MFC AppWizard (exe) – при помощи мастера приложений можно создать проект Windows-приложения которое имеет однодокументный, многодокументный или диалоговый интерфейс. Однодокументное приложеие может предоставлять пользователю в любой момент времени работать только с одним файлом. Многодокументное приложение, напротив, может одновременно представлять несколько документов, каждый в собственном окне. Пользовательский интерфейс диалогового приложения представляет собой единственное диалоговое окно.

MFC AppWizard (dll) – этот мастер приложений позволяет создать структуру DLL, основанную на MFC. При помощи него можно определить характеристики будующей DLL.

AppWizard ATL COM – это средство позволяет создать элемент управления ActiveX или сервер автоматизации, используя новую библиотеку шаблонов ActiveX (ActiveX Template Library - ATL). Опции этого мастера дают возможность выбрать активный сервер (DLL) или исполняемый внешний сервер (exe-файл).

Custom AppWizard – при помощи этого средства можно создать пользовательские мастера AppWizard. Пользовательский мастер может базироваться на стандартных мастерах для приложений MFC или DLL, а также на существующих проектах или содержать только определеямые разработчиком шаги.

DevStudio Add-in Wizard – мастер дополнений позволяет создавать дополнения к Visual Studio. Библиотека DLL расширений может поддерживать панели инструментов и реагировать на события Visual Studio.

MFC ActiveX ControlWizard - мастер элементов управления реализует процесс создания проекта, содержащего один или несколько элементов управления ActiveX, основанных на элементах управления MFC.

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

Win32 Console Application – мастер создания проекта консольного приложения. Консольная приложение – это программа, которая выполняется из командной cтроки окна DOS или Windows и не имеет графического интерфейса (окон). Проект консольного приложения создается пустым, предполагая добавление файлов исходного текста в него вручную.

Win32 Dynamic-Link Library – создание пустого проекта динамически подключаемой библиотеки. Установки компилятора и компоновщика будут настроены на создание DLL. Исходные файлы следует добавлять вручную.

Win32 Static Library – это средство создает пустой проект, предназначенный для генерации статической (объектной) библиотеки. Файлы с исходным кодом в него следует добавлять вручную [7].

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


4 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

4.1 Описание алгоритма программы

Разработанная в ходе выполнения курсовой работы программа, состоит из двух функций. Алгоритм выполнения программы изображен на рисунке 4.1 [3].

Рисунок 4.1 – Алгоритм выполнения программы

4.2 Описаниеиспользованных програмних средств

Любая программа представляет собой последовательность инструкций в машинных кодах, которые управляют поведением определенного вычислительного устройства [4].

4.2.1 Структура программы

Все программы на языке С++ состоят из одной или нескольких функций. В любом случае программа должна содержать функцию main(), которая при выполнении программы вызывается первой. Определение функции main состоит из заголовка voidmain(), и последовательностиинструкций, заключённых в фигурные скобки. Слово void в заголовке говорит о том, что функция не должна вырабатывать и возвращать значение. Все программы должны иметь функцию с именем main.

Общий вид программы на языке С++ показан в следующем примере. Функции с именами fun1(),…,funn() определяются пользователем [2]. Пример:

подключение заголовочных файлов

объявление глобальных переменных

тип_возвращаемого_значения main(список_параметров)

{

последовательность операторов

}

тип_возвращаемого_значения fun1(список_параметров)

{

последовательность операторов

}

.

.

.

тип_возвращаемого_значения funn(список_параметров)

{

последовательность операторов

}

4.2.2 Заголовочные файлы

Любая программа на языке С++ содержит подключение заголовочных файлов с помощью директивы препроцессора #include<имя_заголовочного_файла.h>.

Директива #includeвынуждает компилятор считать и подставить в исходный файл с заданным именем. Это имя заключается в двойные или угловые скобки.

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

Например:

#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

В первом примере с помощью директивы #include подключают заголовок ввода-вывода <iostream.h>. Этот файл содержит информацию, необходимую, чтобы компилировать программу, которая использует cin и cout.

Во втором примере директивы #include подключают заголовок <iomanip.h>, который даёт указание препроцессору С++ включить в программу параметризованный манипулятор потока setw. Он предназначен для манипулирования выходными величинами на экране, например:

cout << setw(3)<<year

Обращение setw(3) определяет, что следующая выходная величина будет напечатана с шириной (размером) поля 3, т.е. её значение будет содержать по крайней мере 3 символьных позиции.

В третьем примере с помощью директивы #include подключают заголовок <conio.h>, который содержит функцию задержки экрана getch() [4].

4.2.3 Типы данных

В языке С++ существуют 5 типов данных: символ, целое число, число с плавающей запятой, число с плавающей запятой удвоенной точности и переменная, не имеющая значение. Им соответствуют следующие ключевые слова: char, int, float, double, void. Все другие типы данных в языке С++ создаются на основе элементарных типов, указанных выше. Размер переменных и диапазон их значений зависит от типа процессора и компилятора.

К пяти основным типам данных, определенных в языке С, язык С++ добавляет еще такой тип как bool.

Тип void используется для определения функции, не возвращающей никаких значений, либо для создания обобщенного указателя.

В таблице 1.1 приведен перечень базовых типов переменных и их размер [2,5].

Таблица 1.1

Базовые типы данных для ПК на базе платформы Іntel

Тип Размер, байт Значения
Bool 1 true (1) или false(0)
unsіgned short іnt 2 от 0 до 65 535
short іnt 2 от -32 768 до 32 767
unsіgned long іnt 4 от 0 до 4 294 967 295
long іnt 4 от -2 147 483 648 до 2 147 483 647
іnt (16 разрядов) 2 от -32 768 до 32 767
іnt (32 розряда) 4 от -2 147 483 648 до 2 147 483 647
unsіgned іnt (16 разрядов) 2 от 0 до 65 535

unsіgned іnt (32 розряда) 4 от 0 до 4 294 967 295
Char 1 от 0 до 256
Float 4 от 1.2е-38 к 3.4е38
Double 8 от 2.2е-308 к 1.8е308
long double 10 от 3.4е-4932 к 3.4е 4932
Voіd 2 или 4 -

4.2.4 Переменные

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

Ниже приведен общий вид объявления переменной.

тип список_переменных;

Например:

inti,j;

При объявлении переменной ей можно присвоить начальное значение. Общий вид инициализации выглядит следующим образом:

тип имя_переменной = значение;

Например:

inta=0;

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

Практически все символы можно вывести на печать, заключив их в одиночные кавычки. Однако некоторые символы, например, символ перехода на новую строку, невозможно ввести в строку с клавиатуры. Для этого в языке С/С+ + предусмотрены специальные управляющие символьные константы.

4.2.5 Идентификаторы

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

В языке С++ нет ограничений на длину идентификаторов, и значащими считаются, по крайней мере, 1024 первых символа.

Символы, набранные в верхнем и нижнем регистре, различаются т. к. язык С/С++ чувствителен к регистру. Следовательно, iminImin, IMIN – это различные идентификаторы. Переменная с именем, например, а1 в языке С++ записывается как а1. В противном случае компилятор выдаст сообщение об ошибке.