^Back To Top
foto1 foto2 foto3 foto4 foto5 foto6 foto7 foto8 foto9 foto10 foto11 foto12 foto13 foto14 foto15 foto16 foto17 foto18 foto19 foto20 foto19

 

C++  для   Ch--

 

 

C++ помогает выбрать подругу на ночь.
Программа «Abdulla»

 

 

..... - Послушай, Абдулла! У тебя девять жён! Как ты выбираешь себе подругу на ночь?

..... - Кибернэтыка!

 

Генераторы случайных чиселrand( ) иsrand( )

..... Создатели С++ придумали хитрую систему получения случайных чисел. Она основана на взаимодействии двух специальных операторов.

..... Оператор rand( ) при пустых круглых скобках выбирает определённое число из диапазона (0, 32767). Этот диапазон можно изменить. Например, составной оператор 1 + rand( )%k  вычислит остаток от деления любого числа из этого диапазона на k и прибавит к нему единицу, т. е. работает в диапазоне (1, k). Недостатком является то, что выбранное значение не изменяется при многократном запуске программы.

..... Если ввести в программу оператор srand(n), где n - целое число, то оператор 1 + rand( )%k  отреагирует тем, что однозначно свяжет n с определенным числом из диапазона (1, k).

..... Хитрость разработчиков С++ состоит в том, что вместо n они используют таймер time(NULL), который отсчитывает время в секундах. Аргумент NULL фиксирует время при остановке программы и включает таймер после нового запуска. Вот связка двух операторов, которые регулируют этот процесс:

..... Итак, составной оператор 1 + rand( )%k получает от srand(time(NULL)) некоторое количество секунд, которое связывает с определённым числом из диапазона (1, k) и присваивает это число переменной R. Поскольку «пути господни во времени неисповедимы», в R оказывается случайное число.

 

Конструкция switch( ) - case

..... Для программы понадобится конструкция switch - case, удобная замена конструкции if - else:

..... Аргумент R в круглых скобках - целое число (номер варианта). Он инициирует работу оператора после двоеточия в строке case R. Процесс прерывается командой break. Если строка case R отсутствует, то выполняются операторы после двоеточия в default.

 

Программа «Abdulla»

..... Открываем Visual Studio и создаём проект Abdulla. В файле Abdulla.cpp стираем все кроме первой команды. Добавляем директиву для открытия таймера ctime и директиву для вывода на экран текста.

 

Программа «Abdulla»

..... Значение параметру k присваиваем в строке объявления переменных. Запускаем программу несколько раз и составляем «меню» Абдулле на три ночи:

 

..... - Кибернэтыка!