о найбільш корисних додатків при написанні програм на С ++ є: визначення програмних констант, за-мена виклику функцій аналогічними, але більш швидкими макросами, умовна компіляція. Препроцесор не обмежений Процесування тільки вихідних текстових файлів С ++, він може бути використаний для будь-якого текстового файлу.
С ++ - гнучка мова, що дозволяє приймати в конкретних ситуаціях самі різні рішення. У мові С ++ повністю підтримуються принципи об'єктно-орієнтованого програмування, включаючи три кити, на яких воно коштує: інкапсуляцію, успадкування і поліморфізм. Інкапсуляція в С ++ підтримується за допомогою створення нестандартних (користувальницьких) типів даних, званих класами. Мова С ++ підтримує спадкування. Це означає, що можна оголосити новий тип даних (клас), який є розширенням існуючого. Хоча мова С ++ справедливо називають продовженням С і будь-яка працездатна програма мовою С буде підтримуватися компілятором С ++, при переході від С до С ++ був зроблений досить істотний стрибок. Мова С ++ вигравав від своєї спорідненості з мовою С протягом багатьох років, оскільки багато програмісти виявили, що для того, щоб повною мірою скористатися перевагами мови С ++, їм потрібно відмовитися від деяких своїх колишніх знань і набути нові.
2.2 Опис виграшної стратегії логічної гри
Гра «Бики і корови» полягає в тому, що першим гравцем замислюється чотиризначне число, всі цифри якого різні. Другий гравець намагається вгадати задумане число, пропонуючи свої варіанти. Якщо в запропонованому і задуманому числах яка-небудь цифра збігається за значенням і місцем розташування, то перший гравець каже, що є бик, а якщо збігається тільки значення - корова.
Тут пропонується програма, коли комп'ютер відгадує число в ролі другого гравця. Алгоритм полягає в тому, що число генерується випадковим чином, але звіряється з колишніми відповідями. Програма пропонує варіант, який дає з колишніми відповідями стільки ж биків і корів, як і задумане число. Розглянемо приклад гри:
Задумано число +4356
Ходи програми:
) 1234Биков - 0, корів - 2
) 5234Биков - 0, корів - 3
) 5634Биков - 0, корів - 4
) 6534Биков - 0, корів - 4
) 3654Биков - 1, корів - 3
) 6354Биков - 2, корів - 2
) 5364Биков - 1, корів - 3
) 6534Биков - 0, корів - 4
) 6345Биков - 0, корів - 4
) 4356Биков - 4, корів - 0
Таким чином, комп'ютер відгадав загадане число за 10 кроків.
Тепер розглянемо виграшну стратегію «Метод решета». Вона полягає в тому, що ми розглядаємо кінцеве безліч всіх можливих чисел, і кожен хід виключаємо всі елементи множини, що не представляють інтересу. Наприклад, для загаданого числа 5643 ми припустили 1234, і отримали 0 биків і 2 корови, потім другим кроком перевіряємо залишилися два числа, припускаємо 1256, отримуємо 0 биків і 2 корови, значить шукані числа це 3 456, залишається тільки дізнатися правильне розташування цих чисел:
1) 1234Биков - 0, корів - 2
) 1256Биков - 0, корів - 2
Спершу перевіряємо числа 3456, отримуємо 0 биків і 4 корови, потім попарно міняємо кожне число один з одним і перевіряємо доти поки не отримаємо хоча б 2 бика:
3) 3456Биков - 0, корів - 4
) 4365Биков - 0, корів - 4
) 5634Биков - 2, корів - 2
На 5-му ході ми отримали 2 бика, потім попарно міняємо числа в цій комбінації до тих пір поки не знайдемо шукане:
6) 6534Биков - 0, корів - 4
) 5643Биков - 4, корів - 0
Таким чином, число вгадано за 7 кроків. У гіршому випадку за допомогою цієї стратегії число вгадується за 9-10 кроків.
. 3 Опис інтерфейсу програми і результатів тестування
При запуску програми відкривається вікно, в якому на екран виводиться повідомлення з пропозицією згадати число. Після чого комп'ютер починає покроково відгадувати загадане число (рис.2). У дужках вказується, скільки биків і корів знайдено на кожному кроці. Процес буде продовжуватися доти, поки число не буде відгадане, після того як це відбудеться на екран виводиться загадане число і кількість спроб витрачених на пошук даного числа.
Малюнок 2. - Ігровий процес
Малюнок 3. - Ігровий процес
Малюнок 4. - Ігровий процес
Висновок