Отчет по практике


Основы работы в Fortran и C в среде Microsoft Visual Studio 2010

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Коломенский институт (филиал)

Федерального государственного бюджетного образовательного учреждения

Высшего профессионального образования

"МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ОТКРЫТЫЙ УНИВЕРСИТЕТ

им.В.С. Черномырдина"

Инженерно-технологический факультет

Кафедра: Управление информатики и вычислительной техники

Специальность: 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'') '*, X, Y

Пример цикла нахождения четных целых чисел от 1 до N:

ISUM = 0i = 0, N, 2= ISUM + i


Пример условного оператора:


if (a. gt.0.) print*,'Положительное'(a. lt.0.) print*,'Отрицательное'(a. eq.0.) print*,'Ноль'


Условный оператор IF позволяет выполнить действие (например печать или присваивание) только при соблюдении заданного условия. Обрамляющие круглые скобки для условия обязательны.

С результатами выполнения поставленной задачи на языке Фортран можно ознакомиться в Приложении А.

C в среде Microsoft Visual Studio 2010

В настоящее время язык С является негласным стандартом системного программирования в следствии этого он был выбран в качестве основного языка.

Конструкции используемые в языке очень удобны и эффективны.

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

Пример ввода данных с клавиатуры:

str [80];i;

/* читается строка и целое значение */("%s%d", str, &i);


Пример цикла нахождения четных целых чисел от 1 до N:


int ISUM, i,N;=0;(i = 0; i

{= ISUM + i;

}

Пример условного оператора:

if (a >0) { printf ("Положительное"); }(a

Пример использования указателей в массивах:DSIMQLL (double *X)

{I;(i = 1; i

{[i-1] = i*2; // заполнение массива

}

}*X;= (double *) calloc ( (3),sizeof (double)); // выделяем динамическую память("\n Решение\n");(X);(i = 1; i


С результатами выполнения поставленной задачи на языке C можно ознакомиться в Приложении B.

фортран си язык программирование

Заключение


В результате работы были приобретены навыки работы со средой программирования Intel Fortran и Microsoft Visual Studio 2010 и построения сложного программного кода на различных языках программирования.

Алгоритмы, реализованные в Приложении A и Приложении В нашли широкое применение при решении навигационных задач.

Список использованной литературы


1.Керниган Б., Ритчи Д. Язык программирования Си. Пер. с англ., 3-е изд., испр. - СПб.: "Невский Диалект", 2001. - 352 с


2.Страуструп Б. Язык программирования С++. - М.: ДМК Пресс,


.2010. - 1034с.


.Коричнев Л.П., Чистякова В.И. Фортран. - М.: Высшая школа,


.1989. - 160 с.


6.iXBT.com - оперативные новости, обзоры и тестирования компьютеров, видеокарт, процессоров, материнских плат, памяти и принтеров, цифровых фотоаппаратов и видеокамер, смартфонов и планшетов, мониторов и проекторов. [Электронный ресурс]. URL: Приложения


Приложение А


Метод "Золотого сечения" на FORTRAN

Отладка и тестирование программы для поиска минимума функции методом "Золотого сечения" на языке FORTRAN

Исходный код

Real*8 FUNCTION F (X)


Real*8 X=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= 0.5D0* (3. D0-DSQRT (5. D0))= 1. D0


Continue= EPS/2. D0= 1. D0+EPS


IF (TOLM. GT.1. D0) GOTO 10= SQRT (EPS)= AX= BX= A+C* (B-A)= V= V= 0.0= F (X)= FX= FX


Continue= 0.50* (B - A)= A + R= EPS*ABS (X) +TOL/3.0


IF (ABS (X-XH). LE. (2.0*TOLM-R)) GoTo 90


IF (ABS (E). LE. TOLM) GoTo 40= X - V= (X - W) * (FX - FV)= P* (FX - FW)= P*Q - (X - W) *R= 2.0* (Q - R)


IF (Q. GT.0. D0) P =-P= Abs (Q)= E= D


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= P/Q= X + D


IF ( (U - A). LT. TOLM) D = Sign (TOLM,XH-X)


IF ( (B - U). LT. TOLM) D = Sign (TOLM,XH-X)


GoTo 50


Continue

IF (X. GE. XH) E = A - X


IF (X. LT. XH) E = B - X= C*E


Continue= Abs (D)


IF (FU. LT. TOLM) U = X + Sign (TOLM,D)


IF (FU. GE. TOLM) U = X + D= F (U)


IF (FU. GT. FX) GoTo 60


IF (U. GE. X) A = X


IF (U. LT. X) B = X= W= FW= X= FX= U= FU


GoTo 20


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


Continue= W= FW= U= FU


GoTo 20


Continue= U= FU


GoTo 20


Continue= X= FX


RETURN

END Subroutine FMIN


program Console3


Real*8 AX, BX, F, TOL, XM, FM


External F=-1=0=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=0=-N=JJ=N+1


DO 50 J=1,N=J+1=JJ+NY=0. D0=JJ-J


DO 10 I=J,N=IT+I


IF (DABS (BIGA). GE. DABS (A (IXJ))) GOTO 10=A (IXJ)=I


CONTINUE

IF (DABS (BIGA). LT. TOL) GOTO 95=JJ-N=IMAX-J


DO 20 I=J,N=IXJ+N=IXJ+IT


SAVE=A (IXJ)(IXJ) =A (IXJX)(IXJX) =SAVE(IXJ) =A (IXJ) /BIGA


CONTINUE

SAVE=B (IMAX)(IMAX) =B (J)(J) =SAVE/BIGA


IF (J. EQ. N) GOTO 60=IQS+N


DO 40 IXJ=JY,N=IQS+IXJ


SAVE=A (IXJX)=J-IXJ


DO 30 I=JY,N=IXJX+N(IXJX) =A (IXJX) - SAVE*A (IXJX+IT)


CONTINUE(IXJ) =B (IXJ) - (B (J) *SAVE)


CONTINUE

CONTINUE

NY=N-1=N*N=0

IF (J. EQ. NY) GOTO 90=J+1=IT-J=N=IXJ-J


DO 80 I=1,J(JY) =B (JY) - A (IXJX) *B (IXJ)=IXJX-N=IXJ-1


CONTINUE

GOTO 70


CONTINUE

RETURN

CONTINUE=1


GOTO 90


CONTINUE=2


GOTO 90


END SUBROUTINE DSIMQLL


program DSIMQLT


implicit none

DOUBLE PRECISION A (3,3),B (3),TOL


INTEGER N, IER,J, I=3(1,1) =-2(1,2) =3(1,3) =4(2,1) =1(2,2) =5(2,3) =7(3,1) =4(3,2) =2(3,3) =1(1) =21(2) =-3(3) =-5


write (*,*) 'Matrix '


DO 1 I=1,3


DO 2 J=1,3


write (*,*) '',A (I,J)


CONTINUE

CONTINUE

DO 4 J=1,3


write (*,*) ' ',B (J)


CONTINUE

CALL DSIMQLL (A,B,N,TOL, IER)


write (*,*) 'Reshenie '


DO 3 J=1,3


write (*,*) ' ',B (J)


CONTINUE

end program DSIMQLT



Результат:



Приложение B


Метод "Золотого сечения" на С

Отладка и тестирование программы для поиска минимума функции методом "Золотого сечения" на языке С

Исходный код

#include

#include

#include F (double x)

{x*x+6*exp (x);

}FMIN (double *AX, double *BX, double *TOL, double *XM,double *FM)

{

/*----------------------------------------------------------------------Одномерная оптимизация МЕТОДОМ

"ЗОЛОТОГО СЕЧЕНИЯ"с апроксимацей

C квадратичной парболой----------------------------------------------------------------------Обращение:Call FMIN (AX, BX, F, TOL, XM, FM)AX - нижняя граница аргумента;BX - верхняя граница аргумента;F - имя FUNCTION для расчета целевой функции;TOL - точность выбора аргумента целевой функции;XM - выходное значение аргумента (минимум целевой функции);FM - выходное значение целевой функции;----------------------------------------------------------------------

*/A, B, C, D, E, EPS, XH, P, Q, R, TOLM, U, V, W,FU, FV, FW, FX, X,ZN,Mn;=0.5* (3.0-sqrt (5.0));= 1.0;:= EPS/2.0;= 1+EPS;(TOLM>1) goto a;= sqrt (EPS);=*AX;=*BX;=A+C* (B-A);=V;= V;= 0.0;= F (X);= FX;= FX;:= 0.50* (B - A);= A + R;= EPS*fabs (X) +*TOL/3.0;(fabs (X-XH) 0) P =-P;= fabs (Q);= E;= D;:(fabs (P) >=fabs (0.50*Q*R)) goto d;(P=Q* (B - X)) goto d;= P/Q;= X + D;=XH-X;(ZN=XH) E = A - X;(X=TOLM) U = X + D;= F (U);(FU>FX) goto f;(U>=X) A = X;(U=X) B = U;(FU

*XM=X;

*FM=FX;

}main (void)

{AX, BX, F, TOL, XM, FM;=-1;=0;=0.005;(&AX, &BX, &TOL, &XM, &FM);("Minimum naiden na x = %.3lf,y=%.3lf", XM, FM);

_getch ();0;

}


Результат:




Метод "Гаусса" для решений системы линейных алгебраических уравнений на С

Отладка и тестирование на языке С

Исходный код

#include

#include

#include

#include

#define siz 3double T;freee (T **a, size_t m)

{_t Row,j;(j=0; j

{(a [j]);

}(a);

}Release (T **a, size_t m)

{_t Row,Col;(Row = m - 1; 0

{(a [Row]! =NULL)(a [Row]);

}( (void *) a);

}** fun (size_t m, size_t n, T**a)

{_t i, j,ff;(a! = NULL)

{=0;(i = 1; i

}

}

}a;

}**Allocate (size_t m, size_t n)

{_t Row;Success=1;**a = (T**) calloc (m,sizeof (T *));(a! =NULL)

{(Row = 0; Row

{[Row] = (T *) calloc (n,sizeof (T));(NULL==a [Row])

{= 0;(a,m);

}

}

}(Success! = 1)= NULL;a;

}DSIMQLL (T**A,double *X,unsigned int *N)

{

/***SIMQL**************************************************S** DSIMQL - BEPCИЯ C ДBOЙHOЙ TOЧHOCTЬЮ ** ПPOГPAMMA - SIMQL - PEШAET CИCTEMY ЛИHEЙHЫX AЛГEБPAИЧECKИX ** YPABHEHИЙ METOДOM ГAYCCA ** A - BXOДHAЯ MATPИЦA KOЭФФИЦИEHTOB (N*N),HE COXPAHЯETCЯ ** X - РЕЗУЛЬТИРУЮЩИЙ МАССИВ ** N - РАЗМЕРНОСТЬ ********************************************************F*

*/i,j,u,k,m,n;buf;=*N;=-1;:=u+1; k=u;:(A [k] [u] ==0) {=k+1;(k

}(k! =u)

{(m=u; m

}

}(j=n; j>=u; j--) {[u] [j] =A [u] [j] /A [u] [u];

}=n;(k+1=0; i--) {[i] =A [i] [m];(i! =0)(k=i-1; k>=0; k--) A [k] [m] =A [k] [m] - A [k] [i] *X [i];

}

}main (void)

{int i,j,N,M;**A;*X;D;int size;=siz;=size;=size+1;=Allocate (N,M);= (double *) calloc ( (N),sizeof (double));[0] [0] =-2.0;[0] [1] =3.0;[0] [2] =4.0;[0] [3] =21.0;[1] [0] =1.0;[1] [1] =5.0;[1] [2] =7.0;[1] [3] =-3.0;[2] [0] =4.0;[2] [1] =2.0;[2] [2] =1.0;[2] [3] =-5.0;("\n Matrix\n");(i = 1; i

}

}("\n Reshenie\n");(A,X,&N);(j = 1; j

{(" %10.4f\n",X [j-1]);

}

_getch ();0;

}


Результат:


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

Другие материалы:
Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем отчёт по практике самостоятельно:
! Отчет по ознакомительной практике В чем заключается данный вид прохождения практики.
! Отчет по производственной практики Специфика и особенности прохождения практики на производстве.
! Отчет по преддипломной практике Во время прохождения практики студент собирает данные для своей дипломной работы.
! Дневник по практике Вместе с отчетам сдается также дневник прохождения практики с ежедневным отчетом.
! Характеристика с места практики Иногда преподаватели требуеют от подопечных принести лист со словесной характеристикой работы студента, написанный ответственным лицом.

Особенности отчётов по практике:
по экономике Для студентов экономических специальностей.
по праву Для студентов юридических специальностей.
по педагогике и психологии Для студентов педагогических и связанных с психологией специальностей.
по строительству Для студентов специальностей связанных со строительством.
технических отчетов Для студентов технических специальностей.
по информационным технологиям Для студентов ИТ специальностей.
по медицине Для студентов медицинских специальностей.