Основы работы в Fortran и C в среде Microsoft Visual Studio 2010
Лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций в основе языка программирования Си. Фортран как первый язык программирования с транслятором. Перевод программных кодов с Фортрана на Си.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 18.10.2012 |
Размер файла | 77,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Коломенский институт (филиал)
Федерального государственного бюджетного образовательного учреждения
Высшего профессионального образования
"МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ
им.В.С. Черномырдина"
Инженерно-технологический факультет
Кафедра: Управление информатики и вычислительной техники
Специальность: 230105 (ПОВТиАС)
Отчет по производственной практике
Выполнил: Власов Н.Н.
Проверил: Гусев Д.В.
Коломна 2012 г.
Введение
Историческая справка о языках:
Си (англ. C) - стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков.
Для языка Си характерны лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций.
Фортран (Fortran) - первый язык программирования высокого уровня, имеющий транслятор. Создан в период с 1954 по1957 год группой программистов под руководством Джона Бэкуса в корпорации IBM (язык Планкалкюль, претендующий на пальму первенства, был изобретён ещё в 1945 году, но не был реализован вплоть до 2000 года). Название Fortran является сокращением от FORmula TRANslator (переводчик формул). Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана - большое количество написанных на нём программ и библиотек подпрограмм. Среди учёных, например, ходит такая присказка, что любая математическая задача уже имеет решение на Фортране, и, действительно, можно найти среди тысяч фортрановских пакетов и пакет для перемножения матриц, и пакет для решения сложных интегральных уравнений, и многие, многие другие. Ряд таких пакетов создавался на протяжении десятилетий и популярен в научной среде по сей день, например - IMSL (англ.).
Большинство таких библиотек является фактически достоянием человечества: они доступны в исходных кодах, хорошо документированы, отлажены и весьма эффективны.
Знакомство с предприятием и его структурой
ОАО "НПК "КБМ" был основан в 1942году для создания опытных образцов миномётного вооружения и мин Б.И. Шавыриным. Конструкторское бюро было создано по постановлению Государственного комитета обороны под названием Специальное конструкторское бюро Наркомата вооружения.
Мощный научный, конструкторский и производственный потенциал ОАО "НПК "КБМ" обеспечивается благодаря высококвалифицированным кадрам, производственному оборудованию, уникальной испытательной базе, стендам, средствам моделирования, хорошо организованной инфраструктуре предприятия. Все это позволяет оперативно реализовывать замкнутый цикл проектирования: "разработка - изготовление - испытания".
Структура предприятия включает в себя КП, ОЧ, ССП, производство и службы.
Конструкторские подразделения (КП) являются основной частью предприятия, на которую возложены задачи по осуществлению конструкторских разработок по четырем научно-техническим направлениям, разработке конструкторской и научно-технической документации, проведению исследований, экспериментов, организации испытаний изделий, их составных частей, гарантийного надзора и послегарантийного обслуживания при эксплуатации.
В состав КП входят научно-технические подразделения, занимающиеся разработкой и выполнением НИОКР по четырем основным научно-техническим направлениям, конструкторские отделения, отделение испытаний; управление по импорту, экспорту специального имущества и услуг, подразделения тематического планирования, технического надзора и перспективных разработок.
ОАО "НПК "КБМ" имеет испытательную базу, в состав которой входит отделение испытаний и сборочно-снаряжательное производство.
Отделение испытаний (ОИ). Территория отделения испытаний составляет 3580 га, рабочая стрельбовая трасса прямой видимости 4 км. Зоны безопасности: по дальности 3 км, боковые 1…2 км.
Полигон оснащен современными средствами измерений траектории движения, телеметрическими станциями, аппаратурой записи бортовых параметров. Инфраструктура полигона имеет необходимое энергосбережение, связь, огневые позиции и укрытия для персонала создают условия для безопасного производства работ.
Стенды механических испытаний и климатические камеры обеспечивают испытания образцов в условиях соответствующих разным климатическим зонам и требованиям эксплуатации.
Сборочно-снаряжательное производство. Участки производства размещаются в двух корпусах, оснащены в соответствии с нормативными правилами по электробезопасности, предупреждения тушения пожара, изолированными кабинами производства опасных технологических операций и электропроверок, грузоподъемными средствами.
Полигон и сборочно-снаряжательное производство внесены в Государственный реестр, сертифицированы по условиям безопасности.
Производственная база. Обеспечивает изготовление опытных образцов новой техники, опытную отработку технологических процессов для их освоения и внедрения в производство, подготовку, освоение и серийное производство изделий, изготовление макетов, стендов и установок специального технологического и испытательного оборудования, имеет в своем составе металлорежущее, химическое, заготовительные, сборочные производства, цеха для штамповки, раскатки, сварки, литья, термической обработки, контрольно-измерительную лабораторию, лабораторию механических испытаний.
Имеются складские помещения, транспортная служба для обеспечения грузовых перевозок опасных грузов.
Службы предприятия помогают успешному решению поставленных перед предприятием задач. К ним относятся:
служба по управлению персоналом, решающая вопросы кадровой политики на предприятии, обеспечения предприятия высококачественными трудовыми ресурсами, их подготовки и развития;
служба безопасности, решающая задачи защиты государственной тайны и конфиденциальной информации;
служба качества, отвечающая за соответствие системы качества предприятия требованиям международных стандартов;
службы экономического и финансового планирования, формирующие и распределяющие финансовые ресурсы предприятия.
Сегодня ОАО "НПК "КБМ" находится на передовых позициях в мире по разработке противотанковых и переносных зенитных ракетных комплексов, созданию оперативно-тактических РК и комплексов активной защиты БТВТ. У предприятия мощные, налаженные десятилетиями совместной работы связи со смежниками, серийными заводами.
Развиваются деловые отношения с ведущими фирмами Европы, Азии, Африки и Латинской Америки. Изделия, созданные ОАО "НПК "КБМ", поставляются более чем в 60 стран. КБМ - непременный участник престижных международных выставок вооружений и военной техники.
Задание на производственную практику
В ходе прохождения производственной практики, была поставлена задача переписать различные программные коды с языка Fortran на С. Результаты этой работы представлены в Приложении А (язык Fortran) и Приложении В (язык С).
Основы работы в FORTRAN и C в среде Microsoft Visual Studio 2010.
В процессе выполнения была использована основная концепция данных Фортран, а также правила написания программного кода.
Наиболее часто используемые конструкции: циклы с заданным числом повторений, условные операторы, операторы ввода вывода.
Пример ввода данных с клавиатуры:
print' (1x,''введите X,Y'') '
read*, X, Y
Пример цикла нахождения четных целых чисел от 1 до N:
ISUM = 0
do i = 0, N, 2
ISUM = ISUM + i
Enddo
Пример условного оператора:
if (a. gt.0.) print*,'Положительное'
if (a. lt.0.) print*,'Отрицательное'
if (a. eq.0.) print*,'Ноль'
Условный оператор IF позволяет выполнить действие (например печать или присваивание) только при соблюдении заданного условия. Обрамляющие круглые скобки для условия обязательны.
С результатами выполнения поставленной задачи на языке Фортран можно ознакомиться в Приложении А.
C в среде Microsoft Visual Studio 2010
В настоящее время язык С является негласным стандартом системного программирования в следствии этого он был выбран в качестве основного языка.
Конструкции используемые в языке очень удобны и эффективны.
Наиболее часто использовали циклы с известным числом повторений, условные операторы, операторы ввода вывода, а также указатели.
Пример ввода данных с клавиатуры:
char str [80];
int i;
/* читается строка и целое значение */
scanf ("%s%d", str, &i);
Пример цикла нахождения четных целых чисел от 1 до N:
int ISUM, i,N;
ISUM=0;
for (i = 0; i < N; i=+2)
{
ISUM = ISUM + i;
}
Пример условного оператора:
if (a >0) { printf ("Положительное"); }
if (a <0) { printf ("Отрицательное"); }
if (a==0) { printf ("Ноль"); }
Пример использования указателей в массивах:
void DSIMQLL (double *X)
{
int I;
for (i = 1; i <= 3; i++)
{
X [i-1] = i*2; // заполнение массива
}
}
double *X;
X = (double *) calloc ( (3),sizeof (double)); // выделяем динамическую память
printf ("\n Решение\n");
DSIM (X);
for (i = 1; i <= 3; i++) { printf (" %10.4f", X [i-1]); }
С результатами выполнения поставленной задачи на языке C можно ознакомиться в Приложении B.
фортран си язык программирование
Заключение
В результате работы были приобретены навыки работы со средой программирования Intel Fortran и Microsoft Visual Studio 2010 и построения сложного программного кода на различных языках программирования.
Алгоритмы, реализованные в Приложении A и Приложении В нашли широкое применение при решении навигационных задач.
Список использованной литературы
1. Керниган Б., Ритчи Д. Язык программирования Си. Пер. с англ., 3-е изд., испр. - СПб.: "Невский Диалект", 2001. - 352 с
2. Страуструп Б. Язык программирования С++. - М.: ДМК Пресс,
3. 2010. - 1034с.
4. Коричнев Л.П., Чистякова В.И. Фортран. - М.: Высшая школа,
5. 1989. - 160 с.
6. iXBT.com - оперативные новости, обзоры и тестирования компьютеров, видеокарт, процессоров, материнских плат, памяти и принтеров, цифровых фотоаппаратов и видеокамер, смартфонов и планшетов, мониторов и проекторов. [Электронный ресурс]. URL: http://www.ixbt.com/ - Режим доступа: свободный.
7. Хабрахаб. [Электронный ресурс]. URL: http://habrahabr.ru. - Режим доступа: свободный.
8. Firststeps.ru-новости в сфере программирования, мастер классы от ведущих специалистов в области программирования, учебники по языкам программирования. [Электронный ресурс]. URL: http://www.firststeps.ru/ - Режим доступа: свободный.
Приложения
Приложение А
Метод "Золотого сечения" на FORTRAN
Отладка и тестирование программы для поиска минимума функции методом "Золотого сечения" на языке FORTRAN
Исходный код
Real*8 FUNCTION F (X)
Real*8 X
F=X*X+6*exp (X)
RETURN
END FUNCTION F
Subroutine FMIN (AX, BX, F, TOL, XM, FM)
Real*8 AX, BX, F, TOL, XM, FM
External F
Real*8 A, B, C, D, E, EPS, XH, P, Q, R, TOLM, U, V, W
Real*8 FU, FV, FW, FX, X
C = 0.5D0* (3. D0-DSQRT (5. D0))
EPS = 1. D0
10 Continue
EPS = EPS/2. D0
TOLM = 1. D0+EPS
IF (TOLM. GT.1. D0) GOTO 10
EPS = SQRT (EPS)
A = AX
B = BX
V = A+C* (B-A)
W = V
X = V
E = 0.0
FX = F (X)
FV = FX
FW = FX
20 Continue
R = 0.50* (B - A)
XH = A + R
TOLM = EPS*ABS (X) +TOL/3.0
IF (ABS (X-XH). LE. (2.0*TOLM-R)) GoTo 90
IF (ABS (E). LE. TOLM) GoTo 40
P = X - V
R = (X - W) * (FX - FV)
Q = P* (FX - FW)
P = P*Q - (X - W) *R
Q = 2.0* (Q - R)
IF (Q. GT.0. D0) P =-P
Q = Abs (Q)
R = E
E = D
30 Continue
IF (Abs (P). GE. Abs (0.50*Q*R)) GoTo 40
IF (P. LE. Q* (A - X)) GoTo 40
IF (P. GE. Q* (B - X)) GoTo 40
D = P/Q
U = X + D
IF ( (U - A). LT. TOLM) D = Sign (TOLM,XH-X)
IF ( (B - U). LT. TOLM) D = Sign (TOLM,XH-X)
GoTo 50
40 Continue
IF (X. GE. XH) E = A - X
IF (X. LT. XH) E = B - X
D = C*E
50 Continue
FU = Abs (D)
IF (FU. LT. TOLM) U = X + Sign (TOLM,D)
IF (FU. GE. TOLM) U = X + D
FU = F (U)
IF (FU. GT. FX) GoTo 60
IF (U. GE. X) A = X
IF (U. LT. X) B = X
V = W
FV = FW
W = X
FW = FX
X = U
FX = FU
GoTo 20
60 Continue
IF (U. LT. X) A = U
IF (U. GE. X) B = U
IF (FU. LE. FW) GoTo 70
IF (W. EQ. X) GoTo 70
IF (FU. LE. FV) GoTo 80
IF (V. EQ. X) GoTo 80
IF (V. EQ. W) GoTo 80
GoTo 20
70 Continue
V = W
FV = FW
W = U
FW = FU
GoTo 20
80 Continue
V = U
FV = FU
GoTo 20
90 Continue
XM = X
FM = FX
RETURN
END Subroutine FMIN
program Console3
Real*8 AX, BX, F, TOL, XM, FM
External F
AX=-1
BX=0
TOL=0.005
CALL FMIN (AX, BX, F, TOL, XM, FM)
write (*,*) 'MINIMUM NAIDEN NA '
write (*,*) ' X ',XM
write (*,*) ' Y ',FM
end program Console3
Результат выполнения программы:
Метод "Гаусса" для решений системы линейных алгебраических уравнений на FORTRAN
Отладка и тестирование на языке FORTRAN
Исходный код
SUBROUTINE DSIMQLL (A,B,N,TOL, IER)
DIMENSION A (1),B (1)
INTEGER N, IER,JJ, IQS,NY,J,JY, IT, I, IMAX, IXJ, IXJX
DOUBLE PRECISION TOL,SAVE,A,B,BIGA
IF (TOL. LT.0. D0) GOTO 100
IF (N. LE.0) GOTO 100
IER=0
JJ=-N
IQS=JJ
NY=N+1
DO 50 J=1,N
JY=J+1
JJ=JJ+NY
BIGA=0. D0
IT=JJ-J
DO 10 I=J,N
IXJ=IT+I
IF (DABS (BIGA). GE. DABS (A (IXJ))) GOTO 10
BIGA=A (IXJ)
IMAX=I
10 CONTINUE
IF (DABS (BIGA). LT. TOL) GOTO 95
IXJ=JJ-N
IT=IMAX-J
DO 20 I=J,N
IXJ=IXJ+N
IXJX=IXJ+IT
SAVE=A (IXJ)
A (IXJ) =A (IXJX)
A (IXJX) =SAVE
A (IXJ) =A (IXJ) /BIGA
20 CONTINUE
SAVE=B (IMAX)
B (IMAX) =B (J)
B (J) =SAVE/BIGA
IF (J. EQ. N) GOTO 60
IQS=IQS+N
DO 40 IXJ=JY,N
IXJX=IQS+IXJ
SAVE=A (IXJX)
IT=J-IXJ
DO 30 I=JY,N
IXJX=IXJX+N
A (IXJX) =A (IXJX) - SAVE*A (IXJX+IT)
30 CONTINUE
B (IXJ) =B (IXJ) - (B (J) *SAVE)
40 CONTINUE
50 CONTINUE
60 NY=N-1
IT=N*N
J=0
70 IF (J. EQ. NY) GOTO 90
J=J+1
IXJX=IT-J
IXJ=N
JY=IXJ-J
DO 80 I=1,J
B (JY) =B (JY) - A (IXJX) *B (IXJ)
IXJX=IXJX-N
IXJ=IXJ-1
80 CONTINUE
GOTO 70
90 CONTINUE
RETURN
95 CONTINUE
IER=1
GOTO 90
100 CONTINUE
IER=2
GOTO 90
END SUBROUTINE DSIMQLL
program DSIMQLT
implicit none
DOUBLE PRECISION A (3,3),B (3),TOL
INTEGER N, IER,J, I
N=3
A (1,1) =-2
A (1,2) =3
A (1,3) =4
A (2,1) =1
A (2,2) =5
A (2,3) =7
A (3,1) =4
A (3,2) =2
A (3,3) =1
B (1) =21
B (2) =-3
B (3) =-5
write (*,*) 'Matrix '
DO 1 I=1,3
DO 2 J=1,3
write (*,*) '',A (I,J)
2 CONTINUE
1 CONTINUE
DO 4 J=1,3
write (*,*) ' ',B (J)
4 CONTINUE
CALL DSIMQLL (A,B,N,TOL, IER)
write (*,*) 'Reshenie '
DO 3 J=1,3
write (*,*) ' ',B (J)
3 CONTINUE
end program DSIMQLT
Результат:
Приложение B
Метод "Золотого сечения" на С
Отладка и тестирование программы для поиска минимума функции методом "Золотого сечения" на языке С
Исходный код
#include <stdio. h>
#include <conio. h>
#include <math. h>
double F (double x)
{
return x*x+6*exp (x);
}
void FMIN (double *AX, double *BX, double *TOL, double *XM,double *FM)
{
/*
C-----------------------------------------------------------------------
C Одномерная оптимизация МЕТОДОМ
"ЗОЛОТОГО СЕЧЕНИЯ"с апроксимацей
C квадратичной парболой
C-----------------------------------------------------------------------
C Обращение:
C
C Call FMIN (AX, BX, F, TOL, XM, FM)
C
C AX - нижняя граница аргумента;
C BX - верхняя граница аргумента;
C F - имя FUNCTION для расчета целевой функции;
C TOL - точность выбора аргумента целевой функции;
C XM - выходное значение аргумента (минимум целевой функции);
C FM - выходное значение целевой функции;
C-----------------------------------------------------------------------
*/
double A, B, C, D, E, EPS, XH, P, Q, R, TOLM, U, V, W,FU, FV, FW, FX, X,ZN,Mn;
C=0.5* (3.0-sqrt (5.0));
EPS = 1.0;
a:
EPS = EPS/2.0;
TOLM = 1+EPS;
if (TOLM>1) goto a;
EPS = sqrt (EPS);
A=*AX;
B=*BX;
V=A+C* (B-A);
W=V;
X= V;
E= 0.0;
FX = F (X);
FV= FX;
FW= FX;
b:
R = 0.50* (B - A);
XH = A + R;
TOLM = EPS*fabs (X) +*TOL/3.0;
if (fabs (X-XH) <= (2.0*TOLM-R)) goto k;
if (fabs (E) <=TOLM) goto d;
P = X - V;
R = (X - W) * (FX - FV);
Q = P* (FX - FW);
P = P*Q - (X - W) *R;
Q = 2.0* (Q - R);
if (Q>0) P =-P;
Q = fabs (Q);
R = E;
E = D;
c:
if (fabs (P) >=fabs (0.50*Q*R)) goto d;
if (P<=Q* (A - X)) goto d;
if (P>=Q* (B - X)) goto d;
D = P/Q;
U = X + D;
ZN=XH-X;
if (ZN<0) {Mn=-1; } else {Mn=1; }
if ( (U - A) <TOLM) D = fabs (TOLM) *Mn;
if ( (B - U) <TOLM) D = fabs (TOLM) *Mn;
goto e;
d:
if (X>=XH) E = A - X;
if (X<XH) E = B - X;
D = C*E;
e:
FU = fabs (D);
if (D<0) {Mn=-1; } else {Mn=1; }
if (FU<TOLM) U = X +fabs (TOLM) *Mn;
if (FU>=TOLM) U = X + D;
FU = F (U);
if (FU>FX) goto f;
if (U>=X) A = X;
if (U<X) B = X;
V = W;
FV = FW;
W = X;
FW = FX;
X = U;
FX = FU;
goto b;
f:
if (U<X) A = U;
if (U>=X) B = U;
if (FU<=FW) goto g;
if (W==X) goto g;
if (FU<=FV) goto j;
if (V==X) goto j;
if (V==W) goto j;
goto b;
g:
V = W;
FV = FW;
W = U;
FW = FU;
goto b;
j:
V = U;
FV = FU;
goto b;
k:
*XM=X;
*FM=FX;
}
int main (void)
{
double AX, BX, F, TOL, XM, FM;
AX=-1;
BX=0;
TOL=0.005;
FMIN (&AX, &BX, &TOL, &XM, &FM);
printf ("Minimum naiden na x = %.3lf,y=%.3lf", XM, FM);
_getch ();
return 0;
}
Результат:
Метод "Гаусса" для решений системы линейных алгебраических уравнений на С
Отладка и тестирование на языке С
Исходный код
#include <stdio. h>
#include <conio. h>
#include <math. h>
#include <stdlib. h>
#define siz 3
typedef double T;
void freee (T **a, size_t m)
{
size_t Row,j;
for (j=0; j<m; j++)
{
free (a [j]);
}
free (a);
}
void Release (T **a, size_t m)
{
size_t Row,Col;
for (Row = m - 1; 0 < Row; Row--)
{
if (a [Row]! =NULL)
free (a [Row]);
}
free ( (void *) a);
}
T** fun (size_t m, size_t n, T**a)
{
size_t i, j,ff;
if (a! = NULL)
{
ff=0;
for (i = 1; i <= m; ++i) { printf ("\n");
for (j = 1; j <= n; ++j) {
ff++;
a [i-1] [j-1] =i+j;
if ( (i==3) && (j==3)) a [i-1] [j-1] =9;
printf (" %3.2f", a [i-1] [j-1]);
}
}
}
return a;
}
T **Allocate (size_t m, size_t n)
{
size_t Row;
int Success=1;
T **a = (T**) calloc (m,sizeof (T *));
if (a! =NULL)
{
for (Row = 0; Row < m && Success == 1; Row++)
{
a [Row] = (T *) calloc (n,sizeof (T));
if (NULL==a [Row])
{
Success = 0;
Release (a,m);
}
}
}
if (Success! = 1)
a = NULL;
return a;
}
void DSIMQLL (T**A,double *X,unsigned int *N)
{
/*
C**SIMQL**************************************************S*
C* DSIMQL - BEPCИЯ C ДBOЙHOЙ TOЧHOCTЬЮ *
C* ПPOГPAMMA - SIMQL - PEШAET CИCTEMY ЛИHEЙHЫX AЛГEБPAИЧECKИX *
C* YPABHEHИЙ METOДOM ГAYCCA *
C* A - BXOДHAЯ MATPИЦA KOЭФФИЦИEHTOB (N*N),HE COXPAHЯETCЯ *
C* X - РЕЗУЛЬТИРУЮЩИЙ МАССИВ *
C* N - РАЗМЕРНОСТЬ *
C*******************************************************F*
*/
int i,j,u,k,m,n;
double buf;
n=*N;
u=-1;
a:
u=u+1; k=u;
b:
if (A [k] [u] ==0) {
k=k+1;
if (k<=n-1) goto b;
printf ("Sistema ne opredelena"); return;
}
if (k! =u)
{
for (m=u; m<=n; m++) {
buf=A [u] [m];
A [u] [m] =A [k] [m];
A [k] [m] =buf;
}
}
for (j=n; j>=u; j--) {
A [u] [j] =A [u] [j] /A [u] [u];
}
m=n;
if (k+1<n) {
for (i=k+1; i<=n-1; i++)
for (j=u+1; j<=m; j++)
A [i] [j] =A [i] [j] - A [i] [u] *A [u] [j]; }
if (u! =n-1) goto a;
for (i=n-1; i>=0; i--) {
X [i] =A [i] [m];
if (i! =0)
for (k=i-1; k>=0; k--) A [k] [m] =A [k] [m] - A [k] [i] *X [i];
}
}
int main (void)
{
unsigned int i,j,N,M;
T **A;
double *X;
double D;
unsigned int size;
size=siz;
N=size;
M=size+1;
A=Allocate (N,M);
X = (double *) calloc ( (N),sizeof (double));
A [0] [0] =-2.0;
A [0] [1] =3.0;
A [0] [2] =4.0;
A [0] [3] =21.0;
A [1] [0] =1.0;
A [1] [1] =5.0;
A [1] [2] =7.0;
A [1] [3] =-3.0;
A [2] [0] =4.0;
A [2] [1] =2.0;
A [2] [2] =1.0;
A [2] [3] =-5.0;
printf ("\n Matrix\n");
for (i = 1; i <= N; ++i) { printf ("\n");
for (j = 1; j <= M; ++j) {
printf (" %10.4f", A [i-1] [j-1]);
}
}
printf ("\n Reshenie\n");
DSIMQLL (A,X,&N);
for (j = 1; j <= N; ++j)
{
printf (" %10.4f\n",X [j-1]);
}
_getch ();
return 0;
}
Результат:
Размещено на Allbest.ru
Подобные документы
Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.
курсовая работа [571,9 K], добавлен 14.07.2012Разработка на языке программирования C# в среде Microsoft Visual Studio 2010 на базе Microsoft NET Framework 4 (4.5) программного средства, реализующего компилятор модельного языка программирования. Лексический, синтаксический и семантический анализатор.
курсовая работа [1,3 M], добавлен 24.06.2013Степень переносимости исходного кода между различными платформами. Первый язык программирования высокого уровня, имеющий транслятор. Программа Fortran, ее версии, отличия от других программ. Составление программ на языке программирования Fortran.
курсовая работа [45,5 K], добавлен 04.06.2014Понятие математического программирования. Класс как тип структуры, позволяющий включать в описание типа не только элементы данных, но и функции. Рассмотрение основных особенности языка программирования C++. Характеристика среды MS Visual Studio 2008.
контрольная работа [318,0 K], добавлен 13.01.2013Рассмотрение основ работы в Microsoft Visual Studio 2010 с языком программирования С#. Реализация программы обработки данных авиапассажиров. Выбор метода ввода данных из текстового файла. Создание фильтра для обработки списка по определенным критериям.
курсовая работа [1,4 M], добавлен 17.01.2016Требования к MS Office 2007. Набор средств разработки Visual Studio Tools for Office как альтернатива VBA. Разработка СУБД на базе MS Access. Разработка надстройки "Электронные компоненты" для PowerPoint на языке C# в среде MS Visual Studio 2010.
дипломная работа [5,2 M], добавлен 03.05.2013Машинные коды и ассемблер. Первые языки программирования высокого уровня. Язык программирования FORTRAN. Достоинства и недостатки ALGOL. Научные и бухгалтерские программы. Основные принципы, которые соблюдались при создании языка программирования Basic.
курсовая работа [407,4 K], добавлен 21.06.2014Проведение сравнительного анализа языков программирования. Создание алгоритма и специфика составления математической модели программы "Механические часы, показывающие текущее время" в среде Microsoft Visual Studio 2010, на базе языка программирования С++.
курсовая работа [408,9 K], добавлен 11.03.2013Характеристика основных разделов программирования, изучаемых в курсе программирования на языке С++. Описание внутренних переменных, входных и выходных данных. Особенности использования компилятора Microsoft Visual Studio 2008. Руководство пользователя.
курсовая работа [18,8 K], добавлен 14.12.2010Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.
курсовая работа [585,5 K], добавлен 24.03.2009