![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.06.2014
Сообщений: 2
|
![]()
Помогите пожалуйстаа..
Дана программа написанная на языке Pascal.. Записать в выходной файл построчно все числовые константы, встречающиеся в этой программе, вместе с номером строки программы. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
в общем случае задачка весьма непроста и потребует лексического разбора.
Можно, конечно, решить сильно упрощённую задачу, не разбирая код Паскаля на лексемы, т.е. не проводя лексический разбор, но тогда готовьтесь к тому, что ваша программа будет косячить, например, определять в строке s := ' Было это 17 июня '; 17 как числовую константу.... |
![]() |
![]() |
![]() |
#3 |
Программист и
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,265
|
![]()
да так то просто, в цикле ищи последовательность:
1) находим слово const (если мне не изменяет память) 2) ищим некое цельное слово (первый символ буква или _) 3) если после него встречается комбинация := то это слово - константа (вроде так же они записываются, или просто через равно?) 4) если после := первый найденный символ будет числом, то это и есть числовая константа 5) если находим слово, но не находим дальше := то значит все, мы вышли из раздела констант Если я правильно понял топиксатора, то это норм алгоритм |
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
По-моему Серж прав. Все числовые константы, это в том числе и те, что вписаны прямо в выражения. И да, их от строк и имен нужно отличать уметь. Задача решаема, но посидеть покумекать маненько придется.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Программист и
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,265
|
![]()
А чем мой алгоритм плох? Трассировочную таблицу нарисуйте, проверьте.
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
угу. как я уже выше писал, тут всё упирается в конкретные детали задачи и качество решения.
В упрощённом виде вполне можно делать как предложил Simply-Art. что-то чувствую, автор темы потерял(а) интерес к данном топику... Цитата:
Код:
во-вторых, как ваш алгоритм отработает такой код: Код:
ну и ещё куча разных подводных камней. ![]() Последний раз редактировалось Serge_Bliznykov; 19.06.2014 в 08:51. |
|
![]() |
![]() |
![]() |
#7 | |
Программист и
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,265
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
и не говорил, что алгоритм плох.
даже наоборот: Цитата:
|
|
![]() |
![]() |
![]() |
#10 | |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]() Цитата:
В разработке: воспроизводственный контур ИТ
|
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заплнение матрицы и обработка символьных строк (С++) | PhoenixPC | Помощь студентам | 0 | 23.05.2014 02:04 |
Обработка символьных строк. (TurboC++) | flamen1003 | Помощь студентам | 0 | 24.04.2012 01:07 |
Обработка Символьных Строк | неоспоримый | Помощь студентам | 2 | 01.04.2012 21:04 |
Обработка символьных строк | 1OffSide | Общие вопросы C/C++ | 1 | 21.12.2010 01:07 |
подкоректировать.обработка символьных данных и строк | felmor | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 25.12.2008 19:12 |