Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
sergiy
6 лет назад

01 Начинаем изучать FreeBasic

Людям свойственно нетерпение, желание побыстрее увидеть результат. Это желание присуще не только детям, но и старшим школьникам и даже взрослым. А программа это просто текст на экране, даже более того, это невидимый код внутри компьютера, а всё что можно увидеть отображается на экране в результате исполнения программы.

Но вся “фишка” программирования в нахождении алгоритма решения задачи, а ещё лучше и оптимального алгоритма. Но это не всегда подразумевает видимый результат, но на первых порах обучение как раз “увидеть” важнее всего)))

Вот и рассмотрим те операторы которые позволяют сразу же увидеть результат. Задумался здесь я над словом “сразу”. А ведь потратив уйму сил на решение некоей задачи и воплотив это в программе очень быстрый компьютер ведь тоже выдаст результат практически сразу))).

Как я уже и говорил на первых порах пользоваться будем онлайн компилятором FreeBASIC

Самый главный оператор который позволяет что-то увидеть это:
PRINT оператор вывода на экран

Самое простое его использование это вывод текста, текст при этом нужно заключить в двойные кавычки.
Набираем в окне редактирования такой код
PRINT "Изучаем Бейсик"
нажимаем Execute (выполнить)
результат увидим в черненьком экране вывода

оператор PRINT ещё умеет выводить результат вычислений
PRINT 5+6
Получим
11

или более сложный пример
PRINT 4+8*2-3/7
Получим
19,5714285714

или даже например результат вычисления функций
PRINT sqr(2)

1,41421356237

print sin(3.5)+2*cos(9.78)

-2.225921801707748

На ряду с привычными операциями сложение +, вычитание -, умножение * и деление / в бейсике также присутствуют некоторые другие
\ целочисленное деление, результатом будет целое число, без округления, т.е. отбрасыванием дробной части. print 7\3 выдаст 2
^ операция возведения в степень print 3^2 выдаст 9, а print 3^4 - 81.
mod вычисление остатка от деления print 3 mod 2 будет 1, а print 13 mod 5 будет 3.

Математические функции в бейсике

функцияеё действие
absвычисляет модуль числа abs(9) = 9 и abs(-7) = 7
sgnвычисляет знак числа sgn(9) = 1 и sgn(-7) = -1 и sgn(0) = 0
intвычисляет целую часть числа, наибольшее целое меньшее или равное результату
fixвычисляет целую часть числа, отбрасыванием дробной части
sinвычисляет синус
cosвычисляет синус
tanвычисляет тангенс
atnвычисляет арктангенс
sqrвычисляет квадратный корень
expвычисляет экспоненту
logвычисляет натуральный логарифм

Некоторые функции в различных языках могут означать совсем другое)) например в паскале sqr(4) будет не 2 как в бейсике, а 16, т.е в паскале это возведение в квадрат. А квадратный корень там sqrt.

то же самое относительно логарифма, в некоторых языках другие обозначения ln(x) натуральный логарифм, log10(x) десятичный логарифм.

Особенности функций int и fix
составим такой пример:

print "int ================"
print "int(-12)=";int(-12)
print "int(-12.1)=";int(-12.1)
print "int(-12.9)=";int(-12.9)
print "int(12)=";int(12)
print "int(12.1)=";int(12.1)
print "int(12.9)=";int(12.9)
print
print "fix ================"
print "fix(-12)=";fix(-12)
print "fix(-12.1)=";fix(-12.1)
print "fix(-12.9)=";fix(-12.9)
print "fix(12)=";fix(12)
print "fix(12.1)=";fix(12.1)
print "fix(12.9)=";fix(12.9)

В одном оператором print можно выводить не одно значение, а несколько
при этом если операнды разделены ; то они будут выводиться подряд через пробел,
а если операнды разделены , то будут выводиться по зонам в столбцах
пример....
PRINT 1;2;3;4;5;6;7
PRINT 1,2,3,4,5,6,7
каждый новый оператор PRINT выводит с новой строки,
если только предыдущий не закончился ; или ,

Можно использовать PRINT и сам по себе. В этом случае он выводит пустую строку (следующий вывод начнется с новой строки)

Иногда возникает необходимость очистить экран от предыдущих выводов,
обычно это и следует делать в начале работы делает это команда CLS

Экран очищается, и вывод начинается с позиции слева вверху
если заговорить о координатах, то это позиция будет 1,1

Есть даже оператор устанавливающий эту позицию,
и тогда следующий оператор print выведет свой результат в этой позиции
locate y,x
сначала нужно указать строку, а затем позицию в ряду для установки курсора( счёт начинается с 1 и с правого угла экрана); что непривычно, так как в сравнении с декартовой системой координат здесь оси поменяны местами, что часто вызывает путаницу, это необходимо запомнить.

оператор locate можно ещё использовать для "включения/выключения" отображения курсора, а так же его размера. locate y, x, cur, start, stop. Если cur равен 1, то курсор видимый на экране, а если cur равен нулю - не видимый. start, stop - числа от 0 до 31 задающие размер курсора в высоту.

Если операторы в написании короткие их можно разместить в строке несколько разделив :
locate 4,1: print "*"
Примечание locate в онлайн компиляторе бейсика не работает, для этого нужен "полноценный" бейсик))

Иногда может понадобиться возможность "найти" курсор на экране, для этого есть две функции:
'print csrlin' выдаст строку в которой находится курсор на экране от верха экрана (позиция где будет выведен следующий символ)
'print pos(0)' выдаст позицию в которой находится курсор в строке, начиная с левого края экрана

операторы и функции в этом уроке print, abs, sgn, int, fix, sin, cos, tan, atn, sqr, exp, log, locate, pos, csrlin, cls
0. FreeBASIC лучший из диалектов бейсика

31
448.194 GOLOS
На Golos с October 2016
Комментарии (7)
Сортировать по:
Сначала старые