Запросить не сам пароль, а сумму части пароля и числа месяца текущей даты - Turbo Pascal
Формулировка задачи:
Разработать “умную” программу запрашивающую не сам пароль, а сумму части пароля и числа месяца текущей даты. Помогите, пожалуйста, создать
Решение задачи: «Запросить не сам пароль, а сумму части пароля и числа месяца текущей даты»
textual
Листинг программы
uses dos;
const
password='0123456789';
var
i1,i2,s,t:longint;
y,m,d,dw:word;
c:integer;
begin
randomize;
getdate(y,m,d,dw);
writeln('Сегодня ',d,' число');
repeat
i1:=random(10)+1;
i2:=random(10)+1;
until (i1<i2);
write('Введите сумму с части пароля (с ',i1,' по ',i2,' цифры) и текущего числа:');
readln(s);
val(copy(password,i1,i2-i1+1),t,c);
if s=t+3 then writeln('верно')else writeln('не верно');
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека DOS.
- Затем определяются константы и переменные: password - это строка, содержащая пароль; i1, i2, s, t, y, m, d, dw - это длинные целочисленные переменные; c - это целое число.
- Далее вызывается функция getdate, которая получает текущую дату и сохраняет ее в переменных y, m, d, dw.
- Выводится сообщение о текущем дне недели.
- Затем в цикле повторяется генерация случайных чисел от 1 до 10 для i1 и i2.
- Цикл продолжается до тех пор, пока i1 меньше i2.
- Пользователю предлагается ввести сумму с части пароля (с i1 по i2 цифры) и текущего числа.
- Введенная сумма сравнивается с вычисленной суммой (t+3).
- Если суммы совпадают, выводится сообщение
верно, иначе выводится сообщениене верно.