Додані лабораторні роботи № 8, 9
This commit is contained in:
commit
9189d6754f
50 changed files with 708 additions and 0 deletions
5
README.md
Normal file
5
README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Базові методології та технології програмування (курс І, семестр 2)
|
||||||
|
|
||||||
|
Лабораторні роботи студента академгрупи KН-22з Михайленка Станіслава Георгійовича
|
||||||
|
|
||||||
|
Кропивницький | <a href="http://www.kntu.kr.ua/">ЦНТУ</a> | 2023
|
21
lab08/README.md
Normal file
21
lab08/README.md
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Лабораторна робота № 8
|
||||||
|
|
||||||
|
Тема Реалізація статичних бібліотек модулів лінійних обчислювальних процесів
|
||||||
|
|
||||||
|
Мета полягає у набутті ґрунтовних вмінь і практичних навичок
|
||||||
|
застосування теоретичних положень методології модульного програмування,
|
||||||
|
реалізації метода функціональної декомпозиції задач, метода модульного
|
||||||
|
(блочного) тестування, представлення мовою програмування С++ даних
|
||||||
|
скалярних типів, арифметичних і логічних операцій, потокового введення й
|
||||||
|
виведення інформації, розроблення програмних модулів та засобів у
|
||||||
|
кросплатформовому середовищі Code::Blocks (GNU GCC Compiler).
|
||||||
|
|
||||||
|
Завдання Реалізувати статичну бібліотеку модулів libModulesMykhailenko
|
||||||
|
C / C++, яка містить функцію розв’язування задачі 8.1.
|
||||||
|
2. Реалізувати програмне забезпечення розв’язування задачі 8.2 —
|
||||||
|
консольний застосунок
|
||||||
|
|
||||||
|
Варіант № 1
|
||||||
|
|
||||||
|
|
||||||
|
Кропивницький | <a href="http://www.kntu.kr.ua/">ЦНТУ</a> | 2023
|
BIN
lab08/Report/Report.pdf
Normal file
BIN
lab08/Report/Report.pdf
Normal file
Binary file not shown.
BIN
lab08/Software/Mykhailenko_task.exe
Executable file
BIN
lab08/Software/Mykhailenko_task.exe
Executable file
Binary file not shown.
BIN
lab08/TestSuite/TS.doc
Normal file
BIN
lab08/TestSuite/TS.doc
Normal file
Binary file not shown.
BIN
lab08/TestSuite/TS_Unit.doc
Normal file
BIN
lab08/TestSuite/TS_Unit.doc
Normal file
Binary file not shown.
11
lab08/prj/ModulesMykhailenko.h
Normal file
11
lab08/prj/ModulesMykhailenko.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#ifndef MODULESMYKHAILENKO_H_INCLUDED
|
||||||
|
#define MODULESMYKHAILENKO_H_INCLUDED
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
float s_calculation(int x, int y, int z) {
|
||||||
|
return fabs(sin(fabs(y-pow(z,2)))+sqrt(x)-sqrt(pow(y*z, x)+(y/(2*M_PI))));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif // MODULESMYKHAILENKO_H_INCLUDED
|
40
lab08/prj/ModulesMykhailenko/ModulesMykhailenko.cbp
Normal file
40
lab08/prj/ModulesMykhailenko/ModulesMykhailenko.cbp
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="ModulesMykhailenko" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="bin/Debug/ModulesMykhailenko" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="bin/Release/ModulesMykhailenko" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="ModulesMykhailenko.cpp" />
|
||||||
|
<Extensions />
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
5
lab08/prj/ModulesMykhailenko/ModulesMykhailenko.cpp
Normal file
5
lab08/prj/ModulesMykhailenko/ModulesMykhailenko.cpp
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
|
float s_calculation(int x, int y, int z) {
|
||||||
|
return fabs(sin(fabs(y-pow(z,2)))+sqrt(x)-sqrt(pow(y*z, x)+(y/(2*M_PI))));
|
||||||
|
}
|
10
lab08/prj/ModulesMykhailenko/ModulesMykhailenko.layout
Normal file
10
lab08/prj/ModulesMykhailenko/ModulesMykhailenko.layout
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_layout_file>
|
||||||
|
<FileVersion major="1" minor="0" />
|
||||||
|
<ActiveTarget name="Debug" />
|
||||||
|
<File name="ModulesMykhailenko.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="139" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
</CodeBlocks_layout_file>
|
BIN
lab08/prj/ModulesMykhailenko/bin/Debug/libModulesMykhailenko.a
Normal file
BIN
lab08/prj/ModulesMykhailenko/bin/Debug/libModulesMykhailenko.a
Normal file
Binary file not shown.
BIN
lab08/prj/ModulesMykhailenko/obj/Debug/ModulesMykhailenko.o
Normal file
BIN
lab08/prj/ModulesMykhailenko/obj/Debug/ModulesMykhailenko.o
Normal file
Binary file not shown.
41
lab08/prj/Mykhailenko_task/Mykhailenko_task.cbp
Normal file
41
lab08/prj/Mykhailenko_task/Mykhailenko_task.cbp
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="Mykhailenko_task" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="bin/Debug/Mykhailenko_task" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="bin/Release/Mykhailenko_task" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-fexceptions" />
|
||||||
|
</Compiler>
|
||||||
|
<Unit filename="../ModulesMykhailenko.h" />
|
||||||
|
<Unit filename="main.cpp" />
|
||||||
|
<Extensions>
|
||||||
|
<lib_finder disable_auto="1" />
|
||||||
|
</Extensions>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
15
lab08/prj/Mykhailenko_task/Mykhailenko_task.layout
Normal file
15
lab08/prj/Mykhailenko_task/Mykhailenko_task.layout
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_layout_file>
|
||||||
|
<FileVersion major="1" minor="0" />
|
||||||
|
<ActiveTarget name="Debug" />
|
||||||
|
<File name="main.cpp" open="1" top="1" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="37" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="..\ModulesMykhailenko.h" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="78" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
</CodeBlocks_layout_file>
|
BIN
lab08/prj/Mykhailenko_task/bin/Debug/Mykhailenko_task.exe
Executable file
BIN
lab08/prj/Mykhailenko_task/bin/Debug/Mykhailenko_task.exe
Executable file
Binary file not shown.
34
lab08/prj/Mykhailenko_task/main.cpp
Normal file
34
lab08/prj/Mykhailenko_task/main.cpp
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
#include <iostream>
|
||||||
|
#include <cmath>
|
||||||
|
#include <clocale>
|
||||||
|
#include "ModulesMykhailenko.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
char a, b;
|
||||||
|
int x, y, z;
|
||||||
|
|
||||||
|
setlocale(LC_ALL, "");
|
||||||
|
|
||||||
|
cout << "\u00A9 Ìèõàéëåíêî Ñòàí³ñëàâ" << endl;
|
||||||
|
|
||||||
|
cout << "Ââåä³òü x: ";
|
||||||
|
cin >> x;
|
||||||
|
cout << "Ââåä³òü y: ";
|
||||||
|
cin >> y;
|
||||||
|
cout << "Ââåä³òü z: ";
|
||||||
|
cin >> z;
|
||||||
|
cout << "Ââåä³òü a: ";
|
||||||
|
cin >> a;
|
||||||
|
cout << "Ââåä³òü b: ";
|
||||||
|
cin >> b;
|
||||||
|
|
||||||
|
cout << boolalpha << (a + 7 == b) << endl;
|
||||||
|
|
||||||
|
cout << "x = " << dec << x << ", ó ø³ñòíàäöÿòêîâ³é ñèñòåì³ ÷èñëåííÿ: " << hex << x << endl;
|
||||||
|
cout << "y = " << dec << y << ", ó ø³ñòíàäöÿòêîâ³é ñèñòåì³ ÷èñëåííÿ: " << hex << y << endl;
|
||||||
|
cout << "z = " << dec << z << ", ó ø³ñòíàäöÿòêîâ³é ñèñòåì³ ÷èñëåííÿ: " << hex << z << endl;
|
||||||
|
|
||||||
|
cout << "s = " << s_calculation(x, y, z) << endl;
|
||||||
|
}
|
BIN
lab08/prj/Mykhailenko_task/obj/Debug/Mykhailenko_task/main.o
Normal file
BIN
lab08/prj/Mykhailenko_task/obj/Debug/Mykhailenko_task/main.o
Normal file
Binary file not shown.
39
lab08/prj/TestDriver/TestDriver.cbp
Normal file
39
lab08/prj/TestDriver/TestDriver.cbp
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="TestDriver" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="bin/Debug/TestDriver" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="bin/Release/TestDriver" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-fexceptions" />
|
||||||
|
</Compiler>
|
||||||
|
<Unit filename="../ModulesMykhailenko.h" />
|
||||||
|
<Unit filename="main.cpp" />
|
||||||
|
<Extensions />
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
10
lab08/prj/TestDriver/TestDriver.depend
Normal file
10
lab08/prj/TestDriver/TestDriver.depend
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# depslib dependency file v1.0
|
||||||
|
1677070336 source:z:\bmtp8\prj\testdriver\main.cpp
|
||||||
|
"../ModulesMykhailenko.h"
|
||||||
|
<iostream>
|
||||||
|
<limits>
|
||||||
|
<clocale>
|
||||||
|
|
||||||
|
1677069928 z:\bmtp8\prj\modulesmykhailenko.h
|
||||||
|
<cmath>
|
||||||
|
|
10
lab08/prj/TestDriver/TestDriver.layout
Normal file
10
lab08/prj/TestDriver/TestDriver.layout
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_layout_file>
|
||||||
|
<FileVersion major="1" minor="0" />
|
||||||
|
<ActiveTarget name="Debug" />
|
||||||
|
<File name="main.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="10" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
</CodeBlocks_layout_file>
|
BIN
lab08/prj/TestDriver/bin/Debug/TestDriver.exe
Executable file
BIN
lab08/prj/TestDriver/bin/Debug/TestDriver.exe
Executable file
Binary file not shown.
32
lab08/prj/TestDriver/main.cpp
Normal file
32
lab08/prj/TestDriver/main.cpp
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#include "ModulesMykhailenko.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include <limits>
|
||||||
|
#include <clocale>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
bool test(int x, int y, int z, float s) {
|
||||||
|
if ((s != NAN && s_calculation(x, y, z) == s) || (isnan(s) && isnan(s_calculation(x, y, z))))
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
cout << "Î÷³êóâàíèé ðåçóëüòàò: " << s << " Îòðèìàíèé ðåçóëüòàò: " << s_calculation(x, y, z) << endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int x[5] = {7, 2, 9, 0, 7};
|
||||||
|
int y[5] = {2, 45, 0, 0, 5};
|
||||||
|
int z[5] = {1, 6, 1, 0, 4};
|
||||||
|
float s[5] = {7.84054470062256, 268.186920166016, 3.841470956802375, 1, 35775.44140625};
|
||||||
|
|
||||||
|
cout.precision(std::numeric_limits<double>::digits10);
|
||||||
|
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
test(x[i], y[i], z[i], s[i])
|
||||||
|
? cout << "Test " << i << " (x = " << x[i] << ", y = " << y[i] << ", z = " << z[i] << ", s = " << s[i] << ") " << " passed"
|
||||||
|
: cout << "Test " << i << " (x = " << x[i] << ", y = " << y[i] << ", z = " << z[i] << ", s = " << s[i] << ") " << " failed";
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
lab08/prj/TestDriver/obj/Debug/TestDriver/main.o
Normal file
BIN
lab08/prj/TestDriver/obj/Debug/TestDriver/main.o
Normal file
Binary file not shown.
BIN
lab08/tasks/L8-var--001.jpg
Normal file
BIN
lab08/tasks/L8-var--001.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 275 KiB |
14
lab09/README.md
Normal file
14
lab09/README.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Лабораторна робота № 9
|
||||||
|
|
||||||
|
Тема Реалізація програмних модулів розгалужених та ітераційних обчислювальних процесів
|
||||||
|
|
||||||
|
Мета роботи полягає у набутті ґрунтовних вмінь і практичних навичок реалізації технології модульного програмування, застосування операторів С / С++ арифметичних, логічних, побітових операцій, умови, циклів та вибору під час розроблення статичних бібліотек, заголовкових файлів та програмних засобів у кросплатформовому середовищі Code::Blocks.
|
||||||
|
|
||||||
|
Завдання
|
||||||
|
1. Реалізувати функції розв’язування задач 9.1–9.3 як складових статичної бібліотеки libModulesMykhailenko.а (проект ModulesMykhailenko, створений під час виконання лабораторної роботи No 8).
|
||||||
|
2. Реалізувати програмне забезпечення розв’язування задачі 9.4 на основі функцій статичної бібліотеки libModulesMykhailenko.а.
|
||||||
|
|
||||||
|
Варіант № 30
|
||||||
|
|
||||||
|
|
||||||
|
Кропивницький | <a href="http://www.kntu.kr.ua/">ЦНТУ</a> | 2023
|
BIN
lab09/Report/Report.pdf
Normal file
BIN
lab09/Report/Report.pdf
Normal file
Binary file not shown.
BIN
lab09/Software/Mykhailenko_task.exe
Executable file
BIN
lab09/Software/Mykhailenko_task.exe
Executable file
Binary file not shown.
BIN
lab09/TestSuite/TS_9.4.doc
Normal file
BIN
lab09/TestSuite/TS_9.4.doc
Normal file
Binary file not shown.
BIN
lab09/TestSuite/TS_Unit1.doc
Normal file
BIN
lab09/TestSuite/TS_Unit1.doc
Normal file
Binary file not shown.
BIN
lab09/TestSuite/TS_Unit2.doc
Normal file
BIN
lab09/TestSuite/TS_Unit2.doc
Normal file
Binary file not shown.
BIN
lab09/TestSuite/TS_Unit3.doc
Normal file
BIN
lab09/TestSuite/TS_Unit3.doc
Normal file
Binary file not shown.
26
lab09/prj/ModulesMykhailenko.h
Normal file
26
lab09/prj/ModulesMykhailenko.h
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
#ifndef MODULESMYKHAILENKO_H_INCLUDED
|
||||||
|
#define MODULESMYKHAILENKO_H_INCLUDED
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
using std::string;
|
||||||
|
|
||||||
|
float s_calculation(int x, int y, int z);
|
||||||
|
|
||||||
|
typedef struct Deposit {
|
||||||
|
float totalInterest;
|
||||||
|
float monthlyInterestPaid;
|
||||||
|
} Deposit;
|
||||||
|
|
||||||
|
typedef struct Size {
|
||||||
|
int french;
|
||||||
|
string international;
|
||||||
|
} Size;
|
||||||
|
|
||||||
|
Deposit getPayment(float value, int months);
|
||||||
|
|
||||||
|
Size getSize(int slovakSize);
|
||||||
|
|
||||||
|
int t9_3(int number);
|
||||||
|
|
||||||
|
#endif // MODULESMYKHAILENKO_H_INCLUDED
|
40
lab09/prj/ModulesMykhailenko/ModulesMykhailenko.cbp
Normal file
40
lab09/prj/ModulesMykhailenko/ModulesMykhailenko.cbp
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="ModulesMykhailenko" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="bin/Debug/ModulesMykhailenko" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="bin/Release/ModulesMykhailenko" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option working_dir="" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="ModulesMykhailenko.cpp" />
|
||||||
|
<Extensions />
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
68
lab09/prj/ModulesMykhailenko/ModulesMykhailenko.cpp
Normal file
68
lab09/prj/ModulesMykhailenko/ModulesMykhailenko.cpp
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
#include <cmath>
|
||||||
|
#include <string>
|
||||||
|
#include "ModulesMykhailenko.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
float s_calculation(int x, int y, int z) {
|
||||||
|
return fabs(sin(fabs(y-pow(z,2)))+sqrt(x)-sqrt(pow(y*z, x)+(y/(2*M_PI))));
|
||||||
|
}
|
||||||
|
|
||||||
|
Deposit getPayment(float value, int months) {
|
||||||
|
Deposit deposit;
|
||||||
|
if (months == 6 || months == 12) {
|
||||||
|
float interest;
|
||||||
|
deposit.totalInterest = months == 12 ? 13 : 11/(float)2;
|
||||||
|
interest = deposit.totalInterest / 100 / months;
|
||||||
|
deposit.monthlyInterestPaid = round(value*interest*100)/100;
|
||||||
|
} else {
|
||||||
|
deposit.totalInterest = -1;
|
||||||
|
deposit.monthlyInterestPaid = -1;
|
||||||
|
}
|
||||||
|
return deposit;
|
||||||
|
}
|
||||||
|
|
||||||
|
Size getSize(int slovakSize) {
|
||||||
|
Size size;
|
||||||
|
if (slovakSize >= 6 && slovakSize <= 10) {
|
||||||
|
size.french = slovakSize - 4;
|
||||||
|
switch (slovakSize)
|
||||||
|
{
|
||||||
|
case 6:
|
||||||
|
size.international = "S";
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
size.international = "M";
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
size.international = "L";
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
size.international = "XL";
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
size.international = "XXL";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
size.international = "Error";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
size.french = -1;
|
||||||
|
size.international = "Error";
|
||||||
|
}
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
|
int t9_3(int number) {
|
||||||
|
unsigned int count = 0;
|
||||||
|
if (number > 0 || number <= 7483650) {
|
||||||
|
bool set = number & 1;
|
||||||
|
while (number) {
|
||||||
|
count += (number & 1) == set;
|
||||||
|
number >>= 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return count;
|
||||||
|
}
|
10
lab09/prj/ModulesMykhailenko/ModulesMykhailenko.layout
Normal file
10
lab09/prj/ModulesMykhailenko/ModulesMykhailenko.layout
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_layout_file>
|
||||||
|
<FileVersion major="1" minor="0" />
|
||||||
|
<ActiveTarget name="Debug" />
|
||||||
|
<File name="ModulesMykhailenko.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="96" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
</CodeBlocks_layout_file>
|
BIN
lab09/prj/ModulesMykhailenko/bin/Debug/libModulesMykhailenko.a
Normal file
BIN
lab09/prj/ModulesMykhailenko/bin/Debug/libModulesMykhailenko.a
Normal file
Binary file not shown.
BIN
lab09/prj/ModulesMykhailenko/obj/Debug/ModulesMykhailenko.o
Normal file
BIN
lab09/prj/ModulesMykhailenko/obj/Debug/ModulesMykhailenko.o
Normal file
Binary file not shown.
41
lab09/prj/Mykhailenko_task/Mykhailenko_task.cbp
Normal file
41
lab09/prj/Mykhailenko_task/Mykhailenko_task.cbp
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="Mykhailenko_task" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="bin/Debug/Mykhailenko_task" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="bin/Release/Mykhailenko_task" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-fexceptions" />
|
||||||
|
</Compiler>
|
||||||
|
<Unit filename="../ModulesMykhailenko.h" />
|
||||||
|
<Unit filename="main.cpp" />
|
||||||
|
<Extensions>
|
||||||
|
<lib_finder disable_auto="1" />
|
||||||
|
</Extensions>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
7
lab09/prj/Mykhailenko_task/Mykhailenko_task.depend
Normal file
7
lab09/prj/Mykhailenko_task/Mykhailenko_task.depend
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# depslib dependency file v1.0
|
||||||
|
1677244172 source:z:\bmtp9\prj\mykhailenko_task\main.cpp
|
||||||
|
<iostream>
|
||||||
|
<cctype>
|
||||||
|
<clocale>
|
||||||
|
"ModulesMykhailenko.h"
|
||||||
|
|
15
lab09/prj/Mykhailenko_task/Mykhailenko_task.layout
Normal file
15
lab09/prj/Mykhailenko_task/Mykhailenko_task.layout
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_layout_file>
|
||||||
|
<FileVersion major="1" minor="0" />
|
||||||
|
<ActiveTarget name="Debug" />
|
||||||
|
<File name="main.cpp" open="1" top="1" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="134" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="..\ModulesMykhailenko.h" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="97" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
</CodeBlocks_layout_file>
|
BIN
lab09/prj/Mykhailenko_task/bin/Debug/Mykhailenko_task.exe
Executable file
BIN
lab09/prj/Mykhailenko_task/bin/Debug/Mykhailenko_task.exe
Executable file
Binary file not shown.
78
lab09/prj/Mykhailenko_task/main.cpp
Normal file
78
lab09/prj/Mykhailenko_task/main.cpp
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
#include <iostream>
|
||||||
|
#include <cctype>
|
||||||
|
#include <clocale>
|
||||||
|
#include "ModulesMykhailenko.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
setlocale(LC_ALL, "");
|
||||||
|
while (true) {
|
||||||
|
char data;
|
||||||
|
char exit;
|
||||||
|
cout << "Ââåä³òü v, n, m àáî q: ";
|
||||||
|
cin >> data;
|
||||||
|
|
||||||
|
switch (data) {
|
||||||
|
case 'v':
|
||||||
|
int x, y, z;
|
||||||
|
cout << "Ââåä³òü x: ";
|
||||||
|
cin >> x;
|
||||||
|
cout << "Ââåä³òü y: ";
|
||||||
|
cin >> y;
|
||||||
|
cout << "Ââåä³òü z: ";
|
||||||
|
cin >> z;
|
||||||
|
cout << "s = " << s_calculation(x, y, z) << endl;
|
||||||
|
break;
|
||||||
|
case 'n':
|
||||||
|
float value;
|
||||||
|
int months;
|
||||||
|
Deposit deposit;
|
||||||
|
cout << "Ââåä³òü ñóìó äåïîçèòó: ";
|
||||||
|
cin >> value;
|
||||||
|
cout << "Ââåä³òü ñòðîê 䳿 óãîäè ó ì³ñÿöÿõ: ";
|
||||||
|
cin >> months;
|
||||||
|
deposit = getPayment(value, months);
|
||||||
|
if (deposit.totalInterest == -1 || deposit.monthlyInterestPaid == -1)
|
||||||
|
cout << "Ââåäåíî íåïðàâèëüí³ äàí³." << endl;
|
||||||
|
else
|
||||||
|
cout << "Ñóìà â³äñîòê³â: " << deposit.totalInterest << ", ñóìà ùîì³ñÿ÷íèõ âèïëàò: " << deposit.monthlyInterestPaid << endl;
|
||||||
|
break;
|
||||||
|
case 'm': {
|
||||||
|
int slovakSize;
|
||||||
|
Size size;
|
||||||
|
|
||||||
|
cout << "Ââåä³òü ðîçì³ð çà ñëîâàöüêîþ ñèñòåìîþ: ";
|
||||||
|
cin >> slovakSize;
|
||||||
|
|
||||||
|
size = getSize(slovakSize);
|
||||||
|
if (size.french == -1 || size.international == "Error")
|
||||||
|
cout << "Ââåäåíî íåïðàâèëüí³ äàí³." << endl;
|
||||||
|
else
|
||||||
|
cout << "Ðîçì³ð çà ñèñòåìîþ Ôðàíö³¿: " << size.french << endl << "Ðîçì³ð çà ì³æíàðîäíîþ ñèñòåìîþ: " << size.international << endl;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'q':
|
||||||
|
int n;
|
||||||
|
int result;
|
||||||
|
cout << "Ââåä³òü N: ";
|
||||||
|
cin >> n;
|
||||||
|
result = t9_3(n);
|
||||||
|
if (result == -1)
|
||||||
|
cout << "Ââåäåíî íåïðàâèëüí³ äàí³." << endl;
|
||||||
|
else
|
||||||
|
cout << "Ðåçóëüòàò: " << result << endl;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cout << "\aÂâåäåíî íåïðàâèëüí³ äàí³." << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
cout << "Ââåä³òü w àáî W äëÿ âèõîäó ³ç ïðîãðàìè: ";
|
||||||
|
cin >> exit;
|
||||||
|
|
||||||
|
if (tolower(exit) == 'w')
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
lab09/prj/Mykhailenko_task/obj/Debug/Mykhailenko_task/main.o
Normal file
BIN
lab09/prj/Mykhailenko_task/obj/Debug/Mykhailenko_task/main.o
Normal file
Binary file not shown.
38
lab09/prj/TestDriver/TestDriver.cbp
Normal file
38
lab09/prj/TestDriver/TestDriver.cbp
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="TestDriver" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="bin/Debug/TestDriver" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="bin/Release/TestDriver" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="-fexceptions" />
|
||||||
|
</Compiler>
|
||||||
|
<Unit filename="main.cpp" />
|
||||||
|
<Extensions />
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
6
lab09/prj/TestDriver/TestDriver.depend
Normal file
6
lab09/prj/TestDriver/TestDriver.depend
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# depslib dependency file v1.0
|
||||||
|
1677244734 source:z:\bmtp9\prj\testdriver\main.cpp
|
||||||
|
"ModulesMykhailenko.h"
|
||||||
|
<iostream>
|
||||||
|
<clocale>
|
||||||
|
|
10
lab09/prj/TestDriver/TestDriver.layout
Normal file
10
lab09/prj/TestDriver/TestDriver.layout
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_layout_file>
|
||||||
|
<FileVersion major="1" minor="0" />
|
||||||
|
<ActiveTarget name="Debug" />
|
||||||
|
<File name="main.cpp" open="1" top="1" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="2174" topLine="34" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
</CodeBlocks_layout_file>
|
BIN
lab09/prj/TestDriver/bin/Debug/TestDriver.exe
Executable file
BIN
lab09/prj/TestDriver/bin/Debug/TestDriver.exe
Executable file
Binary file not shown.
82
lab09/prj/TestDriver/main.cpp
Normal file
82
lab09/prj/TestDriver/main.cpp
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
#include "ModulesMykhailenko.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include <clocale>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
bool test_1(float value, int months, float interest, float paid) {
|
||||||
|
Deposit deposit;
|
||||||
|
deposit = getPayment(value, months);
|
||||||
|
if (deposit.totalInterest == interest && deposit.monthlyInterestPaid == paid)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
cout << "Î÷³êóâàíèé ðåçóëüòàò: Ñóìà â³äñîòê³â: " << interest << ", Ñóìà ùîì³ñÿ÷íèõ âèïëàò: " << paid << endl << "Îòðèìàíèé ðåçóëüòàò: Ñóìà â³äñîòê³â: " << deposit.totalInterest << ", Ñóìà ùîì³ñÿ÷íèõ âèïëàò: " << deposit.monthlyInterestPaid << endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool test_2(int slovakSize, int frenchSize, string internationalSize) {
|
||||||
|
Size size = getSize(slovakSize);
|
||||||
|
if (size.french == frenchSize && size.international == internationalSize)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
cout << "Î÷³êóâàíèé ðåçóëüòàò: Ðîçì³ð çà ñèñòåìîþ Ôðàíö³¿: " << frenchSize << ", Ðîçì³ð çà ì³æíàðîäíîþ ñèñòåìîþ: " << internationalSize << endl << "Îòðèìàíèé ðåçóëüòàò: Ðîçì³ð çà ñèñòåìîþ Ôðàíö³¿: " << size.french << ", Ðîçì³ð çà ì³æíàðîäíîþ ñèñòåìîþ: " << size.international << endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool test_3(float n, int count) {
|
||||||
|
int result = t9_3(n);
|
||||||
|
if (result == count)
|
||||||
|
return true;
|
||||||
|
else {
|
||||||
|
cout << "Î÷³êóâàíèé ðåçóëüòàò: " << count << endl << "Îòðèìàíèé ðåçóëüòàò: " << result << endl;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
float value[5] = {1000, 1000.25, 10, 5000, 10000};
|
||||||
|
int months[5] = {6, 12, 6, 12, 6};
|
||||||
|
float interest[5] = {5.5, 13, 5.5, 13, 5.5};
|
||||||
|
float paid[5] = {9.17, 10.84, 0.09, 54.17, 91.67};
|
||||||
|
|
||||||
|
int slovakSizes[5] = {6, 7, 8, 9, 10};
|
||||||
|
int frenchSizes[5] = {2, 3, 4, 5, 6};
|
||||||
|
string internationalSizes[5] = {"S", "M", "L", "XL", "XXL"};
|
||||||
|
|
||||||
|
int n[5] = {3, 5, 13, 26, 100};
|
||||||
|
int result_3[5] = {2, 2, 3, 2, 4};
|
||||||
|
|
||||||
|
setlocale(LC_ALL, "");
|
||||||
|
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
switch (i) {
|
||||||
|
case 0:
|
||||||
|
for (int j = 0; j < 5; j++) {
|
||||||
|
test_1(value[j], months[j], interest[j], paid[j])
|
||||||
|
? cout << "Test " << i + 1 << "." << j + 1 << " (ñóìà äåïîçèòó: " << value[j] << ", ê³ëüê³ñòü ì³ñÿö³â: " << months[j] << ", ñóìà â³äñîòê³â: " << interest[j] << ", ñóìà ùîì³ñÿ÷íèõ âèïëàò: " << paid[j] << ") " << " passed"
|
||||||
|
: cout << "Test " << i + 1 << "." << j + 1 << " (ñóìà äåïîçèòó: " << value[j] << ", ê³ëüê³ñòü ì³ñÿö³â: " << months[j] << ", ñóìà â³äñîòê³â: " << interest[j] << ", ñóìà ùîì³ñÿ÷íèõ âèïëàò: " << paid[j] << ") " << " failed";
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
for (int j = 0; j < 5; j++) {
|
||||||
|
test_2(slovakSizes[j], frenchSizes[j], internationalSizes[j])
|
||||||
|
? cout << "Test " << i + 1 << "." << j + 1 << " (ðîçì³ð çà ñëîâàöüêîþ ñèñòåìîþ: " << slovakSizes[j] << ", ðîçì³ð çà ñèñòåìîþ Ôðàíö³¿: " << frenchSizes[j] << ", ðîçì³ð çà ì³æíàðîäíîþ ñèñòåìîþ: " << internationalSizes[j] << ") " << " passed"
|
||||||
|
: cout << "Test " << i + 1 << "." << j + 1 << " (ðîçì³ð çà ñëîâàöüêîþ ñèñòåìîþ: " << slovakSizes[j] << ", ðîçì³ð çà ñèñòåìîþ Ôðàíö³¿: " << frenchSizes[j] << ", ðîçì³ð çà ì³æíàðîäíîþ ñèñòåìîþ: " << internationalSizes[j] << ") " << " failed";
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
for (int j = 0; j < 5; j++) {
|
||||||
|
test_3(n[j], result_3[j])
|
||||||
|
? cout << "Test " << i + 1 << "." << j + 1 << " (n = " << n[j] << ", ðåçóëüòàò = " << result_3[j] << ") " << " passed"
|
||||||
|
: cout << "Test " << i + 1 << "." << j + 1 << " (n = " << n[j] << ", ðåçóëüòàò = " << result_3[j] << ") " << " failed";
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
BIN
lab09/prj/TestDriver/obj/Debug/main.o
Normal file
BIN
lab09/prj/TestDriver/obj/Debug/main.o
Normal file
Binary file not shown.
BIN
lab09/tasks/L9-var--030.jpg
Normal file
BIN
lab09/tasks/L9-var--030.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 189 KiB |
Reference in a new issue