0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 35

Сравнение слов по заданному алфавиту

26.11.2012, 19:50. Показов 3105. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан алфавит, состоящий из трех символов: ъ, ь, ы. Нужно составить программу, которая определит какое из двух, вводимых слов больше. То есть мы введем 2 слова, например: ьъъъъыь и ъьы, второе слово будет больше, так как его первый символ (ъ) стоит в данном алфавите раньше, чем первый символ второго слова (ь). Или два слова: ыъъъъь и ыъъъъыъъъъ, первое слово будет больше, т.к. с 1 по 5 символ у слов идентичны, а 6 символ первого слова стоит в алфавите раньше, чем 6 символ второго слова. Вот по такому вот принципу...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2012, 19:50
Ответы с готовыми решениями:

Дан список слов различной длины. Составить программу упорядочения списка слов: По их длине; По алфавиту
Очень срочно!!!!! Дан список слов различной длины. Составить программу упорядочения списка слов: По их длине; По алфавиту.

Сортировка массива по заданному алфавиту
СРОЧНО НУЖНА ПОМОЩЬ:) Кто может подсказать, как можно имея массив отсортировать его по ЗАДАННОМУ алфавиту? Например, я ввёл слова, они...

Сравнение строки по алфавиту
Здравствуйте, подскажите пожалуйста как сравнить строку по алфавиту? То есть мне нужно что бы каждая буква проверялась на указаный алфавит....

33
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
20.07.2015, 20:14
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Если функция len работает со строковым типом, который имеет нуль терминатор на конце(строка фиксированного размера), то код будет тормозить тем больше, чем длиннее строка
Проверил на VBA, скорость работы от размера строки не зависит:
Миниатюры
Сравнение слов по заданному алфавиту  
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
20.07.2015, 20:29
Цитата Сообщение от m-ch Посмотреть сообщение
Из справки VBA 32х разрядного офиса:
Из справки к free basic: В диалектах -lang fb и -lang fblite , тип данных Integer имеет 32 бита.
Цитата Сообщение от m-ch Посмотреть сообщение
Если строка должна вводится с клавиатуры, то как мы можем заранее знать какой он длины?
Смысл задачи в том чтобы понять какое из двух слов больше или меньше. Где вы видели слово больше чем в 100 знаков?
Цитата Сообщение от m-ch Посмотреть сообщение
какие лишние проверки если вмест
В любом случае, после каждой конструкции elseif будут проводится проверки.
Надо было бы добавить ещё один шестой goto, примерно так:
QBasic/QuickBASIC
1
2
3
4
IF d2% = d1% THEN PRINT B$;" ravno ";A$ :  GOTO M2
IF r% = d2% THEN  PRINT A$;" bolshe chem ";B$ : GOTO M2
IF r% = d1% THEN  PRINT A$;" menshe chem ";B$
M2:
Вот так будет правильней всего!
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
21.07.2015, 08:14
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Вот так будет правильней всего!
И в чем приемущество Goto над стандартной конструкцией If?
О каких проверках речь?
Тест на скорость показал, что Goto замедляет работу
Кликните здесь для просмотра всего текста
QBasic/QuickBASIC
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
CONST n = 10000000
DIM i AS LONG, t AS SINGLE
CLS
 
t = TIMER
FOR i = 1 TO n
    IF 1 = 2 THEN GOTO M1
    IF 1 = 2 THEN GOTO M1
    IF 1 = 1 THEN :
M1:
NEXT i
PRINT "Test 1/1", TIMER - t
 
t = TIMER
FOR i = 1 TO n
    IF 1 = 2 THEN
    ELSEIF 1 = 2 THEN
    ELSEIF 1 = 1 THEN
    END IF
NEXT i
PRINT "Test 1/2", TIMER - t
 
t = TIMER
FOR i = 1 TO n
    IF 1 = 2 THEN GOTO M2
    IF 1 = 1 THEN GOTO M2
    IF 1 = 1 THEN :
M2:
NEXT i
PRINT "Test 2/1", TIMER - t
 
t = TIMER
FOR i = 1 TO n
    IF 1 = 2 THEN
    ELSEIF 1 = 1 THEN
    ELSEIF 1 = 1 THEN
    END IF
NEXT i
PRINT "Test 2/2", TIMER - t
 
t = TIMER
FOR i = 1 TO n
    IF 1 = 1 THEN GOTO M3
    IF 1 = 1 THEN GOTO M3
    IF 1 = 1 THEN :
M3:
NEXT i
PRINT "Test 3/1", TIMER - t
 
t = TIMER
FOR i = 1 TO n
    IF 1 = 1 THEN
    ELSEIF 1 = 1 THEN
    ELSEIF 1 = 1 THEN
    END IF
NEXT i
PRINT "Test 3/2", TIMER - t
Миниатюры
Сравнение слов по заданному алфавиту  
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
21.07.2015, 08:21
На VBA картина аналогичная:
Code
1
2
3
4
5
6
Test 1/1       0,140625 
Test 1/2       0,1386719 
Test 2/1       0,1210938 
Test 2/2       0,1191406 
Test 3/1       8,007813E-02 
Test 3/2       8,007813E-02
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
21.07.2015, 14:10
У меня почему-то всегда больше скорость с goto :
QBasic/QuickBASIC
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
CONST n = 1000000000
DIM i AS LONG, t AS SINGLE
DIM AS SINGLE a,b
CLS
 t = TIMER
FOR i = 1 TO n
    IF 1 = 1 THEN 
    ELSEIF 1 = 1 THEN
    ELSEIF 1 = 1 THEN 
    END IF
NEXT i
a=TIMER - t
PRINT "Test 3/2", a
t = TIMER
FOR i = 1 TO n
    IF 1 = 1 THEN   GOTO M3
    IF 1 = 1 THEN   GOTO M3
    IF 1 = 1 THEN :
M3:
NEXT i
b=TIMER - t
PRINT "Test 3/1",b
IF b<a THEN 
PRINT "skorost elsif menshe chem  goto v"; a/b; " raza, ili menshe na"; 100-(b*100/a);" %"
ELSEIF b>a THEN
PRINT " skorost goto menshe chem  elsif v"; b/a; " raza, ili menshe na"; 100-(a*100/b);" %"
ELSEIF b=a THEN
PRINT "skorosti ravnyi"
EndIf
SLEEP
Добавлено через 9 минут
Причём больше на 17-25%...
Видимо, всё таки VBA, которым вы пользуетесь, является, как и задумывалось, всего лишь интерпретируемым приложением Word, не более того. Со всеми вытекающими, из этого факта, следствиями. Найдите себе настоящий язык программирования, в конце концов.
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
21.07.2015, 14:33
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Найдите себе настоящий язык программирования, в конце концов.
Спасибо за заботу, но я сам разберусь на чем мне программировать.
Учитывая, что имел опыт программирования на Java, C, php - Basic является любимым языком, не смотря на все его недостатки и ограничения, т.к. в нем быстрее всего получается запрограммировать и отладить алгоритмы. Ну а после того, как получен работоспособный код, то его можно перевести на другие языки (по крайней мере мне так удобнее).

Кстати, запись
Цитата Сообщение от CoderHuligan Посмотреть сообщение
DIM AS SINGLE a,b
и
Цитата Сообщение от CoderHuligan Посмотреть сообщение
EndIf
какое имеет отношение к QBasic? Это какой диалект?
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
21.07.2015, 17:50
Цитата Сообщение от m-ch Посмотреть сообщение
какое имеет отношение к QBasic? Это какой диалект?
По моему, это тот же самый qbasic. У меня на free basic всё правильно компилится с директивой #lang= "qb".

Добавлено через 3 часа 5 минут
Директива #lang "qb", без =
0
199 / 24 / 12
Регистрация: 07.02.2014
Сообщений: 221
21.07.2015, 19:42
QBasic/QuickBASIC
1
2
3
4
IF d2% = d1% THEN PRINT B$;" ravno ";A$ :  GOTO M2
IF r% = d2% THEN  PRINT A$;" bolshe chem ";B$ : GOTO M2
IF r% = d1% THEN  PRINT A$;" menshe chem ";B$
M2:
Не знаю, как насчет времени выполнения, но такой фрагмент понятен сразу даже при беглом чтении. А вот вариант

QBasic/QuickBASIC
1
2
3
4
5
6
7
IF d2% = d1% THEN 
    PRINT B$;" ravno ";A$ 
ELSEIF r% = d2% THEN 
    PRINT A$;" bolshe chem ";B$
ELSEIF r% = d1% THEN 
    PRINT A$;" menshe chem ";B$
ENDIF
требует времени для осмысления.
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
24.07.2015, 03:18
Ещё один учебный вариант (в архиве исполняемый VBS-файл):
Вложения
Тип файла: rar WordPair.rar (426 байт, 4 просмотров)
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
24.07.2015, 04:00
Ещё один весёлый урок (40 минут) довёл образчик кода до вот этого:
Вложения
Тип файла: rar WordPair.rar (464 байт, 4 просмотров)
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
24.07.2015, 16:26
Замечателен хронометраж и прочие изыскания m-ch, DeSex, m-ch, CoderHuligan’а! (Испытать затрудняюсь — просто почитал.)

Цитата Сообщение от gehh Посмотреть сообщение
Примечание:
Бейсик сам сравнивает строковые переменные по всем буквам сразу, независимо от длины слов.
Удачи вам!
1
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
24.07.2015, 19:33
Меня убила эта тема и то, что тут учитал... С годами всё веселее и веселее.
0
Эксперт по электронике
6874 / 3297 / 340
Регистрация: 28.10.2011
Сообщений: 12,922
Записей в блоге: 7
24.07.2015, 20:13
Раздел по QB, а обсуждают FB и VBA...
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
26.04.2016, 14:50
Да просто интересно поковыряться в текстах! A QB мало у кого стоит. Это нормально.

Цитата Сообщение от Quiet Snow Посмотреть сообщение
С годами всё веселее и веселее.
Прямо по Сталину. Какой, однако, впечатлительный!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.04.2016, 14:50
Помогаю со студенческими работами здесь

Сравнение строк и упорядочивание по алфавиту
Определить, какая из них идет раньше по алфавиту, если банан и бананы, то первая идет раньше. Как проще всего? Добавлено через 4...

Лексикографическое сравнение. Сортировка строк по алфавиту
Как отсортировать двумерный массив в лексикографическом порядке в меньшую сторону. (Строки содержат только латинские буквы) vlad ...

Составить программу, которая по заданному слову из набора строит следующее за ним по алфавиту слово
Задано слово (латинскими буквами). Из всех его букв состоят другие слова, возможно и бездумные. Составить программу, которая по заданному...

Сортировка слов по алфавиту
Доброго времени суток. Нужно написать программу которая сортирует введенные с клавиатуры слова по алфавиту, ингорируя символы и пробелы....

Сортировка слов по алфавиту
есть столбец слов нужно их отсортировать по алфавиту подскажите алгоритм До этого сортировал цифры примерно таким образом First...


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Опции темы

Новые блоги и статьи
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru