Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2018, 22:18   #1
Shot91
Новичок
Джуниор
 
Регистрация: 28.01.2018
Сообщений: 8
По умолчанию Программа содержит процедуру подбора пароля

скажу так перед тем как блокировать тему дождись ответа. я не могу вникнуть и прошу не то чтобы за меня все сделали! а чтобы мне обьяснили по человечески что тут именно нужно делать. так как именно ее я не понимаю! ЕЩЕ РАЗ ПОВТОРЮ Я ПРОШУ ПОМОЧЬ МНЕ ЕЕ НАПИСАТЬ! т.е. подсказать и проверить если что на ошибки! даже не знаю с чего в ней начать! как задать пароль. как указать к нему путь и тд.

Программа содержит процедуру подбора пароля. Известна длина
пароля ( < 6 ) и пароль ( латинский ) . Делает простой перебор
букв входящих в слово – до тех пор, пока слово не совпадет с
паролем. В качестве результата выдает количество проверенных
вариантов.

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

Последний раз редактировалось Аватар; 29.01.2018 в 09:00.
Shot91 вне форума Ответить с цитированием
Старый 28.01.2018, 22:23   #2
Shot91
Новичок
Джуниор
 
Регистрация: 28.01.2018
Сообщений: 8
По умолчанию

+ данная тема создана в "Форум программистов > Новички в программировании > Помощь студентам" я делфи учил 10 лет назад и не помню уже многого
Shot91 вне форума Ответить с цитированием
Старый 28.01.2018, 22:28   #3
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

если пароль известен заранее, то за каким МПХ его брутфорсить-то?

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 28.01.2018, 22:31   #4
Shot91
Новичок
Джуниор
 
Регистрация: 28.01.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
если пароль известен заранее, то за каким МПХ его брутфорсить-то?
вот и сам не не знаю при этом запрешено использовать какой либо отклик. я даже не понимаю где нужно указать этот пароль заранее. и как сделать эти чертовы 6 вложеных циклов, а вывод ответа наверное нужно в Edet1(сам пароль) и Label1(количество попыток)

Последний раз редактировалось Alex11223; 28.01.2018 в 22:52.
Shot91 вне форума Ответить с цитированием
Старый 28.01.2018, 22:38   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
сделать эти чертовы 6 вложеных циклов
Цитата:
вот и сам не не знаю
Сходи узнай. Тут телепатов нет.
Вернее, они есть, но их услуги тебе не по карману.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 28.01.2018, 22:44   #6
Shot91
Новичок
Джуниор
 
Регистрация: 28.01.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение

Сходи узнай. Тут телепатов нет.
Вернее, они есть, но их услуги тебе не по карману.
про 6 вложеных символов что я иммею ввиду.
каждую букву пароля пробывать сравнить с алфовитом.


да и еще мне подсказали что можно сделать рекурсией но я ее знать не знаю.
count - счётчик комбинаций
str - заполняемая строка
password - заданный пароль
len - длина пароля


checkAgainst(str, password, len):
Если длина str = len:
count := count + 1;
если str = password:
возвращаем true
Иначе
Для каждого символа С в алфавите пароля:
если checkAgainst(str + C, password, len) = true
возращаем true
возвращаем false
Shot91 вне форума Ответить с цитированием
Старый 28.01.2018, 22:47   #7
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Я тебя не об этом спрашивал. Иди в школу и спроси у препода.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 28.01.2018, 22:51   #8
Shot91
Новичок
Джуниор
 
Регистрация: 28.01.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
Я тебя не об этом спрашивал. Иди в школу и спроси у препода.
чел завтра зачет! я учусь в универе на заочке, преподу пх он дал задание а мы делайте как хотите!!!!! а делфи я учил лет так 10 назад и не помню уже ни чего.
Shot91 вне форума Ответить с цитированием
Старый 28.01.2018, 22:51   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Shot91 Посмотреть сообщение
а чтобы мне обьяснили по человечески что тут именно нужно делать. так как именно ее я не понимаю!
Так вы ж не рассказали в чем именно трудности и т.п., а только выложили задание.
В такой ситуации сложно помочь (и даже если бы кто-то просто написал код, то вряд ли бы это помогло в изучении)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.01.2018, 22:59   #10
Shot91
Новичок
Джуниор
 
Регистрация: 28.01.2018
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так вы ж не рассказали в чем именно трудности и т.п., а только выложили задание.
В такой ситуации сложно помочь (и даже если бы кто-то просто написал код, то вряд ли бы это помогло в изучении)
ты прав и сложность в том у меня, что либо крыша закипела, либо я чайником стал после того как завис на 1 задачке и по возможности помоги найти ошибку и подсказать какая функция должна искать в файле строки.


Составить, отладить и представить преподавателю для проверки программу на языке Object Pascal , решающую Ваш вариант задания. Программа должна вводить исходные данные, используя компоненты TEdit или TMemo, TStringGrid и т п, или получать их при помощи генератора случайных чисел. Результаты вычислений должны, как правило, выводиться при помощи компонент TLabel, TEdit TMemo, TStringGrid и т п.
Программа должна обязательно использовать тип данных ФАЙЛ ( File ).
Программа должна иметь главное меню, содержащее пункт «Файл» . В этом пункте должны быть субменю: Открыть, Сохранить как, Удалить.
Кроме того, на форме должны быть установлены (невидимые) компоненты: OpenDialog и SaveDialog, облегчающие открытие и сохранение файлов.

type fs = file of string[10]; Функция Count1(var f: fs) :Integer Вашей программы определяет число строк файла типа fs, которые начинаются с цифры.


код программы
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls;

type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
MainMenu1: TMainMenu;
V1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Memo1: TMemo;
N5: TMenuItem;
N6: TMenuItem;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

type fs = file of string[10];

var
Form1: TForm1;
dir, fName: string;
f1: fs;

implementation

{$R *.dfm}

function Count1(var f:fs):integer;
var
k, i: integer;
s: string;
begin
reset(f);
k:=0;
while (not eof(f)) do
begin
// read(f,s); Выдает ошибку несоответствия типов ShortString и String
For i:=0 to 9 do
if s[1] = IntToStr(i) then k:=k+1; //нужно условие количество строк файла fs, начинающихся с цифры
end;
closeFile(f);
count1:=k;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
dir:=ExtractFileDir(paramStr(0))+'\ files';
OpenDialog1.InitialDir:=dir;
SaveDialog1.InitialDir:=dir;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog 1.FileName);
fName:=OpenDialog1.FileName; //Сохранение пути и имени открывающегося файла
end;

procedure TForm1.N2Click(Sender: TObject);
begin
if Memo1.Lines.Count=0 then
begin
ShowMessage('Нечего сохранять');
exit
end;
if SaveDialog1.Execute then
begin
Memo1.Lines.SaveToFile(saveDialog1. FileName);
fName:=saveDialog1.FileName; //Сохранение пути и имени сохраняемого файла
end;
end;

procedure TForm1.N6Click(Sender: TObject);
begin
Memo1.Clear;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
if MessageDlg('Вы действительно хотите удалить файл'+OpenDialog1.filename+'?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
DeleteFile(OpenDialog1.filename)
end;

procedure TForm1.N5Click(Sender: TObject);
begin
AssignFile(f1,FName); // связывает файловую переменную и файл, имя которого указано в FName
Edit1.Text:=IntTostr(Count1(f1));
end;

end.
Shot91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для создания аватар, возникла проблема! Obender13 Помощь студентам 4 12.08.2009 20:32
Приветствуем нового модератора - AVer Alar О форуме и сайтах клуба 6 21.01.2007 21:39
приветсвуем нового модератора! Alar О форуме и сайтах клуба 8 29.11.2006 21:41