С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 38

Поиск заданной символьной цепочки на произвольном магнитном диске.

10.05.2012, 14:59. Показов 1931. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли исходники или похожие работы? В гугле не нашел. Хотя бы что-то.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.05.2012, 14:59
Ответы с готовыми решениями:

Поиск символьной цепочки
Доброго времени суток! = ) Собственно по сабжу... как можно реализовать поиск символьной цепочки, задаваемой через параметры программы...

Поиск заданной цепочки бит в массиве
Помогите разобраться в задании: Сразу же не понятно в массиве чего искать битовую строку? Массиве байтов, слов, двойных слов? ...

Разработать распознаватель заданной символьной цепочки
Необходимо разработать распознаватель заданной символьной цепочки. Символь- ная цепочка задается с помощью формул Бэкуса-Наура. ...

19
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
10.05.2012, 16:57
Цитата Сообщение от Chiakiii Посмотреть сообщение
Поиск заданной символьной цепочки на произвольном магнитном диске
Что, тебе надо проверить, есть ли в каком-то секторе данная цепочка? Или я что-то не понимаю.
0
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 38
10.05.2012, 18:06  [ТС]
programmisto, именно.
0
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
10.05.2012, 18:23
В чистом ДОСе только, наверное. Если под виндой, то очень много надо знать или иметь.
0
0 / 0 / 0
Регистрация: 27.11.2011
Сообщений: 38
10.05.2012, 19:09  [ТС]
Можно на флешке вместо диска.
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
11.05.2012, 04:33
Цитата Сообщение от Chiakiii Посмотреть сообщение
Есть ли исходники или похожие работы? В гугле не нашел. Хотя бы что-то.
Последовательно читаешь каждый файл на диске, в каждом открытом файле ищешь заданную цепочку символов. Для начала потренируйся на одном каталоге с двумя-тремя файлами.
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
11.05.2012, 06:29
Mikl___, нет, есть другой вариант. Читаешь бут сектор - число сторон, дорожек на сторону и секторов на дорожку. Затем читаешь каждый сектор, сканируешь его. Так будет проще.
0
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
11.05.2012, 11:56
Как бы это делал я:

1 перейти в корневой каталог
2 найти первый совпадающий с маской файл, если это метка тома то на следующий файл
3 просканировать содержимое файлов, если строка найдена, вывести имя файла и выход
4 если это папка, то зайти в папку и перейти на пункт 3
5 если в папке есть другие папки, перейти на пункт 4

Примерно так.
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
11.05.2012, 12:46
AFP, все равно, лучше сектора сканировать, а то через досю будет слишком долго.
0
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
11.05.2012, 20:53
С большего прикинул, если сканировать современный логический диск HDD, то чтение по секторам и через функции поиска файлов займет очень много времени.

Наверное, имеется в виду только сканирование текущего каталога.
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
12.05.2012, 06:39
AFP, но все равно, по секторам быстрее, чем каждый файл открывать, сканировать, а по секторам читаешь дорожку, сканируешь, читаешь, сканируешь.
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
12.05.2012, 08:53
programmisto, возьми и сравни, а результаты выложи в топике
0
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
12.05.2012, 12:08
По секторам:
Строка может оказаться в конце диска. Тогда придется сканировать весь диск. Обычное int 13h позволяет работать только с дисками максимального размера около 8,5 Гб.

Сканировать файлы:
Все выше приведенное, берет на себя ОС. Сканирование происходит только в текущем каталоге.

Думаю, что по файлам будет быстрее.
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
12.05.2012, 12:35
Цитата Сообщение от AFP Посмотреть сообщение
Обычное int 13h позволяет работать только с дисками максимального размера около 8,5 Гб
Спасибо. А что, если больше размер. Других прямых дисковых функций я не знаю. А ты знаешь?
0
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
12.05.2012, 12:38
Есть расширение для int 13.
0
12.05.2012, 12:38

Не по теме:

Цитата Сообщение от programmisto Посмотреть сообщение
Других прямых дисковых функций я не знаю. А ты знаешь?
Найдется всё! (рекламный слоган компании "Google")

0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
12.05.2012, 12:49
Цитата Сообщение от AFP Посмотреть сообщение
Есть расширение для int 13.
А что это такое? Гугль опять выдавать не хочет? Может расскажешь про него?
0
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
12.05.2012, 12:53
Зачем, если уже все рассказано:
http://www.insidepro.com/kk/065/065r.shtml

Гуглу надо правильно вопросы задавать.
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
12.05.2012, 12:58
AFP, спасибо, меня давно интересовало создания MBR, а то простую BR я создавал на дискете, а на HDD все равно лучше.
0
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
14.05.2012, 14:40
Программа ищет в файлах текущего каталога введенную с клавиатуры строку.
Выводит имя файла(ов) столько раз, сколько раз была найдена строка.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
;TASM, COM - файл
.model tiny
.code
.386
ORG 100h
START:
;
    mov ah,0Ah
    lea dx,Strin
    int 21h
 
    mov ah,9
    lea dx,LF
    int 21h
 
    mov ah,2Fh
    int 21h
    mov [DTA],bx
 
    mov ah,4Eh
    lea dx,Maska
    mov cx,0FFh
    int 21h
 
CmpNoFile   macro
    mov si,[DTA]
    test byte ptr [si+15h],00001000b
    jnz short ok_metka
    test byte ptr [si+15h],00010000b
    jnz short ok_metka
    endm
 
    CmpNoFile
 
    call File
ok_metka:
    mov ah,4Fh
    int 21h
    jc short exit
 
    CmpNoFile
 
    call File
    jmp short ok_metka
;-----------------------------------
exit:
    ret
;--------------------------------
File    proc    near
    mov dx,[DTA]
    add dx,1Eh
    mov ax,3D00h
    int 21h
    mov [ID_read],ax
 
    lea si,Strin        
    inc si
    inc byte ptr [si]
    inc si
file3:
    call Read
    cmp ax,0
    jz short file2
    mov [Ind],ax
    lodsb
    dec si
    lea di,buf
    mov bx,di
file1:
    mov cx,[Ind]
 
    repne scasb
    dec di
    test cx,cx
    jz short fileExit
 
    xor cx,cx
    mov cl,[si-1]
push si
    repe cmpsb
    dec di
pop si
    test cx,cx
    jnz short no_file
    call Vivod
no_file:
push di
    sub di,bx
    sub [Ind],di
pop di
    mov bx,di
    jmp short file1
fileExit:
    call Lseek
    jmp short file3
file2:
    call Close
    mov dword ptr [Seek],0
    mov word ptr [Ind],0
    dec byte ptr [si-1]
    ret
;--------------------
Vivod   proc    near
push di
push ax
push cx
    mov di,[DTA]
    add di,1Eh
    mov dx,di
    xor al,al
    mov cx,13
    repne scasb
    dec di
    mov byte ptr [di],'$'
    mov ah,9
    int 21h
    lea dx,LF
    int 21h
pop cx
pop ax
pop di
    ret
Vivod   endp
;-------------------------
Close   proc    near
    mov bx,[ID_read]
    mov ah,3Eh
    int 21h
    ret
Close   endp
;-----------------------
Lseek   proc    near
    mov bx,[ID_read]
    lea dx,buf
    sub di,dx
    mov dx,di
    inc dx
    add [Seek],edx
    mov cx,word ptr [Seek+2]
    mov ax,4200h
    int 21h
    ret
Lseek   endp
;---------------------
Read    proc    near
    lea dx,Buf
    mov ah,3Fh
    mov bx,[ID_read]
    mov cx,0FB00h
    int 21h
    ret
Read    endp
;--------------------------------
LF      db  10,13,'$'
Seek        dd  0
ID_read     dw  0
Ind     dw  0
;---------------------------------
File    endp
;--------------------------------
Maska   db  '*.*',0
DTA dw  ?
Strin   db  254,255 dup ('$')
Buf:
 
    end start
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2012, 14:40
Помогаю со студенческими работами здесь

Поиск слова в строке с заданной символьной комбинацией
Прошу помощи, поскольку сам это задание не осилю :( Оно звучит так: Разработать функцию, которая определяет и печатает все слова из...

Поиск заданной символьной строки на указанном томе
Помогите пожалуйста написать командный файл который осуществляет поиск заданной символьной строки в заданном томе с помощью средств...

Выведите все требуемые цепочки чисел в произвольном порядке – по одной на строку
Помогите пожалуйста решить задачу: Даны два натуральных числа N и K. Требуется вывести все цепочки x1, x2, ..., xN такие, что xi -...

Обработчик прерывания контроллера накопителя на жестком магнитном диске
Добрый вечер! В лабораторной работе требуется написать свой обработчик прерывания контроллера НЖМД, т е заменить в векторе прерываний...

В символьной строке есть цепочки подряд идущих цифр. найдите наибольшее и наименьшее числа, составленные из этих цепочек.
Вот есть закая задача, помогите, пожайлуста! В символьной строке есть цепочки подряд идущих цифр. найдите наибольшее и наименьшее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru