
В задании обязательно нужно использовать процедуру или функцию – для выполнения основной работы.
Если результатом работы подпрограммы является значение простого типа или строка, то разработайте функцию, иначе – процедуру. При этом данные в процедуру или функцию должны передаваться исключительно через параметры. Результаты работы процедуры должны передаваться в главную программу также только через параметры. Результаты работы функции – через имя функции и параметры. Подпрограмма не должна использовать глобальные переменные ( это требование - в учебных целях ). Подпрограмма не должна быть откликом на событие ( Button1Click, FormDblClick и т п. ), т е она должна быть полностью самодельной – от заголовка (Procedure ИМЯ …) до конца ( end; ). вот мой вариант: Программа содержит процедуру подбора пароля. Известна длина пароля ( < 6 ) и пароль ( латинский ) . Делает простой перебор букв входящих в слово – до тех пор, пока слово не совпадет с паролем. В качестве результата выдает количество проверенных вариантов.Программа должны быть написана в Delphi даю 80 балов если программа будет работать правильно.

Ответы на вопрос

И это не Delphi, a Lazarus. Но надеюсь, содержимое файла основного модуля
unit_psw.pas сильно отличаться не будет.
У кого Lazarus, файл *.ods переименуйте в *.zip
и распакуйте архив там весь проект.



Процедура подбора пароля в Delphi
Вам нужно написать программу на Delphi, которая будет выполнять процедуру подбора пароля. Программа должна быть полностью самодельной, то есть от заголовка (Procedure ИМЯ...) до конца (end;). Подпрограмма не должна использовать глобальные переменные и не должна быть откликом на событие, такие как Button1Click или FormDblClick.
Вот пример реализации процедуры подбора пароля на Delphi:
```delphi procedure PasswordCracker(const Password: string; const PasswordLength: Integer; var Attempts: Integer); var CurrentPassword: string; i, j: Integer; begin Attempts := 0; CurrentPassword := '';
for i := 1 to PasswordLength do CurrentPassword := CurrentPassword + 'a'; // Начинаем с пароля, состоящего из одной буквы 'a'
while CurrentPassword <> Password do begin Attempts := Attempts + 1;
// Перебираем все возможные комбинации паролей for i := PasswordLength downto 1 do begin // Увеличиваем текущую букву на 1 j := Ord(CurrentPassword[i]) + 1;
// Если текущая буква достигла 'z', переходим к следующей букве if j > Ord('z') then j := Ord('a');
// Обновляем текущую букву CurrentPassword[i] := Chr(j);
// Если текущая буква не 'a', значит мы нашли следующую комбинацию пароля if CurrentPassword[i] <> 'a' then Break; end; end; end; ```
В данном примере процедура `PasswordCracker` принимает пароль (`Password`) и его длину (`PasswordLength`) в качестве параметров. Она также принимает переменную `Attempts`, которая будет использоваться для хранения количества проверенных вариантов пароля. Процедура будет изменять значение `Attempts` в процессе подбора пароля.
Процедура начинает с пароля, состоящего из одной буквы 'a', и последовательно увеличивает каждую букву до тех пор, пока текущий пароль не совпадет с заданным паролем. Каждая комбинация пароля проверяется, и количество проверенных вариантов увеличивается на 1.
Пример использования процедуры:
```delphi var Password: string; PasswordLength, Attempts: Integer; begin Password := 'abcd'; // Заданный пароль PasswordLength := Length(Password);
PasswordCracker(Password, PasswordLength, Attempts);
ShowMessage('Пароль найден! Количество проверенных вариантов: ' + IntToStr(Attempts)); end; ``


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili