- •Глава I. Основные сведения.
- •Глава II .Решение задач.
- •Глава III . Дополнительные сведения о tb.
- •Предисловие
- •Глава I. Основные сведения
- •1. Введение
- •Понятие об алгоритмах.
- •Понятие о программировании.
- •Этапы решения задач с помощью компьютера.
- •2. Основы языка turbo basic
- •2.1 Алфавит языка.
- •2.2 Типы данных.
- •2.3 Выражения в Бейсике. Стандартные функции.
- •2.4 Среда программирования TurboBasic
- •2.5 Работа в непосредственном режиме
- •2.6 Структура программ. Оператор присваивания.
- •2.7 Операторы ввода/вывода.
- •2.8 Работа с блоком данных
- •Организация графического экрана. Операторы графики.
- •2.10 Функции обработки символьных (литерных) величин.
- •3.Управляющие конструкции.
- •3.1 Операторы цикла.
- •3.2 Условный оператор.
- •3.3 Подпрограммы.
- •3.4 Функции пользователя.
- •Глава II. Решение задач.
- •4. Работа с функциями.
- •4.2 Функции обработки числовых данных.
- •4.3 Генерация случайных чисел.
- •5. Массивы
- •5.1 Понятие массива.
- •5.2 Задачи на обработку одномерных массивов.
- •5.3 Сортировка массивов
- •5.4 Двумерные массивы
- •6. Практика программирования.
- •Задачи обработки целых чисел.
- •6.2 Построение графика функции.
- •Простейший графический редактор.
- •Моделирование хода часов.
- •Программирование справочных систем.
- •1 Закон ньютона
- •2 Закон ньютона
- •3 Закон ньютона
- •Программирование игр.
- •Глава 3. Дополнительные сведения о тв.
- •Звук и музыка.
- •Графический оператор draw.
- •9. Операторы get и put
- •10. Файлы. Работа с файлами.
- •10.1 Файлы последовательного доступа
- •10.2. Файлы прямого доступа
- •Сообщения об ошибках
- •Список команд, операторов, функций.
- •Ascii – коды
- •Список рекомендуемой литературы
2.2 Типы данных.
Решение задачи начинается с определения исходных данных. В Бейсике существуют две основные категории данных: числовые и символьные, которые в свою очередь делятся на константы и переменные.
Числовые данные представляют собой числа. Запись чисел в Бейсике близка к естественной. В числах, имеющих дробную часть, для отделения целой части от дробной используется точка вместо запятой. Для записи чисел с порядком используется буква Е и следующее за ней число обозначает порядок. Диапазон чисел, с которыми можно оперировать в Бейсике, составляет от 10-38 до 1038. Для удобства работы с целыми числами (скорость обработки, экономия памяти) после них указывают знак %. Целые числа принимают значения в диапазоне от –32768 до 32767. Вещественные числа обозначаются знаком ! ; любая запись числа без указания типа считается вещественной.
Пример "запись чисел":
-
Математическая запись
Запись на Бейсике
1,2
1.2
- 0,6
-.6 (0 можно опустить)
1,2 10-4
1.2Е-4
105
1Е5
723
724%
23,567
23.567!
Символьные данные –последовательность алфавитно-числовых символов, в том числе и пробела, за исключением кавычек. Символьная величина записывается в кавычках.
Пример: "Привет"
"1998 год"
" " – пробел является символом
"" – пустая строка, отсутствие символов
В случае если данные не меняются в процессе выполнения программы и были заранее предопределены, то они называются константами. Константы удобно использовать для тех величин, которые не предполагается изменять: дата события, число , имена и фамилии и т.п.
В случае если величина меняется при выполнении программы, то она называется переменной. Переменные используются для обозначения изменяющихся данных: количество денег, текущее время, очередной символ в слове и т.п. Выделяют числовые и символьные переменные.
Переменные имеют символическое имя – идентификатор, состоящий из латинской буквы либо буквы и цифры. Идентификатор – это набор символов языка, при помощи которых происходит выделение данных и обращение к ним, идентификатором является и имя файла, и метка подпрограммы, и имя функции. Имя переменной может иметь в конце знак, определяющий тип переменной (см.п.2.1.). Именем переменной не может быть зарезервированное слово – имя команды, оператора или функции.
Пример "Запись имен переменных"
А , В1, С! – вещественные;
F%, L4% - целые;
В$, K3$, S$ - символьные.
Переменные должны принимать значения соответствующие их типу. Значением переменной является константа.
2.3 Выражения в Бейсике. Стандартные функции.
Последовательность операций, которые необходимо произвести над данными, чтобы получить требуемое значение называется выражением. Результатом выражения может быть символьная или числовая константа, переменная или значение переменной.
В языке Бейсик существует пять категорий операций:
арифметические операции;
операции отношений;
логические операции
функциональные операции;
строковые операции.
Перечислим арифметические операции, которые расположены в порядке убывания приоритета выполнения:
-
^
Возведение в степень
*, /
Умножение, деление
\
Целочисленное деление
МОD
Остаток от целочисленного деления
+, -
Сложение, вычитание
В выражении сначала выполняются операции более высокого приоритета, затем операции одного уровня слева направо.
Пример»Порядок вычисления»:
3+6/12*3-2
порядок вычисления следующий:
1) 6/12 (=0.5)
2) 0.5*3 (=1.5)
3) 3+1.5 (=4.5)
4) 4.5 –2 (=2.5)
Скобки нарушают естественный порядок вычисления арифметического выражения. Сначала выполняются выражения в скобках.
-
Алгебраическое
выражение
Запись на Бейсике
(X-Y)/Z
X*Y/Z
X(-Y)
X*(-Y)
Две связанные операции могут быть разделены скобками (*-,*+,^-,^-). В тоже время последнее выражение можно записать в виде X*-Y. При делении на ноль возникает ошибка «division by zero» - деление на ноль.
В Бейсике для сравнения арифметических выражений используются операции отношения. Существует шесть операций:
-
Оператор
Значение
Математическое
Выражение
Запись в Бейсике
=
Равенство
X=y
X=Y
<>
Неравенство
X = Y
X<>Y
<
Меньше
X<y
X<y
>
Больше
x>y
X>Y
<=
Меньше или равно
X<y
X<=Y
>=
Больше или равно
X>Y
X>=Y
Если в одном выражении встречаются и арифметические операторы и операторы отношения, то первыми выполняются арифметические операторы.
Язык Бейсик позволяет использовать аппарат функций. Функция – это заранее определенные операции над данными. Различают 2 вида функций: стандартные (встроенные) и определенные пользователем. Приведем примеры наиболее часто используемых стандартных функций:
Математическое определение |
Название |
Запись на Бейсике |
Х |
Модуль числа |
АBS(X) |
SIN X |
Синус (в радианах) |
SIN(X) |
COS X |
Косинус (в радианах) |
COS(X) |
Tg X |
Тангенс (в радианах) |
TAN(X) |
Arctg X |
Арктангенс |
ATN(X) |
Ex |
Число е, экспонента |
EXP(X) |
Ln X |
Логарифм натуральный |
LOG(X) |
X |
Квадратный корень |
SQR(X) |
|
Датчик случайных чисел |
RND (X) |
З а м е ч а н и е. Аргумент функции RND можно опустить. Перед этой функцией можно использовать оператор RANDOMIZE TIMER, чтобы при новом запуске программы получать новую последовательность случайных чисел. Для перевода значения тригонометрической функции, заданного в градусах, в радианы можно использовать формулу: Значение в радианах = значение в градусах. /180
Например: /6 рад = 30о./180 о
Для получения других обратных тригонометрических функций можно использовать формулы:
arcsin(x)=arctg(x/ )
arccos(x)=arctg( /x)
arcctg(x)=arctg(1/x)
Задания для самостоятельной работы
Какие из следующих последовательностей символов являются идентификаторами?
X x1 x’ x1x2 ab abcd sin sin(x) a-1 2a объем delta max 15
Записать по правилам Бейсика выражения
а) 1+х3+ ; б)1+[x]+[1+x];
в) ; г) ;
д) - 2,5; е) ;
ж) +a; з) .
Переписать выражения записанные на Бейсике в традиционной математической форме:
а)sqr(a+b)-sqr(a-b);
б)a+b/(c+d)-(a+b)/c+d
в)a*b/(c+d)-(c-d)/b*(a+b);
г)1+sqr(cos((x+y)/2)).
Вычислите значения функций при а=1:
а) abs(a+1); б)sqr(a-3); в)sin(a-1); г)cos(-2+2*a).
Удалите лишние скобки:
а) (x2/х1)*y б) (sqr(p)*g)/r в)b+(a-(c/3)) г)(a*(b/(c*(d/(e*f))))).
Напишите по правилам Бейсика выражение значением которого является:
а) периметр квадрата, площадь которого а;
б) площадь равностороннего треугольника, периметр которого равен р;
в) работа силы тяжести при перемещении тела массы m на расстояние s. Угол между вектором силы тяжести и направлением перемещения равен .
7. Напишите по правилам Бейсика несколько вариантов выражения, значение которого равно х4. Для каждого из вариантов подсчитать количество умножений, требующихся для вычисления значения выражения.