Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Введение и основные функции.↑ ⇐ ПредыдущаяСтр 6 из 6 Содержание книги Поиск на нашем сайте
Большинство программ работает с данными, которые можно вводить с клавиатуры и выводить на экран, или с данными, хранящимися в каких-либо файлах на дискетах или жестких дисках. Рассмотрим некоторые основные понятия. Прежде всего следует выяснить, что собственно понимают под словом "файл". Это понятие можно определить так: файл — это область на носителе информации, где хранятся некоторые данные. Правда это определение слишком обобщенное, так как, следуя такому определению, файлами можно назвать и такие вещи как: @ Телефонный справочник (носитель - бумага) @ Ящик картотеки (носитель - бумага) @ Сведения об адресах на жестком диске (носитель - жесткий диск). Нас будут интересовать лишь такие файлы, хранящиеся на носителях, которые можно обрабатывать программами QBASIC. Вернемся к картотеке. В картотечном ящике, как правило, находится некоторое количество карточек, в противном случае — картотека пуста. Если к картотеке применить понятие файла, то может возникнуть ситуация, когда файл окажется пустым. Однако файл существует, в нем только нет информации. Отдельные карточки картотеки называются записями. Так же, как карточки в ящике картотеки, записи в файле расположены последовательно: есть первая запись файла и последняя. На отдельной карточке картотеки или в отдельной записи может храниться всевозможная информация (например, фамилия, адрес, возраст,...). Эта информация называется полем данных. Объединение отдельных полей составляет логическое целое — запись или предложение файла. Прежде чем создавать или обрабатывать файлы в программе, следует позаботится о том, чтобы нужная информация запоминалась в предложении файла. В этой главе попробуем создать небольшой адресный справочник, в котором будут следующие поля данных: @ Имя (30 позиций) @ Фамилия (30 позиций) @ Улица (30 позиций) @ Почтовый индекс (6 позиций) @ Местность (30 позиций) @ Телефон (16 позиций) @ Заглавие (30 позиций) Чтобы ввести данные в справочник, необходимо сначала открыть файл данных. Для этого используется оператор OPEN в следующем формате: Далее необходимо вывести содержимое созданного файла на экран. Это значит, что данные последовательно читаются, и отдельные поля при необходимости появляются на экране. Для распознавания конца файла используется функция EOF. Функция EOF Отдельные записи файла считываются одним из вариантов команды INPUT. Ранее было рассмотрено считывание данных с клавиатуры и запоминание полученной информации в переменных. Для того чтобы читать данные из файла, следует применять оператор INPUT в таком виде: Работа с адресами в справочнике. В данном разделе работу с адресами в справочнике дополним несколькими важными функциями. Прежде всего должны быть разработаны удобные формы представления справочных данных на экране. Не следует обходить вниманием этот раздел, даже если Вас отпугнут несколько пространные примеры. Интенсивная проработка этого раздела несомненно даст Вам ценный материал для собственной практики программирования. У Вас появится возможность повторить основные операции QBASIC. Программа управления адресами должна выполнять следующие действия: @ искать адрес @ изменять адрес В главной программе для выбора отдельных действий необходимо создать меню. Из меню программа разветвляется на отдельные процедуры, которые выполняют независимые задачи. Преимущество такой структуры программы в том, что, во-первых, можно достаточно быстро получить доступ к любому фрагменту рабочей программы, а также меню - очень удобный интерфейс любой программы. Для начала попробуем нарисовать некую рамку, в которой и будет находится наша программа. Пример программы представлен ниже. Пример:CLSFOR i = 17 TO 64 COLOR 1 LOCATE 10, i PRINT "=" 'Прорисовка 1-й горизонтальной линии LOCATE 23, i PRINT "=" 'Прорисовка 2-й горизонтальной линииNEXT iFOR j = 11 TO 22 LOCATE j, 17 PRINT "" 'Прорисовка 1-й вертикальной линии LOCATE j, 65 PRINT "¦" 'Прорисовка 2-й вертикальной линииNEXT jLOCATE 10, 17 ' Прорисовка уголковPRINT "?" LOCATE 10, 65 PRINT "?" LOCATE 23, 17 PRINT "?" LOCATE 23, 64 PRINT "?"COLOR 2LOCATE 21, 39 PRINT "OK"Ну что теперь мы имеем рамочку в центре экрана и внутри написано ОК. Далее... Во первых нам нужен обработчик клавиш для передвижения по меню, а во вторых требуется составить алгоритм прорисовки экрана после каждого нового перехода от одного пункта к другому. Попробуйте составить программу самостоятельно Обработка ошибок. Рассмотрим следующий пример: 'Программа, при выполнении которой возможна ошибкаDIM a!INPUT "Введите, пожалуйста, число ",а!PRINT 5000 / а!'Конец программыЭта программа работает до тех пор, пока в качестве входной информации не будет введен нуль. При вводе "нуля" диагностируется ошибка (Run-time error), так как операция деления на нуль недопустима. Такая ситуация должна быть предупреждена программистом введением контроля над вводимым числом. 'Ошибка нейтрализованаDIM a!DOINPUT "Введите, пожалуйста, число ",а1 UNTIL a!<>0PRINT 5000 / а!'Конец программыОднако имеется целый ряд ситуаций, приводящих к ошибкам, которые нельзя устранить, используя контроль вводимых данных. Рассмотрим следующий пример: 'Программа с возможной ошибкой принтераLPRINT "Druckausgabe 1" LPRINT "Druckausgabe 2"LPRINT "Druckausgabe 3"'Конец программыВызовите программу, не включив принтер. Вы получите сообщение об ошибке (Run- time error). To же самое произойдет, если Вы выключите принтер (или установите его в режим "OFFLINE") в то время, когда программа пытается передавать ему данные. Рассмотрим методы, которые позволяют программе реагировать на такие ошибки. При обнаружении ошибки выполнение основной программы не прекращается и программа выполняется до конца, в отличие от стандартного метода обработки ошибок. Обходится только строка, в которой была обнаружена некорректность. Более эффективно обработать ошибку можно, если знать причину ее появления. Необходимая информация об ошибке хранится в следующих переменных: В справочно-информационной системе (Help) QBASICa имеется список всех возможных ошибок выполнения (Run-time error). В приведенной ниже таблице собраны наиболее часто встречающиеся сообщения об ошибках и их коды:
Прежде чем заняться дальнейшим усовершенствованием программы обработки ошибок, рассмотрим оператор RESUME. Его можно применять в следующих вариантах: Приведенная подпрограмма реагирует на ошибку, вызванную делением на нуль, обходом ошибочной строки (RESUME NEXT). При этом выдается сообщение об ошибке. Если обнаружена ошибка принтера, выдается рекомендация по ее устранению. Если прозойдет ошибка, код которой не анализируется ветвями CASE ERR, то становится активной ветвь CASE ELSE, программа выводит код ошибки и прерывает работу. В предложенном примере это произойдет при попытке открыть несуществующий файл "GIBTESNI.CHT".
|
||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-09-20; просмотров: 164; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.213.240 (0.011 с.) |