Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/54: Рейтинг темы: голосов - 54, средняя оценка - 4.50
 Аватар для Ixmil
19 / 187 / 0
Регистрация: 17.06.2013
Сообщений: 2,163

Подскажите про оператор IF THEN END IF

23.11.2021, 19:51. Показов 14350. Ответов 161
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Тема: Подскажите про оператор IF THEN END IF
Ограничено ли число команд выполняемых при соблюдении его условия или же это может быть любое число комманд?

Потому что в Паскале если пишут подобным образом: if then то это означает что в случае выполнения условия оператора может выполняться только одна инструкция следующаяя сразу за словом then. А следующая команда уже не будет относится к оператору. А если нужно чтобы количество комманд внутри условного оператора было любым нужно писать как:
if then begin end;. Я заинтересован в использовании только универсального варианта условного оператора Бейсика у которого число комманд внутри оператора может быть любым. Если же оператор IF THEN END IF как то переделывается в более уневерсальный вариант то не могли бы вы подсказать как это делать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.11.2021, 19:51
Ответы с готовыми решениями:

Excel 2013 32-bit URLDownloadToFile пишет "Compile error: only comment may appear after End Sub End Function or End Prop
Добрый день! перепробовал все варианты и не вызывается функция URLDownloadToFile: пишет "Compile error: only comment may appear...

Оператор Try . Except . Finally . End; при работе с ресурсами
Здравствуйте. Задача такая. Есть текстовый файл в ресурсах, который считывается и записывается в Memo. Требуется предусмотреть...

Оператор for. Для чего в коде дополнительные begin-end
Program DimanRu; Var name, surname: string; i:integer; Begin; Writeln('Введите имя...'); Readln(name); Writeln('Введите...

161
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
03.12.2021, 18:03
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от locm Посмотреть сообщение
значит следуя логике FB тоже должен.
Думаю тут вопрос больше к си-шникам чем к FB-шникам. Из того что известно, это винда, линукс и DOS.
И то последний не проверял даже. На линуксе это гемор с этими пакетами колупаться, чтобы установить
что надо, а без них лыжи не едут, с PB та же бодяга, кстати. Это не пакет установщик ткнуть
пару кликов мышью и всё компиль стоит в полной боевой готовности. Не для пользователя это колупание.

Цитата Сообщение от locm Посмотреть сообщение
а Замабувараев заявил что FB может все что может Си.
Он имел в виду чисто теоретическую совместимость на уровне трансляции. 95% юзеров FB
не нужно ничего кроме винды, а оcтальные - "энтузиасты", они на голом энтузиазме чё-то там ковыряют
типа всяких распбери пи и подобного. ОС кстати видел ту, фигня фигнёй))) для галочки писали.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
04.12.2021, 17:33
Лучший ответ Сообщение было отмечено wer1 как решение

Решение

Цитата Сообщение от Quiet Snow Посмотреть сообщение
А что здесь будет являться сором?
dim a as integer - вот это не просто сор, это вообще пипец какой-то..
Меня бесили в паскале все эти begin/end, а тут пошли тем же путем: end function/end sub. Зачем листинги засорять? зачем тратить свое время на прописывание всех этих лишних слов, когда можно ограничится одной скобкой? Это делает код яснее? Не думаю. Для малышей - пойдет. Для профи - нет. Профи ценят свое время, и из детских штанишек давно выросли. verbose синтаксис это тупик.
Цитата Сообщение от Замабувараев Посмотреть сообщение
Ну вот PureBasic попытался охватить самые базовые устройства ввода‐вывода вроде текстовых полей, полос прокрутки и ползунков, но всё вышло наоборот: 90% вопросов о винапи и решений «вызовите такую‐то винапи функцию».
И это тоже тупиковый путь. FB хотя бы оставил это на усмотрение самих win api, а PB встроил эту кучу г. в сам язык. Это нормально? Надо было чисто свою реализацию сделать. от api потребовалось бы только окошко. Это было бы и более кроссплатформенно и проще.
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
04.12.2021, 19:17
Цитата Сообщение от CoderHuligan Посмотреть сообщение
зачем тратить свое время на прописывание всех этих лишних слов
А вам IDE разве автоматически не вставляет «End Function»? Это даже Notepad++ умеет делать.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
verbose синтаксис это тупик.
Приветствую поклонника Brain****! Вы без труда поймёте что здесь написано, никакого словесного синтаксиса, одни закорючки, всё как вы любите:
Code
1
2
3
4
5
6
7
8
9
 +++++++++++++++++++++++++++++++++++++++++++++
 +++++++++++++++++++++++++++.+++++++++++++++++
 ++++++++++++.+++++++..+++.-------------------
 ---------------------------------------------
 ---------------.+++++++++++++++++++++++++++++
 ++++++++++++++++++++++++++.++++++++++++++++++
 ++++++.+++.------.--------.------------------
 ---------------------------------------------
 ----.-----------------------.
2
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
04.12.2021, 19:18
Цитата Сообщение от Замабувараев Посмотреть сообщение
В языке где есть тип данных Boolean — оператор побитового And можно называть тем же словом And, чем он собственно и является, а не в виде закорючек
Вы наверно чего-то все-таки не понимаете.. Камень в сторону си - понятен от поклонника бейсик. Но and по сути есть ОПЕРАТОР, и может участвовать в ВЫРАЖЕНИЯХ. И вот тут все ваши verbose камнем вниз валятся.. Потому что это далеко от нормального программинга, как это позволяет си.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
04.12.2021, 19:23
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Но and по сути есть ОПЕРАТОР, и может участвовать в ВЫРАЖЕНИЯХ
А почему операторы должны быть только закорючками, а не словами?

Добавлено через 1 минуту
Вот есть оператор взятия остатка от деления: Mod. Обычный оператор словами, без закорючек. С чего вдруг And должен быть закорючками?
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
04.12.2021, 19:26
Цитата Сообщение от Замабувараев Посмотреть сообщение
А вам IDE разве автоматически не вставляет «End Function»? Это даже Notepad++ умеет делать.
Ноутпад вставляет, а простой блокнот нет. И на листочке писать тоже не с руки. А ЯП должен быть лаконичен, для того, чтобы и на листочке ручкой или карандашиком там.. Ведь разные ситуации бывают. И кстати подсветка в том же ноутпаде++ прекрасно подсвечивает скобки ограничивающих блок. А end function подсвечивает? Чет не замечал, может пропустил?..
0
Эксперт по электронике
7140 / 3320 / 341
Регистрация: 28.10.2011
Сообщений: 13,061
Записей в блоге: 7
04.12.2021, 19:30
Цитата Сообщение от CoderHuligan Посмотреть сообщение
PB встроил эту кучу г. в сам язык. Это нормально?
Почему не нормально?
Это гарантирует что функции на всех платформах работают одинаково.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Надо было чисто свою реализацию сделать. от api потребовалось бы только окошко. Это было бы и более кроссплатформенно и проще.
Поясните.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
04.12.2021, 19:32
Цитата Сообщение от Замабувараев Посмотреть сообщение
Вот есть оператор взятия остатка от деления: Mod. Обычный оператор словами, без закорючек. С чего вдруг And должен быть закорючками?
потому что есть операторы закорючки в математике такие как + - / *. С этим нормально или и их надо через verbose протащить? Мы просто в одном стиле, и выражение остается в одном стиле, а не в смеси разных. Для глаза естественней такая конструкция:
a == b чем a AND b, потому что тут сразу видно где оператор, а где переменная, чисто визуально. Более того, я могу записать это слитно:
a==b, но вы не сможете записать: aANDb.
Я не прав?
0
04.12.2021, 19:35

Не по теме:

Цитата Сообщение от CoderHuligan Посмотреть сообщение
это далеко от нормального программинга, как это позволяет си.
!=, && и ??> - нормальный программинг?

0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
04.12.2021, 19:46
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Для профи - нет. Профи ценят свое время
Рассуждения про профи от людей, не причастных к кодингу всегда радуют.
Резюмирую про время, оно не зависит от verbose\ не verbose, от слова совсем.
Вбить программу в комп и отладить это 1/50 от времени работы над софтом.
При не соблюдении основных принципов разработки обосраться по времени можно
на отладке и обосраться так, что мало не покажется.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Это было бы и более кроссплатформенно и проще.
До вас ещё не допёрло, что ЛЮБУЮ кроссплатформу НУЖНО тестировать.
И всё потому что разница не только в реализации, а ещё и в принципах функционирования
самой системы. Именно поэтому большинство программ, написанных под линукс начинают
прочно сосать под виндой, а стада идиотов начинают гнать на операционную систему,
не осознавая истинную причину косяков. А причина банальна как два пальца.

Добавлено через 7 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А ЯП должен быть лаконичен, для того, чтобы и на листочке ручкой или карандашиком там.. Ведь разные ситуации бывают.
На листочке рисуются схемы, графические пояснения работы алгоритмов и схематически оформленные
блоки с операциями. Готовый код более менее приличной сложности ты с ходу не напишешь. И более
короткий синтаксис тебе в этом никак не поможет.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
04.12.2021, 19:54
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Ноутпад вставляет, а простой блокнот нет.
Ну давайте теперь ключевые слова запретим, простой блокнот же не умеет ключевые слова раскрашивать, и для записи на листочках нужна ручка с синей, чёрной и красной пастой?

Во вложениях скриншоты как выглядит фрибесик‐код в Notepad++ и Visual Studio Code, они все подсвечивают блок.
Миниатюры
Подскажите про оператор IF THEN END IF   Подскажите про оператор IF THEN END IF  
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
04.12.2021, 20:05
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Более того, я могу записать это слитно:
a==b, но вы не сможете записать: aANDb.
Расскажите, почему вам нужно лепить всё без отступов и пробелов? Вы считаете, что такая мешанина помогает чтению программ?
0
04.12.2021, 20:14

Не по теме:

экономит биты на перфоленте

0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
04.12.2021, 21:20
Цитата Сообщение от Замабувараев Посмотреть сообщение
Ну давайте теперь ключевые слова запретим, простой блокнот же не умеет ключевые слова раскрашивать
Было время программировал без подсветки. И в блокноте писал под TASM, MASM, QB, TP.
При этом форматировал исходники без авто хелперов, по качеству как в старых примерах от Microsoft.
Однако к комфорту быстро привыкаешь и это расслябляет, плохо именно это, т.е. психологическое воздействие.
Тем не менее хелперы ускоряют набор кода и повышают удобство среды, вещь не бесполезная,
если есть возможность и если оно реализовано достойно - то это разумный выбор. Лично мне не нравится
ни один из существующих даже с учётом кастомизации, поэтому по большому счёту пофигу где писать,
есть блокнот - пишу в блокноте, есть FBEdit, пишу в нём, есть QB пишу в нём и т.д., что есть, на том и пишем,
можно сказать всеядный.

Цитата Сообщение от politoto Посмотреть сообщение
нормальный программинг?
К сожалению, многие смирились с таким положением дел в прикладухе. Без агитаций если что, считаю
что каждый сам себе голова.

Цитата Сообщение от Замабувараев Посмотреть сообщение
Расскажите, почему вам нужно лепить всё без отступов и пробелов?
Подобный стиль оформления (без пробелов) критиковал сто лет назад. Люди до сих пор в непонятках.
100% признак выявить либо новичка, либо тотального неряху. QB и был хорош тем что автоматически
делал грязную работу, чтобы наблюдательные и аккуратные люди смогли понять как надо.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
end function/end sub. Зачем листинги засорять?
Объясняю. Когда тебе дают в руки пулемёт и ты нажимаешь на курок, не умея держать его
правильно, то гарантирован отстрел какой-либо конечности, а то и сразу бошки.
Есть две большие разницы как профессионалы оформляют код и как дилетанты\новички.
Язык в этом сильного значения не имеет, просто те, кто начинают с си по этому пункту бьют все рекорды,
отстреливая себе клешни почти поголовно. Есть много опций для обеспечения визуального комфорта.
Основные уже перечислял: отступы, мозаика(в моно шрифте), комментарии блоков перед функцией,
комментарии кода(если программист считает это необходимым), короткие, броские и ёмкие имена
переменных\функций (хорошо если формат переменных поддерживает нижнее подчёркивание, иначе сложнее),
отсутствие переноса на следующую строку(делать только там, где есть крайняя необходимость).
Тут есть небольшой простор для творчества и можно подобрать и сформировать себе визуально
удобный стиль оформления. Главное не переусердствовать, практичность важнее.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
04.12.2021, 22:34
Вот так выглядит отладка FreeBASIC‐программы в GNU Debugger
Миниатюры
Подскажите про оператор IF THEN END IF  
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
05.12.2021, 00:37
си вообще классно заточен под "нечитабельность". Можно творить лютую дичь, что черепушка шерстью внутрь свернётся.
Есть даже контесты специальные на эту тему:
http://www.ioccc.org/2011/blakely/blakely.c

На QB такую петрушку сотворить будет сложнее. Во всяком случае с ходу подобное не гуглится даже.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
05.12.2021, 14:21
Цитата Сообщение от Замабувараев Посмотреть сообщение
Расскажите, почему вам нужно лепить всё без отступов и пробелов?
Потому что пока языки программирования являются текстовыми, до тех пор будет возможность простой описки и ошибки. Нельзя во всем полагаться на компилятор. В фортране это понимали изначально.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Рассуждения про профи от людей, не причастных к кодингу всегда радуют.
Непричастным к профи, но к кодингу причастным, потому что кодил что-то. всё же что-то да умею. Не всё, но кое что могу. Я же годы потратил на все это (а зачем?..), бесследно это не проходит..))
Цитата Сообщение от politoto Посмотреть сообщение
=, && и ??> - нормальный программинг?
Нормальный. Объясню. Например в Си & означает логическую операцию И над битами числа. А операция && это логическая И, но операция не над битами, а над числами. Поэтому здесь все логично. И то, что оператор присваивания = и оператор сравнения == выделены в отдельные сущности тоже правильно. В бейсике, при всем к нему уважении, эти операции одинаковы, что вызывает плохие ассоциации.
Цитата Сообщение от Замабувараев Посмотреть сообщение
Ну давайте теперь ключевые слова запретим, простой блокнот же не умеет ключевые слова раскрашивать
А вот дедушка Вирт с вами бы не согласился. Он ключевые слова в языке Оберон сделал в верхнем регистре, чтобы вообще не требовался специализированный редактор.
Цитата Сообщение от Замабувараев Посмотреть сообщение
Во вложениях скриншоты как выглядит фрибесик‐код в Notepad++ и Visual Studio Code, они все подсвечивают блок.
Убедили. Что тут скажешь: Notepad++ молодец.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Резюмирую про время, оно не зависит от verbose\ не verbose, от слова совсем.
Я кстати согласен. Я вовсе не за брейнфак. Во всем нужна мера. Просто некторые товарищи все норовят в крайности впасть. Если уж verbose, то подавай verbose во всем и вся. Если обратное, то брейнфак без вариантов. А нужна золотая середина.
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
05.12.2021, 14:30
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Можно творить лютую дичь, что черепушка шерстью внутрь свернётся.
Кликните здесь для просмотра всего текста
https://wasm.in/threads/izbavitsja-ot-printf-ispolzuja-tablicu-imports-v-ida.33470/page-2#post-412883


Добавлено через 4 минуты
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А операция && это логическая И, но операция не над битами, а над числами.
Вообще не понял что тут написано. Логическая операция - это частный случай битовой. Любую логическую операцию можно заменить на аналогичную битовую приведя типы к булевому значению в котором False = 0, а True = Not False, что и сделано в VB6.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
05.12.2021, 14:32
Цитата Сообщение от locm Посмотреть сообщение
Поясните.
В смысле: api дергать только ограниченно и дозированно, а всю эту механику с кнопками, чекбоксами, прокрутками и пр. сделать в виде отдельного самостоятельного модуля. Тогда не пришлось бы этот модуль переписывать под другую платформу. Да и работало бы все быстрее если по уму сделать.

Добавлено через 1 минуту
Цитата Сообщение от The trick Посмотреть сообщение
Любую логическую операцию можно заменить на аналогичную битовую приведя типы к булевому значению в котором False = 0, а True = Not False, что и сделано в VB6.
Зачем что-то приводить, если можно сделать два отдельных оператора?
0
Модератор
10061 / 3906 / 885
Регистрация: 22.02.2013
Сообщений: 5,856
Записей в блоге: 79
05.12.2021, 14:35
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Зачем что-то приводить, если можно сделать два отдельных оператора?
А можно 10 - для каждого типа свои, но ты сам же писал про лаконичность. Если что я ничего не имею против & и &&, так-то. Сам 50% времени пишу на С.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2021, 14:35

Оператор условия не открывает ветвь then begin end, несмотря, на то, что условие выполняется
Учусь по самоучителю "Песни о Паскале". Код программы предложенный автором не кидать, и ваши коды тоже т.к. сам хочу разобраться. Условие...

Про оператор IF
Добрый вечер. Переменная а получила значение а = "Иванов Иван", нужно найти в списке этого "Иванов Иван" Запускаем цикл и...

Не могу поставить end. после else – пишет "ожидался оператор"
uses crt; var a:integer; k:string; begin; randomize; repeat clrscr; a:=random(4); if a=1 then begin

Подскажите случаи, когда количество begin и end в программе не совпадают
подскажите случаи когда кол-во begin & end в прграмме не совпадают :swoon: вот первый : case .. of ..... end;

Простая задачка про тернарный оператор
Переписал с учебника простую задачку, однако на 10 и 12 строке показывает ошибки. Что тут не так? #include<iostream> ...


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

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru