Порядок выполнения работы




  1. Выполнить следующие демонстрационные программы

 

//программа иллюстрирует применение локальных переменных в функциях

#include <iostream.h>

 

double f(double x)

{

return x*x-5*x+10;

}

double slope(double x)

{

double f1,f2,incrim=0.01*x; //объявление локальных переменных

f1=f(x+incrim);

f2=f(x-incrim);

return (f1-f2)/2/incrim;

}

 

int main()

{

double x=3.5;

cout << "f"<<x<<”)”<<f(x)<<”\n”<<”f(”<<x<<”)=”<<slope(x)<<”\n”;

return 0;

}

 

//программа иллюстрирует применение статических локальных переменных в функциях

#include <iostream.h>

double mean(double x)

{

static double sum=0;

static double sumx=0;

 

sum=sum+1;

sumx=sumx+x;

 

return sumx / sum;

}

 

int main()

{

cout << “avereg=”<<mean(1)<<”\n”;

cout << “avereg=”<<mean(2)<<”\n”;

cout << “avereg=”<<mean(3)<<”\n”;

cout << “avereg=”<<mean(10)<<”\n”;

cout << “avereg=”<<mean(11)<<”\n”;

return 0;

}

//программа иллюстрирует применение функций типа inline

#include <iostream.h>

inline double sqr(double x)

{

return x*x;

}

inline double cube(double x)

{

return x*x*x;

}

int main()

{

double x;

 

cout << “Input number \n”;

cin>>x;

cout << “Sqr”<<x<<”=”<<sqr(x)<<” \n”;

cout << “Cube”<<x<<”=”<<cube(x)<<” \n”;

 

return 0;

}

 

//программа иллюстрирует использование аргументов задаваемых по умолчанию

#include <iostream.h>

#include <math.h>

 

inline double sqr(double x)

{

return x*x;

}

double distance(double x2,double y2,double x1=0,double y1=0)

{

return sqrt(sqr(x2-x1)+sqr(y2-y1));

}

 

int main()

{

double x1,x2,y1,y2;

 

cout << “Input X for point 1:”;

cin>>x1;

cout << “Input X for point 2:”;

cin>>x2;

cout << “Input Y for point 1:”;

cin>>y1;

cout << “Input Y for point 2:”;

cin>>y2;

 

cout << “Distance between point=”<< distance(x1,y1,x2,y2)<<” \n”;

cout << “Distance between point 1 and (0,0)=”<< distance(x1,y1,0)<<” \n”;

cout << “Distance between point 2 and (0,0)=”<< distance(0,x2,y2)<<” \n”;

 

return 0;

}

//программа иллюстрирует использование перегрузки функций

#include <iostream.h>

//программа содержит перегружаемые функции для увеличения значений аргументов на 1 для

//разных типов данных

//версия для типа int

void inc(int& i)

{

i=i+1;

}

//версия для типа double

void inc(double& i)

{

i=i+1;

}

//версия для типа char

void inc(char& c)

{

c=c+1;

}

 

int main()

{

char c=’A’;

int i=10;

double x=10.2;

 

cout << “c= ”<<c<<”\n”<<”x=”<<x<<”\n”<<i=”<<i<<”\n”;

//вызываем функции для увеличения

inc(c);

inc(x);

inc(i);

//вывод результатов

cout << “c= ”<<c<<”\n”<<”x=”<<x<<”\n”<<i=”<<i<<”\n”;

 

return 0;

}

  1. Написать программу согласно варианту

1) Написать подпрограммы для вычисления площади треугольника. С клавиатуры вводятся а) координаты X Y 3-х вершин б) длины 2-х сторон и угол между ними. Для варианта а) и б) написать перегружаемые функции.

2) Написать подпрограммы для вычисления площади прямоугольника и квадрата. С клавиатуры вводятся длины двух сторон в случае прямоугольника, длина одной стороны в случае квадрата. Для вычисления площадей использовать перегружаемую функцию а также аргументы по умолчанию для квадрата длина стороны =10, для прямоугольника 10 и 20.

3) Написать подпрограммы для вычисления площадей и длин окружности и эллипса для окружности S=pR2, l=2pR для эллипса S=pab, l=2p(a+b)/2. С клавиатуры вводятся длины двух диаметров в случае эллипса и длина радиуса для окружности. Для вычисления площадей и длин использовать перегружаемые функции а также аргументы по умолчанию для окружности R =10, для эллипса a=5 b=10.

4) Написать программу которая считывает с клавиатуры три числа два из них типа int представляющих денежную единицу например число долларов и центов (при этом второе число является 2-х значным от 0 до 99) третье число имеет тип double и также предсталяет денежную единицу например $14.35 или $5.01. Необходимо составить подпрограммы для перевода 2-х первых чисел типа int в формат с плавающей точкой. Например если ввели два числа 15 и 89 то результат должен быть $15.89 Для третьего числа осуществить обратную операцию для чего можно привести число типа double к типу int тогда если например было введено число 15.89 то результат будет содержать число 15 затем можно отнять 15.89-15 и результат умножить на 100 и опять привести его к типу int получим 89. Результаты работы программы отобразить на экране.

5) Составить программу для ввода с клавиатуры и сложения двух комплексных чисел x+ j y где x и y вводятся с клавиатуры. Создать перегружаемые функции для случаев когда x и y целые числа, а также для случаев когда x и y числа с плавающей запятой. Результаты работы вывести на экран.

6) Составить программу для ввода с клавиатуры и умножения двух комплексных чисел x+ j y где x и y вводятся с клавиатуры. Создать перегружаемые функции для случаев когда x и y целые числа, а также для случаев когда x и y числа с плавающей запятой. Результаты работы вывести на экран.

7) Составить программу которая считывает три числа с клавиатуры и вычисляет наибольшее и наименьшее среди них. Создать перегружаемые функции для чисел целого типа int, а также для чисел с плавающей запятой. Результаты работы вывести на экран.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: