65824

Итерационные алгоритмы

Лабораторная работа

Информатика, кибернетика и программирование

Условие задачи Спецификация программы(SRS) Тест план с результатами выполнения тестов Текст программы 1)Условия задачи: Реализовать программу: В одномерном массиве размерностью N, состоящем из чисел: 1) Найти среднее арифметическое элементов, попадающих в заданный интервал...

Русский

2014-08-06

68 KB

1 чел.

Санкт-Петербургский государственный политехнический университет

Институт информационных технологий и управления

Кафедра «Распределенных вычислений и компьютерных сетей»

ЛАБОРАТОРНАЯ РАБОТА № 2

Итерационные алгоритмы

по дисциплине «Основы программирования »

Выполнил

студент гр. 13507/1  С.С.Недобуга

Преподаватель       Т.Н.Самочадина

Содержание

  1.  Условие задачи
  2.  Спецификация программы(SRS)
  3.  Тест план с результатами выполнения тестов
  4.  Текст программы

1)Условия задачи:

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

           В одномерном массиве размерностью N, состоящем из чисел:

1) Найти среднее арифметическое элементов, попадающих в заданный интервал [a,b].

2) Многочлены P(x) и Q(x) заданы своими коэффициентами. Определить коэффициенты R(x) = P(x) + Q(x).

2)Спецификация программы

  1.  Массивы должны быть заданы корректно.
    1.  Если аргумент N или N2 не является числом – сообщение “Inccorect N(N2)” .
    2.  Если аргумент N или N2 является числом < 1 – сообщение N(N2) must be greater or equal then 1".
  2.  Элементы массивов должны быть заданы корректно.
    1.  Если какой-либо член массива Mass или Mass2 не является числом – сообщение “ Incorrect member of the Mass(2)”
  3.  Диапазон [a,b] должен быть задан корректно.
    1.  Если аргумент A или B должен быть числом – сообщение “Incorrect value”.
    2.  Если аргумент A>B – сообщение “Incorrect range”.

3)Тест план с результатами выполнения тестов

№ Специф.

Вводимые значения

Вывод

1.1

N = e

Incorrect N

1.2

N2 = 0

N2 must be greater or equal then 1

2.1

Mass[3] = f

Incorrect member of the Mass

3.1

B = %

Incorrect value

3.2

A=5; B=4.5

Incorrect range

4)Текст программы

General.cpp

#include<iostream>

using namespace std;

long double srarf(const double *Mass,const int N);

void sloz(double * M1, int N1, double * M2, int N2, double * M3);

int main(int argc, char **argv)

{

 try

{

 int N;

 double *Mass;

 cout<<"Enter the numbers of massive: ";

 cin>>N;

 if(!cin)throw "Incorrect N";

 if(N<=0)throw "N must be > 0";

 Mass = new double [N];

 cout<<"Coefficients of the polynomial P(x): "<<endl;

 for (int i = 0; i < N; i++)

 {

  cout<<"Mass["<<i+1<<"]: ";

  cin>>Mass[i];

  if(!cin) throw "Incorrect member of the Mass.";

 }

 try

 {

  long double Sr = srarf(Mass,N);

 }

 catch(const int)

 {

  cerr<<"No element in the gap."<<endl;

 }

 int N2;

 double *Mass2;

 cout<<"Enter the numbers of massive 2: ";

 cin>>N2;

 if(!cin)throw "Incorrect N2.";

 if(N<=0)throw "N2 must be > 0.";

 cout<<"Coefficients of the polynomial Q(x): "<<endl;

 Mass2 = new double [N2];

 for (int i = 0; i < N2; i++)

 {

  cout<<"Mass2["<<i+1<<"]: ";

  cin>>Mass2[i];

  if(!cin) throw "Incorrect member of the Mass2.";

 }

 double *Mass3;

 int N3;

 (N>N2)? N3=N : N3=N2;

 Mass3 = new double[N3];

 sloz(Mass,N,Mass2,N2,Mass3);

 cout<<"The coefficients of the polynomial P(x): " <<endl;

 for (int i = 0; i<N; i++)

 {

  cout<<Mass[i]<<"x^"<<i;

  if(i!=(N-1)) cout<<'+';

 }

 cout<<endl;

 cout<<"The coefficients of the polynomial Q(x): " <<endl;

 for (int i = 0; i<N2; i++)

 {

  cout<<Mass2[i]<<"x^"<<i;

  if(i!=(N2-1)) cout<<'+';

 }

 cout<<endl;

 cout<<"The coefficients of the polynomial U(x)=Q(x)+P(x): " <<endl;

 for (int i = 0; i<N3; i++)

 {

  cout<<Mass3[i]<<"x^"<<i;

  if(i!=(N3-1)) cout<<'+';

 }

}

 catch(const char *Err)

{

 cerr<<Err;

 return -1;

}

 return 0;

}

Sloz.cpp

#include<iostream>

void sloz(double * M1, int N1, double * M2, int N2, double * M3)

{

 if (N1>N2)

{

 for (int i = 0; i<N1; i++)

 {

  if (i<N2) M3[i]=M1[i]+M2[i];

  else M3[i]=M1[i];

 }

}

 else 

{

 for (int i = 0; i<N2; i++)

 {

  if (i<N1) M3[i]=M1[i]+M2[i];

  else M3[i]=M2[i];

 }

}

}

Srarf.cpp

#include<iostream>

using namespace std;

long double srarf(const double *Mass,const int N)

{

 long double A, B, Sum=0, Kol=0;

 long double Sr;

std::cout<<"Enter the range [A;B] for arithmetic mean in this range: "<<std::endl;

std::cout<<"A,B: "<<std::endl;

   std::cin>>A>>B;

   if(!std::cin) throw "Incorrect value.";

 if(A>B) throw "Incorrect range.";

 for (int i = 0; i<N; i++)

{

 if ((Mass[i]>=A)&&(Mass[i]<=B))

 {

  Kol++;

  Sum+=Mass[i];

 }

}

 if (Kol == 0) throw 1;

 return((double)Sum/(double)(Kol));

}


 

А также другие работы, которые могут Вас заинтересовать

37849. Знайомство з середовищем програмування DELPHI 411.5 KB
  Borlnd Delphi 7 Studio дозволяє створювати самі різні програми: від найпростіших одновіконних додатків до програм керування розподіленими базами. 5 яких можна побачити відсунувши убік вікно форми треба набирати текст програми. На початку роботи над новим проектом це вікно редактора коду містить сформований Delphi шаблон програми. Так на етапі розробки програми називають діалогові вікна.
37850. Створення форм 66.5 KB
  Помістити обєкт Lbel у вікно форми Form1. Вибрати в палітрі компонентів на сторінці стандартних компонентів компонентів Lbel. Обєкт буде доданий у форму і за замовчуванням одержить імя Lbel1. Перемістити обєкт Lbel1 на бажане місце у формі.
37851. СТВОРЕННЯ НАЙПРОСТІШОЇ ПРОГРАМИ ДЛЯ ЛІНІЙНОГО АЛГОРИТМУ 285.5 KB
  Звіт до лабораторної роботи повинен сладатися з коротких теоретичних відомостей відповідей до контрольних запитань та програми. Головне вікно завжди присутнє на екрані і призначено для керування процесом створення програми. Вікно форми являє собою проект Windowsвікна програми.
37852. Стандартні компоненти і оброблювачі подій. Створення програм для процесів, що розгалужуються 177.5 KB
  Створення форми Створіть форму таку ж як у другій лабораторній роботі скорегувавши текст написів і положення вікон TEdit. 1 unit unit1; interfce uses Windows Messges SysUtils Vrints Clsses Grphics Controls Forms Dilogs StdCtrls ExtCtrls; type TForm1 = clssTForm Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Lbel1: TLbel; Lbel2: TLbel; Lbel3: TLbel; Lbel4: TLbel; Memo1: TMemo; Button1: TButton; CheckBox1: TCheckBox; RdioGroup1: TRdioGroup; Lbel5: TLbel;...
37853. Засоби налагодження програм у DELPHI. Створення програм для циклічних процесів 223.5 KB
  Мета роботи: вивчити засоби налагодження програм у середовищі DELPHI. Розробити і налагодити програму для циклічного обчислювального процесу.
37854. ОПРЕДЕЛЕНИЕ УВЕЛИЧЕНИЯ МИКРОСКОПА И ЕГО РАЗРЕШАЮЩЕЙ СПОСОБНОСТИ 38 KB
  Определение увеличения микроскопа и микроскопа с фотонасадкой: поместить объектмикрометр на предметный столик и вращением микрометрического винта добиться резкого изображения сетки объектмикрометра на матовом стекле; измерить линейкой на матовом стекле длину n целых увеличенных делений сетки объектмикрометра n взять по возможности больше получим ℓ мм; зная цену деления С0 сетки объектмикрометра см. Поэтому увеличение микроскопа с фотонасадкой: Nн = ℓ ℓн = ℓ С0∙n; по формуле Nм = найти увеличение микроскопа. Определение...
37855. Градуировка спектроскопа и изучение спектров излучения и поглощения вещества 77 KB
  Различают спектры испускания и спектры поглощения. Спектры поглощения возникают при прохождении белого света сквозь различные вещества которые поглощают из белого света отдельные участки сплошного спектра. наблюдение спектров поглощения и определение длин волн в спектре поглощения раствора KMnО4 В качестве источника света возьмите колбу с раствором KMnО4 в который опущена лампа накаливания.
37856. Контроль загрязнения воздуха 100.75 KB
  елевая установка. Ознакомиться с понятием загрязнения атмосферного воздуха и воздуха рабочей зоны. Изучить методику контроля воздуха на рабочем месте с помощью универсального газоанализатора УГ-2, аспираторов сильфонных АМ-5 и АМ-0059. Усвоить принципы нормирования загрязняющих веществ в атмосферном воздухе и в воздухе рабочей зоны. Знать условия качества воздуха.
37857. Исследование производственного шума и звукоизолирующей способности. Некоторых конструкций 293.5 KB
  Коэффициент пульсации критерий глубины колебаний освещенности в результате изменения во времени светового потока. где Еmx Еmin Еср максимальное минимальное и среднее значение освещенности за период колебаний лк; для газоразрядных ламп kn = 2565 для ламп накаливания kn= 7. К основным количественным показателям освещения относят величину освещенности люксы яркость светящихся поверхностей...