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

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

26.11.2012, 19:50. Показов 3233. Ответов 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
Эксперт по электронике
7157 / 3335 / 343
Регистрация: 28.10.2011
Сообщений: 13,162
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru