Шпаргалка по "Информатике"

Автор работы: Пользователь скрыл имя, 07 Февраля 2013 в 14:32, шпаргалка

Описание работы

Работа содержит ответы на вопросы для экзамена (или зачета) по теме "С++"

Файлы: 1 файл

шпора по инф.docx

— 33.06 Кб (Скачать файл)

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

Тема: «Линейный и разветвленный  алгоритм».

1.Постановка задач. Вычислить значение функции:

Y=

Z=arcsin(

Найти max среди функций y и z

2. Блок-схемa

#include "stdafx.h"

#include <iostream>

#include <iomanip>

#include <math.h>

using namespace std;

void main() 

{setlocale (LC_ALL,"Russian");

double x,a,y,z,c;

cout<<"введи x,a "\n";

cin >>x>>a;

y=sqrt(pow(x,2)+a);

z=asin(pow(x,3)-a);

cout<<"x="<<x<<"a="<<a<<"\n"<<"y="<<y<<"z="<<z;

if(y>z) c=y;

else c=z;

cout<<"c="<<c;

}

Лаба 2

  1. Постановка задачи

Задана функция двух переменных:

 

 

при 0.2 ≤ x ≤ 1   с hx=0.5,     1 ≤ y ≤ 3  с hy=1.2

В заданной области изменения  x и y вычислить и распечатать значения функции Z и x,y, а также среднее арифметическое значений функции Z, удовлетворяющих условию Z ≥ 0.5.

#include  “stdafx.h”

#include <iostream>

#include <math.h>

#include <stdio.h>

using namespace std;

void main ()

{setlocale (LC_ALL, “Russian”);

double xn, xk, hx, yn, yk, hy, x, y, Z, ZR, S, K;

cout<<”введи xn, xk, hx \n”;

cin>> xn>> xk>> hx;

cout<<”введи yn, yk, hy \n”;

cin>> yn>>yk>> hy;

cout<<”Исходные данные \n”;

cout<< “xn=”<<xn<<“xk=”<<xk<<”hx=”<<hx<<”\n”;

cout<<”yn=”<<yn<<”yk=”<<yk<<”hy=”<<hy<<”\n”;

cout<<”Таблица результатов \n”;

cout<<” \t Z \t x \t y \n”;

S=0;

K=0;

for(x=xn; x<=xk; x=x+hx)

for(y=yn; y<=yk; y=y+hy)

{if((pow(x,2)+pow(y,2))<2)

Z=pow(1-sin(pow(x,2)+pow(y,3)),2);

else Z=sqrt(pow(x,2)*y+8);

printf(“%10.2f%7.2f%7.2f\n”,Z,x,y);

if(Z>=0.5)

{S=S+Z

  K=K+1}}

ZR=S/K;

cout<<”ZR=”<<ZR<<”S=”<<S<<”K=”<<K<<”\n”;}

 

 

 

 

 

 

 

 

 

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

Тема: «Двухмерный циклический  алгоритм».

1.Постановка задач. Вычислить  значение функции:

 

При

Найти минимальное значение U среди всех удовлетворяющих условию U>2.1 и при каких x, y, z они достигаются.

2. Блок-схемa

#include "stdafx.h"

#include <iostream>

#include <math.h>

#include <stdio.h>

using namespace std;

void main()

{setlocale(LC_ALL,"Russian");

double x,xn,xk,hx,y,yn,yk,hy,z,zn,zk,hz,u,umin,xmin,ymin,zmin;

cout<<"введи xn,xk,hx\n";

cin>>xn>>xk>>hx;

cout<<"введи yn,yk,hy\n";

cin>>yn>>yk>>hy;

cout<<"введи zn,zk,hz\n";

cin>>zn>>zk>>hz;

cout<<"исходные данные\n";

cout<<"xn="<<xn<<"xk="<<xk<<"hx="<<hx<<endl;

cout<<"yn="<<yn<<"yk="<<yk<<"hy="<<hy<<endl;

cout<<"zn="<<zn<<"zk="<<zk<<"hz="<<hz<<endl;

cout<<"таблица результатов\n";

cout<<"\t      u\t      x\t      y\t      z\n";

umin=pow(10,5.);

for(x=xn;x<=xk;x=x+hx)

for(y=yn;y<=yk;y=y+hy)

for(z=zn;z<=zk;z=z+hz)

{u=-pow((pow(y,2)+4*pow(x,2)/3),1/2.)+5*pow(cos(x*y),4)/(x*z);

printf("%10.2f%7.2f%7.2f %7.2f\n",u,x,y,z);

if(u>2.1)

if(u<umin)

{umin=u;

xmin=u;

ymin=y;

zmin=z;}

}

cout<<"umin="<<umin<<"xmin="<<xmin<<"ymin="<<ymin<<"zmin="<<zmin<<"\n";

}

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

Тема: «Циклический алгоритм».

1.Постановка задачи.

Определить таблицу значений функции , где

 

 

#include "stdafx.h"

#include<iostream>;                        

#include<math.h>;

#include<stdio.h>;

using namespace std;

void main()

{setlocale(LC_ALL,"Russian");

double xn,xk,hx,x,a,an,ak,ha,u,z;

cout<<"Введи xn,xk,hx\n";

cin>>xn>>xk>>hx;

cout<<"Введи an,ak,ha\n";

cin>>an>>ak>>ha;

cout<<"Исходные данные:\n";

cout<<"xn="<<xn<<","<<"xk="<<xk<<","<<"hx="<<hx<<"\n";

cout<<"an="<<an<<","<<"ak="<<ak<<","<<"ha="<<ha<<"\n";

cout<<"Таблица результатов:\n";

cout<<"\tz\tx\ta\n";

for(x=xn;x<=xk;x=x+hx)

for(a=an;a<=ak;a=a+ha)

{if (tan(a/x)>x*sin(pow(a,2))) u=x*sin(pow(a,2));

else u=tan(a/x);

 

 

 

 

 

 

 

 

 

 

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

Тема: «Двухмерные массивы. Матрицы».

1.Постановка задач:

     Дана матрица А(5,3)

  1. Найти строку, содержащую минимальный элемент матрицы.
  2. Найденную строку поменять местами с 4-ой строкой
  3. В полученной матрице подсчитать сумму для элементов 3-й строки по формуле: 

#include "stdafx.h"

#include <iostream>

#include <math.h>

#include <iomanip>

#include<stdio.h>

using namespace std;

void main()

{setlocale (LC_ALL,"Russian");

double A[5][3],Amin,P,S;

int i,j,imin,jmin;

cout<<"введи матрицу A\n";

for (i=0;i<5;i++)

for (j=0;j<3;j++)

cin>>A[i][j];

cout<<"матрица A\n";

for (i=0;i<5;i++)

{for (j=0;j<3;j++)

cout<<A[i][j]<<"\t";

cout<<endl;}

Amin=pow(10.,5);

for (i=0;i<5;i++)

for (j=0;j<3;j++)

if(A[i][j]<Amin){Amin=A[i][j];

imin=i;

jmin=j;}

cout<<"Amin="<<Amin<<"imin="<<imin<<"jmin="<<jmin<<endl;

for(j=0;j<3;j++)

{P=A[imin][j];

A[imin][j]=A[3][j];

A[3][j]=P;}

S=0;

i=2;

for (j=0;j<3;j++)

S=S+sqrt(fabs(1.2+A[2][j]));

cout<<"S="<<S<<endl;

cout<<"матрица A\n";

for (i=0;i<5;i++)

{for (j=0;j<3;j++)

cout<<A[i][j]<<"\t";

cout<<endl;}}

 

Лаба 3

Дана матрица А(5;4).

    1. Поменять местами первую и последнюю строки матрицы.
    2. Подсчитать Si для элементов каждой строки матрицы по формуле:

                                    4

Si = 5 +∑ (1 – aij + a2ij)/6, где i – номер строки.

          j=0

    1. В полученной матрице найти наибольший элемент.

 

#include "stdafx.h"

#include <iostream>

#include <math.h>

#include <iomanip>

#include <stdio.h>

using namespace std;

void main()

{setlocale(LC_ALL,"Russian");

double A[5][4],r,S1,S[5],Amax;

int i,j,imax,jmax;

cout<<"введи матрицу  А\n";

for(i=0;i<5;i++)

for(j=0;j<4;j++)

cin>>A[i][j];

cout<<"матрица А\n";

for(i=0;i<5;i++)

{for(j=0;j<4;j++)

printf("%8.2f",A[i][j]);

printf("\n");}

for(j=0;j<4;j++)

{r=A[0][j];

A[0][j]=A[4][j];

A[4][j]=r;}

cout<<"матрица А\n";

for(i=0;i<5;i++)

{for(j=0;j<4;j++)

printf("%8.2f",A[i][j]);

printf("\n");}

for(i=0;i<5;i++)

{S1=0;

for(j=0;j<4;j++)

S1=S1+(1-A[i][j]+ pow(A[i][j],2))/6;

S[i]=5+S1;}

cout<<"Массив S\n";

for(i=0;i<5;i++)

cout<<S[i]<<"\n";

Amax=-100000;

for(i=0;i<5;i++)

if (S[i]>Amax)

{Amax=S[i];

imax=i;}

cout<<"Amax="<<Amax<<"imax="<<imax<<"\n";}

 

 

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

Тема: «Двухмерные массивы».

1.Постановка задач. Дана матрица А[5;4]

      1) Найти  новый одномерный массив В из сумм элементов каждой строки матрицы А.

      2) Найти  максимальный элемент матрицы А в 5-й строке.

      3) Заменить  последний элемент в 3-й строке  матрицы на найденный максимальный  элемент.

#include"stdafx.h"

#include<iostream>

#include<math.h>

#include<stdio.h>

#include<iomanip>

usingnamespace std;

void main ()

{setlocale(LC_ALL, "Russian");

double A[5][4], B[5], Amax,S;

int i,j,imax,jmax;

cout<<" введи массив A\n";

for(i=0;i<5;i++)

for(j=0;j<4;j++)

cin>> A[i][j];

cout<<"массив A\n";

for (i=0;i<5;i++)

{for(j=0;j<4;j++)

printf("%10.3f", A[i][j]);

printf("\n");}

for(i=0;i<5;i++)

{S=0;

for(j=0;j<4;j++)

S=S+A[i][j];

B[i]=S;}

cout<<"массивВ\n";

for(i=0;i<5;i++)

cout<<B[i]<<"\t";

cout<<endl;

i=4;

Amax=-pow(10.,5);

for(j=0;j<4;j++)

{if(A[4][j]>Amax)

{Amax=A[4][j];

imax=i;

jmax=j;}}

cout<<"Amax="<<Amax<<"\t"<<"imax="<<imax<<"\t"<<"jmax="<<jmax<<endl;

A[2][3]=A[imax][jmax];

for(i=0;i<5;i++)

{for(j=0;j<4;j++)

printf("%10.3f", A[i][j]);

printf("\n");}

}

 

 

 

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

Тема: «Двумерный массив. Матрицы».

1.Постановка задачи.

Дана матрица A[3][3].

  1. Найти число отрицательных элементов под главной диагональю.
  2. Найти сумму элементов первой строки по формуле
  3. Поменять местами элемент 3 – ей строки и 1 – ого столбца на s.

#include "stdafx.h"

#include<iostream>

#include<iomanip>

#include<math.h>

#include<stdio.h>

using namespace std;

void main()

{setlocale(LC_ALL,"Russian");

double A[3][3],s,s1,p,k;

int i,j;

cout<<"Введи матрицу A[3][3]\n";

for(i=0;i<3;i++)

for(j=0;j<3;j++)

cin>>A[i][j];

cout<<"Матрица A:\n";

for(i=0;i<3;i++)

{for(j=0;j<3;j++)

printf("%8.2f",A[i][j]);

printf("\n");}

k=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if (i>j) if (A[i][j]<0) k=k+1;

cout<<"k="<<k<<endl;

s1=0;

s=0;

i=0;

for(j=0;j<3;j++)

s1=sin(A[i][j])+A[i][j]/7+s1;

s=s1*5;

cout<<"s="<<s<<endl;

p=A[2][0];

A[2][0]=s;

s=p;

cout<<"Матрица A:\n";

for(i=0;i<3;i++)

{for(j=0;j<3;j++)

printf("%8.2f",A[i][j]);

printf("\n");}





Информация о работе Шпаргалка по "Информатике"