![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
-LOVE133- |
![]()
Сообщение
#1
|
Гость ![]() |
скачала несколько юнитов для работы с мышью, но при запуске программы требует файл типа TPU , а все юниты просто с расширение PAS. что в этих ситуациях обычно делают?
|
![]() ![]() |
LOVE133 |
![]()
Сообщение
#2
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
Уважаемый Бродяжник , посидели вчера , покумекали, вот что получили , осталось забить это в код....
Вот данная рекурсивная процедура . Будем использовать как мне их обозвали «дырки», то есть места выхода из процедуры, через которые будет проскакивать рекурсия не выполняя никаких функций. Выглядит это так (должно по крайней мере) «гнезда» - упорядоченный массив записей содержащий вот такую структуру Tgnezdo=record x,y:integer; - координаты ячейки, где начинается слово len:byte; -длина слова horizontal:boolean; - горизонтально или вертикально расположено слово вот данная процедура Код Функция ARBEIT ( передаем текстовое поле, где пробелами обозначены места где есть или должна быть буква, и номер «гнезда» ) :Boolean; N слова:=0; retValue:=0;(retValue – метка для прохождения процедур без выполнения) Процедура Mask(текстовое поле, «гнездо» ):string; (процедура получает строку типа такой “_А_ _ Л”) Получение очередного слова из Файла Сравнение с маской не подходит ( Inc(номер слова)) Подходит Если номер гнезда равен максимальному номеру гнезд нет да клонируем текстовое поле забиваем слово в текстовое поле забиваем слово в клон retValue:=2 ( то есть True) (*первый выход из рекурсии) If ARBEIT (копия текстового поля; N гнезда +1) False True (переход к получения нового слова Присваиваем полю значение копии retValue:=2 ( то есть True) ТО есть теперь все циклы и условия нужно будет проверять с условием if RetValue =2 или нет . Осталось только реализовать это в код… я все-таки не до конца понимаю рекурсию. Может чем поможете, Алгоритм в принципе понятен и мелкие процедурки типа получения слова осилила. Но вот все это собрать без продлем не могу … эх.. жаль н еработают рисунки, прикрепила текстовый файл, елси что там все понятне. но смысл тут уловить можно . Прикрепленные файлы ![]() |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 4:25 |