
Задание №1. Линейный вычислительный процесс
Cоставить программу вычисления арифметического выражения для заданных значений x, y, z :
|
При x = 16.5510-3, y = –2.75, z = 0.15 = –40.6307
|
Текст программы с использованием стандартных функций ввода-вывода:
#include "stdafx.h"
#include "conio.h"
#include "iostream"
#include "math.h" //библиотеки с мат. функциями
using namespace std; //функция объявления места
void main() //начало любого алгоритма в С++
{
double x,y,z,a,b,res; // double, т.к. используются дробные числа
cout << "Enter x,y,z\n"; // выводим на экран текст, заключённый в скобочках
cin >> x >> y >> z; // вводим с клавиатуры переменные x y z
a = pow(asin(z),2)-fabs(x-y); //подсчитываем первый промежуточный результат;asin - arcsin,fabs - модуль,pow - возведение в степень(сначала передаём что возводим, затем - в какую степень)
b = sqrt(10*(pow(x,1.0/3.0)+pow(x,y+2))); //подсчитываем второй промежуточный результат; sqrt - извлечение корня
res = a*b; //получаем конечный результат перемножая промежуточные.
cout << "x=" << x << "\ny=" << y << "\nz=" << z; //выводим на экран введённые с клавиатуры значения ( по известной тебе схеме,\n - символ перехода на другую строку, аналогично endl)
cout << "\nResult = " << res << endl; //выводит на экран результат
getch(); //эта функция ждёт пока мы нажмём любую клавишу (нужна, чтобы мы смогли посмотреть результат работы)
}
Введя исходные данные x = 16.5510-3, y = –2.75, z = 0.15, результат выполнения программы будет иметь следующий вид:
Задание №2. Реализация разветвляющихся алгоритмов
Ввести значения исходных данных n1 и n2. Вычислить значение функции:
rez
=
Предусмотреть вывод сообщения, по какой ветви выполнялись вычисления.
Текст программы имеет следующий вид:
#include "stdafx.h"
#include "conio.h"
#include "math.h"
#define p 3.1415926535 //при помощи команды #define описывается константа (число пи)
void main()
{
double n1,n2,res;
puts("Enter n1,n2"); // выводим на экран сообщение уже при помощи puts(она автоматически добавляет в конце сообщения символ переноса \n)
scanf("%lf%lf",&n1,&n2); //с помощью функции scanf считываем то, что ввели с клавиатуры (то что стоит в кавычках - объявление типа, который мы будем вводить, lf - long float, т.е. число будет дробным, % обязателен. То что после кавычек - переменные, в которые записываются введённые с клавиатуры данные, & обязателен).
if ((n1+n2)>=p && (n1+n2)<5) //секция If - в ней проверяются условия (&& - логическое и, оно объединяет два написанных условия, и команды в блоке if будут выполняться только тогда, когда и то, и другое условие соблюдены)
{
res = pow(sin(p*n1+exp(n2)),2); //записываем формулу вычисления
puts("p<=n1+n2<5"); //выводим на экран условия, которым удовлетворяют наши n1 и n2 при помощи puts
}
else //секция else - выполняется тогда, когда данные не удовлетворяют условию предшествующего if
{
if ((n1+n2)>=5)
{
res = pow(sin(p*n2+n1),2); //записываем формулу вычисления
puts("n1+n2>5"); //выводим на экран условия, которым удовлетворяют наши n1 и n2 при помощи puts
}
else
{
puts("n1+n2<p"); //выводим на экран условия
puts("No rezult"); //сообщение об отсутствии результата
getch(); //ждём нажатия клавиши
return;
}
}
printf("Result = %.6lf",res); //выводим на экран результат при помощи функции printf (то что в кавычках - текст, который выведется, там где стоят проценты на их место подставляется значение переменной, которая пишется после кавычек. То что после % написано .6 значит что число выводим с точностью до 6 знаков после запятой)
getch(); //эта функция ждёт, пока мы нажмём любую клавишу
}
Результаты выполнения программы для различных исходных данных могут иметь следующий вид:
1 вариант введенные значения соответствуют первому условию:
2 вариант введенные значения соответствуют второму условию:
3 вариант введенные значения не соответствуют ни одному условию: