Відокремлений структурний підрозділ Золочівський коледж
Національного університету «Львівська політехніка»
Циклова комісія природничо-математичних та комп’ютерних дисциплін
ЗВІТИ
з лабораторних робіт
з дисципліни
«Проблемно-орієнтованого програмування»
Студента 3 курсу ОПС-3 групи
Напряму підготовки
6.050101 Комп’ютерні науки
Спеціальності
5.05010101 Обслуговування програмних систем та комплексів
Заяць В.М.
Викладач Олійник Б.П.
Результати захищених лабораторних робіт
№
Назва лабораторної роботи
Оцінка
Золочів 2016
Лабораторна робота №3
Тема: Робота із функціями
Мета: Для розв'язування усіх задач використовуйте функцію.
Короткі теоретичні відомості
Підпрограма (англ. subroutine) — частина програми, яка реалізує певний алгоритм і дозволяє звернення до неї з різних частин загальної (головної) програми. В термінах мов програмування: функції (С), процедури (Pascal), методи (в термінології об'єктно-орієнтованого програмування в мовах C++, Java, С# та ін.).
Підпрограма часто використовується для скорочення розмірів програм в тих задачах, в процесі розв'язання яких необхідно виконати декілька разів однаковий алгоритм при різних значеннях параметрів. Інструкції (оператори, команди), які реалізують відповідну підпрограму, записують один раз, а в необхідних місцях розміщують інструкцію виклику підпрограми.
Хід роботи
Отримати допуск до роботи у викладача, давши відповідь та теоретичні запитання.
Написати програми до завдань та реалізувати їх у середовищі VisualStudio.
Виконати індивідуальне завдання. (на оцінку 5).
Дати відповідь на контрольні питання.
Скласти звіт,у якому зобразити теоретичні відомості, виконані програми та результати виконання програм, відповіді на контрольні питання та висновки до лабораторної роботи.
Захистити звіт у викладача.
1.1 Умова завдання
Скласти програму яка буде додавати два дійсних числа. Використовуючи функцію.
1.2 Код програми
#include <iostream>
#include <conio.h>
using namespace std;
double ad(double a,double b,double x)
{
x=a*b;
cout<<x;
return x;
}
int main()
{double a,b,x;
cin>>a>>b>>x;
ad(a,b,x);
_getch();
return 0;
}
1.3 Опис коду
У програмі використовувалась функція, у якій знаходився добуток, та зразу виводився, та повертає х.
ad(a,b,x); - виклик функції.
Результат виконання задачі показаний у додатку А.
2.1 Умова завдання
Є 24 працівника. Скількова способами можна скласти команду із 4 чоловік.
2.2 Код програми
#include <iostream>
#include <conio.h>
using namespace std;
double ad(int n, int m)
{int i; double c;
float n1,m1;
for (i=1; i<=n; i++)
{
n1*=i;
}
for (i=1; i<=m; i++)
{
m1*=i;
}
c=(n1)/(n1-m1)*m1;
cout<<c<<endl;
return c;
}
int main()
{int n,m;
cout<<"Введіть n та m: "<<endl;
cin>>n>>m;
ad(n,m);
_getch();
return 0;
}
2.3 Опис коду
У функції використовується два цикла, для обчислення факторіала «!», піся циклів йде простий оператор який обчислює всі дані які були в циклах.
Результат виконання задачі показаний у додатку B.
3.1 Умова завдання
Використовуючи функцію, складіть програму для обчислення максимального з шести введених цілих чисел.
3.2 Код програми
#include <iostream>
#include <conio.h>
using namespace std;
double ad(int a[6], int c)
{int i; int max=0;
for (i=0; i<6; i++)
{
if (a[i]>max) {max=a[i];}
}
cout<<max<<endl;
return max;
}
int main()
{int n; int c;
int a[6];
for (int i=0; i<6; i++)
{
cin>>a[i];
}
ad(a,c);
_getch();
return 0;
}
3.3 Опис коду
У фунції існує лише 1 цикл в якому провіряються елементи масиву на максимальність, та після циклу виводиться максимальний елемент.
Результат виконання задачі показаний у додатку C.
4.1 Умова завдання
Використовуючи перевантаження функцій, складіть програму для обчислення добутку семи введених даних. Дані можуть бути цілого або дійсного типів.
4.2 Код програми
#include <iostream>
#include <conio.h>
using namespace std;
int dob(int a[], int dob)
{dob=1;
for(int i=0; i<7; i++)
{
dob*=a[i];
}
cout<<"Добуток: "<<dob;
return dob;
}
int main()
{int i;
int a[7];
for(i=0; i<7; i++)
{
cin>>a[i];
}
dob(a,i);
_getch();
return 0;
}
4.3 Опис коду
У функції існує цикл який знаходить добуток масиву, та виводить його.
Результат виконання задачі показаний у додатку D.
ДОДАТКИ
Додаток А
Запис.
/
Додаток B
Масив в файлі.
/
Додаток C
Довжина рядка.
/
Додаток D
Довжина рядка.
/