
Міністерство освіти і науки, молоді та спорту України
Дніпропетровський коледж ракетно-космічного машинобудування
Дніпропетровського національного університету імені Олеся Гончара
ЗВІТ
з лабораторних робіт
з дисципліни «Об’єктно-орієнтоване програмування»
Спеціальність 5.05010301
Група ПЗ-10-1
Виконав Медніков М.Є
Перевірила Добровольська Л.Ф.
2012
ЗМІСТ
Лабораторна робота № 1………………………………………………………… 3
Лабораторна робота № 2………..………….………………………….……… 5
Лабораторна робота № 3-4……...……………………………………………… 11
Лабораторна робота № 5-6……...……………………………………………… 15
Лабораторна робота № 7-8……...……………………………………………… 22
Лабораторна робота № 9-10……...…………………………………………… 27
Лабораторна робота № 11-12……...…………………………………………… 34
Лабораторна робота № 13-14……...…………………………………………… 39
Лабораторна робота № 15-16……...…………………………………………… 47
Лабораторна робота № 17-18……...…………………………………………… 19
Лабораторна робота №1
Знайомство з системою програмування Microsoft Visual C++
Мета: ознайомитись з системою програмування Microsoft Visual C++ та створити простий проект.
Хід роботи
Microsoft Visual Studio 6.0 це система програмування , до складу якої входить IDE (програмний продукт, що включає в собі текстовий редактор, компілятор, відгадчик і довідкову систему).
Середовище розробки дозволяє будувати проекти різних типів , орієновані на різні сфери застосування.
Створив простий додаток типу
Додав до проекту новий файл.
Додав наявний файл.
Створив та захистив звіт.
Код програми основної функції
// lr1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int main(int argc, char* argv[])
{
printf("Hello World!\n");
printf("Hello!!!\n");
return 0;
}
Код функції наявного файлу
#include "stdafx.h"
#include <iostream.h>
int jmain()
{int x=0,sum=0;
bool flag=true;
while(flag==true)
{
cout<<" enter x "<<endl;
cin>>x;
if(x>0)
{
sum+=x;
continue;
}
flag=false;
}
cout<<"Summ = "<<sum<<endl;
return 0;
}
Копія вікна виконання програми
Висновок: Під час лабораторної роботи я ознайомився з системою програмування Microsoft Visual C++ та створила простий проект.
Лабораторна робота №2
Створення простого проекту.
Мета: Отримання навичок створення простого проекту у середовищі MVC++.
Хід роботи
Створив програму, на основі прикладу, у якому оголошується цілочисельна змінна х та покажчик на неї рх, цій змінній привласнюється значенння 5. Також оглошується дійсна змінна у та покажчик на неї ру, цій змінній привласнюється значенння 5.67, а потім на екран виводяться значення та адреса зміної та значення покажчика.
Код програми:
// 2.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
Int main(int argc, char* argv[])
{
int x=5;
int*px=&x;
double y=5.67;
double*py=&y;
cout<<"Value x\\t\t"<<x<<endl;
cout<<"Adress x\t"<<&x<<endl;
cout<<" Pointer px\t"<<px<<endl<<endl;
cout<<"Value y\\t\t"<<y<<endl;
cout<<"Adress y\t"<<&y<<endl;
cout<<" Pointer py\t"<<py<<endl<<endl;
getch();
return 0;
}
Копія вікна виконання програми:
Створив програму , що розіменує покажчика.
Код програми:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
Int main(int argc, char* argv[])
{
double v1=0.05,v2=2.5e32;
double*pv;
pv=&v1;
cout<<"pv=\t"<<pv<<endl;
cout<<"v1=\t"<<v1<<endl;
cout<<"*pv=\t"<<*pv<<endl;
pv=&v2;
cout<<"pv=\t"<<pv<<endl;
cout<<"v2=\t"<<v2<<endl;
cout<<"*pv=\t"<<*pv<<endl;
getch();
return 0;
}
Копія вікна виконання програми:
Створив програму з операторами розподілу памʼяті new i delete
Код програми:
// 2_3.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"rus"); //русификация
int*pi;
unsigned short*pu;
pi=new int;
pu=new unsigned short(200);
double*pd=new double;
float*pf=new float(-2.15);
cout<<" указатели "<<endl<<"pi\t"<<pi<<endl<<"pu\t"<<pu<<endl;
cout<<"pd\t"<<pd<<endl<<"pf\t"<<pf<<endl;
cout<<endl<<endl<<" переменные "<<endl;
cout<<"*pu\t"<<*pu<<endl<<"*pf\t"<<*pf<<endl;
cout<<endl<<" Переменная без инициализации "<<endl;
cout<<"*pi\t"<<endl<<"*pd\t"<<*pd<<endl;
*pi=-*pu;
*pd=-*pf;
cout<<endl<<endl<<"Переменнная после инициализации "<<endl;
cout<<"*pi\t"<<*pi<<endl<<"*pi\t"<<*pi<<endl;
getch();
return 0;
}
Копія вікна виконання програми:
Створив програму роботи з масивами з використанням вказівника
Код програми:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int array[]={10,20,30,40,50};
double d_ar[]={3.15,2.17,4.9,8.7,7.0};
int d_s=sizeof(d_ar)/sizeof(d_ar[0]);
int size=sizeof(array)/sizeof(array[0]);
for(int i=0;i<size;i++)
cout<<*(array+i)<<'\t';
cout<<endl;
int*p=array;
int count=0;
do
{
cout<<*p++<<'\t';
count++;
}
while(count<size);
cout<<endl;
for(int i=0;i<d_s;i++)
cout<<*(d_ar+i)<<'\t';
cout<<endl;
double*dp=d_ar;
int d_c=0;
do
{
cout<<*dp++<<'\t';
d_c++;
}
while(d_c<d_s);
cout<<endl;
getch();
return 0;
}
Копія вікна виконання програми:
Створив програму роботи зі структурами з використанням вказівника.
Код програми:
#include "stdafx.h"
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL,"rus");
struct Name
{
char f_name[20];
char s_name[20];
};
struct Age
{
int age;
};
struct Adress
{
char city[20];
char street[20];
int house;
};
struct student
{Name n;
Age ag;
Adress adr;
};
student*p=new student;
cout<<" Введите город "<<endl;
cin>>p->adr.city;
cout<<" Введите имя "<<endl;
cin>>p->n.f_name;
cout<<" Введите возраст "<<endl;
cin>>p->ag.age;
getch();
return 0;
}
Копія вікна виконання програми:
Висновок: Під час виконання лабораторної роботи я навчився використовувати функції взяття адресу, розіменовувати покажчики, працювати з операторами new i delete, масивами та структурами з використанням покажчика.
Лабораторна робота №3-4
Проектування та створення класу; складання методу класу та організація роботи з методом класу в програмі.
Мета: навчитись проектувати та створювати класи, проектувати методи класу; підлагоджувати та тестувати програми, які працюють з класами; використати методи класу в програмі.
Хід роботи
Частина 1
Створив проект типу Win32 Console Application.
Додав до нього клас myClass.
До файлу специфікації myClass.h додав наступний код
#pragma once
class myClass
{
public:
myClass();
virtual ~myClass();
unsigned int factorial(unsigned int i);
};
До файлу реалізації myClass.cpp додав наступний код
#include "stdafx.h"
#include "myClass.h"
#include <iostream>
using namespace std;
myClass::myClass()
{
cout << "myClass created!\n" << endl;
}
myClass::~myClass()
{
cout << "myClass destroyed!\n" << endl;
}
unsigned int myClass :: factorial(unsigned int i)
{
int res = i;
while (i>1)
res *= --i;
return res;
До головної функції додав наступний код
// lab3.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include "myClass.h"
#include <stdlib.h>
using namespace std;