Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК_ПрОА_Лабораторные работы.doc
Скачиваний:
22
Добавлен:
03.05.2015
Размер:
606.72 Кб
Скачать

Лабораторная работа № 5 Технология объектно-ориентированного программирования

Цель работы– познакомиться на практике с основными концепциями объектно-ориентированного программирования и исследовать типовые операторы языка С++ (арифметические, логические, операторы управления ходом программы, операторы ввода-вывода), получить навыки работы со специфическими типами данных С++ (классы, объекты). Проверить области действия внутренних и внешних свойств и методов объектов.

Этап 5.1. Исследование типовых операторов языка С++

  1. Вам предстоит, действуя по шаблонам и используя разработанные ранее алгоритмы, создать простейшие программы обработки числовых данных и сохранить их в виде файлов int_1.cpp, int_2.cpp и т.д. для простых чисел,arr_1.cpp, arr_2.cppи т.д. для массивов.

  2. Переписать из листинга № 1 и отладить программу суммирования двух целых чисел.

Листинг 1.Ввести два целых числа. Вычислить их сумму и вывести результат на экран.

#include <iostream.h>

#include<fstream.h>

void main (void)

{

int a,b,c;

cout<<"Введите два целых числа" <<endl;

cin>>a>>b;

c=a+b;

cout<<"Результат сложения: "<<c<<endl;

}

  1. По аналогии с предыдущим заданием написать и отладить программы:

  • ввести два целых числа. Найти их разницу и результат вывести на экран;

  • ввести два целых числа. Минимальное из них удвоить и результат вывести на экран.

  1. Придумать 2 аналогичные задачи, записать решение их на языке С++ и отладить программу.

  2. Переписать из листинга № 2 и отладить программу обработки массива целых чисел.

Листинг 2.Ввести одномерный массив целых чисел. Преобразовать его, заменив положительные элементы 1, отрицательные-0. Результат вывести на экран.

#include <iostream.h>;

void main()

{

int A[4];

int i;

cout<<"Введите массив целых чисел" <<endl;

for (i=0; i<=3; i++) //ввод массива

cin >> A[i];

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

if (A[i]>0) A[i]=1;

else

A[i]=0;

cout<<"Результат преобразования массива" <<endl;

for (i=0; i<=3; i++) //вывод результата

cout << A[i] << "\n";

}

  1. Придумать 2 аналогичные задачи, записать алгоритм их решения на языке С++ и отладить программу.

Этап 5.2. Исследование механизма работы с подпрограммами

  1. Переписать из листинга № 3 текст программы, исследовать ее работу, объяснить результат.

Листинг 3.

#include <iostream.h>

void show(void)

{

сout<<"Функция show"<<endl;

}

void main(void)

{

сout<<"Вызов функции show"<<endl;

show();

cout<<"Boзврат в основную npoграмму"<<endl;

}

  1. Переписать из листинга № 4 текст программы, исследовать ее работу, объяснить результат.

Листинг 4.

#include <iostream.h>

void max (float x, float у) //х, у - формальные параметры

{

if (x>y) cout<<x<<">"<<y<<endl;

else cout<<y<<">"<<x<<endl;

}

void main(void)

{

float a,b;

cin>>a>>b;

max(a,b); //a, b — фактические параметры

max (20,10); //20, 10 — фактические параметры-значения

max (2.71,3.14); //2.71, 3.14 - фактические параметры-значения

}

  1. Переписать из листинга № 5 текст программы, исследовать ее работу, объяснить результат.

Листинг 5.

#include <iostream.h>

float max(float x,float y)

{

float result;

if (x>y) result=x;

else result=y;

return (result);

}

void main(void)

{

float a,b;

cin>>a>>b;

соut<<"Наибольшее из двух чисел" <<a<<" и "<<b<<":"<<max(а,b)<<endl;

соut<<"Наибольшее из двух чисел 2.71 и 3.14: "<< max(2.71, 3.14)<<endl;

}