Курсовой проект по предмету Компьютеры, программирование
-
- 161.
Алгоритмизация и программирование процессов обработки данных в среде СУБД типа Fox
Курсовые работы Компьютеры, программирование CreateFd.prg создание файла данных;ReadFd.prg чтение созданного файла данных;AddFd.prg добавление данных в созданный файл данных;Zad1.prg выдача сведений о суммарной стоимости продукции заданного вида по каждому предприятию и о среднем выпуске этой продукции одним предприятием;Zad2.prgвыдача сведений о суммарной стоимости и суммарном выпуске каждой продукции;Zad3.prgвыдача на печать продукции пяти видов в порядке возрастания ее суммарной стоимости.Кроме того, необходимо предоставить пользователю возможность облегчить процесс создания файла данных, т.е. предусмотреть создание файла данных со структурой заданной в программе, а не выбираемой самим пользователем, что полностью исключит возможные ошибки пользователя в задании имен полей файла данных, что в сою очередь может сказаться на корректной работе всей программы.
- 161.
Алгоритмизация и программирование процессов обработки данных в среде СУБД типа Fox
-
- 162.
Алгоритмизация и программирование разветвляющихся процессов
Курсовые работы Компьютеры, программирование Постановка задачи 2. Разработать алгоритм и программу формирования одномерного массива A[i] по условию A[i]=Z(x), заданной интервально на различных промежутках. Если функция Z(x) неопределенна при каких-либо значениях x, то в программе необходимо предусмотреть вывод сообщения «При данном Х функция неопределенна» и вывести значение Х. Вид задания функции:
- 162.
Алгоритмизация и программирование разветвляющихся процессов
-
- 163.
Алгоритмы на графах. Кратчайшие расстояния на графах
Курсовые работы Компьютеры, программирование Его механик Винт Р. сделал устройство, вычисляющее эту функцию в несколько этапов с использование промежуточной памяти и вспомогательных функций. Для вычисления каждой из функций требуется, чтобы в ячейках памяти уже находились вычисленные параметры (которые являются значениями вычисленных функций), необходимые для ее вычисления. Вычисление функции без параметров может производится в любое время. После вычисления функции ячейки могут быть использованы повторно (хотя бы для записи результата вычисленной функции). Структура вызова функций такова, что каждая функция вычисляется не более одного раза и любой параметр используется не более одного раза. Любой параметр есть имя функции. Так как Скрудж не хочет тратить лишних денег на микросхемы, он поставил задачу минимизировать память прибора. По заданной структуре вызовов функций необходимо определить минимальный возможный размер памяти прибора и указать последовательность вычисления функций.
- 163.
Алгоритмы на графах. Кратчайшие расстояния на графах
-
- 164.
Алгоритмы обработки больших массивов. Алгоритмы обработки данных
Курсовые работы Компьютеры, программирование В таком случае мы говорим, что данные представляют собой (последовательный) файл.. Наиболее важный из них сортировка с помощью слияния. Слияние означает объединение двух (или более) последовательностей в одну-единственную упорядоченную последовательность с помощью повторяющегося выбора из доступных в данный момент элементов. Слияние намного проще сортировки, и его используют как вспомогательную операцию в более сложных процессах сортировки последовательностей. Одна из сортировок на основе слияния называется простым, слиянием. Она выполняется следующим образом:
- Последовательность а разбивается на две половины: b и с.
- Части b и с сливаются, при этом одиночные элементы образуют упорядоченные пары.
- Полученная последовательность под именем о вновь обрабатывается как указано в пунктах 1, 2;при этом упорядоченные пары переходят в такие же четверки.
- Повторяя предыдущие шаги, сливаем четверки в восьмерки и т. д., каждый раз «удваивая» длинуслитых подпоследовательностей до тех пор, пока не будет упорядочена целиком вся последовательность.
- 164.
Алгоритмы обработки больших массивов. Алгоритмы обработки данных
-
- 165.
Алгоритмы обработки данных линейной и нелинейной структуры
Курсовые работы Компьютеры, программирование - программы, нажмите на кнопку “Programs Data”. Вверху под надписью “Array” будет выведен массив.
- Если Вы желаете ввести данные самостоятельно, в поле над кнопками “Delete Element” и “Add Element”, введите число, затем нажмите кнопку “Add Element”, введенное число появится под надписью “Array”.
- Далее следует выбрать тип пирамиды, для этого установите метку напротив желаемой пирамиды, затем нажмите кнопку “Show Tree”. В поле слева от панели параметров вы увидите получившуюся пирамиду.
- Если Вы хотите добавить элемент в уже существующую пирамиду , в поле над кнопками “Delete Element” и “Add Element”, введите число, затем нажмите кнопку “Add Element”, введенное число будет добавлено в конец массива.
- Если вы хотите удалить элемент, введите его значение в поле над кнопками “Delete Element” и “Add Element” и нажмите кнопку “Delete Element”, если этот элемент является корнем, произойдет его удаление.
- 165.
Алгоритмы обработки данных линейной и нелинейной структуры
-
- 166.
Алгоритмы поиска и сортировки данных
Курсовые работы Компьютеры, программирование %20''%20theni%20:=%201%20to%20Memo1.Lines.Count%20do[i]%20:=%20Memo1.Lines[i-1];:=%20Memo1.Lines.Count;.Enabled%20:=%20true;.Enabled%20:=%20true;.Enabled%20:=%20true;.Enabled%20:=%20true;.Enabled%20:=%20true;.Enabled%20:=%20true;.Enabled%20:=%20true;.Enabled%20:=%20true;_Shablon.Enabled%20:=%20true;.Enabled%20:=%20true;('%d0%9d%d0%b5%20%d0%b2%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%20%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba!',%20mtWarning,%20[mbOK],%200);;TMainForm.Button2Click(Sender:%20TObject);,%20j,%20min%20:%20integer;:%20String;(iCounterPerSec);(T1);i%20:=%201%20to%20kol-1%20do:=%20i;j%20:=%20i+1%20to%20kol%20domas[j]%20<%20mas[min]%20then:=%20j;:=%20mas[min];[min]%20:=%20mas[i];[i]%20:=%20temp;;(T2);CheckBox1.Checked%20=%20true%20then('%d0%92%d1%80%d0%b5%d0%bc%d1%8f%20%d1%81%d0%be%d1%80%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8%20'%20+%20FormatFloat('0.00000000000',%20(T2%20-%20T1)%20/%20iCounterPerSec)%20+%20'%20%d1%81%d0%b5%d0%ba.',%20mtInformation,%20[mbOK],%200);.Lines.Clear;i%20:=%201%20to%20kol%20do.Lines.Add(mas[i]);;TMainForm.Button3Click(Sender:%20TObject);,%20j,%20min%20:%20integer;:%20String;(iCounterPerSec);(T1);i%20:=%201%20to%20kol-1%20doj%20:=%201%20to%20kol-i%20domas[j+1]%20<%20mas[j]%20then:=%20mas[j];[j]%20:=%20mas[j+1];[j+1]%20:=%20temp;;(T2);CheckBox1.Checked%20=%20true%20then('%d0%92%d1%80%d0%b5%d0%bc%d1%8f%20%d1%81%d0%be%d1%80%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8%20'%20+%20FormatFloat('0.00000000000',%20(T2%20-%20T1)%20/%20iCounterPerSec)%20+%20'%20%d1%81%d0%b5%d0%ba.',%20mtInformation,%20[mbOK],%200);.Lines.Clear;i%20:=%201%20to%20kol%20do.Lines.Add(mas[i]);;TMainForm.Button4Click(Sender:%20TObject);,%20j,%20min%20:%20integer;:%20String;(iCounterPerSec);(T1);i:=1%20to%20kol%20do:=%20mas[i];:=%20i-1;(j%20>=%200)%20and%20(mas[j]%20>%20temp)%20do[j+1]%20:=%20mas[j];:=%20j-1;[j+1]%20:=%20temp;;(T2);CheckBox1.Checked%20=%20true%20then('%d0%92%d1%80%d0%b5%d0%bc%d1%8f%20%d1%81%d0%be%d1%80%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8%20'%20+%20FormatFloat('0.00000000000',%20(T2%20-%20T1)%20/%20iCounterPerSec)%20+%20'%20%d1%81%d0%b5%d0%ba.',%20mtInformation,%20[mbOK],%200);.Lines.Clear;i%20:=%201%20to%20kol%20do.Lines.Add(mas[i]);;TMainForm.Button5Click(Sender:%20TObject);,%20j,%20min%20:%20integer;:%20array%20[0..10000]%20of%20String;:%20array%20[0..10000]%20of%20integer;(iCounterPerSec);(T1);i%20:=%201%20to%20kol%20do[i]%20:=%200;i%20:=%201%20to%20kol-1%20doj%20:=%20i+1%20to%20kol%20domas[i]%20<%20mas[j]%20then(count[j])(count[i]);;i%20:=%201%20to%20kol%20do[count[i]]%20:=%20mas[i];(T2);CheckBox1.Checked%20=%20true%20then('%d0%92%d1%80%d0%b5%d0%bc%d1%8f%20%d1%81%d0%be%d1%80%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8%20'%20+%20FormatFloat('0.00000000000',%20(T2%20-%20T1)%20/%20iCounterPerSec)%20+%20'%20%d1%81%d0%b5%d0%ba.',%20mtInformation,%20[mbOK],%200);.Lines.Clear;i%20:=%201%20to%20kol%20do[i]%20:=%20temp[i-1];.Lines.Add(mas[i]);;;TMainForm.Button6Click(Sender:%20TObject);">{$R *.dfm}TMainForm.Button1Click(Sender: TObject);, i : integer;Memo1.Text <> '' theni := 1 to Memo1.Lines.Count do[i] := Memo1.Lines[i-1];:= Memo1.Lines.Count;.Enabled := true;.Enabled := true;.Enabled := true;.Enabled := true;.Enabled := true;.Enabled := true;.Enabled := true;.Enabled := true;_Shablon.Enabled := true;.Enabled := true;('Не введен список!', mtWarning, [mbOK], 0);;TMainForm.Button2Click(Sender: TObject);, j, min : integer;: String;(iCounterPerSec);(T1);i := 1 to kol-1 do:= i;j := i+1 to kol domas[j] < mas[min] then:= j;:= mas[min];[min] := mas[i];[i] := temp;;(T2);CheckBox1.Checked = true then('Время сортировки ' + FormatFloat('0.00000000000', (T2 - T1) / iCounterPerSec) + ' сек.', mtInformation, [mbOK], 0);.Lines.Clear;i := 1 to kol do.Lines.Add(mas[i]);;TMainForm.Button3Click(Sender: TObject);, j, min : integer;: String;(iCounterPerSec);(T1);i := 1 to kol-1 doj := 1 to kol-i domas[j+1] < mas[j] then:= mas[j];[j] := mas[j+1];[j+1] := temp;;(T2);CheckBox1.Checked = true then('Время сортировки ' + FormatFloat('0.00000000000', (T2 - T1) / iCounterPerSec) + ' сек.', mtInformation, [mbOK], 0);.Lines.Clear;i := 1 to kol do.Lines.Add(mas[i]);;TMainForm.Button4Click(Sender: TObject);, j, min : integer;: String;(iCounterPerSec);(T1);i:=1 to kol do:= mas[i];:= i-1;(j >= 0) and (mas[j] > temp) do[j+1] := mas[j];:= j-1;[j+1] := temp;;(T2);CheckBox1.Checked = true then('Время сортировки ' + FormatFloat('0.00000000000', (T2 - T1) / iCounterPerSec) + ' сек.', mtInformation, [mbOK], 0);.Lines.Clear;i := 1 to kol do.Lines.Add(mas[i]);;TMainForm.Button5Click(Sender: TObject);, j, min : integer;: array [0..10000] of String;: array [0..10000] of integer;(iCounterPerSec);(T1);i := 1 to kol do[i] := 0;i := 1 to kol-1 doj := i+1 to kol domas[i] < mas[j] then(count[j])(count[i]);;i := 1 to kol do[count[i]] := mas[i];(T2);CheckBox1.Checked = true then('Время сортировки ' + FormatFloat('0.00000000000', (T2 - T1) / iCounterPerSec) + ' сек.', mtInformation, [mbOK], 0);.Lines.Clear;i := 1 to kol do[i] := temp[i-1];.Lines.Add(mas[i]);;;TMainForm.Button6Click(Sender: TObject);%200%20doi%20:=%200%20to%20kol-d%20do:=%20i;(j%20>=%200)%20and%20(mas[j]%20>%20mas[j+d])%20do:=%20mas[j];[j]:=%20mas[j+d];[j+d]%20:=%20temp;:=j-d;;;:=%20d%20div%202;;(T2);CheckBox1.Checked%20=%20true%20then('%d0%92%d1%80%d0%b5%d0%bc%d1%8f%20%d1%81%d0%be%d1%80%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%ba%d0%b8%20'%20+%20FormatFloat('0.00000000000',%20(T2%20-%20T1)%20/%20iCounterPerSec)%20+%20'%20%d1%81%d0%b5%d0%ba.',%20mtInformation,%20[mbOK],%200);.Lines.Clear;i%20:=%201%20to%20kol%20do.Lines.Add(mas[i]);;TMainForm.Button7Click(Sender:%20TObject);:%20String;,%20line%20:%20integer;:%20array%20[0..10000]%20of%20String;Memo1.Text%20<>%20''%20theni%20:=%201%20to%20Memo1.Lines.Count%20do[i]%20:=%20Memo1.Lines[i-1];:=%20Memo1.Lines.Count;('%d0%9d%d0%b5%20%d0%b2%d0%b2%d0%b5%d0%b4%d0%b5%d0%bd%20%d1%81%d0%bf%d0%b8%d1%81%d0%be%d0%ba!',%20mtWarning,%20[mbOK],%200);LE_Shablon.Text%20=%20''%20then('%d0%9d%d0%b5%20%d0%b7%d0%b0%d0%b4%d0%b0%d0%bd%20%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%20%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0',%20mtWarning,%20[mbOK],%200):=%20LE_Shablon.Text;i%20:=%201%20to%20kol%20dotemp[i]%20=%20str%20then;i%20<=%20kol%20then.SelStart%20:=%20Memo1.Perform(EM_LINEINDEX,%20i-1,%200);.SelLength%20:=%20Length(Memo1.Lines[i-1]);.SetFocus;('%d0%a8%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%20%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0%20%d0%bd%d0%b5%20%d0%bd%d0%b0%d0%b9%d0%b4%d0%b5%d0%bd!',%20mtWarning,%20[mbOK],%200);;;TMainForm.Button9Click(Sender:%20TObject);,%20high,%20mid,%20i:%20integer;,%20flag:boolean;:%20String;">,i,j: integer;: word;: String;(iCounterPerSec);(T1);:= kol div 2;d > 0 doi := 0 to kol-d do:= i;(j >= 0) and (mas[j] > mas[j+d]) do:= mas[j];[j]:= mas[j+d];[j+d] := temp;:=j-d;;;:= d div 2;;(T2);CheckBox1.Checked = true then('Время сортировки ' + FormatFloat('0.00000000000', (T2 - T1) / iCounterPerSec) + ' сек.', mtInformation, [mbOK], 0);.Lines.Clear;i := 1 to kol do.Lines.Add(mas[i]);;TMainForm.Button7Click(Sender: TObject);: String;, line : integer;: array [0..10000] of String;Memo1.Text <> '' theni := 1 to Memo1.Lines.Count do[i] := Memo1.Lines[i-1];:= Memo1.Lines.Count;('Не введен список!', mtWarning, [mbOK], 0);LE_Shablon.Text = '' then('Не задан шаблон поиска', mtWarning, [mbOK], 0):= LE_Shablon.Text;i := 1 to kol dotemp[i] = str then;i <= kol then.SelStart := Memo1.Perform(EM_LINEINDEX, i-1, 0);.SelLength := Length(Memo1.Lines[i-1]);.SetFocus;('Шаблон поиска не найден!', mtWarning, [mbOK], 0);;;TMainForm.Button9Click(Sender: TObject);, high, mid, i: integer;, flag:boolean;: String;
- 166.
Алгоритмы поиска и сортировки данных
-
- 167.
Алгоритмы поиска кратчайших покрытий булевых матриц
Курсовые работы Компьютеры, программирование Микроэлектроника является одним из наиболее быстро и эффективно развивающихся направлений науки и техники. Однако вместе с развитием схемотехники увеличивается и сложность разрабатываемых схем. Существуют элементы схемы, логической моделью которых является матрица, в частности, булева. Площадь микросхемы и ее быстродействие во многом зависят от параметров матрицы. Поэтому приоритетной задачей является уменьшение размеров элемента, например, путем нахождения кратчайшего покрытия булевых матриц. Целесообразность поиска кратчайших покрытий возникает и при минимизации ДНФ булевых функций, при синтезе логических схем некоторых типов, при решении систем логических уравнений, при поиске простейших диагностических тестов, а так же во многих других задачах, эффективность методов решения которых, оказывается, существенно зависящей от совершенства используемых алгоритмов поиска кратчайших покрытий.
- 167.
Алгоритмы поиска кратчайших покрытий булевых матриц
-
- 168.
Алгоритмы поиска остовного дерева Прима и Крускала
Курсовые работы Компьютеры, программирование По определению безопасного ребра свойство "А является подмножеством некоторого минимального остова" (для пустого множества это свойство, очевидно, выполнено) остаётся истинным для любого числа итераций цикла, так что в строке 5 алгоритм выдаёт минимальный остов. Конечно, главный вопрос в том, как искать безопасное ребро в строке 3. Такое ребро существует (если А является подмножеством минимального остова, то любое ребро этого остова, не входящее в А, является безопасным). Заметим, что множество А не может содержать циклов (поскольку является частью минимального остова). Поэтому добавляемое в строке 4 ребро соединяет различные компоненты графа Ga = (V,A), и с каждой итерацией цикла число компонент уменьшается на 1. Вначале каждая точка представляет собой отдельную компоненту; в конце весь остов - одна компонента, так что цикл повторяется |V| - 1 раз.
- 168.
Алгоритмы поиска остовного дерева Прима и Крускала
-
- 169.
Алгоритмы поиска подстроки в строке
Курсовые работы Компьютеры, программирование АлгоритмВремя на пред. обработкуСреднее время поискаХудшее время поискаЗатраты памятиВремя работы (мс) при длине строки ?250 ПримечанияАлгоритмы основанные на алгоритме последовательного поискаАлгоритм прямого поискаНет O((m-n+1)*n+1)/2O((m-n+1)*n+1)Нет234Mалые трудозатраты на программу, малая эффективность.Алгоритм РабинаНетO(m+n)O((m-n+1)*n+1)Нет93Алгоритм Кнута-Морриса-ПраттаКМПO(m)O(n+m)O(n+m)O(m)31Универсальный алгоритм, если неизвестна длина образцаАлгоритм Бойера-МураБМO(m+s)O(n+m)O(n*m)O(m+s)32Алгоритмы этой группы наиболее эффективны в обычных ситуациях. Быстродействие повышается при увеличении образца или алфавита.Исходя из полученных результатов, видно, что алгоритм Бойера Мура является ведущим по всем параметрам, казалось бы, найден самый эффективный алгоритм. Но, как показывает эксперимент, алгоритм Кнута Мориса - Пратта, превосходит алгоритм БМ на небольших длинах образца. Поэтому я не могу сделать вывод, что какой-то из алгоритмов является самым оптимальным. Каждый алгоритм позволяет эффективно действовать лишь для своего класса задач, об этом еще говорят различные узконаправленные улучшения. Алгоритм поиска подстроки в строке следует выбирать только после точной постановки задачи, которые должна выполнять программа.
- 169.
Алгоритмы поиска подстроки в строке
-
- 170.
Алгоритмы преобразования ключей
Курсовые работы Компьютеры, программирование Пусть необходимо подсчитать количество двухсимвольных английских слов в некотором тексте. В качестве хэш-функции для вычисления адреса можно предложить функцию подсчета суммы двух символов, умноженной на длину элемента таблицы: A=(Cl+C2)*L-97, где А адрес в таблице, полученный на основе суммы двоичных значений символов С1 и С2; L длина элемента таблицы; 97 десятичное смещение в кодовой таблице строчного символа «а» английского алфавита. Проведем простые расчеты. Сумма двоичных значений двух символов 'а' равна 97+97=194, сумма двоичных значений двух символов 'г' равна 122+122=244. Если организовать хэш-таблицу, как в предыдущем случае, то получится, что в ней должно быть всего 50 элементов, чего явно недостаточно. Более того, для сочетаний типа ab и Ьа хэш-сумма соответствует одному числовому значению. В случае когда функция хеширования вычисляет одинаковый адрес для двух и более различных объектов, говорят, что произошла коллизия, или конфликт. Исправить положение можно введением допущений и ограничений, вплоть до замены используемой хэш-функции. Программист может либо применить один из известных алгоритмов хеширования (что, по сути, означает использование определенной хэш-функции), либо изобрести свой алгоритм, наиболее точно отображающий специфику конкретной задачи. При этом необходимо понимать, что разработка хэш-функции происходит в два этапа.
- Выбор способа перевода ключевых слов в числовую форму.
- Выбор алгоритма преобразования числовых значений в набор хеш-адресов.
- Выбор способа перевода ключевых слов в числовую форму
- 170.
Алгоритмы преобразования ключей
-
- 171.
Алгоритмы сжатия данных
Курсовые работы Компьютеры, программирование Этот формат был придуман и развивался в фирме AT&T между 1995 и 1999 годами. В 2000 году все права были проданы фирме LizardTech. В том же году LizardTech опубликовала часть кода под лицензией GPL. На основе этого кода группа разработчиков, работавшая над этим проектом в AT&T, создала свой независимый вариант (тоже под лицензией GPL), который называется DjVuLibre [1]. В бесплатно доступных программах есть возможности разархивирования и просмотра DjVu-файлов, но только демонстрационное сжатие. К сожалению, эти программы не работают под Windows (разве что через cygwin перенос среды Unix в Windows). Программы с полными возможностями продаются фирмой LizardTech; с ее сайта [4] можно также бесплатно скачать программу для просмотра DjVu под Windows.
- 171.
Алгоритмы сжатия данных
-
- 172.
Алгоритмы сортировки, поиска длиннейшего пути во взвешенном графе и поиска покрытия, близкого к кратчайшему
Курсовые работы Компьютеры, программирование Сначала вводятся исходные данные: размерность таблицы m и n и сама таблица покрытия (блок 1). Далее происходит поиск пустого столбца (блок 2): это целесообразно, поскольку, если хотя бы один столбец не покрыт, то и не существует покрытия данной таблицы, и, следовательно, конец алгоритма. Далее, если не найдено пустого столбца (проверка в блоке 3), - поиск ядерных строк (блок 4), после - столбцов, покрытых ими (блок 5). После этого вычеркиваются все столбцы и строки, найденные в блоках 4,5 (блок 6).Вычеркиваются антиядерные строки (блок 7). Вычеркиваются поглощающие столбцы (блок 8). Вычеркиваются поглощаемые строки (блок 9). Если в результате выполнения блоков 6-9 текущая таблица покрытий изменилась, то выполняется блок 4; иначе следует вывод найденного кратчайшего покрытия в виде номеров строк, покрывающих таблицу. Затем конец алгоритма.
- 172.
Алгоритмы сортировки, поиска длиннейшего пути во взвешенном графе и поиска покрытия, близкого к кратчайшему
-
- 173.
Алгоритмы сортировки, поиска кратчайшего пути в графе и поиска покрытия, близкого к кратчайшему
Курсовые работы Компьютеры, программирование Тем не менее, у него есть громадный плюс: он прост и его можно по-всякому улучшать. Чем мы сейчас и займемся. Во-первых, рассмотрим ситуацию, когда на каком-либо из проходов не произошло ни одного обмена. Что это значит ? Это значит, что все пары расположены в правильном порядке, так что массив уже отсортирован. И продолжать процесс не имеет смысла(особенно, если массив был отсортирован с самого начала !). Итак, первое улучшение алгоритма заключается в запоминании, производился ли на данном проходе какой-либо обмен. Если нет - алгоритм заканчивает работу. Процесс улучшения можно продолжить, если запоминать не только сам факт обмена, но и индекс последнего обмена k. Действительно: все пары соседих элементов с индексами, меньшими k, уже расположены в нужном порядке. Дальнейшие проходы можно заканчивать на индексе k, вместо того чтобы двигаться до установленной заранее верхней границы i.
- 173.
Алгоритмы сортировки, поиска кратчайшего пути в графе и поиска покрытия, близкого к кратчайшему
-
- 174.
АЛУ суммирования двоичных чисел в дополнительном коде
Курсовые работы Компьютеры, программирование Для выполнения операций над числами, необходимо их ввести. Ввод чисел осуществляется в двоичной системе и записываются во входной регистр. Откуда перезаписываются в основной, в зависимости от знака записывается прямой или дополнительный код. Перевод в дополнительный код осуществляется при суммировании единицы и инверсного кода введенного числа. После ввода обоих чисел происходит суммирование, при помощи 13-ти разрядного сумматора. При переполнении разрядной сетки загорается индикатор - «переполнение разрядной сетки». Вывод информации происходит при помощи лампочек.
- 174.
АЛУ суммирования двоичных чисел в дополнительном коде
-
- 175.
Алфавитно-цифровое устройство отображения информации телевизионного типа
Курсовые работы Компьютеры, программирование В буквенно-цифровых (БЦ) моделях в качестве элемента ИМ используются буквы, цифры, условные знаки (символы), а свойства отображаемого объекта или процесса представляются в виде буквенного текста, цифровой комбинации, формул, таблиц. При построении БЦ ИМ все ИП разбивается на отдельные знакоместа - части ИП, необходимые и достаточные для изображения одного знака. Для отображения БЦ информации рекомендуется выдерживать следующие соотношения между шириной знакоместа bz, его высотой hz, промежутком между знаками в строке bp и промежутком между текстовыми строками hp:
- 175.
Алфавитно-цифровое устройство отображения информации телевизионного типа
-
- 176.
Амплитудно-модулированный сигнал 10МГц 20-2000Гц
Курсовые работы Компьютеры, программирование Существуют три основные схемы модуляции: 1) амплитудная модуляция (AM); 2) угловая модуляция, подразделяющаяся на два очень похожих метода: частотную модуляцию (ЧМ) и фазовую модуляцию (ФМ); 3) импульсная модуляция (ИМ). Различные схемы модуляции совмещают два этих метода или более, образуя сложные системы связи. Телевидение, например, использует как AM, так и ЧМ для различных типов передаваемой информации. Импульсная модуляция совмещается с амплитудной, образуя импульсную амплитудную модуляцию (АИМ), и т.д. Не всегда возможно найти четко выраженные основания для использования того или иного метода модуляции. В некоторых случаях этот выбор предписывается законом (в США контроль осуществляет Федеральная комиссия по связи - ФКС). Необходимо строго придерживаться правил и инструкций независимо от того, какая схема модуляции используется.
- 176.
Амплитудно-модулированный сигнал 10МГц 20-2000Гц
-
- 177.
Анализ алгоритмов нечисленной обработки данных
Курсовые работы Компьютеры, программирование Если p2<p1, то к корню пририсовывают дугу, направленную влево, и помещают второй элемент в конце этой дуги. Если же p2?p1, то делают то же самое, но дугу направляют вправо. В общем случае, когда требуется выбрать место на дереве для i-го элемента массива (к этому моменту дерево уже содержит i- 1 вершину и i-2 дуги), поступают следующим образом. В процессе выбора просматривается некоторый путь по дереву (цепочка смежных неповторяющихся вершин и дуг), выходящий всегда из корня. Чтобы, находясь в некоторой вершине пути, определить, обрывается ли путь в этой вершине, а если нет, то какая вершина следующая, применяется один и тот же прием для каждой вершины, в том числе и для корня. Сравнивается значение pi признака размещаемого элемента со значением pk признака элемента, помещенного в данной вершине. Если pi <pk , то смотрят, исходит ли из этой вершины дуга влево. Если исходит, то вершина в конце этой дуги будет следующей вершиной пути, если нет, то достраивают эту дугу и помещают i-й элемент в ее конце. Если же pi ? pk , то все происходит аналогично, но с дугой, направленной вправо. Таким образом, из каждой вершины может исходить самое большее две дуги, как и полагается для двоичного дерева.
- 177.
Анализ алгоритмов нечисленной обработки данных
-
- 178.
Анализ алгоритмов шифрования в сетях передачи данных
Курсовые работы Компьютеры, программирование Стоит отметить, что современные шифры достаточно стойки, и их криптоанализ зачастую носит чисто теоретический характер. Так, наилучшее вскрытие полного 16-раундового DES методом дифференциального криптоанализа требует 247 выбранных открытых текстов [9]. Очевидно, что такая атака трудноосуществима на практике. Тем не менее, производительность вычислительных средств постоянно растет, и не исключено, что в ближайшем будущем будут разработаны квантовые компьютеры или ЭВМ основанные на электромагнитных световых волнах. Поэтому, криптоанализ ставит задачу сделать как можно больший «запас» прочности для алгоритмов. В криптологии существует даже такой термин, как «запас криптостойкости» (security margin) [8]. Суть его в следующем. В процессе взлома шифра, криптоаналитик может использовать неполный алгоритм (например, с уменьшенным числом раундов, или с небольшими изменениями в структуре раунда). Если вскрытие произошло удачно, то разница между раскрытым алгоритмом и полным и обозначается вышеуказанным термином.
- 178.
Анализ алгоритмов шифрования в сетях передачи данных
-
- 179.
Анализ алгоритмов шифрования в сетях передачи данных
Курсовые работы Компьютеры, программирование Стоит отметить, что современные шифры достаточно стойки, и их криптоанализ зачастую носит чисто теоретический характер. Так, наилучшее вскрытие полного 16-раундового DES методом дифференциального криптоанализа требует 247 выбранных открытых текстов [9]. Очевидно, что такая атака трудноосуществима на практике. Тем не менее, производительность вычислительных средств постоянно растет, и не исключено, что в ближайшем будущем будут разработаны квантовые компьютеры или ЭВМ основанные на электромагнитных световых волнах. Поэтому, криптоанализ ставит задачу сделать как можно больший «запас» прочности для алгоритмов. В криптологии существует даже такой термин, как «запас криптостойкости» (security margin) [8]. Суть его в следующем. В процессе взлома шифра, криптоаналитик может использовать неполный алгоритм (например, с уменьшенным числом раундов, или с небольшими изменениями в структуре раунда). Если вскрытие произошло удачно, то разница между раскрытым алгоритмом и полным и обозначается вышеуказанным термином.
- 179.
Анализ алгоритмов шифрования в сетях передачи данных
-
- 180.
Анализ антивирусных программ
Курсовые работы Компьютеры, программирование Для того чтобы не подвергнуть компьютер заражению вирусами и обеспечить надежное хранение информации на дисках, необходимо соблюдать следующие правила:
- оснастить компьютер современными антивирусными программами, например NOD32 , Doctor Web, и постоянно обновлять их версии
- перед считыванием с дискет информации, записанной на других компьютерах, всегда проверять эти дискеты на наличие вирусов, запуская антивирусные программы
- при переносе на компьютер файлов в архивированном виде проверять их сразу же после разархивации на жестком диске, ограничивая область проверки только вновь записанными файлами
- периодически проверять на наличие вирусов жесткие диски компьютера, запуская антивирусные программы для тестирования файлов, памяти и системных областей дисков с защищенной от записи дискеты, предварительно загрузив операционную систему с защищенной от записи системной дискеты
- всегда защищать дискеты от записи при работе на других компьютерах, если на них не будет производится запись информации
- обязательно делать архивные копии на дискетах ценной информации
- не оставлять в кармане дисковода А дискеты при включении или перезагрузке операционной системы, чтобы исключить заражение компьютера загрузочными вирусами
- использовать антивирусные программы для входного контроля всех исполняемых файлов, получаемых из компьютерных сетей.
- 180.
Анализ антивирусных программ