Professional Documents
Culture Documents
Нечипорук Вікторія
Нечипорук Вікторія
КУРСОВА РОБОТА
з дисципліни
«Програмування та алгоритмічні мови»
на тему: Психологічний тест
Члени комісії:
_______________________________________________
(підпис) (вчене звання, науковий ступінь, прізвище та ініціали)
_______________________________________________
(підпис) (вчене звання, науковий ступінь, прізвище та ініціали)
_______________________________________________
(підпис) (вчене звання, науковий ступінь, прізвище та ініціали)
(дата)
АНОТАЦІЯ
У даній курсовій роботі подано програмну реалізацію психологічного
тесту на визначення темпераменту людини завдяки мові програмування С++
у середовищі Visual Studio 2019.
Інтерфейс програми було реалізовано у консольному вікні Windows.
Програма створена для проходження тесту на темперамент людини.
ANNOTATION
This course work presents a software implementation of a psychological
test to determine human temperament with the C ++ programming language in
Visual Studio 2019.
The program interface was implemented in the Windows console window.
The program was created to pass a test for human temperament.
ЗМІСТ
ВСТУП .................................................................................................................. 6
РОЗДІЛ 1............................................................................................................... 7
РОЗДІЛ 2 ............................................................................................................ 12
ДОДАТКИ .......................................................................................................... 30
Додаток А...................................................................................................... 30
Лістинг програми ........................................................................................ 30
Додаток Б ...................................................................................................... 45
Текст файлу ................................................................................................... 45
5
ВСТУП
Актуальність: тест на виявлення темпераменту людини є актуальним,
адже саме темперамент вважається найбільш стійкою характеристикою
особистості людини, яка майже не змінюється впродовж життя і виявляється
у всіх сферах життєдіяльності.
Мета: розробити та реалізувати програмний продукт для проходження
тесту для визначення темпераменту людини.
Завдання: розробити програму, що реалізує психологічний тест.
Практичне значення: : створений програмний продукт буде корисним ,
щоб дізнатися про тип свого темпераменту.
Використане програмне забезпечення: при виконанні роботи було
використано таке програмне забезпечення: середовище розробки Microsoft
Visual Studio Code 2019, операційна система Microsoft Windows 10, Microsoft
Word для оформлення звіту пояснювальної записки.
Структура роботи: робота складається зі вступу, трьох розділів,
висновків, додатків та списку використаних джерел.
6
РОЗДІЛ 1
ПОСТАНОВКА ЗАДАЧІ
1.1 Огляд існуючих підходів до розв’язання поставленої задачі
Психологічний тест – це інструмент, який дає змогу одержати
вимірювання відповідних властивостей психології людини. Завдяки тесту на
темперамент ви можете дізнатися про тип темпераменту, який переважає саме
у вашій особистості. Це дуже важливо, адже завдяки темпераменту
виробляється індивідуальний стиль діяльності людини, спосіб її життя.
Головними проблемами будь-яких психологічних тестів є точність
результату та час їх проходження. Людина, яка проходить психологічний тест,
бажає якнайшвидше отримати точний результат, при цьому не витративши
свій час на купу нудних запитань. Мета цієї розробки – створити точний
тест,для проходження якого потрібно витратити не більше двох хвилин.
Перед створенням власної програми можна розглянути вже існуючі
методи розробки для аналізу їх мінусів та плюсів, та створити власний
оптимальний варіант.
Далі наведений приклад тесту на темперамент:
Тест на темперамент по Айзенку[9] – онлайн-тест, що складається з 60
питань та двох відповідей на вибір(«так» або «ні»). Після того як користувач
дав відповіді на запитання, з’являється вікно з результатами. У вікні зображена
шкала щирості користувача (тобто програма перевіряє, чи роздумливо
користувач обирав відповіді),круг Айзенка, в якому зеленою крапкою вказано
положення в цій шкалі і відповідно тип темпераменту та характерні риси цього
типу темпераменту. Також додатково подані результати та шкала щодо того, є
користувач інтровертом чи екстравертом.
Зразок проходження тесту поданий на рис.1.1, рис.1.2:
7
рис.1.1 Проходження тесту
Таблиця 1.1
Програма Власна програма Тест на темперамент
по Айзенку
8
Переваги Простий інтерфейс, Графічний інтерфейс,
більше варіантів відповідей, більше запитань,
менші затрати по часу для виведення результатів
проходження тесту. у формі шкал та
ілюстрації, більш
точні результати.
Недоліки Можлива деяка неточність Необхідний доступ до
результатів Інтернету.
9
можуть бути викликані з С ++ безпосередньо без будь-яких додаткових
витрат, в тому числі і на рівні функцій зворотного виклику, дозволяючи
бібліотекам, написаним на С, викликати код, написаний на С ++.
2)Підтримуються різні стилі і технології програмування, включаючи
традиційне директивне програмування, ООП, узагальнене програмування,
метапрограмування (шаблони, макроси).
3)Є можливість роботи на низькому рівні з пам’яттю, адресами,
портами. Можливість створення узагальнених контейнерів і алгоритмів для
різних типів даних, їх спеціалізація і обчислення на етапі компіляції,
використовуючи шаблони.
4)Кросплатформеність. Доступні компілятори для великої кількості
платформ, на мові C ++ розробляють програми для найрізноманітніших
платформ і систем.
5)Ефективність. Мова спроектована так, щоб дати програмісту
максимальний контроль над усіма аспектами структури і порядку виконання
програми[10].
У якості середовища розробки було застосовано розробки Microsoft
Visual Studio Code 2019. Це найбільш ефективний спосіб розробки для
Windows, в якому можна проектувати та створювати класичні програми .
Також Microsoft Visual Studio Code 2019 підтримує сучасні версії С++, тому
можна створювати додатки C++11, C++14 та C++17. Проводьте базові
операції, такі як установка точок зупину і покрокове виконання коду, а
також вдавайтеся до розширених можливостей, включаючи візуалізацію
змінних, профілювання продуктивності, налагодження будь-яких
локальних і віддалених процесів, а також налагодження багатопоточних
додатків. Запускайте код одним клацанням, редагуйте його в режимі
реального часу і продовжуйте його виконання без повторної збірки.
Робіть код більш наочним за допомогою розмальовки синтаксичних
конструкцій, рекомендацій, підказок, уявлення класів і ієрархії викликів. Ви
можете перейти до будь-якого символу в коді за посиланням, визначенню,
10
оголошенню і іншими способами. Користуйтеся автозаповненням в процесі
введення коду, швидко усувайте проблеми і робіть рефакторинг по мірі
необхідності.[11]
11
РОЗДІЛ 2
РОЗРОБКА АЛГОРИТМУ РОЗВ’ЯЗКУ ЗАДАЧІ
2.1 Алгоритм виведення результату
Головним завданням психологічного тесту є отримання точного
результату. Саме тому для цього під час проходження тесту здійснюється
аналіз поданих користувачем відповідей. Принцип аналізу відповідей
полягає в тому, що здійснюється підрахунок, скільки яких відповідей обрала
людина, що проходить тест. Схема алгоритму наведена на Рис. 2.1.
12
Відповідає певний результат, який буде зображений після тесту внаслідок
підрахунку найбільшої кількості якоїсь із відповідей
13
4. Обрати пункт, щоб отримати результат психологічного тесту на
темперамент людину або повернутися до головного меню.
5. Отримати результат
6. Повернутися до головного меню.
7.Вийти з меню.
8.Завершити роботу програми.
Також перед або після проходженням тесту можна прочитати коротку
інформацію про тест та автора, обравши пункти меню About test (Про тест),
About author (Про автора) відповідно.
14
РОЗДІЛ 3
ОПИС РОЗРОБЛЕНОГО ПРОГРАМНОГО ПРОДУКТУ
3.1 Опис класу
Для створення та реалізації програмного продукти було визначено, що
будуть використані елементи об’єктно-орієнтованого програмування.
Отже, було створено клас class PsychologicalTest з модифікатором доступ
public, конструктором та деструктором за умовчанням. До того ж був
створений метод класу void quest(), який ми викликаємо поза класом
функцією void PsychologicalTest::quest(). Саме завдяки цьому методу класу
ми маємо змогу зчитувати запитання з варіантами відповідей нашого тесту
та вивести на екран користувача. У цьому методі класу ми підраховуємо
скільки яких відповідей було обрано, створюємо та записуємо ці результати
у масив, знаходимо варіант відповіді, обраний користувачем найчастіше. І
таким чином після цього ми виводимо результат проходження
психологічного тесту на темперамент.
3.2 Опис головних структур і змінних програми
Під час роботи програми, в функціях використовуються змінні,
перелік яких наведено у таблиці 3.1 :
Таблиця 3.1. Основні змінні, що відповідають за роботу програми
№ Змінна Тип Призначення
1 А, B, C, D int для підрахунку відповідей, за
якими визначаємо тип
темпераменту людини
2 x,y int координати точки
3 i int для створення рамки
4 key int виведення пунктів меню та
підрахунок відповідей
5 code int переміщення по меню
15
6 cursorPos COORD структура з двома полями x i y,
в якій повинні знаходитися
координати текстового курсору
7 Question[1000] char запис питання з файлу
8 AnswerA[1000] char запис варінта відповіді з файлу
9 mas[4] int масив, в який після проходження
тесту записуємо результати
10 index int знаходження індексу
максимального елемента в
масиві, щоб дізнатися яких
обраних користувачем
відповідей найбільше
11 max int знаходження максимального
елемента в масиві, щоб дізнатися
яких обраних користувачем
відповідей найбільше
12 answer int підключення меню
16
консольного
вінка
2 HANDLE consoleOutput = отримуємо константа
GetStdHandle дескриптор STD_OUTPUT_HANDLE
(STD_OUTPUT_HANDLE) консольного повідомляє про те, що ми
вікна хочемо отримати дескриптор
стандратного пристрою
ввода/виводу stdout
17
7 HANDLE hConsole = отримуємо константа
GetStdHandle дескриптор STD_OUTPUT_HANDLE
(STD_OUTPUT_HANDLE) консольного повідомляє про те, що ми
вікна хочемо отримати дескриптор
стандратного пристрою
ввода/виводу stdout.
18
14 fin.is_open() перевіряє, чи
_
вдалося
відкрити файл
для
зчитування
15 fin.eof() перевірка, чи
_
досягнув
файл кінця
16 fin.getline(Question, 1000) зчитуємо Question – запитання до 1000
рядок символів
запитання з
файлу
17 fin.close() закриваємо
_
файл після
зчитування
18 void about() створює
_
пункт меню
«About test»
19 void info() створює
_
пункт меню
«About
author»
20 system(“pause”) призупинення призупинення виконання
виконання пакетного файлу і виведення
пакетного повідомлення: «Для
файлу і продовження натисніть будь-
виведення яку клавішу. . .»
повідомлення:
«Для
продовження
19
натисніть
будь-яку
клавішу. . .»
20
Щоб розпочати тест, користувачу потрібно обрати пункт меню «Begin
test <What temperament do you have?>», після чого відкриється вікно
(рис.3.2). У вікні міститься запитаня та чотири варіанти відповідей на вибір.
21
тесту. Після того, як користувач відповів на усі запитання, з’являється вікно
(рис.3.4) з міні-меню, в якому є два пункти на вибір : «Show result»
(«Показати результат»), «Exit to menu » («Вихід в меню») .
22
Рис.3.5 Виведення результату №1
23
Рис.3.7 Виведення результату №3
24
Рис.3.9 Пункт меню «About test»
25
Отже, розроблене програмне забезпечення має зручний, зрозумілий та
простий у використанні інтерфейс користувача.
26
ВИСНОВКИ
Під час виконання курсової роботи було розроблено програмне
забезпечення для проходження психологічного тесту на темперамент
людини та оформлено пояснювальну записку.
У першому розділі було розглянуто існуючі методи до розв’язання
поставленої задачі, обґрунтовано вибір інструментів розробки та
сформульовано уточнену постановку задачі.
У другому розділі досліджено алгоритм виведення результату та
розроблено алгоритм розв’язку задачі.
У третьому розділі виконано опис розробленого програмного
продукту, зокрема, описано інтерфейс, клас, перемінні та структури,
функції програми.
Програмне забезпечення розроблено у середовищі Microsoft Visual
Studio 2019. Створена програма коректно реалізує всі функції для
проходження тесту, реалізовано зручний та простий для сприйняття
користувачем інтерфейс. Перевагою даного продукту є зручний та
зрозумілий інтерфейс. Меню реалізовано в консольному вікні. У роботі
застосоване об’єктно-орієнтоване процедурне програмування, що значно
пришвидшує роботу алгоритму.
Отже, розроблене програмне забезпечення працює коректно. Серед
переваг програми можна виділити простий у використанні інтерфейс,
швидкість виконання тесту, завдяки чому можна швидко дізнатися свій вид
темпераменту. Серед недоліків можна виділити невелику кількість
запитань, вірогідність видачі не зовсім точного результату, що може бути
вдосконалено в майбутньому. Виконання цієї курсової роботи дозволило
мені покращити і здобути навички з розробки алгоритмів, отриманні мною
на лекціях та практичних заняттях з програмування.
27
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Шилдт Г. Полный справочник по C++, 4-е издание.. Пер. С англ..
— М. : Издательский дом “Вильямс”, 2006. — 800 с. : ил. — Парал. Тит.
Англ., с.226
2. ДСТУ 8302:2015. Бібліографічне посилання. Загальні положення та
правила складання. [Чинний від 2016-07-01]. Вид. Офіц. Київ :ДП
«УкрНДНЦ», 2016. 16с. (Інформація та документація).
3. ДСТУ 3008:2015. Звіти у сфері науки і техніки. Структура та
правила оформлювання. [Чинний від 2017-07-01]. Вид. Офіц. Київ :ДП
«УкрНДНЦ», 2016. 26с. (Інформація та документація).
4. І.В.Назарчук, Г.Г.Швачко. Програмування та алгоритмічні
мови Програмування: Методичні вказівки до виконання курсового проекту
для студентів галузі знань 12 «Інформаційні технології» спеціальність 122
«Комп’ютерні науки та інформаційні технології», 124 «Системний аналіз».
– К.НТУУ «КПІ», 2017 – 32с. [Електронне навчальне видання]
5. Доля П.Г. Введение в C/C++ программирование консоли. Рисование
в консольном окне. Харьковский Национальный Университет механико –
математическийфакультет. 2015. C.2-35. URL:
http://geometry.karazin.ua/resources/documents/20150725093727_3339f8ece8c.pdf
6. Форум программистов – Общие вопросы C/C++ - меню в консоле .
URL: https://www.programmersforum.ru/showthread.php?t=131417
7. Хабр Q&A — вопросы и ответы . Как реализовать переключатель?
URL: https://qna.habr.com/q/282811
8. Китаева Н.С.Тест по обществознанию (6 класс) на тему: тест на
определение типа темперамента. Социальная сеть работников образования
nsportal.ru.
URL: https://nsportal.ru/shkola/obshchestvoznanie/library/2015/02/23/test-na-
opredelenie-tipa-temperamenta
9. Фитнес для мозга — онлайн упражнения для тренировки и развития
мозга. URL: https://brainapps.ru/test/temperament
28
10. StudFiles. Достоинства и недостатки языка
URL: https://studfile.net/preview/5618019/page:2/
11. Visual Studio. Visual Studio с поддержкой C/C++: интегрированная
среда разработки и компилятор для Windows
URL: https://visualstudio.microsoft.com/ru/vs/features/cplusplus/
29
ДОДАТКИ
Додаток А
Лістинг програми
#include <string.h>
#include <fstream>
#include <conio.h>
#include <string>
#include <iostream>
#include <Windows.h>
int A = 0;
int B = 0;
int C = 0;
int D = 0;
class PsychologicalTest {
public:
PsychologicalTest() {};//конструктор
~PsychologicalTest() {};//деструктор
void quest();
};
30
HANDLE consoleOutput;
COORD cursorPos;
consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
cursorPos.X = x;
cursorPos.Y = y;
SetConsoleCursorPosition(consoleOutput, cursorPos);
}
void Ramka() {
int Menu()
{
int key = 1;
int code;
do {
HANDLE consoleOutput;//получаем дескриптор устройства
стандартного вывода
31
COORD cursorPos;
consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
system("cls");
Ramka();
SetConcole(30, 8);
key = (key + 4) % 4;
if (key == 1)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << "[Begin test «What temperament do you have?»]"
<< endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << "[Begin test «What temperament do you have?]»" <<
endl;
SetConcole(30, 9);
if (key == 2)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << "[About test]" << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
32
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << "[About test]" << endl;
SetConcole(30, 10);
if (key == 3)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << "[About author]" << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << "[About author]" << endl;
SetConcole(30, 11);
if (key == 0)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << "[Exit]" << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << "[Exit]" << endl;
code = _getch();
if (code == 224)
33
{
code = _getch();
if (code == 80) key++;
if (code == 72) key--;
}
} while (code != 13);
system("cls");
return key;
}
void PsychologicalTest::quest()
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
char Question[1000];
char AnswerA[1000];
char AnswerB[1000];
char AnswerC[1000];
char AnswerD[1000];
ifstream fin("Test.txt");
if (!fin.is_open())
{
cout << "Couldn`t open file!\n";
}
else {
do {
34
HANDLE consoleOutput;
COORD cursorPos;
consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
system("cls");
fin.getline(Question, 1000);
fin.getline(AnswerA, 1000);
fin.getline(AnswerB, 1000);
fin.getline(AnswerC, 1000);
fin.getline(AnswerD, 1000);
int key = 1;
int code;
do {
HANDLE consoleOutput;
COORD cursorPos;
consoleOutput =
GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
system("cls");
SetConcole(1, 0);
cout << Question << endl;
SetConcole(3, 2);
key = (key + 4) % 4;
if (key == 1)
{
35
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << AnswerA << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << AnswerA << endl;
SetConcole(3, 3);
if (key == 2)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << AnswerB << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << AnswerB << endl;
SetConcole(3, 4);
if (key == 3)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << AnswerC << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
36
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << AnswerC << endl;
SetConcole(3, 5);
if (key == 0)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << AnswerD << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << AnswerD << endl;
code = _getch();
if (code == 224)
{
code = _getch();
if (code == 80) key++;
if (code == 72) key--;
}
} while (code != 13);
SetConcole(5, 9);
if (key == 1) A++;
if (key == 2) B++;
37
if (key == 3) C++;
if (key == 0) D++;
system("cls");
} while (!fin.eof());//когда достигнут конец файла
fin.close(); //закрываем файл
int mas[4];
mas[0] = A;
mas[1] = B;
mas[2] = C;
mas[3] = D;
int index;
int max = 0;
for (int i = 0; i < 4; i++)
{
if (max < mas[i])
{
max = mas[i];
index = i;
}
}
int key = 1;
int code;
38
do {
HANDLE consoleOutput;
COORD cursorPos;
consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
system("cls");
Ramka();
SetConcole(35, 9);
key = (key + 4) % 4;
if (key == 1)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << "[Show result]" << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << "[Show result]" << endl;
SetConcole(35, 10);
if (key == 2)
{
SetConsoleTextAttribute(hConsole,
FOREGROUND_GREEN);
cout << "[Exit to menu]" << endl;
SetConsoleTextAttribute(hConsole,
FOREGROUND_INTENSITY);
39
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
}
else cout << "[Exit to menu]" << endl;
code = _getch();
if (code == 224)
{
code = _getch();
if (code == 80) key++;
if (code == 72) key--;
}
} while (code != 13);
system("cls");
if (key == 1)
{
switch (index)
{
case 0:
{
cout << "Вы - Флегматик\n\
ФЛЕГМАТИК – спокоен даже в сложнейших ситуациях, невозмутим,\n\
стабилен и последователен в стремлениях и отношениях.\n\
Придерживается выработанного распорядка, стремится к системе,
нетороплив и основателен.\n\
Вместе с тем он инертен, медленно переключается с одной работы на
другую.\n\
40
Сильные стороны – надежный, уверенный в себе, упорный и
настойчивый,\n\
может качественно выполнять даже самую монотонную
работу.Стрессоустойчив и уравновешен.\n\
Слабые стороны – очень ранимый, глубоко и долго переживает любые
конфликты.\n\
Медлителен, долго принимает решения.Плохо относится к переменам." <<
endl;
}break;
case 1:
{
cout << "Вы - Меланхолик\n\
МЕЛАНХОЛИК - быстро утомляем, неуверен в себе, тревожен и
мнителен.\n\
Хорошо разбирается в оттенках чувств, осторожен и осмотрителен.\n\
Скрытен и застенчив, сильно переживает по малейшему поводу.\n\
Трудно приспосабливается к новым людям.\n\
Сильные стороны – имеет глубокий внутренний мир.\n\
Обладает высокой чувствительностью. Хорошо справляется с
интеллектуальной деятельностью.\n\
Достигает значительных успехов в творчестве.\n";
}break;
case 2:
{
cout << "Вы - Холерик\n\
ХОЛЕРИК – отличается быстротой действий и решений, частой сменой
настроения,\n\
повышенной возбудимостью. Во взаимоотношениях нередко излишне
резок,\n\
прямолинеен в оценках. Часто неуживчив, не умеет себя сдерживать,\n\
41
обладает влиянием на окружающих, быстро переходит от одного дела к
другому.\n\
Любит быть в центре внимания.\n\
Сильные стороны – Прирожденный лидер, который страстно отдается
своему делу,\n\
вкладывая в него всю силу и энергию. Обладает сильным\n\
самоконтролем в критических ситуациях. Творчески подходит к решению
любых проблем.\n\
Слабые стороны – часто не доводит дело до конца, т.к. пытается делать
несколько дел\n\
одновременно и быстро истощается. Неуравновешен, порой агрессивен.\n";
}break;
case 3:
{
cout << "Вы - Сангвиник\n\
САНГВИНИК – эмоционален и отличается отличной
работоспособностью.\n\
Он довольно быстро ориентируется в незнакомой обстановке,
инициативен,\n\
оптимистичен, за короткое время входит в коллектив, создает вокруг себя
положительный\n\
микроклимат, сравнительно легко переживает неудачи. Вместе с тем,
избегает\n\
острых проблем, часто упрощает поставленные задачи.\n\
Сильные стороны – активен, полон энергии, легко берется за новое дело.\n\
Легко переживает неудачи, легок в общении, быстро становится душой
компании.\n\
Из него получится хороший руководитель или оратор.\n\
Слабые стороны – нередко повехностен в общении.\n\
42
Очень зависим от новых впечатлений, без них он станет вялым и
безразличным.\n";
}break;
}
A = 0;
B = 0;
C = 0;
system("pause");
}
else if (key == 2)
{
A = 0;
B = 0;
C = 0;
Menu();
}
}
}
void about() {
system("cls");
Ramka();
SetConcole(33, 7);
cout << "This test helps you discover your temperament type.";
SetConcole(33, 8);
cout << "Temperament is an individual's characteristic level \n";
SetConcole(33, 9);
cout << "of emotional excitability or intensity. \n";
SetConcole(33, 10);
43
cout << "Test is not an accurate for the full 100%.\n";
SetConcole(33, 11);
cout << "It must be taken into account. \n \n ";
SetConcole(33, 12);
system("pause");
}
void info() {
system("cls");
Ramka();
SetConcole(47, 7);
cout << "Programm";
SetConcole(40, 8);
cout << "<Psychological test>";
SetConcole(40, 9);
cout << "by Viktoriia Nechyporuk ";
SetConcole(40, 10);
cout << "KPI,IASA,Group KA-95 ";
SetConcole(40, 11);
cout << "System Analysis ";
SetConcole(40, 13);
system("pause");
}
44
setlocale(LC_ALL, "rus");
PsychologicalTest obj1;
HANDLE consoleOutput;
COORD cursorPos;
consoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(consoleOutput,
BACKGROUND_INTENSITY);
while (1) {
int answer = Menu();
switch (answer)
{
case 1: obj1.quest(); break;
case 2: about(); break;
case 3: info(); break;
case 0: return 0;
}
system("pause");
return 0;
}
Додаток Б
Текст файлу
1 - Kakoj u vas harakter ?
A) spokojnyj, medlitelnyj, obstoyatelnyj, sderzhannyj, mirolyubivyj.
B) Robkij, zastenchivyj, obidchivyj, vpechatlitelnyj, nereshitelnyj.
C) Energichnyj, neugomonnyj, shalovlivyj, goryachij, zadiristyj.
45
D) Zhiznelyubivyj, optimistichnyj, kompromissnyj, obshitelnyj, sklonnyj k
risku.
2 - Kakie emocii vy naibolee chasto ispytyvaete ?
A) polozhitelnye, burnyh reakcij net.
B) Strah
C) Gnev, burnye emocii
D) Polozhitelnye emocii, mnogo smeyus.
3 - Kakie igry vam nravyatsya?
A) uedinennye, tihie, spokojnye.
B) uedinennye, tihie; podvizhnye i shumnye – tolko s blizkimi.
C) azartnye, shumnye, podvizhnye, dazhe agressivnye.
D) vsyakie, no chtoby bylo veselo.
4 - Kak reagiruete na nakazanie?
A) prakticheski bez emocij
B) negativno, s obidoj
C) na slovesnye – spokojno, na drugie – s burnym protestom.
D) spokojno.
5 - Kak vedete sebya v neozhidannyh situaciyah?
A) maloemocionalno
B) pytayus izbezhat etoj situacii (instinkt samosohraneniya)
C) pytayus soprotivlyatsya (potrebnost borby)
D) proyavlyayu lyubopytstvo (vyrazhennoe pozitivnoe otnoshenie)
6 - Naskolko vy obshitelny?
A) predpochitayu uedinenie
B) predpochitayu uedinenie, obshitelen tolko s blizkimi.
C) nuzhdayus v zritelyah i spodvizhnikah
D) lyublyu obshestvo i vzroslyh, i detej, znakomlyus bystro.
7 - Kakoe polozhenie vy zanimaete sredi sverstnikov, est li liderskie kachestva?
A) avtoriteta i kachestv lidera ne imeyu
B) ne lider, avtoritet imeyu v uzkom krugu druzej
46
C) sam sebya vydvigayu liderom, no sverstniki po-raznomu k etomu
otnosyatsya
D) prirozhdennyj lider, dusha kompanii
8 - Osobennosti pamyati
A) Zapominayu medlenno, no zapominayu i pochti ne zabyvayu celoe
B) zapominayu po-raznomu, bolshe vnikayu v melochi
C) bystro zapominayu detali, no bystro zabyvayu
D) bystro i legko shvatyvayu celoe i dolgo pomnyu
9 - Kak usvaivaetsya novoe?
A) medlenno, zato obstoyatelno
B) zavisit ot obstoyatelstv
C) shvatyvayu na letu, no bystro zabyvayu
D) bystro i legko
10 - Utomlyaemost:
A) ochen nizkaya, pochti ne ustayu
B) vysokaya, lyubaya deyatelnost vyzyvaet upadok sil
C) inogda srednyaya, a inogda vysokaya, zavisit ot moih emocij
D) srednyaya, ustayu sorazmerno deyatelnosti
11 - Osobennosti rechi:
A) medlennaya, bez zhestov, nevyrazitelnaya
B) tihaya i neuverennaya, no vyrazitelnaya
C) rech emocionalnaya, otryvistaya, bystraya;taratoryu, glotayu slova i slogi
D) s zhestami i mimikoj, vyrazitelnaya, zhivaya
12 - Dvizheniya:
A) solidnye, netoroplivye, nerastoropnye
B) suetlivye, netochnye, neuverennye
C) rezkie, poryvistye
D) ritmichnye, tochnye, uverennye
13 - Privykanie k shkole:
A) boyazn novogo, nezhelanie peremen, dolgaya adaptaciya
47
B) dolgoe privykanie, trudnaya adaptaciya
C) legkoe privykanie k novoj obstanovke, neohotnoe podchinenie trebovaniyam
vzroslyh
D) adaptaciya legkaya i bystraya
14 - Osobennosti sna:
A) zasypayu bystro, splyu spokojno, sostoyanie posle sna vyaloe, sonnoe
B) ukladyvayus spat dolgo, no zasypayu bystro, posle sna sostoyanie veseloe
C) zasypayu dolgo i trudno, son bespokojnyj, posle sna sostoyanie samoe raznoe
D) zasypayu bystro, son krepkij, posle sna sostoyanie veseloe.
48