Файл: Отчёт по практике Матвиенко дубль 3.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.05.2024

Просмотров: 71

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Міністерство освіти і науки України Машинобудівний коледж Сумського державного університету Циклова комісія спеціальності 5.05010101

Щоденник-звіт з навчальної практики База практики________________________________________________________

Завдання на навчальну практику студента

1 Теоретичні відомості

2 Практичне завдання

2.1 Завдання № 1

2.2 Завдання № 2

2.3 Завдання № 3

2.4 Завдання № 4-5

2.5 Завдання № 6

2.6 Завдання № 7

2.7 Завдання № 8

2.8 Завдання № 9 Програмування алгоритмів, що розгалужуються

2.9 Завдання № 10 Програмування циклічних алгоритмів.

3 Індивідуальні завдання

3.1 Програмування лінійних алгоритмів

3.2 Програмування алгоритмів, що розгалужуються

3.3 Програмування циклічних алгоритмів

3.4 Програмування з використанням одновимірних масивів

3.5 Покажчики. Програмування з використанням динамічних двовимірних масивів

2.10 Завдання № 11

Висновок

Література

// Center icon in client rectangle

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;

// Draw the icon

dc.DrawIcon(x, y, m_hIcon);

}

else

{

CDialog::OnPaint();

}

}

HCURSOR CLab_04_1Dlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon;

}

void CLab_04_1Dlg::OnAdd()

{

UpdateData(1); int NumCars = car[0].NumCars;

if (m_edAdd != "" && NumCars < 10)

{

m_lbGarage.AddString(m_edAdd);

car[NumCars].Litres = m_edLitres;

car[NumCars].Price = m_edPrice;

car[NumCars].Way = m_edWay;

car[NumCars].Tonnage = m_edTonnage;

car[NumCars].Weight = m_edWeight;

strcpy(car[NumCars].Cars, m_edAdd);

float z;

if (m_edTonnage > 0)

{

m_edNum = int(m_edWeight / m_edTonnage);

z = float(m_edWeight) / float(m_edTonnage);

if (m_edNum < z) m_edNum = m_edNum++;

}

else m_edNum = 1;

Result = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum;

CString s s.Format("%0.2f", Result);

m_lbResult.AddString(s);

m_lbGarage.SetCurSel(NumCars);

m_lbResult.SetCurSel(NumCars);

NumCars car[0].NumCars = NumCars;

UpdateData(0);

}

}

void CLab_04_1Dlg::OnGarage()

{

int x = m_lbGarage.GetCurSel();

m_edLitres = car[x].Litres;

m_edPrice = car[x].Price;

m_edWay = car[x].Way;

m_edTonnage = car[x].Tonnage;

m_edWeight = car[x].Weight;

float z;

if (m_edTonnage > 0) {

m_edNum = int(m_edWeight / m_edTonnage);

z = float(m_edWeight) / float(m_edTonnage);

if (m_edNum < z) m_edNum = m_edNum++;

}

else m_edNum = 1;

Result = (m_edWay/100)*m_edLitres*m_edPrice*m_edNum;

CString s; s.Format("%0.2f", Result); m_lbResult.DeleteString(x);

m_lbResult.InsertString(x, s);

m_lbResult.SetCurSel(xUpdateData(0);

void CLab_04_1Dlg::OnDel()

{

int NumCars = car[0].NumCars;int i;

Garage Mas[10]; int x = m_lbGarage.GetCurSel(); for (int i = 0; i < NumCars; i++) Mas[i] = car[i];

if (NumCars > 0) NumCars--;

for (i = 0; i < NumCars; i++)

if (i < x) car[i] = Mas[i];

else car[i] = Mas[i + 1];

m_lbGarage.DeleteString(x)

m_lbResult.DeleteString(x);

if (NumCars > 0 {

m_lbGarage.SetCurSel(NumCars - 1);

m_lbResult.SetCurSel(NumCars - 1);

CLab_04_1Dlg::OnGarage(); };

car[0].NumCars = NumCars;

}

void CLab_04_1Dlg::OnSave()

{

int NumCars = car[0].NumCars;

if (NumCars > 0)

{

int x = m_lbGarage.GetCurSel();

UpdateData(1);

car[x].Litres = m_edLitres;

car[x].Price = m_edPrice;

car[x].Tonnage = m_edTonnage;

if (m_cbWay == 0) car[x].Way = m_edWay;

else

for (int i = 0; i < NumCars; i++) car[i].Way = m_edWay;

if (m_cbWeight == 0) car[x].Weight = m_edWeight;

else

for (int i = 0; i < NumCars; i++)

car[i].Weight = m_edWeight;

for (int i = 0; i < NumCars; i++)

{

m_lbGarage.SetCurSel(i);

CLab_04_1Dlg::OnGarage();

UpdateData(0);

m_lbGarage.SetCurSel(x);

CLab_04_1Dlg::OnGarage(); }

CFileDialog fd(FALSE,NULL,"*.dat",NULL,"(*.*)|*.*|(*.dat)|*.dat|");

int res = fd.DoModal();

if (res = IDOK)

{

FILE *F;

F = fopen(fd.GetPathName(), "w");

fwrite(&car, sizeof(car), 1, F);

fclose(F);

}

}

void CLab_04_1Dlg::OnOptimum()


{

int NumCars = car[0].NumCars;

for (int i = 0; i < NumCars; i++)

{

m_lbGarage.SetCurSel(i);

CLab_04_1Dlg::OnGarage();

UpdateData(0);

}

if (NumCars > 0)

{

CString st;

m_lbResult.GetText(0, st);

Result = atof(st);

int j = 0;

float n;int i;

for (i = 1; i < NumCars; i++)

{

m_lbResult.GetText(i, st);

n = atof(st);

if (n < Result)

{

Result = n;

j = i;

} }

m_lbGarage.GetText(j, st);

st = "optimalniy variant" + st;

AfxMessageBox(st);

}

}

void CLab_04_1Dlg::OnOpen()

{

CFileDialog fd(TRUE,NULL,"*.dat",NULL,"(*.*)|*.*|(*.dat)|*.dat|");

int res = fd.DoModal();

if (res = IDOK)

{

for (int i = car[0].NumCars - 1; i >= 0 ; i--)

{

m_lbGarage.DeleteString(i);

m_lbResult.DeleteString(i);

}

FILE *F;

if ((F = fopen(fd.GetPathName(), "r")) != NULL)

fread(&car, sizeof(car), 1, F);

fclose(F);int i;

for (i = 0; i < car[0].NumCars; i++)

m_lbGarage.AddString(car[i].Cars);}}

Рис. 9 Результат виконання завданяя №6


2.6 Завдання № 7

Створення меню в Windows Application (на базі одиндокументного застосування). Підключення команд меню до коду програми.

Код програми:

#include "stdafx.h"

#include "lab_07.h"

#include "MainFrm.h"

#include "lab_07Doc.h"

#include "lab_07View.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

BEGIN_MESSAGE_MAP(CLab_07App, CWinApp)

//{{AFX_MSG_MAP(CLab_07App)

ON_COMMAND(ID_APP_ABOUT, OnAppAbout)

// NOTE - the ClassWizard will add and remove mapping macros here.

ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)

ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)

// Standard print setup command

ON_COMMAND(ID_FILE_PRINT_SETUP,

CWinApp::OnFilePrintSetup)

END_MESSAGE_MAP()

CLab_07App::CLab_07App()

{

}

CLab_07App theApp;

BOOL CLab_07App::InitInstance()

{

AfxEnableControlContainer();

// Standard initialization

#ifdef _AFXDLL

Enable3dControls(); // Call this when using MFC in a shared DLL

#else

Enable3dControlsStatic();

statically

#endif

SetRegistryKey(_T("Local AppWizard-Generated Applications"));

LoadStdProfileSettings(); // Load standard INI file options (including MRU)

CSingleDocTemplate* pDocTemplate;

pDocTemplate = new CSingleDocTemplate(

IDR_MAINFRAME,

RUNTIME_CLASS(CLab_07Doc),

RUNTIME_CLASS(CMainFrame),

RUNTIME_CLASS(CLab_07View));

AddDocTemplate(pDocTemplate);

CCommandLineInfo cmdInfo;

ParseCommandLine(cmdInfo);

if (!ProcessShellCommand(cmdInfo))

return FALSE;

m_pMainWnd->ShowWindow(SW_SHOW);

m_pMainWnd->UpdateWindow();

return TRUE;

}

class CAboutDlg : public CDialog

{

public:

CAboutDlg();

// Dialog Data

//{{AFX_DATA(CAboutDlg)

enum { IDD = IDD_ABOUTBOX };

//}}AFX_DATA

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX);

//}}AFX_VIRTUAL

// Implementation

protected:

//{{AFX_MSG(CAboutDlg)

// No message handlers

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

// App command to run the dialog

void CLab_07App::OnAppAbout()

Рис. 10 Результат виконання завданяя №7


2.7 Завдання № 8

Обчислити значення виразу . Порівняти набуте значення з вказаним правильним результатом (При x = 17.421; в = 10.365 ; z = 0.828 відповідь s = 0.086815.).

Код програми:

#include <conio.h>

#include <stdio.h>

#include <iostream.h>

#include <math.h>

int main ()

{

double x,y,z,a,b,s;

cout << "Vvedite x: ";

cin >> x;

cout << "Vvedite y: ";

cin >> y;

cout << "Vvedite z: ";

cin >> z;

a = pow(y+(pow((x-1),1/3)), 1/4 );

b = fabs(x-y)*(pow(sin(z),2)+tan(z));

s=a/b;

cout << "Result s= " << s << endl;

return 0;getch();}

Рис. 12 Результат виконання завданяя №8


2.8 Завдання № 9 Програмування алгоритмів, що розгалужуються

Завдання

Код програми:

#include <conio.h>

#include <stdio.h>

#include <iostream.h>

#include <math.h>

int main ()

{

double x,y,z,a,b,s;

cout << "Vvedite x: ";

cin >> x;

cout << "Vvedite y: ";

cin >> y;

cout << "Viberite f: 1 - sh(x), 2 - x^2, 3 - exp(x)";

cin >> z;

a = pow(y+(pow((x-1),1/3)), 1/4 );

b = fabs(x-y)*(pow(sin(z),2)+tan(z));

s=a/b;

cout << "Result s= " << s << endl;

return 0;getch();}

Рис. 13 Результат виконання завданяя №9

2.9 Завдання № 10 Програмування циклічних алгоритмів.

а

b

S(x)

n

Y(x)

–2

–0.1

160

Таблиця 1

Код програми:

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

int main()

{

double a,b,h,x,y,s,p;

int n,i;

cout << "Vvedite a,b,n" << endl;

cin >> a >> b >> n;

h=(b-a)/10;

x=a;

do

{

p=s=1;

for (i=0; i<=n; i++)

{

s += pow((-1),i)*(2*n*n+1)*pow(x,(2*n))/(2*n);

}

y=(1-x*x/2)*cos(x)-x/2*sin(x);

cout << setw(15) << x << setw(15) << y << setw(15) << s << endl;

x += h;}

while (x <= b+h/2);

cout << endl;

return 0;

}

Рис. 14 Результат виконання завданяя №10