Cтраница 1
![]() |
Смесь команд неоптимизированной программы. [1] |
Типичный алгоритм оптимизации в оптимизирующем компиляторе будет стремиться к тому, чтобы назначать различные регистры наиболее часто используемым переменным и константам. В данном примере такой алгоритм после просмотра различных операндов обнаружит, что переменная X используется в два раза чаще по сравнению с другими величинами. [2]
Однако типичный алгоритм такого типа включает перебор по чрезвычайно большой совокупности и требует суперэкспоненциального времени работы. Напротив, наши явные конструкции позволяют очень быстро выписать порождающие векторы. [3]
Это типичный алгоритм, где используется возможность быстрого доступа к любому элементу массива по его индексу. Реализовано четыре цикла, из которых три выполняют последовательный доступ к массиву от первого до последнего элемента. В четвертом цикле перебирается весь массив, по i элементов за один раз. В некоторых случаях предпочтительна последовательная обработка, в других - используется последовательное упорядочение, поскольку оно не хуже других методов. [4]
Для типичного алгоритма умножения множимое и множитель представляются каждый в виде одного - разрядного слова, а произведение в виде 2п - разрядного двойного слова. [5]
Для типичного алгоритма деления целых чисел делимым является 2л - разрядное ( двойное) слово, а делителем л-разрядное ( одинарное) слово; частное и остаток получаются в виде одинарных слов. [6]
Принцип работы типичного алгоритма сканирования сводится к следующему. После загрузки с дискеты, на которой операционная система гарантированно свободна от вируса, программа проверяет дерево каталогов диска, логическое имя которого указывается в виде параметра при запуске. Если длина модуля больше 4 Кбайт, в теле программы ищется сигнатура вируса по соответствующему смещению. Если вирус найден, восстанавливаются скрытые в теле вируса байты начала модуля, после чего длина файла уменьшается на длину вируса и вирус удаляется из зараженного модуля. После этого восстанавливаются исходные время и дата создания файла. [7]
Теперь мы применим некоторые из результатов предыдущих пунктов для изучения одного типичного алгоритма. [8]
В центральных процессорах деление без знака дополняет операцию умножения. Для типичного алгоритма деления делимым является двойное слово, а делителем одинарное; частное и остаток получаются в виде одинарных слов. [9]
Поэтому при разработке алгоритма и программы приходится использовать уже существующую структуру информационной базы и правила обращения к ней. Кроме того, использование системной информационной базы вынуждает автора алгоритма предусматривать в нем реакцию на множество параметров информационной базы, которые с точки зрения автора алгоритма либо не представляют интереса, либо являются недопустимыми. При несистемной организации подготовки информации ( первое значение четвертого классификационного параметра) подобные ситуации не имеют места, так как их исключает автор, сам готовящий все варианты исходной информации. В алгоритмах третьего класса такие ситуации должны анализироваться автоматически и на них автоматически должна вырабатываться соответствующая реакция. Типичными алгоритмами этого класса являются отдельные алгоритмы ( программы) для должностных лиц, пользующихся автоматизированной системой управления с целью изучения результатов течения управляемых процессов, проводимого, как правило, в инициативном порядке. Другим примером могут служить алгоритмы ( программы) проведения научно-исследовательских экспериментальных работ с натурными испытаниями на объектах, которые являются источниками обрабатываемой информации. Алгоритмы ( программы) этого класса в большей степени, чем первых двух классов, пригодны для развития специального математического обеспечения. Этому в значительной степени способствует дисциплинирующее влияние используемой ими системной информации. Однако для них типичной остается цель удовлетворения потребности индивидуального пользователя. Поэтому для большинства из них срок жизни будет невелик и они, как правило, будут разрушаться после того, как их автор достигнет поставленной цели. Вероятность их передачи другим пользователям, по нашему мнению, невелика. Это объясняется не только целями их разработки, но и уровнем квалификации разработчика программы, а он, как следует из целей и организации разработки еще не будет профессиональным. [10]