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

4 месяца назад

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

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

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

Как я уже и говорил на первых порах пользоваться будем онлайн компилятором 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 лучший из диалектов бейсика

Авторы получают вознаграждение, когда пользователи голосуют за их посты.
Голосующие читатели также получают вознаграждение за свой голос.
Порядок сортировки:  Популярное

вычисляет знак числа sgn(9)=1 и sgn(-7)=1 и sgn(0)=0

sgn(-7) = -1

·

спасибо, опечатка)) хоть сам по десять раз и вычитываю...

32
  ·  4 месяца назад

Сюда приплывал Моби Дик

69
  ·  4 месяца назад

@sergiy, поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:

Награда за количество полученных голосов

Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь

Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом стоп

Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.

·
·
·
69
  ·  4 месяца назад

Уведомления сейчас отключены. Извините, если я вас побеспокоила.
Чтобы активировать уведомления, напишите мне комментарий со словом УВЕДОМИТЬ