4b9c Паскаль. Ответы. P.18. Массивы. Написание алгоритмов. Продолжение. Сборник задач по программированию Александра Приходько
 

Сборник задач по программированию. Старая версия

 

 Приходько А. Н.

 

сборник, задачи, преобразование, xsl, программа, prolog, паскаль, xslt, сборник, пролог, html
 

Паскаль. Ответы. P.18. Массивы. Написание алгоритмов. Продолжение



главная страница
P.18.1.
Шаг 1. В переменную K1 заносим число элементов первого исходного массива, в K2 - второго исходного массива. Создаем результирующий массив размерности K1+K2.
Шаг 2. I1=1. I2=1.
Шаг 3.. Проходим переменной J по всем значениям от 1 до K1+K2 и для каждого значения J выполняем Шаг 4.
    Шаг 4. Если I2>K2 или I1-ый элемент 1-го исходного массива меньше I2-го элемента 2-го исходного массива, то копируем I1-й элемент первого исходного массива в J-ый элемент результирующего массива и увеличиваем значение I1 на 1. Иначе копируем I2-ый элемент 2-го исходного массива в в J-ый элемент результирующего массива и увеличиваем значение I2 на 1.
Шаг 5. Конец.

P.18.2.
Шаг 1.Описываем массив Mass добавив элемент с индексом 0 для хранения барьерного значения.
Шаг 2. Производим чтение из файла значений массива в элементы, начиная с 1-го.
Шаг 3. В переменную L заносим последний индекс считанного массива.
Шаг 4.. Проходим переменной K по всем значениям от 2 до L и для каждого значения K последовательно выполняем Шаги 5, 6, 8.
    Шаг 5. В переменную A заносим значение элемента массива с индексом K. То же самое значение заносим в 0-ой элемент массива.. В переменную M заносим значение K.
    Шаг 6. В цикле выполняем Шаг 7, пока значение A меньше значения M-1-го элемента массива.
        Шаг 7. В M-ый элемент массива заносим значение M-1-го элемента массива. Уменьшаем значение M на 1.
    Шаг 8. В M-ый элемент массива заносим значение A.
Шаг 9. Сохраняем содержимого отсортированного массива в файле.
Шаг 10. Конец.

P.18.3.
Шаг 1. В переменную L заносим последний индекс сортируемого массива. Описываем массив добавив элемент с индексом на 1 больше последнего для хранения барьерного значения.
Шаг 2.. Проходим переменной K по всем значениям вниз от L-1 до 1 и для каждого значения K последовательно выполняем Шаги 3, 4, 6.
    Шаг 3. В переменную A заносим значение элемента массива с индексом K. То же самое значение заносим в L+1-ый элемент массива.. В переменную M заносим значение K.
    Шаг 4. В цикле выполняем Шаг 5, пока значение A меньше значения M+1-го элемента массива.
        Шаг 5. В M-ый элемент массива заносим значение M+1-го элемента массива. Увеличиваем значение M на 1.
    Шаг 6. В M-ый элемент массива заносим значение A.
Шаг 7. Конец.

P.18.4.
Шаг 1. В переменную L заносим число элементов сортируемого массива.
Шаг 2.. Проходим переменной K по всем значениям вниз от L до 2 и для каждого значения K выполняем Шаг 3.
    Шаг 3.. Проходим переменной M по всем значениям от 2 до K и для каждого значения M выполняем Шаг 4.
        Шаг 4. Сравниваем M-1-ый элемент массива с M-ым элементом массива.. Если M-1-ый элемент больше, то выполняем Шаг 5.
            Шаг 5. (Переставляем местами M-1-ый и M-ый элементы массива). В переменную A заносим значение M-1-го элемента массива. В M-1-ый элемент массива заносим значение M-го элемента массива. В M-ый элемент массива заносим значение из переменной A..
Шаг 6. Конец.

P.18.5.
Шаг 1. В переменную L заносим число элементов сортируемого массива.
Шаг 2.. Проходим переменной K по всем значениям от 1 до L-1 и для каждого значения K выполняем Шаг 3.
    Шаг 3.. Проходим переменной M по всем значениям вниз от L-1 до K и для каждого значения M выполняем Шаг 4.
        Шаг 4. Сравниваем M+1-ый элемент массива с M-ым элементом массива.. Если M+1-ый элемент меньше, то выполняем Шаг 5.
            Шаг 5. (Переставляем местами M+1-ый и M-ый элементы массива). В переменную A заносим значение M+1-го элемента массива. В M+1-ый элемент массива заносим значение M-го элемента массива. В M-ый элемент массива заносим значение из переменной A..
Шаг 6. Конец.

P.18.6.
Шаг 1. В переменную L заносим число элементов сортируемого массива.
Шаг 2.. Проходим переменной K по всем значениям от 1 до L-1 и для каждого значения K выполняем Шаг 3.
    Шаг 3.. Проходим переменной M по всем значениям вниз от L-1 до K и для каждого значения M выполняем Шаг 4.
        Шаг 4. Сравниваем M+1-ый элемент массива с M-ым элементом массива.. Если M+1-ый элемент больше, то выполняем Шаг 5.
            Шаг 5. (Переставляем местами M+1-ый и M-ый элементы массива). В переменную A заносим значение M+1-го элемента массива. В M+1-ый элемент массива заносим значение M-го элемента массива. В M-ый элемент массива заносим значение из переменной A..
Шаг 6. Конец.

P.18.7.
Шаг 1. В переменную L заносим число элементов сортируемого массива.
Шаг 2.. Проходим переменной K по всем значениям вниз от L до 2 и для каждого значения K выполняем Шаг 3.
    Шаг 3.. Проходим переменной M по всем значениям от 2 до K и для каждого значения M выполняем Шаг 4.
        Шаг 4. Сравниваем M-1-ый элемент массива с M-ым элементом массива.. Если M-1-ый элемент меньше, то выполняем Шаг 5.
            Шаг 5. (Переставляем местами M-1-ый и M-ый элементы массива). В переменную A заносим значение M-1-го элемента массива. В M-1-ый элемент массива заносим значение M-го элемента массива. В M-ый элемент массива заносим значение из переменной A..
Шаг 6. Конец.

P.18.8.
Шаг 1. В переменную L заносим число элементов сортируемого массива. В переменную Pr заносим значение истинно, в переменную Left заносим значение 1, в переменную Right заносим значение из переменной L.
Шаг 2.. В цикле, пока Pr является истинным, последовательно выполняем Шаги 3, 4, 7, 10.
    Шаг 3. Переменной Pr присваиваем значение ложь..
    Шаг 4.. Проходим переменной K по всем значениям от Left+1 до Right и для каждого значения K выполняем Шаг 5.
        Шаг 5. Сравниваем K-1-ый элемент массива с K-ым элементом массива.. Если K-1-ый элемент больше, то выполняем Шаг 6.
            Шаг 6. Переставляем местами K-1-ый и K-ый элементы массива. В переменную Pr заносим значение истинно.
    Шаг 7.. Проходим переменной K по всем значениям вниз от Right-1 до Left и для каждого значения K выполняем Шаг 8.
        Шаг 8. Сравниваем K+1-ый элемент массива с K-ым элементом массива.. Если K+1-ый элемент меньше, то выполняем Шаг 9.
            Шаг 9. Переставляем местами K+1-ый и K-ый элементы массива. В переменную Pr заносим значение истинно.
    Шаг 10. Увеличиваем значение переменной Left на 1. Уменьшаем значение Right на 1. Если Left не меньше Right, то в переменную Pr заносим значение ложь.
Шаг 11. Конец.

P.18.9.
Шаг 1. В переменную L заносим число элементов сортируемого массива. В переменную Pr заносим значение истинно, в переменную Left заносим значение 1, в переменную Right заносим значение из переменной L.
Шаг 2.. В цикле, пока Pr является истинным, последовательно выполняем Шаги 3, 4, 7, 10.
    Шаг 3. Переменной Pr присваиваем значение ложь..
    Шаг 4.. Проходим переменной K по всем значениям от Left+1 до Right и для каждого значения K выполняем Шаг 5.
        Шаг 5. Сравниваем K-1-ый элемент массива с K-ым элементом массива.. Если K-1-ый элемент меньше, то выполняем Шаг 6.
            Шаг 6. Переставляем местами K-1-ый и K-ый элементы массива. В переменную Pr заносим значение истинно.
    Шаг 7.. Проходим переменной K по всем значениям вниз от Right-1 до Left и для каждого значения K выполняем Шаг 8.
        Шаг 8. Сравниваем K+1-ый элемент массива с K-ым элементом массива.. Если K+1-ый элемент больше, то выполняем Шаг 9.
            Шаг 9. Переставляем местами K+1-ый и K-ый элементы массива. В переменную Pr заносим значение истинно.
    Шаг 10. Увеличиваем значение переменной Left на 1. Уменьшаем значение Right на 1. Если Left не меньше Right, то в переменную Pr заносим значение ложь.
Шаг 11. Конец.

 

©   Александр Приходько    1996 - 2006

69 0