Реферат Програмування на мові Сі + +

Федеральне агентство за освітою.

>ГОУВПО Уральський Державний Технічний Університет –УПИ імені першого Президента Росії Б. М. Єльцина

Кафедра теплофізики і інформатики в металургії.

Дисципліна:Алгоритмизация і програмування.


Звіт

>Лабораторная робота №1

"Ознайомлення з Сі++. Виконання програми простий структури"

Варіант 9.


Викладач:Степура А. А.

Студент грн.Мт-190503:Свиткин У. Р.


Єкатеринбург, 2009


Мета: Знайомство з середовищем програмування, створення, налагодження і виконання простий програми, що міститьввод/вивод інформації та найпростіші обчислення.

Завдання: 1) обчислити значення висловлювання що за різних речовинних типах даних:float іdouble. Порівняти і пояснити отримані результати.

2) Обчислити значення висловів. Пояснити отримані результати.

Завдання 1. Обчислити значення висловлювання що за різних речовинних типах даних (>float іdouble).Вичисления слід виконувати з допомогою проміжних змінних. Порівняти і пояснити отримані результати.

, приа=100,b=0.001

Текст програми:

#>include <>cstdlib>

#>include <>iostream>

#>include <>math.h>

>intmain(intargc,char *>argv[]){

//Оголошення змінних і вихідні дані

>floata1=100,b1=0.001,c1;

>doublea2=100,b2=0.001,c2;

//Розрахунок значень висловлювання для типівfloat іdouble

//Висновок результату з 15 знаками після коми

>printf("Float: ");

>c1=(pow(a1+b1,4.0)-(pow(a1,4)+4*pow(a1,3)*b1) )/ (6 *a1 *>a1 *>b1*b1+4*a1*b1*b1+pow(b1,4) );

>printf("%.15f",c1);

>printf("nDouble: ");

>c2=(pow(a2+b2,4)-(pow(a2,4)+4*pow(a2,3)*b2) )/ (>6*a2*a2*b2*b2 +>4*a2*b2*b2 +pow(b2,4) );

>printf("%.15f",c2);

>system("PAUSE");

>returnEXIT_SUCCESS; }

Результат виконання програми:

>Float: 0.993384063243866

>Double: 0.993384430723606

Результати збігаються з точністю до 6 знаків після коми. Це наслідок те, що при обчисленнях з типомfloat точність менше, і кожному обчисленні накопичується похибка.Вичисление з типомdouble точніше, ніж ізfloat.

Завдання 2.Обчислити значення висловів. Пояснити отримані результати.

>n+++m

>m-- >n

n-- >>m

Текст програми:

#>include <>cstdlib>

#>include <>iostream>

#>include <>math.h>

>intmain(intargc,char *>argv[]){

>intm=7,n=4,y;

>printf("n=%d,m=%dn",n,m);

>y=++n*++m;

>printf("++n*++m=%dn",y);

>printf("n=%d,m=%dn",n,m);

>y=m++<n;

>printf("m++<n=%dn",y);

>printf("n=%d,m=%dn",n,m);

>y=n++>m;

>printf("n++>m=%dn",y);

>printf("n=%d,m=%dn",n,m);

>system("PAUSE");

>returnEXIT_SUCCESS; }

Результат виконання програми:

>n=4,m=7

++>n*++m=40

>n=5,m=8

>m++<n=0

>n=5,m=9

>n++>m=0

>n=6,m=9

Пояснення результату.

За виконання першого дії спочатку перемінні збільшуються на одиницю, потім множаться: 5 * 7 =40. За виконання другого дії спочатку йде порівняння змінних, після цього зміннаm поповнюється одиницю. За виконання третього дії спочатку перемінні порівнюються, потім змінна n поповнюється одиницю.


Федеральне агентство за освітою.

>ГОУВПО Уральський Державний Технічний Університет –УПИ імені першого Росії Б. М. Єльцина

Кафедра теплофізики і інформатики в металургії.

Дисципліна:Алгоритмизация і програмування.


Звіт

>Лабораторная робота №2

" Використання основних операторів мови Сі "

Варіант 9.


Викладач:Степура А. А.

Студент грн.Мт-190503:Свиткин У. Р.


Єкатеринбург, 2009


Мета: Одержання навичок у виборі та використання операторів Сі++; ознайомлення зитерационними процесами.

Завдання: Використовуючи оператор циклу, знайти суму елементів, вказаних у завданні. Результат надрукувати, забезпечивши відповідним заголовком.

Знайти суму низки з точністюe=10-4, загальний член якого

Текст програми:

#>include <>cstdlib>

#>include <>iostream>

#>include <>math.h>

#>define E10e-4 //точність

>intmain(intargc,char *>argv[]){

>intn=1;

>doubles=0,a=1;

>do {>a*=10.0/(n+1); //розрахунок наступного числа низки порекуррентной формулі

>s+=a;n++;}

>while(a>E); //вихід із циклу під час досягнення потрібної точності

>printf("Суммаряда:%fn",s);

>system("PAUSE");

>returnEXIT_SUCCESS;}

Результат виконання програми:

Сума низки: 2201.546404


Федеральне агентство за освітою.

>ГОУВПО Уральський Державний Технічний Університет –УПИ імені першого Президента Росії Б. М. Єльцина

Кафедра теплофізики і інформатики в металургії.

Дисципліна:Алгоритмизация і програмування.


Звіт

>Лабораторная робота №3

" >Вичисление функцій з їхніх розкладання в статечної ряд "

Варіант 9.


Викладач:Степура А. А.

Студент грн.Мт-190503:Свиткин У. Р.


Єкатеринбург, 2009


Мета: Практика у створенніитерационних і арифметичних циклів.

Завдання: Для x мінливого від a до b з кроком (>b-a)/k, де (>k=10), обчислити функціюf(x), використовуючи її розкладання в статечної ряд у разі:

а заданого n;

б) для заданої точності e (>e=0.0001).

Порівняйте знайти точне значення функції.

Варіант 9

Функція:

Діапазон x:

Кількість доданків низки:

>n=3

Формула для обчислення суми:

Текст програми:

#>include <>cstdlib>

#>include <>iostream>

#>include <>math.h>

#>define A 0.1

#>define B 0.8

#>define E10e-4

>intmain(intargc,char *>argv[]){

>floatx,k=(B-A)/10.0,sn=0,se=0,t,y;

>inti,j,n=3;

>for(x=A;x<=B;x+=k){

>sn=x;se=x;

>for(i=1;i<=n;i++){

>sn+=pow(x,4*i+1)/(4*i+1);};

>j=1;

>do {>t=pow(x,4*j+1)/(4*j+1);

>j++;se+=t;}

>while(t>E);

>y=log((1.0+x)/(1.0-x))/4.0 +atan(x)/2.0;

>printf("x=%.2fSN=%fSE=%fY=%fn",x,sn,se,y);}

>system("PAUSE");

>returnEXIT_SUCCESS;}

Результат виконання програми:

>x=0.10SN=0.100002SE=0.100002Y=0.100002

>x=0.17SN=0.170028SE=0.170028Y=0.170028

>x=0.24SN=0.240160SE=0.240159Y=0.240160

>x=0.31SN=0.310576SE=0.310573Y=0.310576

>x=0.38SN=0.381603SE=0.381603Y=0.381603

>x=0.45SN=0.453777SE=0.453775Y=0.453777

>x=0.52SN=0.527929SE=0.527913Y=0.527929

>x=0.59SN=0.605342SE=0.605261Y=0.605350

>x=0.66SN=0.688034SE=0.688034Y=0.688093

>x=0.73SN=0.779289SE=0.779568Y=0.779652

>x=0.80SN=0.884678SE=0.886442Y=0.886677


Федеральне агентство за освітою.

>ГОУВПО Уральський Державний Технічний Університет –УПИ імені першого Росії Б. М. Єльцина

Кафедра теплофізики і інформатики в металургії.

Дисципліна:Алгоритмизация і програмування.


Звіт

>Лабораторная робота №4

" Фундаментальна обізнаність із одномірними масивами "

Варіант 9.


Викладач:Степура А. А.

Студент грн.Мт-190503:Свиткин У. Р.


Єкатеринбург, 2009


Мета: Одержання навичок обробки одномірних масивів.

Завдання: (Варіант 9)

Сформувати одновимірний масив цілих чисел, використовуючи датчик випадкових чисел.

>Распечатать отриманий масив.

Видалити перший елемент з заданим значенням.

>Сдвинуть масив циклічно на До елементів вправо.

>Распечатать отриманий масив.

Текст програми:

#>include <>cstdlib>

#>include <>iostream>

#>include <>time.h>

>intmain(intargc,char *>argv[]){

>inti,j,x,k,size;

>srand(time(NULL));

>inta[100];

>intb[100];

>printf("Entersize:>");

>scanf("%d",&size);

>for(i=0;i<size;i++){

>a[i]=rand()%100;printf("%d ",>a[i]);}

>printf("nEntervalue todestroy:>");scanf("%d",&x);

>for(i=0;i<size;i++){

>if(a[i]==x){

>for(j=i;j<size-1;j++){

>a[j]=a[j+1];}

>size--;break;}}

>for(i=0;i<size;i++){

>printf("%d ",>a[i]);}

>printf("nEnterK:>");scanf("%d",&k);

>for(i=0;i<size;i++){

>if((i+k)<size) {>b[i+k]=a[i];}else {>b[i+k-size]=a[i];}}

>printf("Result:n");

>for(i=0;i<size;i++){

>printf("%d ",>b[i]);}

>printf("n");

>system("PAUSE");

>returnEXIT_SUCCESS;}

Результат виконання програми:

>Entersize:>10

50 17 89 6 52 0 60 30 44 21

>Entervalue todestroy:>89

50 17 6 52 0 60 30 44 21

>EnterK:>3

>Result:

30 44 21 50 17 6 52 0 60


Федеральне агентство за освітою.

>ГОУВПО Уральський Державний Технічний Університет –УПИ імені першого Росії Б. М. Єльцина

Кафедра теплофізики і інформатики в металургії.

Дисципліна:Алгоритмизация і програмування.


Звіт

>Лабораторная робота №5

" Функції і масиви"

Варіант 9.


Викладач:Степура А. А.

Студент грн.Мт-190503:Свиткин У. Р.


Єкатеринбург, 2009


Мета: Організувати обробку масивів з допомогою функцій, навчитися передавати масиви як параметри функцій.

Завдання: Використовуючи функції, вирішити зазначену завдання. Масив повинен передаватимуться у функцію як параметр:

Варіант 9. Написати функцію для обчислення суми елементів квадратної матриці, розташовані нижче головною діагоналі. З її допомогою знайти максимальне значення такої суми n матрицях.

Текст програми:

#>include <>cstdlib>

#>include <>iostream>

#>include <>time.h>

#>include <>math.h>

#>defineSIZE 5

>staticinta[SIZE][SIZE];

>voidCreateArray(inta[SIZE][SIZE]){

>inti,j;

>for(i=0;i<SIZE;i++){

>for(j=0;j<SIZE;j++){

>a[i][j]=rand()%100;}}}

>voidPrintArray(inta[SIZE][SIZE]){

>inti,j;

>for(i=0;i<SIZE;i++){

>for(j=0;j<SIZE;j++){

>printf("%d ",>a[i][j]);}

>printf("n");}}

>intMatrixSum1(intm[SIZE][SIZE]){

>inti,j,s=0;

>for(i=1;i<SIZE;i++){

>for(j=0;j<i;j++){

>s+=m[i][j];}}

>returns;}

>intmain(intargc,char *>argv[]){

>ints=0,i,t,N;

>N=atoi(argv[1]); //кількість матриць N вводять у параметрі командної рядки

>srand(time(NULL));

>for(i=1;i<=N;i++){

>CreateArray(a);

>PrintArray(a);

>t=MatrixSum1(a);

>printf("nSumm:%dn ",>t);

>if(t>s){s=t;}}

>printf("nMaximum %>dn",s);

>system("PAUSE");

>returnEXIT_SUCCESS;}

Результат виконання програми (N=3):

0 72 91 65 7

59 23 13 17 77

55 16 74 40 85

18 56 19 89 63

20 87 49 89 35

>Summ:468

30 92 77 90 68

40 72 79 7 91

16 46 34 78 0

9 7 57 33 60

5 31 2 71 84

>Summ:284

47 22 56 36 57

19 27 1 5 75

25 67 52 35 73

90 0 34 9 78

99 27 48 33 59

>Summ:442

>Maximum 468


Федеральне агентство за освітою.

>ГОУВПО Уральський Державний Технічний Університет –УПИ імені першого Президента Росії Б. М. Єльцина

Кафедра теплофізики і інформатики в металургії.

Дисципліна:Алгоритмизация і програмування.


Звіт

>Лабораторная робота №6

" Рядки"

Варіант 9.


Викладач:Степура А. А.

Студент грн.Мт-190503:Свиткин У. Р.


Єкатеринбург, 2009


Мета: Вивчення символьних істрокових змінних та їх обробки мові Сі.

Завдання:Задана рядок, що складається з символів. Символи об'єднують у слова. Слова друг від друга відокремлюються однією або кількома прогалинами. Наприкінці тексту ставиться точка. Текст містить трохи більше 255 символів. Виконати введення рядки, використовуючи функціюGets(s) і обробку рядки у відповідності зі своїм варіантом.

Варіант 9.Преобразовать рядок те щоб все слова у ній стали ідентифікаторами, слова котрі перебувають тільки з цифр - видалити.

Текст програми:

#>include <>cstdlib>

#>include <>iostream>

#>include <>string.h>

>voidClearString(charstring[255]){

>int і;

>for(i=0;i<255;i++){string[i]='[fde_1328386777_3771682387_1328386777_3862813777_7459]';}}

>intmain(intargc,char *>argv[]){

>charstr[255],s[255]="",t[255]="",c;boolr;

>inti=0,j=0;

>printf("Entertext>");gets(s);

>strcpy(str,"");

>do{r=false;

>do{c=s[i];i++;

>if(c>'9'){r=true;}

>if(c==' '||>c=='.'||c=='[fde_1328386777_3771682387_1328386777_1233886777_7402]'){

>if(t[0]>'9'){if(r){

>strcat(str,t);strcat(str," ");}

}t[j]='[fde_1328386777_3771682387_1328386777_2773838167_2779]';

>j=0;ClearString(t);break;}

>else {>t[j]=c;j++;}

}>while(1);

}>while(c!='.'&&c!='[fde_1328386777_3771682387_1328386777_3277618873_6028]');

>printf("Rightidentifiers:n");

>puts(str);

>system("PAUSE");

>returnEXIT_SUCCESS;}

Вихідні дані:

>A11FNumber 111 b123c5ffft.

Результат виконання програми:

>Entertext>A11FNumber 111 b123c5ffft.

>Rightidentifiers:

>A1Number bffft


Схожі реферати:

Навігація