- •Общие сведения об эвм.
- •Структура и принципы построения эвм
- •Структура и признаки построения малых эвм.
- •Представление информации в систему счисления.
- •Позиционная система счисления
- •Выбор систем счисления.
- •Перевод целых чисел из одной сс в другую.
- •Перевод дробных чисел из одной сс в другую.
- •Формы представления чисел в эвм.
- •Представление числа в форме с фиксированной точкой.
- •Представление чисел в форме с плавающей точкой.
- •Составляющие пк.
- •Контроллеры и шины эвм.
- •Материнская плата.
- •Программное обеспечение пк.
- •Системные программы.
- •Программы – оболочки.
- •Вспомогательные программы.
- •Программы офисного назначения.
- •Редактор документов.
- •Табличные процессоры.
- •Алгоритм и их свойства.
- •Изображение алгоритма в виде блок-схемы.
- •Понятие об алгоритмическом языке.
- •Понятие о подходе к разработке алгоритма.
- •Основные проблемы, связанные с программированием диалоговых систем.
- •Степень защищенности данных и роль конечного пользователя в ис.
- •Факторы, влияющие на поведение пользователя в ис.
- •Основные требования к современным ис.
- •Эффективность программ
- •Профили и анализ программ
- •Оптимизирующие компиляторы
- •Метод структурного программирования (мсп).
- •Этап планирования.
- •Функции, которые выполняет модуль.
- •2) Операционный подход
- •Планирование тестов.
- •Структурное программирование.
- •У аправляющие структуры.
- •Пошаговая детализация.
- •Сегментирование.
- •Методы тестирования и отладки программ.
- •Проблема живучести программы
- •Методы тестирования
- •Этапы современного тестирования
- •Тестирование программ математических вычислений.
- •Этапы испытания программных систем.
- •Рекомендации по организации этапов тестирования.
- •Компаратор файлов.
- •Этапы решения задач с применением эвм.
- •Математическая постановка задач.
- •Выбор и разработка метода решения.
- •Разработка алгоритма.
- •Написание программ и ввод в эвм.
- •Отладка программ.
- •Программный модуль. Этапы обработки программы на эвм.
- •Постфиксная форма.
- •Загрузчики.
- •Редактор связи.
- •Отладчики.
- •Языки программирования.
- •Fortran
- •Язык fort (с точки зрения обычного программирования)
Эффективность программ
На первый взгляд эффект-ой можно назвать программу, к-ая производит вычисления максимально быстро. Другими словами – это экономия времени. Это понятие автоматически должно включ понятиеэкономия памяти. Эти понятие тесно связаны между собой. Время вып-ия программы и занимаемое его место в памяти часто зависимы и попытка сократить время вып-ния программы приводит к увеличению объема памяти и наоборот.
Профили и анализ программ
При изучении эффективности программ важно знать, как часто исп-ся каждая срока программы при вып-ии программы целиком. В нек-ых языковых средствах (системах) имеются спец утилиты (программы), обеспечивающие вывод этой инф-ии после вып-ия любой программы польз-ля с привлечением в этой программе любых данных (входных). Т.о получается профиль программы.
Концепцию профиля можно обобщить, если для каждой строки программы ввести ф-лу, устанавливающую соотношение между вход данными и тем, сколько раз вып-ся та или иная строка программы. Понятно, каждая ф-ла при этом выражается через неск-ко величин, которые характеризуют размер решаемой задачи и выводятся из входных данных или констант программы. Набор таких ф-л называется аналитич профилем программы.
Если представить себе нек-й текст программы на любом языке программирования, то в аналитич профиле любой программы, мы должны оценивать операторы и их количество. Против нек-ых строк стоят просто числа. Это значит, что эти строки исп-ся фиксированное число раз, независимо от данных. Рядом с др строками стоят ф-лы, включ N-раз. ЗначNравно числу интервалов, к-ые ненобходимо вычислить и оно равно разности м/у первым и последним входными значениями. Получив аналитич профиль программы (АПП), можно выяснить сколько раз вып-сь опред ключевые операции. Для этого необх посмотреть программу, найти эти операции и просуммировать соотв-щие величины в аналитич профиле. В соотв-ствии с выполнением прогр каждая строка в этой программе может быть оценена на время ее вып-ия, тогда АПП даст нам воз-ть вычислить общее время вып-ия каждой строки программы всегда одинаково, то мы можем просто перемножить время для каждой строки на число ее исполнений и рез-т сложить.
Осн задачей программирования вообще явл-ся создание прав программ.
Эффективная программа не нужна, если она не обеспеч прав рез-ов.
Эффективная, но неправильная программа редко может быть сделана прав-ой в то время кА прав, но неэффективную программу можно оптимизировать, но сделать эффект-ой, поэтому оптимизация явл-ся 2 этапом программирования.1 этап– обеспеч прав программы.
Советы программисту: определяйте требования к эффективности любой программы на стадии ее проектирования.
В мире программирования сущ-т 3 типа программ и для каждой из них эффективность различна:
Часто используемые программы– операц системы, компиляторы, прикладные программы. Понятно, что для этих программ эффективность явл-ся осн задачей по причине их частого использования.
Производственные программы, исп-ые длительное время.Этот тип программ пишут профес программисты и хотя эффек-ть этих программ существенна, основные хар-ки здесь – эксплуатационные хар-ки.
Программы, написанные не программистами, а специалистами в конкретных областях.Осн фактором здесь явл-ся время. Эффек-ть хотя и имеет опред специфику, она учитывается, когда речь идет об огранич объеме памяти.
Лишь в особых случаях программу можно сделать более эффективной, если программа не умещается в отведенный объем памяти, либо слишком долго вып-ся, либо программа польз-ля исп-ся как библиотека прикладных программ. И в этих случаях эффект-сть программы более важный показатель, чем удобочитаемость.