27)Некоторые приемы оптимизации программ
Оптимизацией называется такое преобразование исходного текста программы, при котором результат ее выполнения остается неизменным, но улучшаются некоторые характеристики. Эти характеристики зависят от выбранных критериев оптимизации. Основными критериями оптимизации являются: либо время выполнения программы, либо затраты оперативной памяти, размер исходного кода.
1.Оптимизация, не зависящая от компилятора. Современные компиляторы, то есть программы, создающие на основе исходного теста программы исполняемый код, как правило, выполняют и оптимизацию этого кода, размещая инструкции процессору таким образом, чтобы увеличить скорость выполнения программы. Вмешательство программиста в этот процесс не требуется. Следует иметь в виду, что оптимизация компилятором выполняется достаточно осторожно и возможности такой автоматической оптимизации ограниченны. Перечислим некоторые приемы, которые может использовать программист при написании исходного текста программы.
2.Инициализация объектов данных. Во многих программах какую-то часть объектов данных необходимо инициализировать, то есть присваивать им начальные значения. Такое присваивание выполняется либо в самом начале программы, либо, например, в начале цикла. Правильная инициализация объектов данных позволяет сэкономить драгоценное процессорное время. Так, например, если речь идет об инициализации массивов, использование цикла, скорее всего, будет менее эффективным, чем объявление этого массива типизированной константой.
3.Программирование арифметических операций. В том случае, когда значительная часть времени работы программы отводится арифметическим вычислениям, немалые резервы повышения скорости работы программы тратятся в правильном программировании арифметических (и логических) выражений. Важно понимать, что различные арифметические операции значительно различаются по быстродействию. Самыми быстрыми являются операции сложения и вычитания. Более медленным является умножение, затем идет деление. Относительно много времени тратится на обращение к подпрограммам. Быстродействие также зависит от типа операндов. Программируя арифметические выражения, следует выбирать такую форму их записи, чтобы количество медленных операций было сведено к минимуму.
4.Циклы Различается и время выполнения циклов. Время выполнения цикла со счетчиком и цикла постусловием при всех прочих равных условиях совпадает, цикл с предусловием выполняется несколько дольше (примерно на 20-30%).При использовании вложенных циклов следует иметь в виду, что затраты процессорного времени на выполнение такой конструкции могут зависеть от порядка следования вложенных циклов.
5. Инвариантные фрагменты кода.Эта тема тесно связана с проблемой оптимального программирования циклов. Внутри цикла могут встречаться выражения, фрагменты которых никак не зависят от управляющей переменной цикла. Их называют инвариантными фрагментами кода. Современные компиляторы часто определяют наличие таких фрагментов и выполняют автоматическую оптимизацию. Такое возможно не всегда, и иногда производительность программы зависит целиком от того, как запрограммирован цикл
- 3)Система счисления. Представление чисел в различных системах. Перевод целых чисел из одной в другую.
- 4)Высказывания и предикаты. Алгебра, высказывание, предикат, булевское, высказывание, логические функции.
- 5)Аксиомы алгебры предикат.
- 6)Информационно-логическая задача(опр)
- 7)Кол-венное измерение инфы. Кол-во инфы. Мера инфы. Мера р. Хартли. Мера к. Шенона
- 8)Объект и предмет информатики
- 9)Структура современной информатики
- 10)Структура программного обеспечения
- 11)Системы програмирования
- 12)Операционные системы
- 13)Понятие алгоритма. Св-ва. Типы. Виды представления алгоритмов. Этапы разработки программы
- 14) Объектно-ориентированное программирование на примере vba.
- 15)Основные понятия объектно-ориентированное программирование
- 16)Объекты. Методы. Свойства. События
- 17)Основы программирования на языке vba
- 2.3. Выражения
- 2.3.1. Виды операций
- 2.3.2. Приоритет выполнения операций
- 18)Алфавит. Комментарии. Имена переменных. Операция присвоения. Математические операции. Операции присвоения. Логические операции.
- 19)Процедуры ,процедуры-функции. Общие процедуры .Процедуры обработки событий .Объявление переменных
- 20) Встроенные функции (математические)
- 21)Условный оператор if…then
- 22)Операторы передачи безусловного перехода по метке goto
- 21)Условный оператор if…then
- 23)Операторы цикла
- 24)Создание процедуры(функции) вызов процедуры
- 25)Работа со строковыми переменными
- 26)Ввод-вывод в vba : inputbox, msgbox,объекты range, cells
- 27)Некоторые приемы оптимизации программ
- 28)Опред одномерного и двумерного массива. Декларация одномерного и двумерного масива в vba
- 29)Алгоритмы ввода вывода одномерного массива. Алгоритм ввода и вывода двумерного массива
- 30)Основные сведения о динамичном массиве.
- 31)Сортировка массива методом пузырька массива
- 32)Сортировка масива методом нахождения минимального элемента массива
- 33)Экранная форма
- 34)Экранная форма( св-ва, методы, события)
- 36)Эл. Кнопка(св-ва, события)
- 37)Элемент Текстовое поле (свойства)
- 38)Эл надпись(св-ва)
- 39)Элемент рамка
- 40)Элемент флажок
- 41)Эл переключатель(св-ва)
- 42)Элемент рисунок
- 43) Размещение элементов управления в форме или на рабочем листе
- 43)Размещение эл упр в форме или на раб листе
- 48)Задачи на измерение единицы измерения информации
- 49)Задачи бутлеровской алгебры и размеры пениса мух
- 52,3) Построение графиков 2 порядка на плоскости гиперболоид (однополосный, двухполюсный)
- 52,4) Построение графиков 2 порядка на плоскости конус 2 порядка
- 59) Транспонирование матрицы