Подумайте и ответьте тут же на следующие во С какими свойствами алгоритмов вы знакомы? Какие готовые алгоритмы вы знаете? Какие эффективные методы использования алгоритмов вы предложили бы для решения задач?
1. Я знаком с дискретностью, определенностью, результативностью и массовостью, конечностью.
2. Алгоритм определения наибольшего из N чисел;
Алгоритм определения наименьшего из N чисел;
Алгоритм определения средней зарплаты.
3. В процессе программирования необходимо понять и запомнить часто встречающиеся алгоритмы и создать их своеобразный запас. При решении сложных задач, разбивая их на подзадачи, можно использовать эти алгоритмы.
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 function IsPrime(n:integer):boolean; begin if n<4 then Result:=True else begin var found:= (n mod 2 = 0); var p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p = 0); p+=2 end; Result:=not found end end;
begin Writeln('k=',ArrRandom(ReadInteger('n='),1,999).Println. Where(x->IsPrime(x)).Count) end.
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 procedure IsPrime(n:integer; var res:boolean); begin if n<4 then res:=True else begin var found:= (n mod 2 = 0); var p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p = 0); p+=2 end; res:=not found end end;
begin var a:=ArrRandom(ReadInteger('n='),1,999); a.Println; var k:=0; var prime:boolean; foreach var e in a do begin IsPrime(e,prime); if Prime then Inc(k) end; Writeln('k=',k) end.
При записи на новый жесткий диск файлы записываются последовательно расположенными кусочками (кластерами). Спустя некоторое время – после копирования, переноса, удаления папок и файлов и т.п. – эти самые кусочки оказываются разбросанными по жесткому диску, образуя, так называемые, дырки. Сами файлы не повреждаются, просто их части записаны оказываются далеко друг от друга, в разных ячейках жесткого диска и в итоге, в процессе считывания файла головкой жесткого диска, ей приходится искать его фрагменты по всей поверхности, что замедляет работу. В качестве аналогии приведу пример: У Вас есть конструктор. Изначально он упакован в коробку, где каждая деталь лежит рядом с деталью такого же цвета, размера и формы. Допустим, что эти (одинаковые) детальки даже изначально скреплены между собой и представляют собой одно целое (файл). Но, через некоторое время, после того как Вы много много играли с конструктором, строили и тд и тп, детали в коробке разъединились и перемешались Вашими же усилиями, а посему, чтобы найти нужную Вам, потребуется теперь больше времени, чем это было изначально, когда они были все рядышком друг с другом. Это и есть фрагментация - разные части одного целого находятся теперь в разных частях коробки, среди неидентичного содержания (т.е других по форме, цвету и тп деталек). Дефрагментация же представляет собой процесс сбора разбросанных частей (фрагментов) снова воедино
1. Я знаком с дискретностью, определенностью, результативностью и массовостью, конечностью.
2. Алгоритм определения наибольшего из N чисел;
Алгоритм определения наименьшего из N чисел;
Алгоритм определения средней зарплаты.
3. В процессе программирования необходимо понять и запомнить часто встречающиеся алгоритмы и создать их своеобразный запас. При решении сложных задач, разбивая их на подзадачи, можно использовать эти алгоритмы.