- •Алгоритмизация и основы программирования
- •Задания на разработку линейных алгоритмов и программ.
- •If условие then оператор
- •If условие goto nc
- •If условие then
- •Задания на разработку разветвляющихся алгоритмов и программ.
- •2) Цикл с постусловием цикл «повторять… до»
- •Алгоритм 4. Нахождение минимального (максимального) элемента в массиве и его индекса.
- •Задания на разработку циклических алгоритмов и программ.
- •Обработка текстовых данных.
- •Среды программирования.
- •Краткое описание системы quick basic
- •Работа с файлами
- •Окно Open Program
- •Окно Save As
- •Редактирование файла
- •Запуск и компиляция программы
- •Установка некоторых режимов работы Quick Basic
- •Некоторые сообщения об ошибках
- •Отладка и выполнение программы на компьютере.
Запуск и компиляция программы
Запустить программу на выполнение можно нажав клавиши F5 или Shift+F5. В расширенном варианте системы Quick Basic можно получить исполняемый ехе-файл, выбрав в основном меню пункт Run, а затем пункт Make EXE File...
Установка некоторых режимов работы Quick Basic
Позиция основного меню Options служит для установки цвета окон системы Quick Basic и задания путей к служебным и рабочим файлам системы.
Некоторые сообщения об ошибках
При обнаружении ошибок системы Turbo Basic и Quick Basic выдают разнообразные сообщения. Эти сообщения могут указывать на неправильную работу устройств компьютера, на ошибки в инструкциях программы и некорректные ситуации при выполнении программы. Здесь, в основном, описаны сообщения, касающиеся только ошибок в инструкциях, рассматриваемых в тетради.
Ошибки при чтении/записи или открытии файлов
Эти сообщения возникают, если при загрузке или сохранении файлов неправильно указываются их имена, повреждены или не готовы к работе дисководы, а также, когда некорректно заданы параметры в инструкциях OPEN и CLOSE.
Отказы устройств
Critical disk error on drive — критическая ошибка дисковода;
Disk is not ready in drive — дискета не готова к работе;
Data integrity error on drive — разрушена информация на диске;
Device I/O error — ошибка устройства ввода/вывода;
Disk not ready — диск не готов к работе;
Hardware failure on drive — отказ в работе дисковода;
Path/file access error — отказ в доступе к каталогу/файлу;
Read/Write fault on drive — отказ чтения/записи;
Sector not found ОП drive — не найден сектор (плохой диск).
Отказы при открытии файлов
Bad file number — неверный номер файла;
Bad file mode — неверный режим работы с файлом (запись, когда открыт на чтение, или наоборот);
Bad file name — неверное имя файла;
File not found — файл не найден;
File already open — файл уже был открыт;
File already exists — файл уже существует;
Too many files — слишком много открытых файлов.
Ошибки при компиляции программы
При неправильной записи инструкции программы компилятор не сможет правильно перевести данную инструкцию в коды команд процессора. При этом курсор будет установлен в то место текста программы, которое, по мнению компилятора, является ошибочным. В большинстве случаев это так и есть, но иногда бывает, что ошибка проявляет себя не сразу, а в следующих строках программы. Бывает и так, что компилятор обнаруживает ошибку, но в своем сообщении неправильно описывает ее причину, особенно это относится к сообщениям вида «... expected», что можно перевести как «здесь должно стоять...». В любом случае нужно внимательно проверить правильность записи ошибочной строки.
Ошибки в записи инструкций
Syntax error — синтаксическая ошибка;
Unmatched ELSE
Unmatched ENDIF — в конструкции if — then — else — end if какое-то из ключевых слов пропущено или записано с ошибкой;
Undefined label/line reference — неопределенная ссылка на метку/строку (оператор GOTO ссылается на несуществующий номер строки);
Duplicate label/line number — повторяющийся номер строки (две строки имеют один номер);
Undefined array reference — неопределенная ссылка на массив (массив не описан оператором DIM);
Unknown identifier — неизвестный идентификатор (ошибка в записи имени переменной);
Variable required — требуется переменная (в данном месте программы должно стоять имя переменной);
Numeric expression requires relational operator — числовое выражение требует операции сравнения (возможно, ошибка в записи условий в конструкциях IF или WHILE);
String expression requires string operand — строковое выражение требует строковые операнды (там, где должна стоять строка, стоит числовое выражение);
Type mismatch — несоответствие типов (например, числовой переменной присваивается строковое значение или наоборот).
Сообщения вида «... expected»
AS expected
IF expected
FOR loop expected
END IF expected
THEN expected и т.п. — указывают, что в данной инструкции пропущено или неверно записано соответствующее слово;
"(" expected
")" expected — обычно указывают на несовпадение количества закрывающих и открывающих скобок в арифметическом выражении или неправильный вызов встроенной функции;
“=” expected — компилятор считает, что ему встретился оператор присваивания. Это сообщение часто возникает при опечатках в самых разных инструкциях;
... variable expected
... constant expected — указывает, что в данном месте программы должна стоять переменная или константа указанного типа (Numeric — числовая, String — строковая, Scalar — простая переменная, Array — элемент массива);
Statement expected — здесь должен быть оператор. Может возникнуть, когда в записи инструкций языка появляются русские буквы (особенно трудно их обнаружить для похожих букв: А, С, Т, Е и т. д.).
Слишком сложные конструкции
Эти сообщения могут возникнуть, если записывать очень длинные арифметические или строковые выражения, ставить много вложенных друг в дуга конструкций IF-THEN. Нужно попытаться записать программу более короткими операторами (разбить начасти).
String too long — строка слишком длинная;
Expression too complex — выражение слишком сложное;
Statement too complex — оператор слишком сложный;
IF nesting Overflow — слишком много вложенных конструкций IF;
Array exceeds 64K — массив имеет слишком много элементов;
Program too large — программа слишком велика.
Ошибки при выполнении программы
Error during run-time — ошибка на этапе выполнения;
Division by zero — деление на 0;
Disk full — на диске нет места;
Input past end — попытка ввода при достижении конца файла;
Overflow — переполнение (при вычислении получилось очень
большое число);
Illegal function Call — незаконный вызов встроенной функции (т. е. недопустимые параметры, например, корень из отрицательного числа или использование графической инструкции без оператора SCREEN);
Subscript Out of range — индекс массива выходит за границы заданной
размерности.