Форум программистов, компьютерный форум, киберфорум
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. Показов 13380. Ответов 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
1744 / 1009 / 257
Регистрация: 30.06.2015
Сообщений: 5,120
Записей в блоге: 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
1744 / 1009 / 257
Регистрация: 30.06.2015
Сообщений: 5,120
Записей в блоге: 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
1744 / 1009 / 257
Регистрация: 30.06.2015
Сообщений: 5,120
Записей в блоге: 56
04.12.2021, 19:26
Цитата Сообщение от Замабувараев Посмотреть сообщение
А вам IDE разве автоматически не вставляет «End Function»? Это даже Notepad++ умеет делать.
Ноутпад вставляет, а простой блокнот нет. И на листочке писать тоже не с руки. А ЯП должен быть лаконичен, для того, чтобы и на листочке ручкой или карандашиком там.. Ведь разные ситуации бывают. И кстати подсветка в том же ноутпаде++ прекрасно подсвечивает скобки ограничивающих блок. А end function подсвечивает? Чет не замечал, может пропустил?..
0
Эксперт по электронике
6787 / 3214 / 335
Регистрация: 28.10.2011
Сообщений: 12,550
Записей в блоге: 7
04.12.2021, 19:30
Цитата Сообщение от CoderHuligan Посмотреть сообщение
PB встроил эту кучу г. в сам язык. Это нормально?
Почему не нормально?
Это гарантирует что функции на всех платформах работают одинаково.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Надо было чисто свою реализацию сделать. от api потребовалось бы только окошко. Это было бы и более кроссплатформенно и проще.
Поясните.
0
 Аватар для CoderHuligan
1744 / 1009 / 257
Регистрация: 30.06.2015
Сообщений: 5,120
Записей в блоге: 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
1744 / 1009 / 257
Регистрация: 30.06.2015
Сообщений: 5,120
Записей в блоге: 56
05.12.2021, 14:21
Цитата Сообщение от Замабувараев Посмотреть сообщение
Расскажите, почему вам нужно лепить всё без отступов и пробелов?
Потому что пока языки программирования являются текстовыми, до тех пор будет возможность простой описки и ошибки. Нельзя во всем полагаться на компилятор. В фортране это понимали изначально.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Рассуждения про профи от людей, не причастных к кодингу всегда радуют.
Непричастным к профи, но к кодингу причастным, потому что кодил что-то. всё же что-то да умею. Не всё, но кое что могу. Я же годы потратил на все это (а зачем?..), бесследно это не проходит..))
Цитата Сообщение от politoto Посмотреть сообщение
=, && и ??> - нормальный программинг?
Нормальный. Объясню. Например в Си & означает логическую операцию И над битами числа. А операция && это логическая И, но операция не над битами, а над числами. Поэтому здесь все логично. И то, что оператор присваивания = и оператор сравнения == выделены в отдельные сущности тоже правильно. В бейсике, при всем к нему уважении, эти операции одинаковы, что вызывает плохие ассоциации.
Цитата Сообщение от Замабувараев Посмотреть сообщение
Ну давайте теперь ключевые слова запретим, простой блокнот же не умеет ключевые слова раскрашивать
А вот дедушка Вирт с вами бы не согласился. Он ключевые слова в языке Оберон сделал в верхнем регистре, чтобы вообще не требовался специализированный редактор.
Цитата Сообщение от Замабувараев Посмотреть сообщение
Во вложениях скриншоты как выглядит фрибесик‐код в Notepad++ и Visual Studio Code, они все подсвечивают блок.
Убедили. Что тут скажешь: Notepad++ молодец.
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Резюмирую про время, оно не зависит от verbose\ не verbose, от слова совсем.
Я кстати согласен. Я вовсе не за брейнфак. Во всем нужна мера. Просто некторые товарищи все норовят в крайности впасть. Если уж verbose, то подавай verbose во всем и вся. Если обратное, то брейнфак без вариантов. А нужна золотая середина.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 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
1744 / 1009 / 257
Регистрация: 30.06.2015
Сообщений: 5,120
Записей в блоге: 56
05.12.2021, 14:32
Цитата Сообщение от locm Посмотреть сообщение
Поясните.
В смысле: api дергать только ограниченно и дозированно, а всю эту механику с кнопками, чекбоксами, прокрутками и пр. сделать в виде отдельного самостоятельного модуля. Тогда не пришлось бы этот модуль переписывать под другую платформу. Да и работало бы все быстрее если по уму сделать.

Добавлено через 1 минуту
Цитата Сообщение от The trick Посмотреть сообщение
Любую логическую операцию можно заменить на аналогичную битовую приведя типы к булевому значению в котором False = 0, а True = Not False, что и сделано в VB6.
Зачем что-то приводить, если можно сделать два отдельных оператора?
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru