
- •56. Понятие корректно и некорректно поставленных задач.
- •57. Метод простой интерации явного типа решения некорректных задач с апостериорным выбором числа итераций
- •Доказательство.
- •56. Понятие корректно поставленной и некорректно поставленной задачи. Пример. Неявный метод простой итерации решения некорректных задач с априорным выбором числа итераций.
- •59. Сходимость метода итераций явного типа решения некорректных задач в энергетической норме.
- •Полагаем и рассмотрим разность
- •Доказательство.
- •7. Обзор популярных технологий программирования.
- •8. Стиль программирования.
- •10. Проектирование программ. Возможности реализации.
- •11. Эффективность программ.
- •Отношение к эффективности
- •Эффективность или удобочитаемость?
- •Оптимизирующие компиляторы
- •Оптимизация программ
- •Оптимизаци памяти
- •Вычислительные составляющие
- •12. Отладка программ.
- •Отличие отладки от тестирования
- •Отладочный барьер
- •Наиболее распространенные ошибки
- •Бесхитростное программирование
- •Синтаксические ошибки
- •Ошибки не обнаруживаемые компилятором
- •Виды отладки
- •Общие рекомендации
- •Средства отладки
- •Программирование без ошибок
- •Предотвращение ошибок
- •13. Тестирование программ.
- •Уровни тестирования
- •Методы тестирования Тестирование «белого ящика» и «чёрного ящика»
- •Статическое и динамическое тестирование
- •Регрессионное тестирование
- •Покрытие кода
- •Пример тестовых данных
Доказательство.
Так
как
и
,
то
и
,
т.е.
.
Следовательно,
.
Отсюда
,
ч.т.д.
Замечание
1. Так
как
,
то для того, чтобы
удовлетворяло условию
,
достаточно потребовать, чтобы
.
Т.о. если
и
,
то из сходимости итераций в энергетической
норме следует их сходимость в обычной
норме пространства
.
Замечание
2.
Использование энергетической нормы
позволило получить оценки погрешности
метода и априорный момент останова
без требования знания истокопредставимости
точного решения, что делает метод (3)
эффективным и тогда, когда нет сведений
об истокообразной представимости
точного решения.
7. Обзор популярных технологий программирования.
Технологии программир (ТП) – новое напр в развитии программирования , к-рое возникло и пришло на смену этапу быстрого развития языков программирования (ЯП), при этом подходе осн. внимание уделяется инженерным вопросам программирования и деталям формир. проф. культуры программирования, всё это обусловлено увеличением трудоёмкости и стоимости изучения программных систем. В наст. время общепризнано, что стоимость программных систем в несколько раз больше стоимости аппаратуры.
Выделяют 2 этапа программирования:
ЯП – для повышения производительности труда программистов осн. внимание уделялось выбору хорошего ЯП, на к-ром можно было бы быстро и без ошибок писать и отлаживать проги, практика показала, что создание единого универс языка невозможно в силу большого числа областей применения вычислит. техники и особенностей самих задач. Поэтому появилось большое число ЯП, а т.к. создавать трансляторы длительный и дорогост процесс, то на 1-м этапе существ повышения производительности не наблюдалось.
ТП – осн. внимание уделяется ТП, т.е. совершенств-ю профф культуры программирования, организации и упорядыч труда самого программиста, независимо от используемого ЯП и типа ЭВМ.
Начиная с 70-х годов сформировались основные технологии :
Модульное – осн. черта: стандартизация, строгое документирование интерфейса м\у отдельными программными единицами. Модуль – функционально законченная программн единица, к-рая структурно оформл-ся станд. образом, как по отношению к компилятору, так и по отношению к возможному объединению его с другими программными единицами входе загрузки. Паспорт модуля включает : ЯП, объём, входн и выходн данные, точка входа в модуль, параметры настройки. Фактически модульное прогр. можно трактовать как : технологию разбиения задачи на нек-рое кол-во модулей, умение широко использовать станд. модулей путём их параметрической настройки, автоматизация сборки готовых модулей из библиотек.
Структурное – осн идея : в нём фиксируется нек-рый набор управляющих стр-р, причём другие стр-ры использовать запрещено, причём это требование предъявляется ко всем этапам проектирования и написания прог. Осн. структуры: следование, если- иначе, выбор, while do, repeat until. Техн структ прогр определ работу программ как суперпозицию указанных управляющих структур, при этом разрешается неограниченное вложение названных стр-р др в др-га, при нек-рых подходах разрешается рекурсия, те можно уменьшить кол-во управл стр-р до 2-х. побочным результатом является отсутствие goto. Написанная по этой технологии программа как правило имеет древовидную структуру, т.е легко читается и модифицируется, также нет переходов вперёд- назад. В результате резко сокращается отладка и время решения задачи
Сверху-вниз – многоуровн дисц написания, на верхнем уровне находится исходный алгоритм, к-рый представляется виде нек-рой иерархической схемы, элементы к-рой описываются на естественном для данной проблемы языке. Каждое такое описание можно рассматривать как последовательность комментариев, заготовок, команд гипотетической, проблемно ориентированной машины. Команды к-рой модулир другой машиной более низкого уровня пока не доберётся до необходимости использования команд реальной машины. Описание системы на верхнем уровне не зависит от работы проги на более низком уровне. Отладка и тестир проводится по уровням сверху вниз. Каждый уровень оформляется как программа и может быть отлажен самост. Данная технологи позволяет: начать программир почти одновременно с проектированием, формально виде проги нек-рой гипотет машины фиксировать каждый этап разработки соотв алгоритма, легко модифицировать прогу по уровням, более простая отладка.
Hipo технология - в ней разработаны шаблоны, бланки и типовые диаграммы, к-рых обычно 3:
1) блок схемы высоких уровней иерархии – этот тип диаграмм вспомогат, он играет роль оглавл всего проекта(обычно в процессе написания проги активно не участвуют).
2) иерархическая блок схема, к-рая аналог. предыдущей – описывает соподчинённость отдельных частей проги этот тип указывает связи м\у отдельными блоками и задаёт способы сбора диаграмм 3-го типа.
3) ipo-диаграммы – осн.(включают вход, процесс, выход). Процесс их заполнения жестко не указывается, указывается что делает каждый модуль, а не как. Проект разбивается на подсистемы, в виде дерева, также могут быть добавлены нек-рые рекомендации. Все ipo диагр имеют строго формализ систему ссылок к-рая наглядно задаётся на диагр 2-го уровня, если блок уточн другим, то ему присв-ся соотв номер, когда блок без номера то его следует кодировать. Проектирование заканч только после окончания заполн всех диаграмм и увязки их друг с другом, но кодир, отладка идёт на автомате даже мб спецами более низкой квалиф.
Метод главного программиста (ГП) – наиболее распространён: при реализации программного проекта от начала до конца осущ под руководством ГП(отвечает за проект), к-рый стоит во главе 3-10 челов. Если прогр проект большой то включ-ся 1-3 ассистента, к-рые выполн его задачи, но не отвечают за проект.
R- технология – двумерная технология прогр., это название обусловлено тем что в её основе лежит представление программного продукта виде спец оформленного графа.