IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> на списки... плз, помоните написать процедуру
ppp
сообщение 17.02.2008 13:03
Сообщение #1


Гость






помогите пожалуйста написать процедуру... unsure.gif
Дан текст, состоящий из слов, пробелов, и знаков препинания(запятая, точка с запятой, двоеточие) и завершается точкой. текст начинается со слова, а слова отделяются друг от друга пробелом или одним знаком припинания. слова состоят из букв латинского алфавита. найти все слова, состоящие из вхождений не более чем 20 букв.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
andriano
сообщение 17.02.2008 18:34
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


1. Из 4 моих вопросов ответ был только на 2: 1-й и 4-й. А как с остальными?
2. Что должна возвращать функция? Количество слов? Массив слов? Список слов? Если один из двух последних, то это глобальные объекты или передаваемые через параметры?
3. Судя по стилю того, что написано, предполагается реализация конечного автомата. Это не самый рациональный способ в данной ситуации. Но если идти по нему, необходимо ввести переменную, описывающую состояние автомата. Например, принадлежал ли предыдущий символ слову или был разделителем. И, соответственно, для различных сочетаний типа (буква/разделитель) текущего и предыдущего символа производятся те или иные действия. Например, если оба - символы, то продолжаем обработку текущего слова.
4. Лучше, на мой взгляд, разбирать строковыми операциями. Выглядеть должно примерно так:
- заменяем все разделители пробелами.
- заменяем все двойные пробелы одинарными (после чего слова у нас оказываются разделенными единственным пробелом.
- цикл, на каждом шаге которого находим очередной пробел, обрабатываем слово от начал строки до пробела, удаляем из строки слово вместе с пробелом.
- когда в строке не осталось пробелов, обрабатываем последнее входящее в нее слово.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 17.02.2008 19:35
Сообщение #3


Гость






Цитата(andriano @ 17.02.2008 18:34) *

1. Из 4 моих вопросов ответ был только на 2: 1-й и 4-й. А как с остальными?
2. Что должна возвращать функция? Количество слов? Массив слов? Список слов? Если один из двух последних, то это глобальные объекты или передаваемые через параметры?
....


Если я правильно тебя понимаю (паскаль я знаю постольку поскольку...и впринципе программирование)..
Функция должна просто выводить число(цифру - количество слов, которое подсчитывается после прохождении всех оговорочных проверок цикла и в итоге Inc(i)).. Задача сама из контрольной работы, на которую отводится 10 минут. Ничего глобального здесь нет, точнее не подразумевается для данного результата.
Напиши пожалуйста мне для понимания...Если упростить задачу до минимума и считать символы (кроме пробела) за часть слова, то как будет выглядеть цикл, который подсчитывает слова из строки, которые состоят не более 5 символов?
 К началу страницы 
+ Ответить 

Сообщений в этой теме
ppp   на списки... плз   17.02.2008 13:03
andriano   Во-первых, неизвестно, что такое текст, в каком ви...   17.02.2008 15:07
Гость   Во-первых, неизвестно, что такое текст, в каком в...   17.02.2008 16:01
andriano   1. Из 4 моих вопросов ответ был только на 2: 1-й и...   17.02.2008 18:34
Гость   1. Из 4 моих вопросов ответ был только на 2: 1-й ...   17.02.2008 19:35
andriano   Примерно так (писал прямо здесь): const MaxWord...   17.02.2008 21:09
ppp   Примерно так (писал прямо здесь): . . . спасибо...   18.02.2008 11:17
klem4   Если текст задан именно так, как сказано в задании...   18.02.2008 22:06
volvo   Правда? Ну, давай посмотрим: { здесь - твоя функц...   18.02.2008 22:23
klem4   на сколько я понял из условия между 2-мя словами м...   18.02.2008 22:58
volvo   Значит, автор дает пример, противоречащий условию....   18.02.2008 23:01
klem4   Да уж непонятка, ну если еще актуально, автор пуст...   18.02.2008 23:08
andriano   Я дал решение в предположении, что несколько разде...   19.02.2008 19:50


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 14:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"