Учебное пособие для студентов всех форм обучения Санкт-Петербург

  • От :
  • Категории : Без рубрики

Министерство экономического развития и торговли РФСАНКТ-ПЕТЕРБУРГСКИЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ ИНСТИТУТКафедра информатики
Учебная практика
на персональном компьютере
Учебное пособие
для студентов всех форм обучения
Санкт-Петербург
2002
Б.Ф. Лосев, Ж. В. Дрегваль, И. С. Кноп, Т. И. ТурченюкУчебная практика на персональном компьютере Учебное пособие. СПбТЭИ. 2002.Рецензент Уланов В.А — доцент кафедры “Теория кредита и финансового менеджмента” экономического факультета Санкт-Петербургского Государственного Университета.Работа рассмотрена и одобрена на заседании кафедры информатики Санкт- Петербургского торгово-экономического института22 мая 2002 года (протокол N 8).© Санкт-Петербургский торгово-экономический институт (СПбТЭИ), 2002
РАЗДЕЛ I
ЯЗЫК Quick-BASIC
Алфавит языка Qbasic включает в себя все символы, представленные в кодировочной таблице, хранящейся в памяти компьютера. Каждому символу как обычному, так и управляющему соответствует десятичный код в диапазоне от 0 до 255.Первая половина кодировочной таблицы (символы с кодами от 0 до 127) является унифицированной и соответствует американскому стандарту ASCII. Эти части всех кодировочных таблиц, используемых на IBM-совместимых персональных компьютерах, идентичны. Напротив, вторые части различных кодировочных таблиц в принципе отличаются друг от друга. Это обстоятельство — источник определенных осложнений для отечественных пользователей ПК. Именно во второй части разных кодировочных таблиц находятся русские прописные и строчные буквы, символы псевдографики.
Рекомендуется при разработке бейсик-программ как можно шире использовать латинские буквы. В этом случае программа будет успешно работать на любом IBM-совместимом ПК.
Для описаний конструкций языка Qbasic будем использовать угловые, квадратные и фигурные скобки, вертикальную черту и многоточие. В угловые скобки заключают определяемые и ранее определенные понятия. Квадратные скобки означают, что заключенный в них элемент конструкции может быть опущен. Фигурные скобки указывают на возможность выбора одного из нескольких указанных в них элементов рассматриваемой конструкции. При этом перечисляемые элементы отделяются друг от друга вертикальной чертой. Многоточие означает многократное повторение последнего элемента описываемой конструкции. В языке Qbasic определены следующие основные типы данных:
числовой (целые стандартные, целые длинные, вещественные стандартные, вещественные длинные). Такой тип могут иметь константы, переменные, функции, элементы массивов и проч.
двоичный, восьмеричный и шестнадцатеричный. К данному типу могут относиться только, так называемые, беззнаковые константы.
строковый (символьный, текстовый). Значения строкового типа могут содержать русские буквы.
Константой называется информационный объект, значение которого не может быть изменено в процессе выполнения программы.Среди констант различают абсолютные и именованные константы.Абсолютная константа представляет собой значение, записанное в тексте программы. Например, в операторах:
n=81
simbol$="** — **"
справа от символа равно используются абсолютные константы соответственно числового (стандартного вещественного) и строкового типов.Константа является инструкцией, позволяющей при необходимости оперативно изменять значение этой константы во всем тексте программы путем замены константного значения в операторе определения именованной константы. При этом в языке Qbasic возможно использование именованных констант лишь целого типа. Имена таких констант должны начинаться с символа %.
Именованная константа определяется в программе с помощью конструкции, напоминающей обычный оператор присваивания. Например, запись вида: %n = 255 описывает такую константу с именем %n, имеющую целое значение 255.
При многократном употреблении в тексте программы именованной константы экономится время набора программы, ее текст становится более понятным. Изменение значения именованной константы связано с коррекцией лишь одного оператора, тогда как в случае использования абсолютных констант их изменение во всем тексте программы заняло бы значительное время.
Целые стандартные (в дальнейшем — просто "целые") константы могут принадлежать диапазону [-32 768; 32 767]. Они представляются в памяти ПК двухбайтовыми двоичными числами в дополнительном коде. В бейсик-программе такие константы записываются в виде десятичных чисел, заканчивающихся символом %. Например: 102%.
Имеется возможность задания целых констант в виде беззнаковых двоичных, восьмеричных или шестнадцатеричных чисел:
двоичная константа начинается с двух символов &B и может содержать от одной до шестнадцати двоичных цифр;
восьмеричная константа начинается двумя символами &O и не должна превышать своего максимального значения &O177777;
шестнадцатеричная константа начинается с двух символов &H и не должна превосходить максимального значения &HFFFF.
Целые длинные константы находятся в диапазоне [-2 147 483 648;
2 147 483 647] и представляются в памяти ПК четырехбайтовыми двоичными числами в дополнительном коде. В Qbasic — программе такие константы записываются в виде десятичных чисел, заканчивающихся символом &. Например: 1000000&.
Стандартные вещественные (в дальнейшем — просто "вещественные") константы представляются в памяти ПК в четырехбайтовом стандарте (формат IEEE), а их модуль должен находиться в диапазоне от 1.2E-38 до 3.4E+38 и может насчитывать до семи десятичных цифр. Запись констант такого типа можно заканчивать символом «!». Например: 0.45E-2!, 45!.
Строковые константы представляют собой цепочки любых символов алфавита, заключенные в кавычки. Исключение составляют строковые константы, используемые в операторе DATA, когда кавычки можно не указывать. Максимальная длина строковой константы ограничена – 255 символами.Если внутри строковой константы необходимо задать кавычку, то вместо внутренних кавычек следует использовать символ апостроф. Например: s$= “Язык ‘Бейсик’”. В языке Qbasic различают простые переменные и переменные с индексом. Простые переменные являются информационными объектами для описания и работы с отдельными значениями. Переменные с индексами позволяют использовать в Qbasic-программе конечные упорядоченные наборы однотипных данных.В отличие от констант простые переменные (в дальнейшем — просто "переменная") являются информационными объектами, значения которых могут изменяться в процессе выполнения программы. Для обозначения каждой переменной используется уникальное имя — идентификатор. Он состоит только из латинских букв, десятичных цифр, точек и должен начинаться с буквы. Длина идентификатора не ограничена, но во внимание принимаются только первых 40 символов.Большие и малые буквы в идентификаторах не различаются.Использование символа “точка” позволяет составлять идентификатор из нескольких слов, например, Max.Price, Min.X, Block.Of.Text и проч.Каждая переменная характеризуется типом принимаемых ею значений. Типы и свойства переменных соответствуют типам и свойствам соответствующих констант.Значением переменной строкового типа является цепочка любых символов алфавита, количество которых характеризует "длину" значения этой переменной. Эта длина может находиться в интервале от нуля (пустое значение) до 32 767.Тип каждой переменной должен быть указан в бейсик-программе либо явно с помощью специального символа в имени переменной, либо неявно по принадлежности первого символа идентификатора заранее определенному диапазону букв.В качестве специальных символов-указателей типа используются уже известные нам символы:
% — целый тип;
& — целый длинный тип;
! — вещественный тип (символ! можно опускать);
# — вещественный длинный тип;
$ — строковый тип.
Неявное объявление типа переменной осуществляется с помощью операторов DEFINT (целый), DEFLNG (целый длинный), DEFSNG (вещественный), DEFDBL (вещественный длинный) и DEFSTR (строковый). Все указанные операторы имеют идентичные конструкции:DEFINT a1[-a2],b1[-b2]DEFLNG a1[-a2],b1[-b2]DEFSNG a1[-a2],b1[-b2]DEFDBL a1[-a2],b1[-b2]DEFSTR a1[-a2],b1[-b2]Например, оператор DEFINT a-g,r,x-z объявляет, что переменные, имена которых начинаются буквами a,b,c,d,e,f,g, буквой r и буквами x,y,z, относятся к целому типу.Действие указанных операторов на переменные, тип которых задан явным образом, не распространяется. Поэтому при наличии в бейсик-программе оператора DEFINT a-g,r,x-z в ней могут существовать переменные r.long& (целый длинный тип), abba# (вещественный длинный тип), y.string$ (строковый тип). Таким образом, явное описание типа имеет более высокий приоритет по сравнению с неявным описанием, задаваемым с помощью операторов описания типа переменной.
Преобразование типа данных
Существуют явный и неявный способы преобразования данных из одного типа в другой, причем результаты действия того и другого способа абсолютно идентичны.Неявный способ связан с использованием обычного оператора присваивания. Например, оператор s#=5% не только присваивает значение 5 переменной s, но и преобразует тип от целого к вещественному длинному.Явный способ реализуется с помощью многочисленных специальных функций преобразования типа, имеющихся в языке Qbasic. Рассмотрим основные из этих функций, сведенные в группы:
состоит из четырех функций для преобразования числового аргумента любого типа к требуемому типу: CINT – целый тип, CLNG — целый длинный тип, CSNG — вещественный тип, CDBL — вещественный длинный тип. При переходе от вещественного длинного типа к вещественному типу происходит необходимое округление исходного значения. Получение целого или целого длинного типа для аргумента вещественного или вещественного длинного типа связано с предварительным выполнением операции округления аргумента до ближайшего целого. Если аргумент функции CINT, CLNG или CSNG выходит за пределы допустимого диапазона для значений соответствующего типа, то во время выполнения программы фиксируется переполнение разрядной сетки.
включает в себя две функции, которые реализуют прямое (ASC) или обратное (CHR$) преобразование между каждым символом кодировочной таблицы ASCII и его десятичным кодом из диапазона [0;255]. Аргументом функции ASC может быть строковое выражение ненулевой длины, причем преобразованию подвергается только первый символ соответствующего строкового значения. Например, функция ASC("IBM"+"AT") будет иметь значение 73, т.к. первый символ "I" аргумента "IBM" характеризуется кодом 73 в таблице ASCII. Функция CHR$ выполняет преобразование целого аргумента из диапазона [0,255] в односимвольное значение по таблице ASCII. Так, например, с помощью оператора: print chr$(73);chr$(66);chr$(77) на экран монитора будут выведены подряд три символа "I","B" и "M".
состоит из двух функций, позволяющих преобразовывать числовой аргумент из его машинного представления в строковое значение (STR$) или наоборот (VAL). Аргументом функции VAL является строковое выражение, которое будет преобразовано в машинный формат, соответствующий типу аргумента. При этом исходное строковое значение по внешнему виду должно соответствовать числовому значению. Функция VAL начинает преобразование с крайнего левого символа и продолжает его до тех пор, пока не будет исчерпана строка, либо пока не встретится первый нечисловой символ.
Таблица типов данных
Идентификатор
Описание
Объявление
Типпеременной
Объёмпеременной
%
INTEGER
DEFINT
Целая
2 байта
!
SINGLE
DEFSNG
Обычной точности
4 байта
#
DOUBLE
DEFDBL
Двойной точности
8 байта
$
STRING
DEFSTR
Строковая
4 байта
Массивом называется упорядоченная конечная последовательность однотипных данных. Каждый элемент некоторого массива снабжается общим для этого массива идентификаторов, за которым в круглых скобках указывается индексный список. Значения элементов индексного списка однозначно определяют местоположение данного элемента в массиве. Количество элементов в индексном списке называется размерностью массива.Правила описания типа для идентификаторов массива полностью соответствуют рассмотренным выше правилам описания типа простых переменных.Простая переменная может считаться массивом с размерностью нуль. Наиболее просто организованы одномерные массивы. Все элементы такого массива пронумерованы последовательными целыми положительными числами, называемыми индексами.Двумерные массивы являются аналогами матриц и имеют "прямоугольную" структуру. Первый элемент списка индексов двумерного массива указывает номер строки, а второй – номер столбца, на пересечении которых располагается данный элемент массива. Аналогично определяются массивы большей размерности.
В языке Qbasic максимальной размерностью массива (наибольшее количество элементов в списке индексов) является 8 , т.е. восьмимерный массив. Значение любого индексного выражения перед обращением к памяти компьютера преобразуется к целому типу. При этом минимальное значение индекса может находиться в диапазоне [0; 32766], а максимальное значение — 32 767.
По умолчанию наименьшим значением любого индекса является 0. При необходимости минимальное значение может быть установлено явным способом с помощью оператора OPTION BASE. Например, оператор OPTION BASE 2001 определяет значение 2001 как минимальное для любого индекса в данной бейсик-программе.Для объявления конкретного массива в программе используется оператор DIM, имеющий формат:DIM [атрибут] имя ([i1min:]i1max,[i2min:]i2max,…)Атрибут массива — STATIC или DYNAMIC — определяет способ предоставления основной памяти под массив и вытекающую из этого возможность освобождения занимаемого участка памяти при его использовании для других целей.
Статическому (STATIC) массиву память выделяется во время компиляции программы. Такой массив нельзя переопределить или уничтожить в процессе работы программы. По умолчанию массивы, границы которых заданы константами, считаются статическими (например, массив с описанием DIM vect (50,11:20) подразумевается статическим).
Выделение основной памяти для размещения динамических массивов осуществляется во время выполнения программы. Динамические массивы можно многократно переопределять и уничтожать. Если в операторе DIM хотя бы одна граница задана переменной, то такой массив считается динамическим (например, массив с описанием DIM cell(n), где n – переменная, подразумевается динамическим).Удаление из основной памяти динамического массива выполняется оператором ERASE. Например, с помощью оператора : erase cell, array.din из памяти удаляются два динамических массива с именами cell и array.din.
Язык Qbasic позволяет многократно переопределять в рамках одной программы размеры динамического массива. Однако перед очередным переопределением старый массив должен быть уничтожен. После этого имя старого массива вновь может быть использовано в операторе DIM.Применение оператора ERASE к статическому массиву приводит к обнулению всех элементов этого массива. Выражение представляет собой правило для вычисления значения. Оно может состоять из операндов (констант, переменных, функций), соединенных знаками операций. Для операций заранее установлен порядок их выполнения. Круглые скобки используются для изменения стандартной последовательности выполнения операций данного выражения.Различают арифметические и логические выражения в зависимости от типа входящих в них операндов и используемых операций. В арифметических выражениях возможно использование операций, показанных в таблице:Таблица основных арифметических операций Qbasic
Выражение
Выполняемая операция
x1+x2
Сложение x1 и x2
x1-x2
Вычитание из x1 x2
x1*x2
Умножение x1 на x2
x1/x2
Деление x1 на x2
x1x2
Целая часть от деления x1 на x2
x1^x2
Возведение x1 в степень x2
X1 MOD x2
Остаток от деления x1 на x2
Тип значения арифметического выражения определятся типом с наивысшим приоритетом среди значений-операндов. Типы имеют следующий порядок возрастания приоритетов: целый — целый длинный — вещественный — вещественный длинный.Перед выполнением операции целого деления () и операции MOD оба значения операнда округляются до ближайшего целого. При возведении в степень, имеющую нецелый тип, основание должно быть неотрицательным.Среди арифметических операций устанавливается следующий порядок вычислений: вычисление функции; возведение в степень; умножение, деление, целое деление или модуль; сложение или вычитание. Если встречаются операции равного приоритета, то их выполнение производится по порядку слева направо. Для изменения естественного порядка выполнения операций используют круглые скобки. В последнем случае операции, находящиеся в скобках, имеют более высокий приоритет.Логические выражения образуются из логических операндов, имеющих одно из двух значений — истина или ложь (кодируются 1 и 0 соответственно). Простейшим логическим выражением является отношение: два выражения соответствующих типов, связанные операцией отношения.Таблица основных логических операндов
Кодировка знака операции сравнения
Операция сравнения
=
Равно
Не равно
>
Больше

Министерство экономического развития и торговли РФСАНКТ-ПЕТЕРБУРГСКИЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ ИНСТИТУТКафедра информатики

Учебная практика

на персональном компьютере

Учебное пособие

для студентов всех форм обучения

Санкт-Петербург

2002

Б.Ф. Лосев, Ж. В. Дрегваль, И. С. Кноп, Т. И. ТурченюкУчебная практика на персональном компьютере Учебное пособие. СПбТЭИ. 2002.Рецензент Уланов В.А — доцент кафедры “Теория кредита и финансового менеджмента” экономического факультета Санкт-Петербургского Государственного Университета.Работа рассмотрена и одобрена на заседании кафедры информатики Санкт- Петербургского торгово-экономического института22 мая 2002 года (протокол N 8).© Санкт-Петербургский торгово-экономический институт (СПбТЭИ), 2002

РАЗДЕЛ I

ЯЗЫК Quick-BASIC

Алфавит языка Qbasic включает в себя все символы, представленные в кодировочной таблице, хранящейся в памяти компьютера. Каждому символу как обычному, так и управляющему соответствует десятичный код в диапазоне от 0 до 255.Первая половина кодировочной таблицы (символы с кодами от 0 до 127) является унифицированной и соответствует американскому стандарту ASCII. Эти части всех кодировочных таблиц, используемых на IBM-совместимых персональных компьютерах, идентичны. Напротив, вторые части различных кодировочных таблиц в принципе отличаются друг от друга. Это обстоятельство — источник определенных осложнений для отечественных пользователей ПК. Именно во второй части разных кодировочных таблиц находятся русские прописные и строчные буквы, символы псевдографики.

Рекомендуется при разработке бейсик-программ как можно шире использовать латинские буквы. В этом случае программа будет успешно работать на любом IBM-совместимом ПК.

Для описаний конструкций языка Qbasic будем использовать угловые, квадратные и фигурные скобки, вертикальную черту и многоточие. В угловые скобки заключают определяемые и ранее определенные понятия. Квадратные скобки означают, что заключенный в них элемент конструкции может быть опущен. Фигурные скобки указывают на возможность выбора одного из нескольких указанных в них элементов рассматриваемой конструкции. При этом перечисляемые элементы отделяются друг от друга вертикальной чертой. Многоточие означает многократное повторение последнего элемента описываемой конструкции. В языке Qbasic определены следующие основные типы данных:

  1. числовой (целые стандартные, целые длинные, вещественные стандартные, вещественные длинные). Такой тип могут иметь константы, переменные, функции, элементы массивов и проч.
  2. двоичный, восьмеричный и шестнадцатеричный. К данному типу могут относиться только, так называемые, беззнаковые константы.
  3. строковый (символьный, текстовый). Значения строкового типа могут содержать русские буквы.

Константой называется информационный объект, значение которого не может быть изменено в процессе выполнения программы.Среди констант различают абсолютные и именованные константы.Абсолютная константа представляет собой значение, записанное в тексте программы. Например, в операторах:

n=81

simbol$="** — **"

справа от символа равно используются абсолютные константы соответственно числового (стандартного вещественного) и строкового типов.Константа является инструкцией, позволяющей при необходимости оперативно изменять значение этой константы во всем тексте программы путем замены константного значения в операторе определения именованной константы. При этом в языке Qbasic возможно использование именованных констант лишь целого типа. Имена таких констант должны начинаться с символа %.

Именованная константа определяется в программе с помощью конструкции, напоминающей обычный оператор присваивания. Например, запись вида: %n = 255 описывает такую константу с именем %n, имеющую целое значение 255.

При многократном употреблении в тексте программы именованной константы экономится время набора программы, ее текст становится более понятным. Изменение значения именованной константы связано с коррекцией лишь одного оператора, тогда как в случае использования абсолютных констант их изменение во всем тексте программы заняло бы значительное время.

Целые стандартные (в дальнейшем — просто "целые") константы могут принадлежать диапазону [-32 768; 32 767]. Они представляются в памяти ПК двухбайтовыми двоичными числами в дополнительном коде. В бейсик-программе такие константы записываются в виде десятичных чисел, заканчивающихся символом %. Например: 102%.

Имеется возможность задания целых констант в виде беззнаковых двоичных, восьмеричных или шестнадцатеричных чисел:

  1. двоичная константа начинается с двух символов &B и может содержать от одной до шестнадцати двоичных цифр;
  2. восьмеричная константа начинается двумя символами &O и не должна превышать своего максимального значения &O177777;
  3. шестнадцатеричная константа начинается с двух символов &H и не должна превосходить максимального значения &HFFFF.

Целые длинные константы находятся в диапазоне [-2 147 483 648;
2 147 483 647]
и представляются в памяти ПК четырехбайтовыми двоичными числами в дополнительном коде. В Qbasic — программе такие константы записываются в виде десятичных чисел, заканчивающихся символом &. Например: 1000000&.

Стандартные вещественные (в дальнейшем — просто "вещественные") константы представляются в памяти ПК в четырехбайтовом стандарте (формат IEEE), а их модуль должен находиться в диапазоне от 1.2E-38 до 3.4E+38 и может насчитывать до семи десятичных цифр. Запись констант такого типа можно заканчивать символом «!». Например: 0.45E-2!, 45!.

Строковые константы представляют собой цепочки любых символов алфавита, заключенные в кавычки. Исключение составляют строковые константы, используемые в операторе DATA, когда кавычки можно не указывать. Максимальная длина строковой константы ограничена – 255 символами.Если внутри строковой константы необходимо задать кавычку, то вместо внутренних кавычек следует использовать символ апостроф. Например: s$= “Язык ‘Бейсик’”. В языке Qbasic различают простые переменные и переменные с индексом. Простые переменные являются информационными объектами для описания и работы с отдельными значениями. Переменные с индексами позволяют использовать в Qbasic-программе конечные упорядоченные наборы однотипных данных.В отличие от констант простые переменные (в дальнейшем — просто "переменная") являются информационными объектами, значения которых могут изменяться в процессе выполнения программы. Для обозначения каждой переменной используется уникальное имя — идентификатор. Он состоит только из латинских букв, десятичных цифр, точек и должен начинаться с буквы. Длина идентификатора не ограничена, но во внимание принимаются только первых 40 символов.Большие и малые буквы в идентификаторах не различаются.Использование символа “точка” позволяет составлять идентификатор из нескольких слов, например, Max.Price, Min.X, Block.Of.Text и проч.Каждая переменная характеризуется типом принимаемых ею значений. Типы и свойства переменных соответствуют типам и свойствам соответствующих констант.Значением переменной строкового типа является цепочка любых символов алфавита, количество которых характеризует "длину" значения этой переменной. Эта длина может находиться в интервале от нуля (пустое значение) до 32 767.Тип каждой переменной должен быть указан в бейсик-программе либо явно с помощью специального символа в имени переменной, либо неявно по принадлежности первого символа идентификатора заранее определенному диапазону букв.В качестве специальных символов-указателей типа используются уже известные нам символы:

  • % — целый тип;
  • & — целый длинный тип;
  • ! — вещественный тип (символ! можно опускать);
  • # — вещественный длинный тип;
  • $ — строковый тип.

Неявное объявление типа переменной осуществляется с помощью операторов DEFINT (целый), DEFLNG (целый длинный), DEFSNG (вещественный), DEFDBL (вещественный длинный) и DEFSTR (строковый). Все указанные операторы имеют идентичные конструкции:DEFINT a1[-a2],b1[-b2]DEFLNG a1[-a2],b1[-b2]DEFSNG a1[-a2],b1[-b2]DEFDBL a1[-a2],b1[-b2]DEFSTR a1[-a2],b1[-b2]Например, оператор DEFINT a-g,r,x-z объявляет, что переменные, имена которых начинаются буквами a,b,c,d,e,f,g, буквой r и буквами x,y,z, относятся к целому типу.Действие указанных операторов на переменные, тип которых задан явным образом, не распространяется. Поэтому при наличии в бейсик-программе оператора DEFINT a-g,r,x-z в ней могут существовать переменные r.long& (целый длинный тип), abba# (вещественный длинный тип), y.string$ (строковый тип). Таким образом, явное описание типа имеет более высокий приоритет по сравнению с неявным описанием, задаваемым с помощью операторов описания типа переменной.

    1. Преобразование типа данных

Существуют явный и неявный способы преобразования данных из одного типа в другой, причем результаты действия того и другого способа абсолютно идентичны.Неявный способ связан с использованием обычного оператора присваивания. Например, оператор s#=5% не только присваивает значение 5 переменной s, но и преобразует тип от целого к вещественному длинному.Явный способ реализуется с помощью многочисленных специальных функций преобразования типа, имеющихся в языке Qbasic. Рассмотрим основные из этих функций, сведенные в группы:

  1. состоит из четырех функций для преобразования числового аргумента любого типа к требуемому типу: CINT – целый тип, CLNG — целый длинный тип, CSNG — вещественный тип, CDBL — вещественный длинный тип. При переходе от вещественного длинного типа к вещественному типу происходит необходимое округление исходного значения. Получение целого или целого длинного типа для аргумента вещественного или вещественного длинного типа связано с предварительным выполнением операции округления аргумента до ближайшего целого. Если аргумент функции CINT, CLNG или CSNG выходит за пределы допустимого диапазона для значений соответствующего типа, то во время выполнения программы фиксируется переполнение разрядной сетки.
  2. включает в себя две функции, которые реализуют прямое (ASC) или обратное (CHR$) преобразование между каждым символом кодировочной таблицы ASCII и его десятичным кодом из диапазона [0;255]. Аргументом функции ASC может быть строковое выражение ненулевой длины, причем преобразованию подвергается только первый символ соответствующего строкового значения. Например, функция ASC("IBM"+"AT") будет иметь значение 73, т.к. первый символ "I" аргумента "IBM" характеризуется кодом 73 в таблице ASCII. Функция CHR$ выполняет преобразование целого аргумента из диапазона [0,255] в односимвольное значение по таблице ASCII. Так, например, с помощью оператора: print chr$(73);chr$(66);chr$(77) на экран монитора будут выведены подряд три символа "I","B" и "M".
  3. состоит из двух функций, позволяющих преобразовывать числовой аргумент из его машинного представления в строковое значение (STR$) или наоборот (VAL). Аргументом функции VAL является строковое выражение, которое будет преобразовано в машинный формат, соответствующий типу аргумента. При этом исходное строковое значение по внешнему виду должно соответствовать числовому значению. Функция VAL начинает преобразование с крайнего левого символа и продолжает его до тех пор, пока не будет исчерпана строка, либо пока не встретится первый нечисловой символ.

Таблица типов данных

Идентификатор Описание Объявление Типпеременной Объёмпеременной
% INTEGER DEFINT Целая 2 байта
! SINGLE DEFSNG Обычной точности 4 байта
# DOUBLE DEFDBL Двойной точности 8 байта
$ STRING DEFSTR Строковая 4 байта

Массивом называется упорядоченная конечная последовательность однотипных данных. Каждый элемент некоторого массива снабжается общим для этого массива идентификаторов, за которым в круглых скобках указывается индексный список. Значения элементов индексного списка однозначно определяют местоположение данного элемента в массиве. Количество элементов в индексном списке называется размерностью массива.Правила описания типа для идентификаторов массива полностью соответствуют рассмотренным выше правилам описания типа простых переменных.Простая переменная может считаться массивом с размерностью нуль. Наиболее просто организованы одномерные массивы. Все элементы такого массива пронумерованы последовательными целыми положительными числами, называемыми индексами.Двумерные массивы являются аналогами матриц и имеют "прямоугольную" структуру. Первый элемент списка индексов двумерного массива указывает номер строки, а второй – номер столбца, на пересечении которых располагается данный элемент массива. Аналогично определяются массивы большей размерности.

В языке Qbasic максимальной размерностью массива (наибольшее количество элементов в списке индексов) является 8 , т.е. восьмимерный массив. Значение любого индексного выражения перед обращением к памяти компьютера преобразуется к целому типу. При этом минимальное значение индекса может находиться в диапазоне , а максимальное значение — 32 767.

По умолчанию наименьшим значением любого индекса является 0. При необходимости минимальное значение может быть установлено явным способом с помощью оператора OPTION BASE. Например, оператор OPTION BASE 2001 определяет значение 2001 как минимальное для любого индекса в данной бейсик-программе.Для объявления конкретного массива в программе используется оператор DIM, имеющий формат:DIM [атрибут] имя ([i1min:]i1max,[i2min:]i2max,…)Атрибут массива — STATIC или DYNAMIC — определяет способ предоставления основной памяти под массив и вытекающую из этого возможность освобождения занимаемого участка памяти при его использовании для других целей.

  1. Статическому (STATIC) массиву память выделяется во время компиляции программы. Такой массив нельзя переопределить или уничтожить в процессе работы программы. По умолчанию массивы, границы которых заданы константами, считаются статическими (например, массив с описанием DIM vect (50,11:20) подразумевается статическим).
  2. Выделение основной памяти для размещения динамических массивов осуществляется во время выполнения программы. Динамические массивы можно многократно переопределять и уничтожать. Если в операторе DIM хотя бы одна граница задана переменной, то такой массив считается динамическим (например, массив с описанием DIM cell(n), где n – переменная, подразумевается динамическим).Удаление из основной памяти динамического массива выполняется оператором ERASE. Например, с помощью оператора : erase cell, array.din из памяти удаляются два динамических массива с именами cell и array.din.

Язык Qbasic позволяет многократно переопределять в рамках одной программы размеры динамического массива. Однако перед очередным переопределением старый массив должен быть уничтожен. После этого имя старого массива вновь может быть использовано в операторе DIM.Применение оператора ERASE к статическому массиву приводит к обнулению всех элементов этого массива. Выражение представляет собой правило для вычисления значения. Оно может состоять из операндов (констант, переменных, функций), соединенных знаками операций. Для операций заранее установлен порядок их выполнения. Круглые скобки используются для изменения стандартной последовательности выполнения операций данного выражения.Различают арифметические и логические выражения в зависимости от типа входящих в них операндов и используемых операций. В арифметических выражениях возможно использование операций, показанных в таблице:Таблица основных арифметических операций Qbasic

Выражение Выполняемая операция
x1+x2 Сложение x1 и x2
x1-x2 Вычитание из x1 x2
x1*x2 Умножение x1 на x2
x1/x2 Деление x1 на x2
x1x2 Целая часть от деления x1 на x2
x1^x2 Возведение x1 в степень x2
X1 MOD x2 Остаток от деления x1 на x2

Тип значения арифметического выражения определятся типом с наивысшим приоритетом среди значений-операндов. Типы имеют следующий порядок возрастания приоритетов: целый — целый длинный — вещественный — вещественный длинный.Перед выполнением операции целого деления () и операции MOD оба значения операнда округляются до ближайшего целого. При возведении в степень, имеющую нецелый тип, основание должно быть неотрицательным.Среди арифметических операций устанавливается следующий порядок вычислений: вычисление функции; возведение в степень; умножение, деление, целое деление или модуль; сложение или вычитание. Если встречаются операции равного приоритета, то их выполнение производится по порядку слева направо. Для изменения естественного порядка выполнения операций используют круглые скобки. В последнем случае операции, находящиеся в скобках, имеют более высокий приоритет.Логические выражения образуются из логических операндов, имеющих одно из двух значений — истина или ложь (кодируются 1 и 0 соответственно). Простейшим логическим выражением является отношение: два выражения соответствующих типов, связанные операцией отношения.Таблица основных логических операндов

Кодировка знака операции сравнения Операция сравнения
= Равно
Не равно
> Больше

санкт-петербургский торгово-экономический институт,форм обучения санкт-петербург б,бейсик-программе оператора defint a-g,наивысшим приоритетом среди значений-операндов,цепочки любых символов алфавита,свойства переменных соответствуют типам,явное описание типа имеет,операций заранее установлен порядок,описаний конструкций языка qbasic,неявный способы преобразования данных

Комментариев нет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Планы мероприятий
Игра викторина по ЭКОЛОГИИ-10 класс

  Цель игры «Викторина по экологии» : углубить экологические знания Весь класс разбит на четыре команды по 6 человек. Время обдумывания ответа -1 минута. Ведущий читает высказывания великих людей с паузами , там , где пропущены слова. Команды должны вставить эти слова «Оценивать … только по стоимости её материальных богатств- …

Задания
Хирургия и Реаниматология. Тесты. Методическое пособие

Тестовые задания. Хирургия и Реаниматология.   Профилактика хирургической инфекции. Инфекционная безопасность в работе фельдшера   Обезболивание   Кровотечение и гемостаз   Переливание крови и кровозаменителей, инфузионная терапия   Десмургия   Ведение больных в полеоперационном периоде   Синдром повреждения. Открытые повреждения мягких тканей. Механические повреждения костей, суставов и внутренних органов   …

Планы занятий
Профориентационный тест Л.А. Йовайши на определение склонности человека к тому или иному роду деятельности

ПРОФЕССИЯ – это вид трудовой деятельности человека, который требует определенного уровня знаний, специальных умений, подготовки человека и при этом служит источником дохода. Профессиональная принадлежность – одна из важнейших социальных ролей человека так как, выбирая профессию, человек выбирает себе не только работу, но и определенные нормы, жизненные ценности и образ жизни, …