- •Способы описания алгоритмов.
- •2. Основные понятия: язык, лексема, алфавит, идентификатор, константа, переменная, метка, число.
- •Структура Паскаль – программы.
- •4. Заголовок программы и разделы описаний.
- •5. Типы данных. Стандартные и пользовательские типы.
- •6. Типы данных. Скаляры и структуры данных.
- •Пользовательские скалярные типы данных.
- •8. Раздел описания переменных.
- •9.Машинное представление чисел и символов. Системы счисления
- •10. Символьный тип данных представление в эвм, операции над ними.
- •11. Целочисленные типы данных представление в эвм, операции над ними.
- •12. Булевы величины. Их машинное представление и операции над ними.
- •13. Вещественные типы данных машинное представление, операции над ними.
- •14. Пользовательские скалярные типы данных.
- •15. Выражения, операции и операнды.
- •Xor логическое исключающее сложение
- •16. Арифметические операции, тип их операндов и результата.
- •17. Операции отношения.
- •18. Логические операции, тип их операндов и результата.
- •19. Приоритет выполнения операций в выражении.
- •20. Использование библиотечных функций в выражении.
- •21. Операторы. Классификация. Оператор присваивания, совместимость типов по присваиванию, оператор перехода, составной оператор.
- •22. Условный оператор if.
- •23. Условный оператор case.
- •24. Оператор цикла for.
- •25. Оператор цикла while.
- •26. Оператор цикла repeat.
- •27. Сравнительный анализ операторов цикла.
- •28. Обобщенные управляющие конструкции.
- •29. Работа с данными. Процедуры ввода-вывода.
- •30. Массивы одномерные и многомерные. Обращение к элементам массива, ввод – вывод массива.
- •31. Сортировка массива. Алгоритм пузырька.
- •32. Алгоритм сортировки массива выбором.
- •33. Алгоритм сортировки массива вставки.
- •34. Записи описание, обращение к полям записи, оператор with.
- •35. Множества. Назначение, определение, операции над множествами.
- •36. Файловые структуры их классификация.
- •37. Текстовые файлы. Особенности работы с ними.
- •38. Типизированные файлы. Особенности работы с ними.
- •39. Нетипизированные файлы. Особенности работы с ними.
- •40. Константы. Описание скалярных констант.
- •41. Константы. Описание констант массивов.
- •42. Константы. Описание констант записей.
- •43. Управление экраном компьютера в текстовом и графическом режимах.
- •44. Процедуры и функции. Их структура, взаимодействие с головной программой.
- •45. Область видимости имен.
- •46. Отличие в применении процедур и функций.
- •47. Формальные и фактические параметры. Параметры значения.
- •48. Формальные и фактические параметры. Параметры переменной.
- •49. Формальные и фактические параметры. Параметры константы.
- •50. Решение нелинейного уравнения методом итерации.
- •51. Решение нелинейного уравнения методом бисекции.
- •52. Решение нелинейного уравнения методом Метод хорд.
- •53. Решение нелинейных уравнений методом касательных.
- •54. Локальные и глобальные сети, адрес при навигации в сети. Протокол tcp/ip.
- •55. Защита информации, электронно цифровая подпись.
- •Вопрос 58 (логические и арефмитические основы эвм)
- •59 Вопрос (двоичная сс. Действия над целыми и вещественными числами в двоичной сс)
32. Алгоритм сортировки массива выбором.
Сортировка выбором — алгоритм сортировки, относящийся к неустойчивым алгоритмам сортировки. На массиве из n элементов имеет время выполнения в худшем, среднем и лучшем случае Θ(n2), предполагая что сравнения делаются за постоянное время.
[править]
Алгоритм
Сортировка выбором
Шаги алгоритма:
-
находим минимальное значение в текущем списке
-
производим обмен этого значения со значением на первой неотсортированной позиции
-
теперь сортируем хвост списка, исключив из рассмотрения уже отсортированные элементы
Пирамидальная сортировка сильно улучшает базовый алгоритм, используя структуру данных «куча» для ускорения нахождения и удаления минимального элемента.
Существует также двунаправленный вариант сортировки методом выбора, в котором на каждом проходе отыскиваются и устанавливаются на свои места и минимальное, и максимальное значения.
33. Алгоритм сортировки массива вставки.
Алгоритм 1. Сортировка вставками.
Это изящный и простой для понимания метод. Вот в чем его суть: создается новый массив, в который мы последовательно вставляем элементы из исходного массива так, чтобы новый массив был упорядоченным. Вставка происходит следующим образом: в конце нового массива выделяется свободная ячейка, далее анализируется элемент, стоящий перед пустой ячейкой (если, конечно, пустая ячейка не стоит на первом месте), и если этот элемент больше вставляемого, то подвигаем элемент в свободную ячейку (при этом на том месте, где он стоял, образуется пустая ячейка) и сравниваем следующий элемент. Так мы прейдем к ситуации, когда элемент перед пустой ячейкой меньше вставляемого, или пустая ячейка стоит в начале массива. Помещаем вставляемый элемент в пустую ячейку . Таким образом, по очереди вставляем все элементы исходного массива. Очевидно, что если до вставки элемента массив был упорядочен, то после вставки перед вставленным элементом расположены все элементы, меньшие его, а после — большие. Так как порядок элементов в новом массиве не меняется, то сформированный массив будет упорядоченным после каждой вставки. А значит, после последней вставки мы получим упорядоченный исходный массив. Вот как такой алгоритм можно реализовать на языке программирования Pascal:
Код
Program InsertionSort;
Var A,B : array[1..1000] of integer;
N,i,j : integer;
Begin
{Определение размера массива A (N) и его заполнение}
…
{сортировка данных}
for i:=1 to N do
begin
j:=i;
while (j>1) and (B[j-1]>A[i]) do
begin
B[j]:=B[j-1];
j:=j-1;
end;
B[j]:=A[i];
end;
{Вывод массива B}
…
End.
В принципе, данную сортировку можно реализовать и без дополнительного массива B, если сортировать массив A сразу при считывании, т. е. осуществлять вставку нового элемента в массив A.