|
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 35
|
|
Сравнение слов по заданному алфавиту26.11.2012, 19:50. Показов 2914. Ответов 33
Метки нет (Все метки)
Дан алфавит, состоящий из трех символов: ъ, ь, ы. Нужно составить программу, которая определит какое из двух, вводимых слов больше. То есть мы введем 2 слова, например: ьъъъъыь и ъьы, второе слово будет больше, так как его первый символ (ъ) стоит в данном алфавите раньше, чем первый символ второго слова (ь). Или два слова: ыъъъъь и ыъъъъыъъъъ, первое слово будет больше, т.к. с 1 по 5 символ у слов идентичны, а 6 символ первого слова стоит в алфавите раньше, чем 6 символ второго слова. Вот по такому вот принципу...
0
|
|
| 26.11.2012, 19:50 | |
|
Ответы с готовыми решениями:
33
Дан список слов различной длины. Составить программу упорядочения списка слов: По их длине; По алфавиту Сортировка массива по заданному алфавиту Сравнение строки по алфавиту |
| 26.11.2012, 20:38 | ||||||
|
Kosor, у Вас точно правильно описано условие, какое слово больше? т.к. обычно если буква в алфавите идет раньше, то такое слово должно быть меньше, реализовал именно такой вариант.
На QBasic писать лень, да и с кириллицей в нем проблемы, выкладываю код на VB, думаю что перевести на QBasic будет не сложно
1
|
||||||
|
Платежеспособный зверь
8964 / 4387 / 1654
Регистрация: 28.10.2009
Сообщений: 11,645
|
|
| 26.11.2012, 21:13 | |
|
m-ch, это фигня. Нужно не решение для частных случаев, а общее решение
0
|
|
|
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 35
|
|
| 26.11.2012, 22:19 [ТС] | |
|
кот Бегемот, верно... Для частных случаев это сделать просто. Нужна сама программа, в которой вводились бы 2 произвольных слова...
0
|
|
| 26.11.2012, 23:10 | |||
|
я просто привел приер различных вариантов сравнения в одной программе Само сравнение делает функция CompareWords(), возвращающая "-1" если первое слово меньше второго, "1" если первое больше второго и "0" если строки равны Дерзайте, т.к. помимо простого INPUTа нужно еще защиту от дурака прописывать, вдруг введут символы, которых нет в алфавите?
0
|
|||
|
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 35
|
|
| 27.11.2012, 22:02 [ТС] | |
|
Много моментов не понимаю в написанной программе Visual Basic. Перевести в QBasic оказалось сложнее, чем я думал. Оператору CompareWords есть аналог в QBasic? Goto, думаю, не подойдет... Кто может перевести?
Добавлено через 7 часов 24 минуты Ребят, вся надежда на вас... Программа у меня никак не работает, видно коряво переделал в КБ... Позарез нужна к завтрашнему утру...
0
|
|
| 27.11.2012, 22:40 | ||||||
2
|
||||||
|
|
||||||
| 16.07.2015, 19:09 | ||||||
|
Предупреждение: кодировка русских букв работает только в dos режиме! С латинницей проблем не возникает на любой платформе. Это пример того, насколько различны пути по которым развивается программистская мысль. Некоторые любят всё усложнять.
0
|
||||||
|
Кормпилятор
|
|
| 16.07.2015, 21:10 | |
|
Некропостинг процветает. CoderHuligan, надеюсь вы все темы трёхлетней давности поднимать не будете?
А то раньше был у нас товарищ, который попёр с этой ботвой. Ну это так, не в укор, а в надеждена здравый смысл.
0
|
|
|
|
||
| 17.07.2015, 14:11 | ||
|
Я вижу, что подфорум квик бейсика, что-то просел в последнее время. То ли сам язык не так популярен, то ли преподавать перестали. Но где вы найдёте более простой язык для начального обучения, чем QBASIC? Считаю, что учится нужно именно на нём, тем более что существует прекрасный инструмент в виде Free Basic, который может эмулировать QBasic(для этого он и создавался).
1
|
||
|
Кормпилятор
|
||||
| 17.07.2015, 21:19 | ||||
Просто сетевая этика не приветствует подъём старых тем, которым больше полугода, людей уже нет кто задавал вопрос, часть форумчан уже ушли, а тем, кто остался уже влом вспоминать и вдаваться в ньюансы(потому как обращение может быть к любому участнику дискуссии), когда поднимается тема полугодовой давности, обычно пишут причину и извиняются. Поэтому понял бы, если б люди поднимали интересный, серьёзный вопрос, а не какую-то студенческую\школьную лабуду, не применимую НИГДЕ. К тому же можно поступать лучше: создаём свою тему, в начале даём ссылку на старую тему, а потом своё решение вопроса, не поднимая раритет и привлекая тем не менее внимание к вопросу текущей аудитории.
демагог на расслабоне. Ибо work-аю, некогда разглагольствовать в интернетах и бестолковой благотворительностью заниматься, - оно бесполезно, да и себе дороже. Почитал кстати ваш блог, забавный вы человек. про блог
"Шерлок Холмс и планирование." - Почитайте про быструю разработку, думается имелось в виду это,
но этот метод не подходит к научным и просто ёмким задачам, там неоткуда дедуцировать, т.к. нужны исследования\аналитика. Вообще вы можно сказать выразили наглядно главный принцип алгоритмизации. Т.е. это не что-то особенное, все так делают в меру своего IQ, просто кто-то лучше, кто-то хуже. Хороший алгоритмист без сильных знаний среды ценится в разы выше чем хороший программист с идеальным знанием среды, но без нормальных навыков алгоритмизации. Про GOTO уже писал, когда спагетти - это просто чушь. Но иногда GOTO нужен, чтобы обойти ещё проверки(лишние), чтобы не мудохаться с реструктуризацией сложных кусков, а просто перепрыгнуть. Т.е. его появление должно быть чем то оправдано.
Как говорится: "вопросы ещё есть?"
0
|
||||
|
|
|||||||
| 18.07.2015, 17:29 | |||||||
|
Алгоритм никто не отменял и в научных задачах, так как результат исследования и предварительной аналитики всегда связывается с алгоритмом их обработки. Это - начальные условия, не более. Алгоритм всегда и во всём важнее, так как опирается на логику, которая является основой машинного языка. Правда, что касается ООП стиля, то тут я не совсем уверен, что данный метод вообще в принципе может работать... Да, я не вижу подобного под-форума. Совершенно не понимаю почему? Free Basic единственный свободный язык, обладающий почти всеми современными возможностями включая ООП, который продолжает активно развиваться, что можно судить по англоязычному форуму посвящённом ему, на котором уже около 200000 постов: http://www.freebasic.net/forum/ Есть русскоязычный сайт:http://free-basic.ru/index.html Там есть и другие ссылки. Этот вариант бейсика претендует на включение в набор компиляторов GNU.
0
|
|||||||
|
Кормпилятор
|
|||||||
| 18.07.2015, 20:40 | |||||||
не по наслышке.
Но совершенно не тороплюсь, читайте, смотрите, ваши мысли по поводу всего этого тоже лишними не будут.
невозможно выдать результат, нормальный результат. Мы можем спорить об этом долго и муторно, но осознание к вам придёт, когда вы возьмёте наукоёмкий и сложный проект и не поднимете его нахрапом по вашей методике, потому как исследуя годами то чёрт поднимешь. Осознание приходит с опытом. Если говорить простым языком, нельзя за неделю сваять продукт такого же качества, который другой программист серьёзно мутузил несколько лет, проводя рефакторинги, оптимизации кода и структур, пересмотр архитектур движков и прочие манипуляции, оттачивая и вылизывая архитектуру & код, готовя сотни работающих подзадач и натыкаясь на десятки подводных камней. Чудес в этом мире не бывает, просто хочу до вас это понимание донести. Программирование это работа т.е. нужно пахать как лошадь, чтобы что-то нормально сделать. Суть алгоритмизации понимают дети 10-ти летнего возраста, но это не делает их сразу высококвалифицированными программистами, нужна работа над собой в первую очередь: получение опыта, мотивационные и морально волевые аспекты. Уже молчу о том, что не всё может в принципе написать один человек(тем более любой) и как минимум на ёмкие проекты нужна команда, всё зависит от прикладной области, насколько часто там используются недетерминированные алгоритмы, какое количество связей между блоками программы, с каким количеством данных(и их видов) необходимо работать(и анализировать), сколько матана в конце концов.
конечно, т.к. уже общался на англоязычных форумах, просто нету времени трындеть через гугл транслейт, а ребята там серьёзные, electrik, D.J.Peters, много чего сбацали для FB.
если же учат ещё и хорошо, объясняя все аспекты, то ценного опыта выходит больше, чем пыхтеть самому. Меня собственно никто не учил, но люди с форумов помогали много конечно.
qbasic, mobile basic). На самом деле разных диалектов(в т.ч. СПО) дофига, если пошерстить хорошенько. На ООП, кстати, глубочайше пофиг.)))
0
|
|||||||
| 18.07.2015, 21:40 | ||||
|
И что не так с кодом, он что не работает? QBasic сейчас запустить не могу, т.к. он у меня под win8.1 не запускается, но если программу адаптировать под VB/VBA, то все замечательно работает. Например, что нужно поменять в программе, если алфавит состоит не из 3 букв, а из 59 (26 латиницы + 33 кириллицы)?
0
|
||||
|
|
||||||||||||||||
| 19.07.2015, 13:53 | ||||||||||||||||
|
1) Почему вы используете функцию там, где она будет исполняться всего один раз? 2)Почему вы присваиваете тип long там где можно было бы обойтись integer? 3) Возьмём 14 строку:
4)Далее в цикле for у вас 4 вызова функций. У меня всего две. Чем меньше в циклах вызовов функций тем лучше. Это признак хорошего тона. Во вторых, вам уже раньше кто-то говорил(по моему Quiet Snow), что нужно установить dosbox, а уже в нём запускать старый досовский бэйсик. Но гораздо лучше скачать и установить бесплатный free basic. В нём можно устанавливать препроцессорной директивой: #lang "qb" способность эмулировать qbasic. Насколько я знаю под win8 он работает.
0
|
||||||||||||||||
| 19.07.2015, 17:13 | ||||||||||||||||||
|
Пройдусь по порядку:
В своих кодах я Integer практически не применяю, так же как и Single (для дробных чисел есть Double). Если уж так хочется, то эту часть можно было бы записать:
вот переписанная часть кода, работоспособность не проверял:
0
|
||||||||||||||||||
|
|
|||||||
| 20.07.2015, 13:54 | |||||||
![]() ![]() К тому же его размер довольно небольшой, - всего от 26 до nn букв. Заменить эти 26 буковок не большая проблема. Они у меня используются как константы, а не строка, которую нужно ещё отпарсить. С константами программа, по определению, работает гораздо быстрее, чем даже с переменными. Что касается возможной ошибки в алгоритме, то алгоритм довольно жёстко задан, чтобы можно было его как-то нарушить. Вот кстати пример дополнительных костылей в виде совершенно не относящегося к делу цикла do loop. Читаемость программы с подобными костылями становится отвратительной, в то время как с goto всё ясно и прозрачно. Я там по ошибке назначил метке плохое имя: M2, а надо было бы назначить нечто вроде: Vihod, для полной ясности.
0
|
|||||||
| 20.07.2015, 18:07 | |||||||||||
|
2^32 = 4294967296 Из справки QBasic: Integer - 16-битовая целая переменная со знаком Long - 32-битовая целая переменная со знаком Вы, наверное думаете, что функция Len() очень медленная, и ее дополнительное использование сильно замедлит код по сравнению с использованием переменной. Специально замерил при трех разных ситуациях. Кликните здесь для просмотра всего текста
Во всех случаях 4 функции Len (а реально она вызывается только 3 раза) быстрее, чем применение переменной. Вероятно (точно не знаю), при определении длины строки через функцию Len(), значение не вычисляется, а хранится в памяти как признак и сразу возврящается. Кстати, замена Long на Integer немного ускорил код и перевернул результаты, но это в QBasic, в VBA первый вариант более чем в 2 раза быстрее второго и с Long работает быстрее чем с Integer
0
|
|||||||||||
|
|
|||||||||||||||
| 20.07.2015, 18:56 | |||||||||||||||
|
Я прогнал ваш код, и у меня вышло, что с переменными код выполняется в 1.5 раза быстрее, чем без переменных. Достаточно большой разрыв. Не знаю почему у вас по другому. Кстати, измените эту строчку:
0
|
|||||||||||||||
| 20.07.2015, 20:07 | ||||||||||||||||
0
|
||||||||||||||||
| 20.07.2015, 20:07 | |
|
Помогаю со студенческими работами здесь
20
Сортировка слов по алфавиту Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|