ЗАДАНИЕ. Заменить исходный шаблон программы следующим текстом, до строки с комментарием //конец шаблонаЛР1
Заменить исходный шаблон программы следующим текстом, до строки с комментарием //конец шаблонаЛР1
// шаблонЛР1.cpp //
#include "stdafx.h"
#include <conio.h>
#include <math.h>
int _tmain(int argc, _TCHAR* argv[])
{
float
x=0.1 // значение аргумента
,y=0 // значение функции
,y2 ,y3 //дополнительные переменные
,x1 ,x2 //корни уравнения
,a=3 ,b=-5 ,c=1 //коэффициенты уравнения
,p1=3 ,p2=4 ,p3=5//длины сторон треугольника
,pp //полупериметр треугольника
,s; //площадь треугольника
// 1. вычисление функуии y=f1(x)
y=sin(x);
printf("1.\tx=%f\ty=%f\n\n",x,y);
// 2.1 вычисление функуии y=f2(x)
printf("2.1\tx=%f\ty=%f\n\n",x,y);
// 2.2 вычисление функуии y=f2(x) по схеме Горнера
printf("2.2\tx=%f\ty=%f\n\n",x,y);
// 2.3 вычисление функуии y=f2(x) с использованием дополнительных переменных y2 и y3
printf("2.3\tx=%f\ty2=%f\ty3=%f\ty=%f\n\n",x,y2,y3,y);
// 3.1 вычисление корней квадратного уравнения x1 и x2
printf("3.1\tx1=%f\tx2=%f\n\n",x1,x2);
// 3.2 вычисление корней квадратного уравнения одним оператором printf
// 4. вычисление площади треугольника по формуле Герона
printf("4.\tp1=%f\tp2=%f\tp3=%f\ts=%f\n\n",p1,p2,p3,s);
//*/
getch();
return 0;
}//конец шаблонаЛР1
Поставьте пару символов «/*» в начале строки с номером 2.1 – все нижние строки до строки с оператором getch(); превратятся в комментарий. Создайте исполняемую программу и выполните. Для завершения работы программ нажмите любую клавишу.
ДАЛЕЕ ВЫПОЛНЯТЬ В ПРИВЕДЁННОМ ПОРЯДКЕ
1. Работа по пункту 1. шаблона
- в операторе y=sin(x); домножте синус на e-x/5, используя стандартную функцию exp.
- постройте в OpenOffice Calc график функции e-x/5sin x и протестируйте программу для характерных точек этой функции (значения функции в точках минимумов, максимумов и точках, где функция меняет знак), сравнивая результат работы программы с соответствующими значениями функции из построенной таблицы. Значения переменной x программы меняйте в её определении.
2. Работа по пункту 2.1 шаблона
- переместите пару символов «/*» к началу строки с номером 2.2.
- после строки шаблона с номером 2.1 поместите оператор, вычисляющий значение функции y=3x4-4x3+2x2-7x+1, используя для возведения в степень xn стандартную функцию pow(x,n),
- придумайте несколько значений x для тестирования и проверьте правильность вычисленных программой значений, меняя значение переменной x в её определении.
3. Работа по пункту 2.2 шаблона
- переместите пару символов «/*» к началу строки с номером 2.3.
- после строки шаблона с номером 2.2 поместите оператор, вычисляющий значение функции y=3x4-4x3+2x2-7x+1, преобразовав её выражение к скобочному виду вынесением x за скобки.
- проверьте правильность вычисленных программой значений функции сравнением результатов, выводимых в окно программы по пунктам 2.1 и 2.2.
4. Работа по пункту 2.3 шаблона
- переместите пару символов «/*» к началу строки с номером 3.1.
- после строки шаблона с номером 2.3 поместите оператор, вычисляющий значение функции y=3x4-4x3+2x2-7x+1 с привлечением двух вспомогательных переменных y2 и y3, исключив использование стандартных функций.
- проверьте правильность вычисленных программой значений функции сравнением результатов, выводимых в окно программы по пунктам 2.1 и 2.3.
5. Работа по пункту 3.1 шаблона
- переместите пару символов «/*» к началу строки с номером 3.2.
- после строки шаблона с номером 3.1 поместите оператор, вычисляющий корни x1 и x2 квадратного уравнения ax2+bx+c=0.
- придумайте несколько значений переменных a, b и c для тестирования и проверьте правильность вычисленных программой значений, меняя значения переменных a, b и c в их определениях.
6. Работа по пункту 3.2 шаблона
- переместите пару символов «/*» к началу строки с номером 4.
- после строки шаблона с номером 4. поместите оператор printf, вычисляющий выражения для корней и выводящий вычисленные значения. Протестируйте работу программы.
. Работа по пункту 4 шаблона
- переместите пару символов «/*» к началу строки с пару символов «*/».
- после строки шаблона с номером 4. поместите операторы, вычисляющие по значениям длин сторон треугольника p1, p2 и p3 его полупериметр pp и площадь s по формуле Герона.
- придумайте несколько значений переменных p1, p2 и p3 для тестирования и проверьте правильность вычисленных программой значений, меняя значения переменных p1, p2 и p3 в их определениях.
СПРАВКА
При выполнении следующих заданий следует учитывать следующее:
- компилятор Си различает прописные и строчные буквы в именах переменных
- бинарные арифметические операции одного приоритета выполняются в порядке слева направо
- функции и выражения в круглых скобках вычисляются в первую очередь, начиная с самых внутренних
- вещественные константы можно задавать в естественной форме
<целая часть числа><точка><дробная часть числа>, например, 25.736, и в экспоненциальной форме <мантисса (целое число или вещественное в естественной форме)> <буква латинская E или e><порядок (целое число)>, что эквивалентно <мантисса>,умноженная на 10 в степени <порядок>, например, 25.736 можно записать и так 25736e-3, или так 25.736e0, или так
0.25736e2. или .....
- вещественные константы имеют тип double.
- для приведения переменной (или константы, или результата вычислений) к другому типу перед ней следует записать в круглых скобках имя этого типа, например, (float)2.4
- чтобы узнать допустимые сочетания типов функции и её аргументов (параметров) следует набрать имя функции и открывающую скобку. При этом появится всплывающая подсказка с набором допустимых сочетаний типов параметров
- аргументы тригонометрических функций задавать в радианах; число π приложении Excel - ПИ(), а в C++ M_PI, но перед директивой #include "math.h" следует записать
#define _USE_MATH_DEFINES M_PI