Додані лабораторні роботи № 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