С Новым годом! Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
159 / 104 / 124
Регистрация: 01.04.2014
Сообщений: 466
Записей в блоге: 7

Зачем объявлять переменные?

19.04.2014, 16:57. Показов 3805. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В самом деле. Зачем объявлять переменные, если
требуется просто написать решение, сдать преподавателю
И забыть все на свете.
Но вот пример кода, который не знают многие школьники.
Поскольку не любят объявлять переменные.
QBasic/QuickBASIC
1
2
3
4
5
6
7
DEFINT X-Z
CLS
X=1/3
Y=2/3
Z=3.14*3.14
PRINT X;Y;3.14*3.14;Z
END
Будет напечатано следующее:
0 1 9.859601 10
Почему не напечатано так:
.3333333 .6666667 9.859601 9.859601
Здесь мы объявили, что все переменные целые
Вот Бейсик и округлил все результаты по
правилам школьной математики.
А как в других языках??
В Си/Си++ произойдёт то же самое.
А Паскаль на вас обидится и считать не будет
А вообще все так и должно быть.
Объявили переменную целой - Дробь Не получите!!
Успехов всем!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.04.2014, 16:57
Ответы с готовыми решениями:

<iostream> зачем тогда объявлять <string>?
вот такой пример, в котором локальная переменная скрывает глобальную, но вопрос то не в этом, почему автор подключил &lt;string&gt;? У меня...

Зачем объявлять функцию, которая и так объявлена в программе?
#include &lt;stion.h&gt; // Зачем тут объявлять функцию, которая и так объявлена в программе? void greet(); main () { } ...

Зачем объявлять прототипы функций? Что даёт прототип?
Зачем объявлять прототипы функций? Можно же описать функцию в начале программы и вызвать в самой проге. Что даёт прототип? Зачем нужна...

5
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
19.04.2014, 22:40
Паскаль и Си более строгие языки, там не декларировать нельзя. Вообще работать "ювелирно"
с DEF-ом не люблю, обычно ставлю к примеру DEFINT A-Z, а дальше DIM-ами уже "высекаю"
как скульптор из камня. Впрочем в каких-то редких ситуациях и малых задачах вполне можно
воспользоваться и "ювелирным" методом.

gehh, тебе нужно писать книгу или цикл статей, желательно более популярным языком. Это
будет определённо полезнее чем все эти темы, потому что они упадут через неделю.
1
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
20.04.2014, 10:39
Если уж и вправду так серьезно стоит вопрос о декларации переменных, то надо начинать с организации хранения данных в машине, с алгоритмов обработки этих данных, с того, что BASIC был задуман как Beginner's All-purpose Symbolic Instruction Code (Всецелевой язык программирования для начинающих). Отсюда, кстати, и "всеядность" типов переменных, что приведено в примере, но эта "всеядность" тащит за собой килограммы встроенных библиотек, а арифметика QB вообще целиком заточена под операции с действительными числами.
Последнее, кстати, дает, на первый взгляд неожиданный результат, когда арифметические операции с действительными числами выполняются быстрее, чем с целыми.
Здесь есть примеры заморочки с декларацией (извините, если он не совсем удачно): Не надо наступать на мои грабли или типы чисел
Как обмануть 15-й бит?
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
20.04.2014, 11:23
Лучший ответ Сообщение было отмечено gehh как решение

Решение

Лично я описываю только массивы и логические переменные. А для всех прочих использую суффиксы:

A% - тип int
A& - тип long
A$ - тип String
A# - тип Double
A! - тип Single

Код лаконичный и нет проблем с неявным преобразованием. А в Бэйсике "от веку" переменные при создании инициализируются нулем (пустой строкой) автоматически. Так что и с этим проблем нет.
2
159 / 104 / 124
Регистрация: 01.04.2014
Сообщений: 466
Записей в блоге: 7
20.04.2014, 15:20  [ТС]
A% - тип int
A& - тип long
A$ - тип String
A# - тип Double
A! - тип Single
Это палка о двух концах. Лучше найти золотую середину.
Допустим в программе много переменных типа long, то
напишите DEFLNG ... А остальное на ваше усмотрение.
Однако если у вас такой стиль, то ради бога не меняйте его!!
Скажите мне каков ваш стиль и я скажу какой вы программист!!
Вы хороший программист (от бога!!)
И это лучший ответ!
Удачи вам!
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
20.04.2014, 15:22
Спасибо, но, боюсь, Вы меня несколько переоценили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.04.2014, 15:22
Помогаю со студенческими работами здесь

Как объявлять глобальные переменные в с#?
В общем, хочу написать программу рисования линий из одной точки. То есть по событию Form1_MouseDown будет инициализироваться эта самая...

Как правильно объявлять переменные?
Здравствуйте, перед тем как писать что то наподобие &quot;google в помощь&quot; скажу что на разных сайтах написано по разному! Собственно говоря...

Как лучше объявлять переменные
Написал такой код, который сначала получает несколько(много) текстовых файлов: DirectoryInfo FilesPath = new...

Как объявлять глобальные переменные?
Нужно создать переменную &quot;Х&quot; задать ей тип, и потом изменять значение из любой формы. Чтобы был доступ к этому значению... и чтобы после...

Где лучше эти переменные объявлять?
Посмотрите пожалуйста на следующий код (код сишный, но компилировался как C++, так как в чистом Си нет ООП... Но не это меня в данном...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru