Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задачи по visual basic / 25 сообщений из 25, страница 1 из 1
17.05.2011, 21:28
    #37265876
Ильвир
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Привет всем. Помогите пожалуйста решить задачу в visual basic:дана строка-предложение. Определить количество букв в каждом слове.
...
Рейтинг: 0 / 0
17.05.2011, 23:25
    #37266057
michael R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Ильвир
1 что такое слово в твоём задании ?
2 если разделитель слов только пробел , то нужно ли учитывать знаки препинания при подсчёте ?
3 считаются АСКИ-коды цифр буквами в твоём задании ?
...
Рейтинг: 0 / 0
18.05.2011, 01:50
    #37266166
Core12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Ильвир я помогу вам решить задачу. А вы поможете мне материально.
Собсно про это вам уважаемый шокер и намекал.
Я скажу это открыто
...
Рейтинг: 0 / 0
18.05.2011, 06:11
    #37266206
Ильвир
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
michael R,

знаки препинания учитывать не надо. И цифры и коды тоже
...
Рейтинг: 0 / 0
18.05.2011, 15:51
    #37267520
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Ильвир,

Или ты рассказываешь, что именно у тебя не получается и мы пытаемся тебе помочь.
Или ты идешь в форум "Работа", где рассказываешь сколько ты хочешь заплатить за это.

p.s. И писать Shocker.Pro , что он чего-то не знает - по меньшей мере невежливо. Он здесь поумней многих из нас будет.

p.s.2 Флуд не по теме - удален.
...
Рейтинг: 0 / 0
18.05.2011, 15:53
    #37267536
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
big-dukeОн здесь поумней многих из нас будет.

И спасибо-то сказать негде, курилка закрыта
...
Рейтинг: 0 / 0
19.05.2011, 03:38
    #37268525
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Ильвирзнаки препинания учитывать не надо. И цифры и коды тоже
Значит, задача проще всего решается тупым и прямым анализом последовательности символов...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
    t = " Это   пример, запомните, это  Пример... "

    nLen = Len(t)
    ReDim aN( 1 )
    n =  0 
    i =  1 
    While i <= nLen
        Select Case Mid(t, i,  1 )
            Case "А" To "я"
                n = n +  1 
            Case Else
                If n >  0  Then
                    ReDim Preserve aN(UBound(aN) +  1 )
                    aN(UBound(aN)) = n
                End If
                n =  0 
        End Select
        i = i +  1 
    Wend

    s = ""
    For i =  2  To UBound(aN)
        s = s & ", " & aN(i)
    Next
    MsgBox Mid(s,  3 )
...
Рейтинг: 0 / 0
19.05.2011, 09:52
    #37268682
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
AndreTM,

Интересно, "что-либо" - это одно слово или два?
...
Рейтинг: 0 / 0
19.05.2011, 09:55
    #37268686
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
...
Рейтинг: 0 / 0
19.05.2011, 10:13
    #37268728
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Кстати, почему нет?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim WA As Object
Set WA = CreateObject("Word.Application")
With WA.Documents.Add
  .Range.InsertAfter " Это   пример, запомните, это  Пример... "
  MsgBox "Слов: " + CStr(.ComputeStatistics( 0 ))
End With
WA.Quit False
Set WA = Nothing
...
Рейтинг: 0 / 0
19.05.2011, 17:06
    #37269922
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Шокер, всё это хорошо, но вроде бы надо посчитать не слова, а буквы в словах...
А по поводу дефиса - да, правильно. Но надо же и ТСу дать подумать
Впрочем...
Код: plaintext
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.
...
Function IsAlpha(c As String) As Boolean
    IsAlpha = (c >= "А" And c <= "я")
End Function
...

    t = " Это  не пример, запомните, это  что-то вроде Примера... "
    
    t = " " & t & " "
    nLen = Len(t) -  1 
    ReDim nA( 1 )
    n =  0 
    i =  2 
    While i <= nLen
        If IsAlpha(Mid(t, i,  1 )) Or (Mid(t, i,  1 ) = "-" And IsAlpha(Mid(t, i -  1 ,  1 )) And IsAlpha(Mid(t, i +  1 ,  1 ))) Then
            n = n +  1 
        Else
            If n >  0  Then
                ReDim Preserve nA(UBound(nA) +  1 )
                nA(UBound(nA)) = n
            End If
            n =  0 
        End If
        i = i +  1 
    Wend
    
    s = ""
    For i =  2  To UBound(nA)
        s = s & ", " & nA(i)
    Next
    MsgBox Mid(s,  3 )
...
Рейтинг: 0 / 0
19.05.2011, 17:10
    #37269934
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
AndreTM,

Ой, да, это я зарапортовался.

но зачем так сложно?
Код: plaintext
IsAlpha(Mid(t, i,  1 )) Or (Mid(t, i,  1 ) = "-"

см
Код: plaintext
Mid(t, i,  1 ) Like "[А-яЁё-]"
...
Рейтинг: 0 / 0
19.05.2011, 17:11
    #37269939
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
AndreTM,

Кроме того, твой код считает, что в слове "что-то" 6 букв :)
...
Рейтинг: 0 / 0
19.05.2011, 17:18
    #37269957
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
AndreTMШокер, всё это хорошо, но вроде бы надо посчитать не слова, а буквы в словах...
А вот тут ворд и лоханулся

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim WA As Object, Wrd As Object
Set WA = CreateObject("Word.Application")
With WA.Documents.Add
  .Range.InsertAfter " Это   пример, запомните, это  Пример... "
  For Each Wrd In .Range.Words
    Debug.Print Len(Wrd), Wrd
  Next
End With
WA.Quit False
Set WA = Nothing

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 6            Это   
 6            пример
 2            , 
 9            запомните
 2            , 
 5            это  
 6            Пример
 4            ... 
 1         
...
Рейтинг: 0 / 0
19.05.2011, 17:39
    #37270003
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
А, да, можно было и через Like . Причем вынесенным так же в отдельную функцию, ибо так проще править условие для других языков.
А вот что касается длины слова с дефисом - тут всё неоднозначно, и зависит от статуса дефиса (то есть от части речи), так что всё на усмотрение разработчика, условие ведь поправить недолго.
...
Рейтинг: 0 / 0
19.05.2011, 17:55
    #37270052
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
AndreTMзависит от статуса дефиса
ну уж нет ))
авторОпределить количество букв в каждом слове.
дефис - это точно не буква
...
Рейтинг: 0 / 0
19.05.2011, 17:56
    #37270058
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
да обзовите это "символ" и все дела, тогда в слове "кто-то" ровно 6 символов
...
Рейтинг: 0 / 0
19.05.2011, 18:53
    #37270190
Ильвир
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Спасибо всем )) я решил эту задачу
...
Рейтинг: 0 / 0
19.05.2011, 20:28
    #37270351
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Ильвир,
Покажи, пожалуйста, как ты решил эту задачу.
...
Рейтинг: 0 / 0
19.05.2011, 21:12
    #37270408
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
Shocker.Proну уж нет ))
дефис - это точно не буква
http://www.prosv.ru/ebooks/inf34/INF34%20teacher%20koi8/INF34teacherkoi8/INF34metod05.htm Дефис и апостроф

Может показаться странным, что мы вводим внутрисловные знаки после того, как дети выполнили проект "Знакомство с русским текстом" в первой части курса. На самом деле этот лист определений обобщает и систематизирует тот опыт и ту информацию, которые ребёнок уже получил. В традиционных школьных курсах вопрос о статусе дефиса и апострофа обходят стороной. Полагаем, что знание и умение использовать эти знаки – необходимый элемент языковой культуры. Мы также считаем необходимым, чтобы ребёнок твердо уяснил себе не только чисто графические различия между дефисом и тире, но и различие в их статусе: если тире относится к знакам препинания, то дефис по своим функциям скорее похож на букву, чем на знак препинания. Действительно, если знаки препинания ставят между словами и предложениями, то дефис существует только внутри слова. Поэтому его и называют внутрисловным знаком.

Графически апостроф – это запятая вверху строки, содержательно не имеющая ничего общего ни с запятой, ни с каким другим знаком препинания. Так же как и дефис, апостроф существует только внутри слова, выполняя функции буквы. Апостроф обычно встречается в иностранных словах (именах собственных). Одно время он использовался в русском языке вместо твердого знака, но об этом говорить детям пока нет необходимости (конечно, если никто из них сам не вспомнит, что у него на доме написано "ПОД`ЪЕЗД"). Встречаются и авторские использования апострофа, например, когда "изоб`ажают ка`тавость"; нас такая функция апострофа не интересует. Есть небольшая вероятность того, что кто-то из детей сталкивался с одинарными 'кавычками' (полиграфисты называют такие кавычки "марровскими"). Если такой вопрос возникнет, следует объяснить, что правая марровская кавычка и апостроф - совсем разные знаки и похожи они случайно (кавычки – парный знак и не внутрисловный).

Таким образом, формально говоря, дефис и апостроф можно отнести к символам алфавита, хотя традиционно алфавит считается состоящим только из букв. Именно поэтому на этом листе определений доопределяется (и расширяется) наше понятие слово: в первой части курса слово определялось как любая цепочка букв, и в результате некоторые слова русского языка по нашему определению словами не являлись. Теперь это противоречие снимается – теперь все слова русского языка являются словами и с точки зрения понятий курса информатики. Обратное, конечно же, по-прежнему остаётся неверным. Поэтому основным понятием в задачах остается понятие слова как произвольной цепочки букв (и дефиса с апострофом). Если в задаче требуется построить слово, являющееся частью языка, используется выражение "слово русского языка".

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

Обращаю также внимание, что использование дефиса относится к Орфографии, а не Пунктуации
http://therules.ru/
...
Рейтинг: 0 / 0
19.05.2011, 21:16
    #37270413
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
AndreTM,

Опять ты меня победил, снимаю шляпу
...
Рейтинг: 0 / 0
19.05.2011, 21:47
    #37270454
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
AndreTMОбращаю также внимание, что использование дефиса относится к Орфографии, а не Пунктуации

Педант?
где К?
...
Рейтинг: 0 / 0
19.05.2011, 22:06
    #37270471
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
timtimПедант? где К?
Да-а, точно, заметил, когда уже отправил

И не надо, битте, указывать на это ГраммарНаци Луркмора...
...
Рейтинг: 0 / 0
19.05.2011, 22:10
    #37270473
timtim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
AndreTM,
Без обид:)
...
Рейтинг: 0 / 0
19.05.2011, 22:20
    #37270479
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачи по visual basic
timtim,

Конечно, без

А для мОлодежи, заглядывающей иногда - объяснение терминов
http://lurkmore.ru/Grammar_nazi
http://lurkmore.ru/Расстрельный_грамматический_список
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Задачи по visual basic / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]