Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра САПР
РОЗРАХУНКОВА РОБОТА
з курсу:
“ Проблемно-орієнтоване програмування ”
Варіант - 17
Програма №1
Написати програму, що використовує функцію, яка повертає з переданого їй рядка три останні букви.
Код програми:
#include <stdio.h>
#include <string.h>
#include <conio.h>
void Last_Letters(char* s1, char* s2) {
int l = strlen(s1);
for (int i = 0; i < 3; i++)
s2[i] = s1[l - 3 + i];
s2[3] = '\0';
}
int main(void) {
char s1[100], s2[4];
puts("Enter String");
gets(s1);
Last_Letters(s1, s2);
printf("Result: %s", s2);
_getch();
return 0;
}
Результат виконання:
/
Програма №2
Створити клас three_d для роботи з точками трьохмірного простору (змінні типу float). Написати програму, яка використовуючи перевантажені оператори вводу і виводу, демонструє ввід і вивід елементів даного класу (на прикладі 4-ох елементів типу three_d).
Код програми:
#include <iostream>
#include <conio.h>
using namespace std;
class Three_D {
float x;
float y;
float z;
public:
Three_D() {
x = y = z = 0;
}
Three_D(float a) {
x = y = z = a;
}
Three_D(float a, float b, float c) {
x = a;
y = b;
z = c;
}
friend ostream& operator << (ostream&, Three_D);
};
ostream& operator << (ostream& out, Three_D obj) {
out << "(" << obj.x << ", " << obj.y << ", " << obj.z << ")" << endl;
return out;
}
int main() {
Three_D p1, p2(1.9, 2.8, 3.7), p3(9.1, 8.2, 7.3), p4(3.14);
cout << "Point 1: " << p1 << endl;
cout << "Point 2: " << p2 << endl;
cout << "Point 3: " << p3 << endl;
cout << "Point 4: " << p4 << endl;
_getch();
return 0;
}
Результат виконання:
/
Програма №3
Описати базовий клас з двома захищеними змінними фіксованого типу. Описати в ньому функції задання цих змінних і виводу (cout) на екран. Створити два похідних класи: другий - похідний від першого. Використовуючи принцип наслідування, в першому похідному класі реалізувати знаходження максимального елемента а в другому - мінімального елемента. В основній функції main вивести на екран ці значення шляхом звертання до відповідних функцій класів.
Код програми:
#include <iostream>
#include <conio.h>
using namespace std;
class First_Class {
protected:
int a, b;
public:
First_Class() {
a = b = 0;
}
void Set(int c, int d) {
a = c;
b = d;
}
void Show() {
cout << "A = " << a << endl;
cout << "B = " << b << endl;
}
};
class Second_Class :virtual public First_Class {
public:
Second_Class() {
First_Class();
}
int Max() {
return a > b ? a : b;
}
};
class Third_Class :virtual public Second_Class {
public:
Third_Class() {
Second_Class();
}
int Min() {
return a < b ? a : b;
}
};
int main() {
int a, b;
Third_Class obj;
cout << "Enter A" << endl;
cin >> a;
cout << "Enter B" << endl;
cin >> b;
obj.Set(a, b);
obj.Show();
cout << "Maximum: " << obj.Max() << endl;
cout << "Minimum: " << obj.Min() << endl;
_getch();
return 0;
}
Результат виконання:
/