Комплексные числа. Операции над ними?30.01.2021, 11:09. Показов 4300. Ответов 44
Метки нет (Все метки)
Для решения одной из моих задач мне потребовались операции с комлексными числами. Вот здесь я привёл самые очевидные из них. Это
1. sum - сумма двух чисел 2. diff - разность двух чисел 3. mul - умножение 4. div - деление первого числа на второе 5. qua - возведение числа в квадрат 6. wrz - извлечение квадратного корня примечание: для каждого комплексного числа (кроме нуля) существует 2 квадратных корня z1 и z2. Они связаны соотношением z1 + z2 = 0. Вот это следует запомнить, если вас интересуют комплексные числа конечно. Программа прилагается (проверена). Особенности программы: 1. комплексное число задаётся коротким массивом типа DIM z(1). где z(0) - действительная часть комлексного числа z(1) - мнимая часть комплексного числа. ВОПРОС меня интересует практичность использования коплексных чисел в том виде, в каком я их задал. Возможно это не самый лучший вариант. Есть сомнения. Например надо перемножить 4 числа. И что, вызывать процедуру 4 раза? Может есть что-то получше? Алгоритм иной? Да, вот ещё... я не стал писать процедуру умножения действительного числа на комплексное... мне показалось, что это лишнее. А как вы думаете? Полагаю, что вам есть, что добавить в эту тему?
0
|
||||||
| 30.01.2021, 11:09 | |
|
Ответы с готовыми решениями:
44
Разместить числа в стеке и выполнить над ними арифметические операции
|
|
COM‐пропагандист
|
||
| 04.02.2021, 19:25 | ||
|
0
|
||
|
|
||
| 04.02.2021, 19:39 | ||
|
Когда не надо, пусть возвращают Null, void и т.п.
0
|
||
|
COM‐пропагандист
|
|||||||
| 04.02.2021, 19:50 | |||||||
0
|
|||||||
|
Кормпилятор
|
|||||
| 04.02.2021, 21:51 | |||||
|
Например могу легко не ставить скобки если параметры предполагаются, но обычно ставлю их 100% когда параметров нет, чтобы было видно, что это всё таки процедура. К слову вариант когда Функция = значение мне нравится больше, чем Return значение. Смотрится более интуитивно. Return же в языке также зарезервирован под Gosub. Имхо Gosub чисто для программирования, штука устаревшая, однако в QB использовалось для отработки event-ов, что было вполне нормальным обособленным назначением. Return так и будет в Ret преобразован. Возврат параметров, тоже штука такая, там сильно не оптимизируешь, стек, либо регистры. Добавлено через 11 минут 1) Плохо что не завезли. 2) Согласен. 3) Смысл есть, потому что готовые варианты - это: надо их найти, выкачать и положить файлы библиотеки куда надо и бог весть чего ещё там может не хватать, потом фиг знает какая справка по этому всему делу. Ну Стас понятно сделал хорошую справку, но опять же, даже так, его библиотеку пока не обкатаешь нормально так на приличном проекте, с ходу использовать не получится. Обычно в случаях встроенной библиотеки есть отдельная папка с примерами и оф. справка. Сама же библиотека позволяет "довклинить" туда WinAPI, при каких-то особых запросах. Конечно, не сторонник формошлёпства, но инструмент есть инструмент, лучше когда он есть, чем иначе. Меня больше напрягает говно с раскладками и кодировками.
0
|
|||||
|
|
||
| 04.02.2021, 22:20 | ||
|
Тут только как отрезать - создать ОДНУ общую, расширить, если не хватает на всех китаёзов, и упразднить все остальные раз и навсегда, скажем только UTF8, остальные в утиль: Кликните здесь для просмотра всего текста
ISO 646
ASCII BCDIC EBCDIC ISO 8859: ISO 8859-1, ISO 8859-2, ISO 8859-3, ISO 8859-4, ISO 8859-5, ISO 8859-6, ISO 8859-7, ISO 8859-8, ISO 8859-9, ISO 8859-10, ISO 8859-11, ISO 8859-13, ISO 8859-14, ISO 8859-15 CP437, CP737, CP850, CP852, CP855, CP857, CP858, CP860, CP861, CP863, CP865, CP866, CP869 Кодировки Microsoft Windows: Windows-1250 для языков Центральной Европы, которые используют латинское написание букв (польский, чешский, словацкий, венгерский, словенский, хорватский, румынский и албанский) Windows-1251 для кириллических алфавитов Windows-1252 для западных языков Windows-1253 для греческого языка Windows-1254 для турецкого языка Windows-1255 для иврита Windows-1256 для арабского языка Windows-1257 для балтийских языков Windows-1258 для вьетнамского языка MacRoman, MacCyrillic КОИ8 (KOI8-R, KOI8-U…), КОИ-7 Болгарская кодировка ISCII VISCII Big5 (наиболее знаменитый вариант Microsoft CP950) HKSCS Guobiao GB2312 GBK (Microsoft CP936) GB18030 Shift JIS для японского языка (Microsoft CP932) EUC-KR для корейского языка (Microsoft CP949) ISO-2022 и EUC для китайской письменности Кодировки UTF-16 и UTF-32 набора символов Юникод и ещё сотенка https://www.iana.org/assignmen... sets.xhtml
0
|
||
|
Кормпилятор
|
|||
| 04.02.2021, 22:36 | |||
![]() Добавлено через 2 минуты Надо просто упразднить китайцев, много их стало, морды хитрые все до одного. Добавлено через 7 минут отсутствия переосмысления и захламление инфо среды.
0
|
|||
|
COM‐пропагандист
|
||||
| 05.02.2021, 09:52 | ||||
|
1. Приходится писать Функция = значение и потом Exit Function. Логично заменить идимоу на обычный Return. 2. При переименовании функции приходится внутри искать все места где её имени присваивается значение и переименовывать тоже. Добавлено через 8 минут 1. Это кроссплатформенно? FreeBASIC работает даже в DOS, как это будет работать в DOS? 2. Очередная надстройка над Винапи? В таком случае лучше сразу писать на Винапи без надстроек, потому что даже у могущественной транснациональной корпорации Micro$oft так и не получилось убить Винапи, кишки Винапи торчат как из потрохов MFC, так и из субпродуктов Дотнета.
0
|
||||
|
|
||
| 05.02.2021, 10:38 | ||
|
Да что далеко ходить? Вот FB Русские буквы видно? А они есть!
0
|
||
|
COM‐пропагандист
|
|||
| 05.02.2021, 10:49 | |||
|
Если ваша среда разработки не поддерживает юникод, то это не вина компилятора. Чтобы FBEdit считал файл юникодным и отображал русские буквы, нужно загружать в него файл в кодировке UTF-16 LE. В блокноте от Windows XP это называется загадочно «юникод», в блокноте от Windows 10 — «UTF-16 LE». Напоминаю, что в Виндоуз юникод — это именно UTF-16 LE. Добавлено через 2 минуты Просто возьмите другую IDE, например, Notepad++ или WinFBE.
0
|
|||
|
|
||
| 05.02.2021, 11:26 | ||
![]() Вооооот! А я о чем написал выше? "нужно загружать" то, что нужно. А их, кодировок >100+ Для чего? Уберите все, оставьте UTF8. Или UTF-16 LE? Или что?
0
|
||
|
COM‐пропагандист
|
||
| 05.02.2021, 11:35 | ||
|
Компилятор определяет юникодность строковых литералов по наличию метки BOM. Поэтому просто используйте что‐то юникодное: UTF8 со спецификацией или UTF-16 LE.
0
|
||
|
|
||
| 05.02.2021, 12:37 | ||
|
0
|
||
|
COM‐пропагандист
|
||
| 05.02.2021, 13:00 | ||
|
И причём тут вообще раскладка клавиатуры?
0
|
||
|
|
|||
| 05.02.2021, 14:12 | |||
|
Комплексные числа. Операции над ними? Я тут на форуме исправляю кодировки ежедневно, и именно из за неправильной раскладки.
1
|
|||
|
COM‐пропагандист
|
|||
| 05.02.2021, 15:42 | |||
|
А как вы считаете следовало бы поступать системе?
0
|
|||
|
Кормпилятор
|
||||||
| 05.02.2021, 18:07 | ||||||
|
Исключение - это когда программист намеренно пишет на fbgfx и все библиотеки имеют отдельные компиляционные ветки IFDEF с реализациями библиотечных функций под DOS. При этом там придётся много чего избегать и это попросту нецелесообразно сейчас. софта написанного с его помощью стремится к нулю. Это упрощает разработку интерфейса и даже при этом идёт несоразмерное потребление ресурсов. Разумеется грамотный программист всегда будет использовать в своей практике более легковесные и нативные решения, чтобы не создавать проблем конечному пользователю. когда стало невозможно запускать софт этой ОС из под винды. Т.е. это 2003-2004 годы. К тому же мне писец как не нравится, как сделана работа с WSTRING. Предпочитаю обычный STRING и простую систему рендеринга шифтов на ASCII. Не все разделяют это мнение. Просто нужно дать человеку самому написать систему рендеринга векторных, чтобы он оправдал этот подход. Почему? Потому что огромное кол-во примеров из конца 90-х, да и не только, когда свежеустановленная сугубо юникодная прога давала устойчивые кркозябры по всему экрану. Как и почему - никто не знает, но фактов очень много. Более того даже проги некоторых людей имели изъяны из-за отсутствия нормального тестирования, например 3D шутер который писал знакомый и который уже показывал тут, использовал на Паскале библиотеку XLib, впоследствии выяснилось, что стандартные русификаторы типа Keyrus не работают и библиотеке нужна регистрация шрифта в системе через конфиг файлы иначе мы видим те же самые крякозябры. Осталось понять сколько ещё людей использовали эту библиотеку(это был топ по скорости отрисовки трианглов в то время). Это лишь один пример, а их были десятки в то время и уже не под DOS, а под винду. Добавлено через 4 минуты Тут мы упираемся в популярность того идли иного средства, а FBEdit один из самых популярных на текущий день для FB. И Стас пытается его заменить, честно пытается. Он понимает суть проблемы. Добавлено через 3 минуты Я только за, но тогда надо предъявить разрабам FB за то что они не предоставили IDE на эту тему.
1
|
||||||
|
COM‐пропагандист
|
||
| 05.02.2021, 18:11 | ||
|
0
|
||
|
COM‐пропагандист
|
||
| 05.02.2021, 18:17 | ||
|
* нельзя выделить память под String на стэке; * нельзя зарезервировать память под String в статической памяти (секция .BSS в исполняемом файле); * String всегда дёргает кучу процесса по умолчанию, нельзя создать String в произвольной куче памяти; * много аллокаций, копирований и уничтожений памяти на каждый оператор сложения, конкатенации, присваивания. * не поддерживает юникод.
0
|
||
|
Кормпилятор
|
|||
| 05.02.2021, 19:00 | |||
|
через ПКМ файл, потом сохранить, переименовать расширение и потом только открыть. Я понимаю что люди сами создают себе проблемы, но куда прикажешь девать старые исходники и наработки? Добавлено через 10 минут 2) Зачем он тебе в статической памяти? Что с помощью этой секции хочешь добиться? Для статики есть директива $STATIC, попробуй. Я давно уже не ковыряю генерируемые asm-ы. Меня и так всё устраивает. Спецнужд не имею. 3) Чем плохо дергание хепа? Allocate делает тоже самое. Какая в этом необходимость? Почему не использовать заранее заготовленные строки. Это более качественный подход. 4) Если такое имеет место быть то это недостаток компилятора, пофиксят со временем, хотя сам ни разу не замечал каких-то сильных замедлений. 5) Чтобы его поддержать, сначала надо документацию нормальную на русском языке. И примеры кода на всех языках, в т.ч. бейсик. Мы не ишаки чтобы лазить и делать всё за людей которые это придумали. Мои проги, например, не зависят от системных шрифтов и это воистину здорово, т.к. запсустить их могу хоть на 98 винде, хоть на десятке и не будет разницы, чего я не могу гарантировать если взять разные версии разных GUI библиотек. Добавлено через 11 минут Я таблицу то полноценную не могу найти юникодовую со всеми символами по стандарту, а вы говорите. Ну и допустим есть таблица, шрифты содержат обычно одну страницу вида UTF-8. Всё остальное будет отображаться квадратиком. Дело не в кодировке, дело в том, что чтобы это был стандарт, надо заставить создателей шрифтов делать каждый шрифт на 100500 языков, а они этого делать не будут по понятным причинам. Это не сказка, а суровая реальность, увы. Потому то UTF-8 пюровский сейчас и является самым разумным вариантом и ни о каком многонационализме речи идти не может. Microsoft может и задрачивается на эту тему(и то не уверен, там всё то установи то, то это, не в десятке но в остальных виндах). Добавлено через 17 минут Тип STRING привычен тем, что это в первую очередь динамическая байтовая строка. Люди работали с ним пол века и привыкли. Это привычно. А тут нам дают IDE которая работает не понятно с какой кодировкой, какой-то тип с буковкой W, кучу функций типа "tomultibyte и обратно" или что-то типа того, которые требуют заводить буферы и конвертировать туда сюда. И надо методом тыка и елозений по стековерфловам с кодами на си++ пытаться понять, что всё это говно из себя представляет.))) Кому-то весело, мне нет. Сам программировал под DOS больше 10 лет и такого сурового говна не видывал. ASCII был прост и привычен, прост и привычен до сих пор, нарисовать какой-нть французский алфавит или немецкий в разных стилистиках шрифтов - там не составит особого труда в отличии от, ну при необходимости конечно. Сначала надо понять есть ли в мире большие приоритеты чем русский и английский(интернационал который нас заставляют учить и что мы самые крайние? Пусть учат все.), а потом уже думать о средствах локализации. Если так подумать нам FB дают на откуп, голый. Может правильнее иметь весь спектр исходников? И делать сборку проекта с полных низов? ok и сколько тогда исходников отвалится через 5 версий? Я это прошёл, часть моих исходников сдохли безвозвратно, хотя они были наисаны очень прилично и очень стандартно... Попробуйте например скомпилировать популярную GL2D. Весело? Нет - нифига не весело.
0
|
|||
|
Кормпилятор
|
|
| 05.02.2021, 19:12 | |
|
Pro_grammer всё правильно сказал, так же самая проблема, что и по большей части везде.
Та же самая, вот она:
0
|
|
| 05.02.2021, 19:12 | |
|
Записать числа в модулярном представлении, выполнить над ними операции сложения, вычитания, умножения Записать числа модулярном представлении и выполните над ними операции сложения, вычитания и умножения Разместите в памяти последовательно все цифры заданного числа, используя указатели и операции над ними
Высказывания и операции над ними Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|