46. Программирование "с защитой от ошибок".
Программирование, при котором применяют специальные приемы раннего выявления и нейтрализации ошибок, было названо защитным или программированием с защитой от ошибок. При его использовании существенно уменьшается достоверность получения неверных результатов.
Детальный анализ ошибок и их возможных ранних проявлений показывает, что целесообразно проверять:
- правильность выполнения операций введения-выведения;
- допустимость промежуточных результатов (значений управляющих переменных, значений индексов, типов данных, значений числовых аргументов и т. д.).
Для защиты от ошибок превращения даны после введения обычно сразу демонстрируют пользователю ("отголосок").При этом выполняют сначала превращения во внутренний формат, а потом назад.
Обнаружить и устранить ошибки перезаписи можно только, если пользователь вводит избыточные данные, например контрольные суммы. Если введение избыточных данных по каким-либо причинам нежелательный, то следует по возможности проверять данные, которые вводятся, хотя бы контролировать интервалы возможных значений, которые обычно определены в техническом задании, и выводить введенные данные для проверки пользователю. Неверные данные обычно может обнаружить лишь пользователь.
Однако следует также иметь в виду, что любые дополнительные операции в программе требуют использования дополнительных ресурсов и могут также содержать ошибки.
Поэтому имеет смысл проверять не все промежуточные результаты, а только те, проверка которых целесообразна, то есть возможно позволит обнаружить ошибку, и не сложная. Например:
- если любым образом вычисляется индекс элемента массива, то следует проверить, что этот индекс является допустимым;
- если строится цикл, количество повторений которого определяется значением переменной, то целесообразно убедиться, что значение этой переменной не негативно;
- если определяется вероятность какого-либо события, то целесообразно проверить, что полученное значение не больше 1. а сумма вероятностей всех возможных независимых событий равняется 1 и т. д.
Предотвращение накопления погрешностей. Чтобы снизить погрешности результатов вычислений, необходимо придерживаться следующих рекомендаций:
- избегать вычитания близких чисел (машинный нуль);
- избегать разделения больших чисел на малые;
- складывание длинной последовательности чисел начинать с меньших по абсолютной величине;
- стремиться по возможности уменьшать количество операций;
- использовать методы с известными оценками погрешностей;
- не использовать условие равенства вещественных чисел;
- вычисление производить с двойной точностью, а результат выдавать с одинарной. Обработка исключений. Поскольку полный контроль данных на входе и в процессе вычислений, как правило, невозможный, следует предусматривать перехват обработки аварийных ситуаций.
Для перехвата и обработки аппаратно и программно фиксированных oшібок в некоторых языках программирования, например, Delphi Pascal, C Java, предвиденные средства обработки исключений. Использования эти средств позволяет не допустить выдаче пользовательские сообщения об аварийном завершении программы, ничего ему не говорит. Вместо этого программист получает возможность предусмотреть действия, которые позволяют исправить эту ошибку или, если это невозможно, выдать пользовательские сообщения с точным описанием ситуации и продолжить работу.
- 1. Способы кодировки информации в сетях эвм
- 2. Топология построения сетей.
- 3. Структура домену.
- Адресация узлов в сети (аппаратные, символьные и др. Адреса)
- Оборудование сети
- Протокол tcp, назначение и реализация
- Протокол ip и его основные функции
- Протокол arp
- Классы ip-адрес
- Принцип эталонной модели osi
- Принцип построения ip –адреса
- Основные уровни модели osi
- Понятие о протоколе и стеку протоколов.
- Настройка пк для работы в сети
- Стек tcp / ip.
- Основные этапы разработки баз данных
- 17. Инфологичная модель данных ("сущность-связь").
- 18. Общие понятия реляционного подхода к организации бд
- 19. Архитектура банка данных и три типа моделей.
- 20. Реляционная модель данных. Принципиальные отличия иерархической и сетевой моделей данных.
- 21. Логическая и физическая модели данных.
- 22. Базовые понятия реляционных баз данных. Правила Кодда.
- 23. Схема отношения, схема базы данных, типы связей
- 24. Проектирование реляционных баз данных с использованием нормализации. Нормальные формы
- 25. Алгоритм нормализации
- 27. Основные структурные элементы бд ms Access : таблицы, запить, формы, отчеты, макросы, модули.
- 28. Работа с запросами в субд Access. Создание запроса-выборки. Создание итогового запроса. Групповые операции. Расчеты в запитые с помощью выражений.
- 29. Работа с запросами в субд Access. Запить в режиме sql.
- Insert into таблица select ...;
- 30. Работа с формами в субд Access. Создание форм, элементов управления и элементов макета. Свойства формы. Свойства элемента управления.
- 31. Использование Visual Basic For Application. Создание процедур обработки событий.
- 32. Разработка отчетов в субд Access. Группирование и сортировка записей. Расчеты в отчете.
- 33. Создание главной кнопочной формы. Налаживание параметров запуска
- 34. Макросы и модули в ms Access.
- 35. Запись sql –операторов.
- 36. Создание простых запросов языком sql
- 37. Группирование результатов средствами языка sql.
- 38. Создание много табличных запросов средствами языка sql.
- 39. Изменение содержимого базы данных средствами языка sql.
- 40. Идентификаторы языка sql
- 41. Создание баз данных средствами языка sql.
- 42. Технологичность программного обеспечения. Модули. Требования к модулям.
- 43. Разработка программного обеспечения (восходящая и нисходящая).
- 44. Средства описания структурных алгоритмов.
- 45. Эффективность. Уменьшение времени выполнения программы.
- 46. Программирование "с защитой от ошибок".
- 47. Блочно-иерархический подход к созданию сложных систем.
- 48. Жизненный цикл и этапы разработки программного обеспечения.
- 49. Модели (каскадная, спиральная) жизненного цикла программного обеспечения.
- 50. Управление программным проектом (начало, измерение, оценка, риски, планирования, трассировки, контроль).
- 51. Планирование проектных задач.
- 52. Размерно-ориентированные метрики
- 53. Функционально-ориентированные метрики.
- 54. Классические методы анализа. Структурный анализ. Анализ, который ориентируется на структуры данных.
- 56. Модульность. Информационная закрытость. Связность модуля.
- 57. Сложность программной системы.
- 58. Структурное тестирование программного обеспечения
- 59. Функциональное тестирование программного обеспечения
- 60. Технология разработки объектно-ориентированных программных систем
- Дистанционное образование: особенности, принципы, методы, организационные формы, программное обеспечение.
- Возможности использования компьютерных сетей в учебно-воспитательном процессе.
- 5. Контроль в учебно-воспитательном процессе. Автоматизация контроля. Психолого-педагогическая диагностика на основе компьютерного тестирования.
- 6. Стандарты электронной учебы
- 7. Цели и задачи преподавания информатики в средней школе
- 8. Содержание I структура школьного курса информатики. Действующие программы курса информатики.
- 9.Допрофильная подготовка по информатике
- 10. Критерии оценивания знаний и умений учеников из школьного курса информатики.
- 11. Курсы по выбору для профильной учебы информатики.
- 12. Технологическая учеба информатики : понятие информационно-технологических знаний, умений, навыков.
- 13. Методические подходы к технологической учебе информатики.
- 14. Организация дополнительных внеурочных форм учебы информатики в школе: кружки, факультативы, олимпиады.
- 15. Специфика урока информатики. Подготовка учителя к уроку. Организация I проведения разных типов урока из информатики.
- 16. Учебно-методическое и программное обеспечение школьного курса информатики. Классификация педагогических программных средств. Приблизительный состав программного обеспечения
- Раздел 1: 1) Алгоритм и алгоритмический язык, 2) Построение алгоритма для решения задач.
- Раздел 2:1) Устройство эвм, 2) Знакомство с программированием, 3) Роль эвм в современном обществе перспективы развития вычислительной техники.
- Часть 1 - персональный компьютер(история создания, устройство, операционная система, графический редактор, текстовый редактор, архивация, вирусы, электронные таблицы, субд, сети).
- Часть 2 - Основы алгоритмизации и программирования.
- Методические особенности учебных пособий из курса информатики.
- 9 Класс