Форум программистов, компьютерный форум, киберфорум
Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46

Анализатор текста

18.03.2015, 17:05. Показов 1614. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю прогу для диплома по лингвистике. Анализатор текста. Есть исходный текст на русском яз, его копируем в тело проги. Прога, имея встроенный словарь важных слов, подсчитывает их присутствие в этом тексте и сообщает, сколько раз было упомянуто то или иное слово из словаря. Словарь разбит на 7 смысловых частей, каждая часть имеет свой весовой коэфф: +3 +2 +1 0 -1 -2 -3. Например слова "война, смерть" - 3, "счастье, любовь" +3. "удача" +2, "неудача" -2 и т.д. Потом суммируем все и выносится решение типа Текст в целом Негативный или Текст в целом Позитивный. Сам текст посвящен любой тематике. Словари могут пополняться и меняться пользователем. Вопрос. Как скопированный текст превратить в набор ASCII-кодов? Например из фразы " У Мери был барашек." нужно составить одномерный массив ASCII-кодов в количестве 19 штук- столько букв и пробелов и знаков пунктуации в этой фразе. Напишите, пожалуйста, на PB фрагмент. С остальным надеюсь сам разобраться. Если есть что-то готовое на эту тему, подскажите? Это тупо для диплома, чтоб отвязались преподы. Мол сделал и забыл. Буду благода..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.03.2015, 17:05
Ответы с готовыми решениями:

анализатор текста
Мне необходимо написать программу анализирующую текст примерно такого содержания: --- Статы --- Сила: -4 Ловкость: +2 Скорость: 0...

Анализатор текста
Доброго времени суток! Подскажите плз толковый анализатор текста, встраиваемый в яву. Что хочу сделать-есть БД, в 1 столбце ИДшники, во...

Анализатор текста
Написал частотный анализ, но не могу понять по какой причине он плохо декриптит текст (за подсчёт частоты не зашифрованных частот брал...

13
Эксперт по электронике
6834 / 3258 / 338
Регистрация: 28.10.2011
Сообщений: 12,727
Записей в блоге: 7
18.03.2015, 17:15
Лучший ответ Сообщение было отмечено sasa999 как решение

Решение

Цитата Сообщение от sasa999 Посмотреть сообщение
Например из фразы " У Мери был барашек." нужно составить одномерный массив ASCII-кодов в количестве 19 штук- столько букв и пробелов и знаков пунктуации в этой фразе. Напишите, пожалуйста, на PB фрагмент.
Это что ли нужно?
PureBasic
1
2
3
4
5
6
7
8
9
10
String.s="У Мери был барашек"
Len=Len(String)
Dim Char.a(Len)
For i=1 To Len
  Char(i) = Asc(Mid(String, i, 1))
Next i
 
For i=1 To Len
  Debug Char(i)
Next i
Компилировать нужно без поддержки юникода и с кодировкой "Простой текст".
1
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
19.03.2015, 16:00  [ТС]
да, это. а в целом прогу можете сделать? у меня с синтаксисом PB плоховато. обычный Basik юзаю, а это не очень.

Добавлено через 21 час 54 минуты
Помогите этот фрагмент на простом Бейсике (в Андроиде живет) Я написал
PureBasic
1
2
3
4
5
6
7
Str$="У Мери был барашек"
Len=Len(Str$)
dim char[len]
 
For i=1 To Len
char[i] = ASCII(Mid(Str$, i, 1))
Next i
ругается на строку с ASCII(Mid..
исправьте мои ошибки пожалуйста
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
19.03.2015, 18:46
Цитата Сообщение от sasa999 Посмотреть сообщение
на простом Бейсике (
Вы конкретно укажите версию Basic, на котором пишите программу, а то они все разные по своему синтаксису. И ошибки будут разные.
"Обычный Basik" такого вообще не бывает" (в Андроиде живет)" Это вообще может другой раздел, где то там?
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
19.03.2015, 22:39  [ТС]
вроде версия v01.85 Basic for Android взят с PlayMarket
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
22.03.2015, 23:24  [ТС]
написал Анализатор Текста SLOV.pb Компилятор ругается на print.. и не запускает прогу
Помогите, исправьте чтоб запускалось. На Basic for Android это все работает, в неск ином синтаксисе
Вложения
Тип файла: 7z SLOV.7z (1.6 Кб, 7 просмотров)
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.03.2015, 09:27
Цитата Сообщение от sasa999 Посмотреть сообщение
Помогите, исправьте чтоб запускалось.
Где это должно запускаться?
Если у вас это консольное приложение, то вначале надо открыть консоль
OpenConsole()
Для правильного использования Print поставьте курсор мыши на это слово и нажмите клавишу F1
Это касается и других операторов, или функций.
Если надо сложить строку и число, то для этого желательно преобразовать число в строку ( для совместимости со старыми версиями PB), и использовать знак +
Получится так:
PureBasic
1
Print( "cntneg= " + Str(cntneg))
И ещё. Изучите справку в разделе String, там много для вас полезного.
Например, постоянно считаете кол-во пробелов в строке в цикле - это можно сделать гораздо проще:
PureBasic
1
Npoz = CountString(SLOVPOZ$, " ") ; Считаем сколько пробелов
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
23.03.2015, 14:16  [ТС]
У меня Pure Basic 4.50 Windows -x86. С print не получается ничего, как
правильно вписать в прогу оператор print, чтобы он просто напечатал подсчитанную переменную cntpoz, например. Или число 555 или другое число?
Как правильно написать строковую переменную SLOVPOZ$ ? Не понимаю, что я неправильно делаю, но у меня не работает print никак. OpenConsole() я вставил в самый верх, не помогло. Исправьте мой листинг, чтоб работало, пожалуйста.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.03.2015, 17:47
Лучший ответ Сообщение было отмечено sasa999 как решение

Решение

Цитата Сообщение от sasa999 Посмотреть сообщение
Не понимаю, что я неправильно делаю, но у меня не работает print никак.
Вы читаете, что я пишу? Нажите F1, в справке есть основы и примеры использования.
Для правильного Print:
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Получится так:
Код PureBasic
1
PrintN( "cntneg= " + Str(cntneg))
1
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
24.03.2015, 14:47  [ТС]
С PrintN и OpenConsole разобрался, печать есть. Спасибо! Еще вопрос. Текст изначально очень длинный, например 4000символов. Его копирую внуть кавычек переменной TEXT"..." и он не умещается в одной строке, а переносится на следующую с присвоением порядкового номера компилятором, а также на вторую или третью строки. После чего бьет ошибку "Literal string not terminated" Приходится вручную строки сдвигать нахад, чтоб одна осталась, но очень длинная. Как сделать так, чтобы текст копировался в одну строку и не размазывался на неск? Или, что более желательно, чтоб текст рапологался по нескольким не очень длинным строкам для лучшей читабельност в целом. Но при этом компилятор воспринимал их всех вместе , как единую строку. Именно так на Basic for Android и было, автоперенос в размер ширины страницы. То же и для словарей SLOVPOZ$ SLOVNEG$
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
24.03.2015, 15:15
Цитата Сообщение от sasa999 Посмотреть сообщение
Или, что более желательно, чтоб текст рапологался по нескольким не очень длинным строкам для лучшей читабельност в целом. Но при этом компилятор воспринимал их всех вместе , как единую строку.
Создайте несколько вспомогательных переменных и в них храните строку.
PureBasic
1
2
3
4
5
6
7
a1$="ssssssssssssssssssssssssss"
a2$="eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
a3$="kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
; Складываем все строки в одну длинную
a0$=a1$+a2$+a3$
; Работаем со строкой a0$, компилятор воспринимает её , как единую строку
Debug a0$
0
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 46
24.03.2015, 16:12  [ТС]
да, стало поудобнее, хотя и ненамного. надо, чтоб автоматом делилось на ширину жкрана, а читалось как единое. все равно спасибо!
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
24.03.2015, 16:23
Скажу по секрету, что такие программы так не пишут. Нет ни какой необходимости хранить данные, тем более такие длинные строки внутри кода. Для этого есть файлы. Даже простой текстовый файл со списком нужных слов будет в разы удобнее и проще в работе, чем такие длинные строковые переменные. Рекомендую посмотреть соот. раздел справки по файлам, чтение файлов.
0
Эксперт по электронике
6834 / 3258 / 338
Регистрация: 28.10.2011
Сообщений: 12,727
Записей в блоге: 7
24.03.2015, 16:27
Лучше помещать в одну строковую переменную, а не в несколько.
PureBasic
1
2
3
4
a$="ssssssssssssssssssssssssss"
a$+"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
a$+"kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
Debug a$
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.03.2015, 16:27
Помогаю со студенческими работами здесь

Простейший анализатор текста
Добрый вечер, помогите пожалуйста с программой заранее благодарен. нужна программа которая может произвести анализ введенного в окно...

Лексический анализатор текста
Разработать лексический анализатор, который реализует конечный автомат для поиска во входном потоке бинарных векторов с нечетным числом...

Анализатор текста: сколько раз слово встречается в предложении
Вообщем, я даже не знаю как сформулировать свой вопрос.... Задание - есть блокнотик, в нем написано слово N раз. Надо сделать, что бы в...

Таблица идентификаторов, лексический анализатор, удаление комментариев из текста программы
Здравствуйте, уважаемые программисты! Я в С++ Builder новенький, и то это громко сказано, поэтому обращаюсь к Вам за помощью. Мне на...

Анализатор
Просто подскажите в чем ошибка ? ( не компелируется) #include <fstream> #include <iostream> #include <string> using...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru