Вивчити основні арифметичні операції і функції математичної бібліотеки С. Навчитися їх застосовувати для обчислення арифметичних виразів.
Робота складається з двох типів завдань, в кожному з яких необхідно обчислити значення арифметичного виразу.
У першому завданні усі аргументи задані у вигляді арифметичних
виразів - тобто приклади можуть бути обчислені безпосередньо (без
введення даних).
У другому типі завдання використовуються змінні, тому в процесі
обчислень необхідно запитати і ввести конкретні значення змінних з
клавіатури. Слід звернути увагу на те, що значення змінних повинні
належати області допустимих значень. В цій лабораторній роботі
приналежність ОДЗ необхідно проконтролювати "теоретично". а бажаючі
можуть включити комп'ютерну перевірку даних, що вводяться, на
приналежність ОДЗ. Введення 1 висновок даних повинні супроводитися
запрошеннями-коментарями.
#include <iostream>//бібліотека #include <math.h>//#include <cmath>#define M_PI 3.14159265358979323846#define M_PI_4 0.785398163397448309616 // pi/4using namespace std;int main(){ setlocale(LC_ALL, "rus");//мова на якій буде программа cout << "\n\tШевельок,Тахмазова 11-Мi клас\n";//назва програми cout << "\n\tВарiант 7 \n"; cout << "\n\tЛабораторна робота. №4 Завдання 1 \n";//назва програми double c; c = (2.83*sin(M_PI / 8) + log(57.4)*pow(28.8, 0.33333))/ (2.5*sqrt(1 + pow(cos(M_PI_4), 2))); printf("\n\t 2.83*sin(PI / 8) + log(57.4)*28.8^1/3 "); printf("\n\tc=------------------------------------- "); printf("\n\t 2.5*sqrt(1 + cos^2(PI/4) )"); printf("\n\n\tРезультат с= %2.6f ",c); cout << endl << endl << "\t"; system("pause"); return 0;}// ProgramDlg.cpp : файл реализации//#include "stdafx.h"#include "Program.h"#include "ProgramDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// диалоговое окно CProgramDlgCProgramDlg::CProgramDlg(CWnd* pParent /*=NULL*/) : CDialog(IDD_PROGRAM_DIALOG, pParent){ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CProgramDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); c[0] = 0xFF00FF; c[1] = 0xFFA500; c[2] = 0xFFFF; c[3] = 0x0C7800; c[4] = 0x005690; c[5] = 0xFFFF0000; c[6] = 0xCC00AA; c[7] = 0xAA5600; c[8] = 0xAAAA; c[9] = 0x00CC00; c[10] = 0x090056; c[11] = 0xF0F0F0; fg = true; SetWindowTextW(L"Лабораторна робота №4 Завдання №1. Варiант 7 Шевельок, Тахмазова 11-Мi клас");}BEGIN_MESSAGE_MAP(CProgramDlg, CDialog) ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, &CProgramDlg::OnBnClickedButton1)END_MESSAGE_MAP()// обработчики сообщений CProgramDlgBOOL CProgramDlg::OnInitDialog(){ CDialog::OnInitDialog(); // Задает значок для этого диалогового окна. Среда делает это автоматически, // если главное окно приложения не является диалоговым SetIcon(m_hIcon, TRUE); // Крупный значок SetIcon(m_hIcon, FALSE); // Мелкий значок // TODO: добавьте дополнительную инициализацию return TRUE; // возврат значения TRUE, если фокус не передан элементу управления}// При добавлении кнопки свертывания в диалоговое окно нужно воспользоваться приведенным ниже кодом,// чтобы нарисовать значок. Для приложений MFC, использующих модель документов или представлений,// это автоматически выполняется рабочей областью.void CProgramDlg::OnPaint(){ if (IsIconic()) { CPaintDC dc(this); // контекст устройства для рисования SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // Выравнивание значка по центру клиентского прямоугольника int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Нарисуйте значок dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); }}// Система вызывает эту функцию для получения отображения курсора при перемещении// свернутого окна.HCURSOR CProgramDlg::OnQueryDragIcon(){ return static_cast<HCURSOR>(m_hIcon);}void CProgramDlg::OnBnClickedButton1(){ double c;//змінні UpdateData(true); UpdateData(false); c = 0; c = (2.83*sin(pi / 8) + log(57.4)*pow(28.8, 0.33333)) / (2.5*sqrt(1 + pow(cos(pi/4), 2))); ms.Format(L"\n\n\tВiдповiдь %4.2f ", c); MessageBox(ms);//вивід результату // TODO: Add your control notification handler code here}#include <iostream>#include <cstring>using namespace std;int main(){ setlocale(LC_ALL, "rus"); cout << "\n\tШевельок,Тахмазова 11-Мi клас\n";//назва програми cout << "\n\tВарiант 7 \n"; cout << "\n\tЛабораторна робота №4 Завдання 2. \n"; double a, b,d,x,c,l; x = 0; printf("\n\t 2с-lg(d/4) "); printf("\n\tX= ----------"); printf("\n\t a^2-1\n"); cout << "\n\tВведiть параметр a="; cin >> a; cout << "\n\tВведiть параметр c="; cin >> c; cout << "\n\tВведiть параметр d="; cin >> d; b = log(d / 4); l = a*a - 1; x = (2 * c - log(b)) / l; printf("\n\tРезультат: X = %4.2f\n\n", b); cout << endl << endl << "\t"; system("pause"); return 0;}// ProgramDlg.cpp : файл реализации//#include "stdafx.h"#include "Program.h"#include "ProgramDlg.h"#include "afxdialogex.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// диалоговое окно CProgramDlgCProgramDlg::CProgramDlg(CWnd* pParent /*=NULL*/) : CDialog(IDD_PROGRAM_DIALOG, pParent) , A() , C() , D(){ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CProgramDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); c[0] = 0xFF00FF; c[1] = 0xFFA500; c[2] = 0xFFFF; c[3] = 0x0C7800; c[4] = 0x005690; c[5] = 0xFFFF0000; c[6] = 0xCC00AA; c[7] = 0xAA5600; c[8] = 0xAAAA; c[9] = 0x00CC00; c[10] = 0x090056; c[11] = 0xF0F0F0; fg = true; SetWindowTextW(L"\n\tЛабораторна робота №4. Завдання 2.Варiант 7 Шевельок,Тахмазова 11-Мi клас"); DDX_Text(pDX, IDC_EDIT1, A); DDX_Text(pDX, IDC_EDIT2, C); DDX_Text(pDX, IDC_EDIT3, D);}BEGIN_MESSAGE_MAP(CProgramDlg, CDialog) ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, &CProgramDlg::OnBnClickedButton1)END_MESSAGE_MAP()// обработчики сообщений CProgramDlgBOOL CProgramDlg::OnInitDialog(){ CDialog::OnInitDialog(); // Задает значок для этого диалогового окна. Среда делает это автоматически, // если главное окно приложения не является диалоговым SetIcon(m_hIcon, TRUE); // Крупный значок SetIcon(m_hIcon, FALSE); // Мелкий значок // TODO: добавьте дополнительную инициализацию return TRUE; // возврат значения TRUE, если фокус не передан элементу управления}// При добавлении кнопки свертывания в диалоговое окно нужно воспользоваться приведенным ниже кодом,// чтобы нарисовать значок. Для приложений MFC, использующих модель документов или представлений,// это автоматически выполняется рабочей областью.void CProgramDlg::OnPaint(){ if (IsIconic()) { CPaintDC dc(this); // контекст устройства для рисования SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // Выравнивание значка по центру клиентского прямоугольника int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Нарисуйте значок dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); }}// Система вызывает эту функцию для получения отображения курсора при перемещении// свернутого окна.HCURSOR CProgramDlg::OnQueryDragIcon(){ return static_cast<HCURSOR>(m_hIcon);}void CProgramDlg::OnBnClickedButton1(){ double a, c, d,b,l,f ;//змінні UpdateData(true); a = A; c = C; d = D; UpdateData(false); f = 0; b = log(d / 4); l = a*a - 1; f = (2 * c - b) / (l); ms.Format(L"\n\n\tВiдповiдь%4.2f ", f); MessageBox(ms);//вивід результату // TODO: Add your control notification handler code here}