Пример 5.1. Даны числа a =2, b =7. Вычислить сумму S и разность R чисел a и b.
Рис. 5.1 Блок-схема для примера 5.1
Код программы (Visual Studio):
// proga10.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
double a, b, S, R;
a=2;
b=7;
S=a+b;
R=a-b;
cout<<"S="<<S<<endl;
cout<<"R="<<R<<endl;
return 0;
}
Результат выполнения программы(Visual Studio):
Код программы (Borland C++):
#include <iostream.h>
#include <conio.h>
int main(){
clrscr();
double a, b, S, R;
a=2;
b=7;
S=a+b;
R=a-b;
cout<<"S="<<S<<endl;
cout<<"R="<<R<<endl;
return 0;
}
Результат выполнения программы (Borland C++):
Пример 5.2. Составить блок-схему и программу для вычисления значений функций и при x, который считывается с экрана (клавиатуры).
Рис. 5.2 Блок-схема для примера 5.2
Код программы (Visual Studio):
// proga11.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
int main(){
double x, y, z;
cout<<"vvedi x=";
cin>>x;
y=sin(x); z=log(x);
cout<<"pri x="<<x<<" y="<<y<<" z="<<z<<endl;
return 0;
}
Ручной счет:
x =1.5
y =sin(1.5)=0.997495
z =ln(1.5)=0.405465
Результат выполнения программы (Visual Studio):
Ручной счет:
x =0.2
y =sin(0.2)=0.198669
z =ln(0.2)=-1.609438
Результат выполнения программы (Visual Studio):
Ручной счет:
x =-2
y =sin(-2)=-0.909297
z =ln(-2)=не существует, что соответствует результату на экране.
Результат выполнения программы(Visual Studio):
Код программы (Borland C++):
#include <iostream.h>
#include <math.h>
int main(){
double x, y, z;
cout<<"vvedi x=";
cin>>x;
y=sin(x);
z=log(x);
cout<<"pri x="<<x<<" y="<<y<<" z="<<z<<endl;
return 0;
}
Результат выполнения программы(Borland C++):
Примечание. Чтобы не возникало ошибок при вычислении логарифма, надо поставить условие на аргумент х, поэтому данная задача будет рассмотрена ниже при реализации разветвляющегося алгоритма.
Когда требуется записать программно сложную математическую функцию, ее мысленно разбивают на внутреннюю и внешнюю. Например, если дано выражение , то внешней функцией будет возведение в квадрат, а внутренней – тангенс от х. Поэтому сначала начинают писать функцию возведения в степень: pow(, 2.0), а потом вписывают на первое место тангенс: pow(tan(x), 2.0).
Когда требуется записать дробь, то ее мысленно разбивают на числитель и знаменатель. если в числителе или знаменателе стоит выражение, а не одно число или одна переменная, то все выражение берут в скобки: будет выглядеть в программе как (a+3.0)/(a-1.0). Но дробь будет записана в виде a/(a-1.0).
Пример 5.3. Составить блок-схему и программу для вычисления значений функций и при различных значениях аргументов x, y. Переменные x, y считать с клавиатуры.
Рис. 5.3 Блок-схема для примера 5.3
Код программы (Visual Studio):
// proga12.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
int main(){
double x, y, U, V;
cout<<"vvedi x=";
cin>>x;
cout<<"vvedi y=";
cin>>y;
U=pow(x, 2.0)+(y+3.0)/(x-1.0);
V=1.0/pow(y, exp(1.0))*pow(sin(sqrt(x)+1.5), 2.0);
cout<<"pri x="<<x<<" y="<<y<<endl;
cout<<"U="<<U<<" V="<<V<<endl;
return 0;
}
Проверка результатов (в программе MathCad):
Результат выполнения программы (Visual Studio):
Проверка результатов (в программе MathCad):
Результат выполнения программы (Visual Studio):
Код программы (Borland C++):
#include <iostream.h>
#include <math.h>
int main(){
double x, y, U, V;
cout<<"vvedi x=";
cin>>x;
cout<<"vvedi y=";
cin>>y;
U=pow(x,2.0)+(y+3.0)/(x-1.0);
V=1.0/pow(y,exp(1.0))*pow(sin(sqrt(x)+1.5),2.0);
cout<<"pri x="<<x<<" y="<<y<<endl;
cout<<"U="<<U<<" V="<<V<<endl;
return 0;
}
Результат выполнения программы (Borland C++):
Пример 5.4. Найти длину окружности и площадь круга, если известен радиус.
Решение. Введем обозначения: r – радиус, который будет считываться с клавиатуры (т.к. он не задан конкретным числом); C – длина окружности, вычисляемая по формуле ; S – площадь круга, вычисляемая по формуле .
Рис. 5.4 Блок-схема для примера 5.4
Код программы (Visual Studio):
// proga13.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
int main(){
double r, C, S;
cout<<"vvedi r=";
cin>>r;
C=2.0*3.141593*r;
S=3.141593*pow(r, 2.0);
cout<<"r="<<r<<" C="<<C<<" S="<<S<<endl;
return 0;
}
Проверка результата (в программе MathCad):
Результат выполнения программы (Visual Studio):
Код программы (Borland C++):
#include <iostream.h>
#include <math.h>
int main(){
double r, C, S;
cout<<"vvedi r=";
cin>>r;
C=2.0*M_PI*r;
S=M_PI*pow(r, 2.0);
cout<<"r="<<r<<" C="<<C<<" S="<<S<<endl;
return 0;
}
studopediasu.com - Студопедия (2013 - 2026) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление