- •Информатика е.Н.Саладаев
- •1.Введение в информатикую. Информация.
- •1.1. Что такое инфоpматика
- •1.2. Информация
- •1.3. В каком виде существует информация
- •1.4. Как передаётся информация
- •1.5. Как измеряется количество информации
- •1.6. Что можно делать с информацией
- •1.7. Какими свойствами обладает информация
- •1.8. Что такое обработка информации
- •1.9. Информационные ресурсы и информационные технологии
- •1.10. Информатизация общества
- •2. Общие принципы организации и работы компьютеров
- •2.1. Что такое компьютер
- •2.2. Устройство компьютера
- •3. Принципы построения компьютеров
- •1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
- •2.4. Команды
- •2.5. Выполнение команд
- •2.6. Архитектура и структура компьютера
- •2.7. Центральный процессор
- •2.8. Устройства памяти
- •2.9. Уустройства внутренней памяти
- •1. Оперативная память
- •3. Специальная память
- •2.10. Устройства внешней памяти
- •Накопители на гибких магнитных дисках
- •2. Накопители на жестких магнитных дисках
- •3. Накопители на компакт-дисках
- •4. Записывающие оптические и магнитооптические накопители
- •Накопители на магнитной ленте (стримеры) и накопители на сменных дисках
- •2.11. Аудиоадаптер
- •2.12. Видеоадаптер и графический акселератор
- •2.13. Клавиатура
- •2.14. Видеосистема компьютера
- •1. Монитор на базе электронно-лучевой трубки
- •2. Жидкокристаллические мониторы
- •3. Сенсорный экран
- •2.15. Принтер, плоттер, сканер
- •2.16. Модемы и факс-модемы
- •2.17. Манипуляторы
- •2.18. Устройство компьютера
- •2.19. Основные блоки компьютера
- •2.20. Системная плата
- •2.21. Организация межкомпьютерных связей
- •2.22. Компьютерные сети
- •Наиболее распространенные виды топологий сетей:
- •2.23. Соединение между собой устройств сети
- •2.24. Классификация компьютерных сетей по степени географического распространения
- •2.26. Беспроводныесети
- •2.27. Сеть Интернет
- •Как можно связаться с Интернет
- •Как связываются между собой сети в Интернет
- •2.28. Основные возможности, предоставляемые сетью Интернет
- •World Wide Web — главный информационный сервис.
- •2. Электронная почта.
- •3. Cистема телеконференций Usenet (от Users Network).
- •4. Системы информационного поиска сети Интернет.
- •Системы, основанные на предметных каталогах.
- •Автоматические индексы.
- •5. Программа пересылки файлов Ftp.
- •6. Программа удалённого доступа Telnet.
- •2.29. Мультимедиа и мультимедиа-компьютер
- •3.Классификация компьютеров
- •3.1 Критерии классификации компьютеров
- •3.2. Классификация по поколениям
- •3.3. Краткая историческая справка
- •3.4 Компьютеры первого поколения
- •3.5. Компьютеры второго поколения
- •3.6. Особенности компьютеров третьего поколения
- •3.7. Характеристики эвм четвёртого поколения
- •3.8. Какими должны быть компьютеры пятого поколения
- •3.9. Классификация компьютеров по условиям эксплуатации
- •3.10. Классификация компьютеров по производительности и характеру использования
- •3.11. Типы портативных компьютеров
- •4.Представление чисел в компьютерах
- •4.1. Системы счисления
- •4.2. Представление целых чисел в позиционных системах счисления
- •4.3. Системы счисления используемые для общения с компьютером
- •4.4. Почему люди пользуются десятичной системой, а компьютеры — двоичной
- •4.5. Почему в компьютерах используются также восьмеричная и шестнадцатеричная системы счисления
- •4.6. Перевод целых числел из десятичной системы в любую другую позиционную систему счисления
- •4.7. Перевод пpавильной десятичной дpоби в любую другую позиционную систему счисления
- •4.8. Перевод чисел из двоичной (восьмеpичной, шестнадцатеpичной) системы в десятичную
- •4.9. Сводная таблица переводов целых чисел из одной системы счисления в другую
- •4.10. Арифметические операции в позиционных системах счисления
- •4.11. Представление в компьютере целых числел
- •.5.Выполнение арифметических операций в компьютерах
- •5.1. Выполнение арифметические действия над целыми числами Сложение и вычитание
- •4. А и в отрицательные.
- •Умножение и деление
- •5.2. Представление в компьютере вещественных чисел
- •Умножение
- •Деление
- •6.Программное обеспечение компьютеров
- •6.1. Что такое программное обеспечение
- •6.2. Классификация программного обеспечения
- •6.3. Прикладные программы
- •6.4. Роль и назначение системных программ
- •6.5. Что такое операционная система
- •6.6. Файловая система ос
- •6.7. Структура операционной системы ms dos
- •6.8. Программы-оболочки
- •6.9. Операционные системы Windows, Unix, Linux Операционные системы Windows
- •Операционная система Unix
- •6.10. Трансляторы, компиляторы, интерпретаторы
- •6.11. Системы программирования
- •6.12. Для чего нужны инструментальные программы
- •6.13. Текстовые редакторы
- •6.14. Графический редактор
- •6.15. Возможности систем деловой и научной графики
- •6.16. Табличный процессор
- •6.17. Системы управления базами данных
- •6.18. Библиотеки стандартных подпрограмм
- •6.19. Пакеты прикладных программ
- •6.20. Интегрированные пакеты программ
- •6.21. Органайзеры Органайзеры — это программы — электронные секретари
- •6.22. Сетевое программное обеспечение
- •Функции и характеристики сетевых операционных систем (ос)
- •7.Алгоритмы. Алгоритмизация. Алгоритмические языки
- •7.1. Понятие алгоритма
- •7.2. Исполнитель алгоритма
- •7.3. Свойства алгоpитма
- •7.4. Формы записи алгоритма
- •7.5. Словесный способ записи алгоритмов
- •7.6. Графический способ записи алгоритмов
- •7.7. Псевдокод
- •7.8. Запись алгоритма на учебном алгоритмическом языке Основные служебные слова
- •Команды учебного ая
- •Пример записи алгоритма на учебном ая
- •7.9. Базовые алгоритмические структуры
- •7.10. Итерационные циклы
- •7.11. Вложенные циклы
- •Пример вложенных циклов для
- •Пример вложенных циклов пока
- •7.12. Отличие программного способа записи алгоритмов от других
- •Основные этапы решения задач на эвм
- •7.13.Уровени языков программирования
- •7.14. Достоинства и недостатки машинных языков
- •7.15. Язык ассемблера
- •7.16. Преимущества алгоритмических языков перед машинными
- •7.17. Компоненты алгоритмического языка
- •7.18. Понятия алгоритмических языков
- •7.19. Стандартные функции
- •Вычисления часто употребляемых функций осуществляются посредством подпрограмм, называемых стандартными функциями, которые заранее запрограммированы и встроены в транслятор языка.
- •7.20. Арифметические выражения
- •Примеры записи арифметических выражений
- •7.21. Логические выражения
- •Примеры записи логических выражений, истинных при выполнении указанных условий.
- •8.Технология подготовки и решения задач с помощью компьютера
- •8.1. Этапы решения задач с помощью компьютера
- •8.2. Математические модели
- •8.3. Основные этапы процесса разработки программ
- •8.4. Как проконтролировать текст программы до выхода на компьютер
- •8.5. Отладка и тестирование
- •8.6. В чем заключается отладка
- •8.7. Тесты и тестирование
- •8.8. Какими должны быть тестовые данные
- •8.9. Этапы процесса тестирования
- •8.10. Характерные ошибки программирования
- •8.11. Является ли отсутствие синтаксических ошибок свидетельством правильности программы
- •8.12. Ошибки не обнаруживаемые транслятором
- •8.13. Сопровождение программы
- •9.Применение компьютерной техники
- •9.1. Использувание компьютеров в быту
- •9.2. Системы автоматизированного проектирования (сапр)
- •9.3. Автоматизированные системы научных исследований (асни)
- •9.4. Взаимосвязь между асни и сапр
- •9.5. Базы знаний и экспертные системы
- •9.6. Использование компьютеры в административном управлении
- •9.7. Роль компьютеров в обучении
- •9.8. Компьютеры в управлении технологическими процессами
- •9.9.Компьютеры в медицине
- •9.10. Компьютеры в торговле
- •9.11. Электронные деньги
- •9.12. Компьютеры в сельском хозяйстве
- •10.Программирование на алгоритмическом языке qBasic Общая характеристика языка
- •10.1.Элементы языка qbasic
- •1. Ключевые слова
- •2. Синтаксические соглашения
- •3. Комментарии
- •4. Арифметические выражения.
- •5. Строковые выражения
- •6. Типы данных
- •10.2.Константы и переменные
- •1. Константы
- •2. Переменные
- •3. Присвоение значений переменным
- •10.3. Ввод/вывод
- •1. Вывод на экран
- •2. Очистка экрана.
- •3. Ввод с клавиатуры
- •4. Форматированный вывод на экран
- •5. Позиционирование курсора
- •6. Вывод пробелов
- •7. Функция табуляции
- •8. Остановка программы
- •10.4.Управляющие операторы
- •1. Оператор безусловного перехода
- •2. Условия
- •3. Циклические структуры
- •4. Оператор выбора select case
- •10.5.Обработка строк
- •1. Определение длины строки
- •2. Получение символов кода ascii
- •4. Выделение левых крайних символов строки
- •6. Выбор подстроки
- •7. Получение строчных символов
- •10.6.Математические вычисления
- •1. Абсолютное значение числа
- •2. Тригонометрические функции
- •10.7.Массивы в qbasic
- •10.8.Функции и процедуры, определенные пользователем
- •1. Собственные функции
- •2. Собственные процедуры
- •10.9.Другие операторы
- •5. Установка цветов экрана
- •10.10.Работа с файлами
- •1. Введение и основные функции
- •2. Функция eof
- •3. Работа с адресами в справочнике.
- •10.11.Обработка ошибок
- •10.12. Графические возможности basic
- •1. Переход в графический режим экрана
- •2. Операторы, реализующие графику
- •Установка цветов в операторе color qBasic:
- •12.Введение в язык программирования Visual Basic
- •Основы. Как осуществляется программирование
- •Язык Visual Basic
- •Создание проекта
- •Для создания переменных и отображения их значений
- •Основные понятия
- •Подробное рассмотрение. Типы данных
- •Тип данных String
- •Практическое задание Объединение строк
- •Для хранения значений в массиве
- •Арифметические операции. Создание выражений с переменными и операторами
- •Сложение чисел
- •Сравнение выражений
- •Как заставить компьютер что-то делать. Написание первой процедуры
- •Создание процедур
- •Создание функции с параметрами
- •Повторение действий в программе: использование цикла For... Next
- •Для использования оператора For... Next
- •Программный выбор между двумя возможностями. Оператор If... Then
- •Для использования инструкции If... Then
- •Для использования предложения Else
- •Подробное рассмотрение. Повторения операций в цикле Do... While или Do... Until, пока не будет выполнено условие
- •Чтобы использовать оператор Do...While
- •Оператор Do...Until
- •Чтобы использовать оператор Do...Until
- •Обработка ошибок
- •Чтобы использовать блок Try...Catch
- •Взаимодействие с пользователями программы. Пользовательский интерфейс
- •Изменение свойств формы
- •Добавление элементов управления в форму
- •Взаимодействие с пользователем. Использование кнопок
- •Использование кнопок
- •Отображение и ввод текста. Использование надписей и текстовых полей
- •Создание пользовательского интерфейса с надписью и текстовым полем
- •Добавление кода и проверка программы
- •Взаимодействие программы с пользователем. Создание обработчика событий
- •Обработка событий Click
- •Обработка событий MouseEnter
- •Обработка событий MouseLeave
- •Получение выбора пользователя. Использование флажков и переключателей
- •Использование переключателей
- •Совместное использование обработчика событий
- •Для совместного использования обработчика событий
- •Программирование с применением объектов. Использование классов
- •13.Базы данных
- •13.1.Основная терминология
- •Дополнения к определениям
- •Пользователи
- •13.2.Основы проектирования бд
- •Модели бд Простая двумерная структура
- •Иерархическая структура
- •Реляционная модель данных
- •708 Тульский механический завод.
- •Главный ключ системы
- •13.3.Проблемы реляционного подхода Правила проектирования бд
- •Задача нормализации
- •Повторяющиеся группы
- •Общие поля в связанных таблицах
- •Поиск информации. Индексные файлы
- •Проблемы достоверности информации
- •Оперативные таблицы и справочники
- •Функции универсальной информационной системы
- •Основные функции ис
- •Вспомогательные функции ис
- •Документальные системы
- •Обзор субд
- •13.4.Основные сведения по интерфейсу Access.
- •Типы полей.
- •Свойства поля.
- •Теперь перейдем к другой вкладке- «Подстановка».
- •Определение связей между таблицами.
- •Просмотр существующих связей
- •Присоединенные таблицы
- •Ввод, изменение и просмотр данных
- •Создание простых форм
- •Элементы форм
- •Быстрый поиск
- •13.5.Запросы
- •Типы запросов.
- •Создание простых отчетов.
- •Структура ленточного отчета:
- •Структура отчета в столбец:
- •Анализ таблиц
- •Создание связей и объединений в запросах.
- •Ограничения в многотабличных запросах.
- •Редактирование полей справочников
- •Создание связей для запросов
- •Объединение в запросе двух копий одной таблицы (самообъединение).
- •Использование в запросе автоподстановки для автоматического ввода данных
- •Создание параметризованных запросов
- •Запросы, вносящие изменения.
- •Специфика:
- •Имя Покупателя : Customer Name Создание и использование подчиненных форм.
- •Создание главной и подчиненной форм с помощью мастера.
- •Вставка подчиненной формы в главную.
- •Связывание главной и подчиненной форм.
- •Создание итогов в подчиненных формах.
- •13.6.Язык sql
- •Команда select
- •Select name1, name2, … -список столбцов, представляемых в результате
- •Определение выборки – предложение where
- •Булевы операторы: and, or, not
- •Оператор in
- •Оператор between … and
- •Оператор like
- •Оператор is null
- •Применение функций агрегирования
- •Предложение group by
- •Предложение having
- •Ограничение на агрегированные функции
- •Форматирование результатов запросов
- •Упорядочение выходных полей
- •Использование множества таблиц в одном запросе
- •Вложение запросов (подзапросы).
- •Связанные подзапросы.
- •Объединение множества запросов в один Предложение union
- •Ввод, удаление и изменение значений полей.
- •Вставка результатов запроса
- •Обновление представлений
- •Групповые представления.
- •Представления и соединения
- •Представления и подзапросы.
- •Ограничения представлений.
- •Удаление представлений.
- •Изменение значений с помощью представлений.
- •13.7.Технология и модели “клиент - сервер”.
- •МодельFs.
- •Технологический недостаток модели-
- •Модель rda
- •Модель сервера бд (dbs).
- •Модель as- сервер приложений.
- •13.8.Эволюция серверов бд.
- •13.9.Активный (интеллектуальный) сервер.
- •Процедуры базы данных
2. Функция eof
Функция EOF (Номер_файла)применяется с аргументом Номер_файла и возвращает логическое значение "истина", если достигнут конец файла, и "ложь" — в противном случае.
Отдельные записи файла считываются одним из вариантов команды INPUT. Ранее было рассмотрено считывание данных с клавиатуры и запоминание полученной информации в переменных. Для того чтобычитать данные из файла, следует применять оператор INPUT в таком виде:
INPUT #Номер_фаила, Поле_данных_1 [,Поле_данных_2]... [,Поле_данных_n] 'Работа с файлами 'Программа для последовательного чтения адресов 'Объявление полей данных DIM nachname$, vornameS, strasse$, plz$, ort$, telefon$,stichwort$ 'Открыть файл в режиме INPUT OPEN "adresse.asc FOR INPUT AS #1 CLS 'Читать файл до тех пор, пока функция EOF не примет 'значение "ложь" (0) DO UNTIL EOF(1) '0 до тех пор, пока не достигнут конец файла 'Читать запись INPUT #1,nachname$,vornamee$,strasse$,plz$,ort$,telefon$, stichworrtS 'Вывести на экран PRINT nachname$," "; vorname$; " "; strasse$ PRINT plz$; " "; ort$, " ", telefonS; " "; stichwort$ PRINT LOOP 'Закрыть файл CLOSE *1
3. Работа с адресами в справочнике.
В данном разделе работу с адресами в справочнике дополним несколькими важными функциями. Прежде всего должны быть разработаны удобные формы представления справочных данных на экране. Не следует обходить вниманием этот раздел, даже если Вас отпугнут несколько пространные примеры. Интенсивная проработка этого раздела несомненно даст Вам ценный материал для собственной практики программирования. У Вас появится возможность повторить основные операции QBASIC.
Программа управления адресами должна выполнять следующие действия:
искать адрес
изменять адрес
В главной программе для выбора отдельных действий необходимо создать меню. Из меню программа разветвляется на отдельные процедуры, которые выполняют независимые задачи. Преимущество такой структуры программы в том, что, во-первых, можно достаточно быстро получить доступ к любому фрагменту рабочей программы, а также меню - очень удобный интерфейс любой программы. Для начала попробуем нарисовать некую рамку, в которой и будет находится наша программа. Пример программы представлен ниже.
Пример: CLS FOR i = 17 TO 64 COLOR 1 LOCATE 10, i PRINT "=" 'Прорисовка 1-й горизонтальной линии LOCATE 23, i PRINT "=" 'Прорисовка 2-й горизонтальной линии NEXT i FOR j = 11 TO 22 LOCATE j, 17 PRINT "" 'Прорисовка 1-й вертикальной линии LOCATE j, 65 PRINT "¦" 'Прорисовка 2-й вертикальной линии NEXT j LOCATE 10, 17 ' Прорисовка уголков PRINT "?"LOCATE 10, 65 PRINT "?" LOCATE 23, 17 PRINT "?" LOCATE 23, 64 PRINT "?" COLOR 2 LOCATE 21, 39 PRINT "OK"
Теперь мы имеем рамочку в центре экрана и внутри написано ОК. Далее... Во первых нам нужен обработчик клавиш для передвижения по меню, а во вторых требуется составить алгоритм прорисовки экрана после каждого нового перехода от одного пункта к другому. Попробуйте составить программу самостоятельно.
10.11.Обработка ошибок
Рассмотрим следующий пример:
'Программа, при выполнении которой возможна ошибка DIM a! INPUT "Введите, пожалуйста, число ",а! PRINT 5000 / а! 'Конец программы
Эта программа работает до тех пор, пока в качестве входной информации не будет введен нуль. При вводе "нуля" диагностируется ошибка (Run-time error), так как операция деления на нуль недопустима. Такая ситуация должна быть предупреждена программистом введением контроля над вводимым числом.
'Ошибка нейтрализована DIM a! DO INPUT "Введите, пожалуйста, число ",а1 UNTIL a!<>0 PRINT 5000 / а! 'Конец программы
Однако имеется целый ряд ситуаций, приводящих к ошибкам, которые нельзя устранить, используя контроль вводимых данных. Рассмотрим следующийпример:
'Программа с возможной ошибкой принтера LPRINT "Druckausgabe 1" LPRINT "Druckausgabe 2" LPRINT "Druckausgabe 3" 'Конец программы
Вызовите программу, не включив принтер. Вы получите сообщение об ошибке (Run- time error). To же самое произойдет, если Вы выключите принтер (или установите его в режим "OFFLINE") в то время, когда программа пытается передавать ему данные. Рассмотрим методы, которые позволяют программе реагировать на такие ошибки.
Оператор ON ERROR GOTO
Определяет подпрограмму обработки ошибок и имеет формат: ON ERROR GOTO Метка
Если в процессе выполнения программы произошла ошибка, то оператор ON ERROR GOTO передаст управление на определенную метку. При этом стандартный метод обработки ошибок выполнения QBASIC блокируется. Подпрограмма обработки ошибок всегда должна завершаться оператором RESUME NEXT. Точное значение этого оператора будет объяснено ниже. 'Программа с ошибкой деления ON ERROR GOTO FehlerHandler PRINT "Вывод проведенных вычислений" 'строка-провокатор PRINT 1000/0 END 'здесь основная программа кончается 'Конец программы 'начало собственной программы обработки ошибок FehlerHandler: PRINT "Найдена ошибка" PRINT RESUME NEXT
При обнаружении ошибки выполнение основной программы не прекращается и программа выполняется до конца, в отличие от стандартного метода обработки ошибок. Обходится только строка, в которой была обнаружена некорректность. Более эффективно обработать ошибку можно, если знать причину ее появления. Необходимая информация об ошибке хранится в следующих переменных:
ERDEVПоследний код ошибки устройства
ERDEV$Соответствующее имя устройства
ERRКод ошибки выполнения
Значение этих переменных можно анализировать в собственной программе обработки ошибок:
'Программа с ошибкой деления ON ERROR GOTO FehlerHandler PRINT "Вывод проведенных вычислений" 'строка с возможной ошибкой PRINT 1000/0 END 'здесь кончается основная программа 'Конец программы 'начало собственной программы обработки ошибок FehlerHandler PRINT PRINT" ———————————————" PRINT "Найдена ошибка PRINT "код ошибки устройства:" ; ERDEV PRINT "устройство " , ERDEV$ PRINT "Код ошибки выполнения:" ; ERR PRINT "———————————————" PRINT RESUME NEXT
В справочно-информационной системе (Help) QBASICa имеется список всех возможных ошибок выполнения (Run-time error). В приведенной ниже таблице собраны наиболее часто встречающиеся сообщения об ошибках и их коды:
Код |
Ошибка |
11 |
Деление на нуль |
24 |
Прерывание устройств по времени (Time out) |
25 |
Общая ошибка устройства |
27 |
Конец бумаги |
52 |
Недопустимое имя или номер файла |
53 |
Файл не найден |
54 |
Ошибочный режим файла |
55 |
Файл уже открыт |
57 |
Ошибка устройства ввода/вывода |
58 |
Файл уже существует |
61 |
Переполнение диска |
64 |
Недопустимое имя файла |
68 |
Устройство недоступно |
70 |
Доступ запрещен |
71 |
Диск не готов |
72 |
Ошибка носителя |
75 |
Ошибка доступа |
76 |
Путь не найден |
Прежде чем заняться дальнейшим усовершенствованием программы обработки ошибок, рассмотрим оператор RESUME. Его можно применять в следующих вариантах:
RESUME
RESUME Метка_перехода
RESUME NEXT
RESUME NEXTпродолжает программу со строки, следующей за предложением, в котором обнаружена ошибка. С помощью оператораRESUME Метка_переходаможно перейти в любую точку программы, aRESUMEбез дополнений вызывает повторное выполнение ошибочного фрагмента. Для оценки кода ошибки выполнения лучше всего использовать оператор SELECT...CASE . 'обработка ошибок ON ERROR GOTO FehlerHandler PRINT "Вывод вычислений" PRINT 1000 / О" LPRINT "Вывод на печать" OPEN "GIBTESNI.CHT" FOR INPUT AS #1 END 'здесь основная программа кончается' 'начало собственной программы обработки ошибок FehlerHandler: PRINT"—————————————" PRINT "Найдена ошибка " SELECT CASE ERR CASE ERR=11 'деление на ноль PRINT "при программировании можно усложнить RESUME NEXT CASE ERR=27 'конец бумаги PRINT "Вставьте бумагу" PRINT "Нажмите любую клавишу" DO WHILE INKKEY$="" LOOP RESUME CASEERR=25 AND MID$(ERDEV$,1,3)-"LPT" 'ошибка принтера PRINT "Подготовьте принтер" PRINT "Нажмите любую клавишу" DO WHILE INKEY$="" LOOP RESUME CASE ELSE CLS PRINT "Код ошибки :" ; err PRINT "Придется прервать программу" END SELECT
Приведенная подпрограмма реагирует на ошибку, вызванную делением на нуль, обходом ошибочной строки (RESUME NEXT). При этом выдается сообщение об ошибке. Если обнаружена ошибка принтера, выдается рекомендация по ее устранению. Если прозойдет ошибка, код которой не анализируется ветвями CASE ERR, то становится активной ветвь CASE ELSE, программа выводит код ошибки и прерывает работу. В предложенном примере это произойдет при попытке открыть несуществующий файл "GIBTESNI.CHT".