Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 35

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

26.11.2012, 19:50. Показов 2933. Ответов 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
1743 / 1008 / 257
Регистрация: 30.06.2015
Сообщений: 5,107
Записей в блоге: 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
1743 / 1008 / 257
Регистрация: 30.06.2015
Сообщений: 5,107
Записей в блоге: 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
1743 / 1008 / 257
Регистрация: 30.06.2015
Сообщений: 5,107
Записей в блоге: 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
Эксперт по электронике
6520 / 3149 / 332
Регистрация: 28.10.2011
Сообщений: 12,365
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru