Есть арифметический фокус, позволяющий угадать дату рождения любого из окружающих вас людей. Для этого нужно, чтобы этот человек выполнил предварительные вычисления по следующему алгоритму: умножил число, соответствующее его дню рождения, на 2, прибавил к результату 5, полученный результат умножил на 50 и прибавил к тому, что получилось, номер месяца, в который он родился. Результат вычислений он должен сообщить вам. Для того чтобы узнать дату рождения, достаточно вычесть из результата вычислений число 250. Последние две цифры полученного числа будут соответствовать месяцу, первые две (первая одна) — числу месяца угадываемой даты рождения. Попробуйте составить программу-диалог с компьютером, в которой компьютер будет запрашивать у пользователя имя, сообщать ему алгоритм предварительных вычислений и запрашивать их результат, после чего «угадает» и сообщит пользователю день и месяц его рождения.
Пусть d — день, m — номер месяца. Названный человеком результат равен (
var
name: string;
result, datecode, day, month: integer;
begin
writeln('Как вас зовут?');
readln(name);
writeln(name, ', умножьте день рождения на , прибавьте ,');
writeln('умножьте на и прибавьте номер месяца.');
writeln('Введите полученное число:');
readln(result);
datecode := result - ;
day := datecode div ;
month := datecode mod ;
writeln(name, ', ваш день рождения: ', day, '.', month)
end.
Строковые операторы ведут диалог, а три присваивания восстанавливают дату. Проверим на
День = (результат −
