Внимание! Студландия не продает дипломы, аттестаты и иные документы об образовании. Наши специалисты оказывают услуги консультирования в области образования: в сборе информации, ее обработке, структурировании и оформления в соответствии с ГОСТом. Все услуги на сайте предоставляются исключительно в рамках законодательства РФ.
Нужна индивидуальная работа?
Подберем литературу
Поможем справиться с любым заданием
Подготовим презентацию и речь
Оформим готовую работу
Узнать стоимость своей работы
Дарим 200 руб.
на первый
заказ

Дипломная работа на тему: Вычисление определителя разложением по элементам строки

Купить за 600 руб.
Страниц
14
Размер файла
51.85 КБ
Просмотров
18
Покупок
0

Введение

Данная дипломная работа посвящена наглядному изучению методов работы с указателями и динамической памятью. В практической части для конкретной задачи поэтапно описывается процесс написания программы, использующей указатели. В качестве языка программирования был выбран Pascal.

Целью работы является составление учебно-методического текста по теме "Указатели". В частности, планируется:

) на нетривиальном примере продемонстрировать метод перехода от массивов к указателям, изложенный на сайте В.З. Цалюка [1];

) на основе разработанного учебно-методического текста сверстать html версию, приемлемую для использования на вышеуказанном сайте.

Теоретическая часть курсовой работы написана на основе лекций и материалов, расположенных сайте В.З. Цалюка [1]. Также использовались материалы сайта Санкт-Петербургского государственного университета телекоммуникаций [2] и свободные интернет материалы [3].

Правильное понимание и использование указателей особенно необходимо для составления хороших программ по следующим причинам:

*указатели позволяют повысить эффективность программирования (к примеру, в некоторых ситуациях с помощью указателей можно существенно повысить скорость прохода массива);

*указатели обеспечивают поддержку динамических структур данных (таких как связанные списки и динамические массивы);

*при помощи указателей выполняется динамическое распределение памяти.

Однако написание программ с использованием указателей требует значительного напряжения и предельного внимания. Указатель может вызвать ряд затруднений, например, если указатель содержит неправильное значение, программа может быть неработоспособной. Можно легко ошибиться при использовании указателей; к тому же ошибки, связанные с неправильными значениями указателей, найти очень трудно. Но преимущества программирования с использованием указателей компенсируют все сложности.

Часто возникают ситуации, когда заранее не известно, сколько объектов - чисел, элементов массива, строк текста и прочих данных будет использовать программа. В этом случае используется динамическое выделение памяти, когда память занимается и освобождается в процессе исполнения программы. Управление памятью происходит посредством указателей.

Ярким примером подобной ситуации может послужить потребность в процедуре, которая должна работать с массивами различной длины. Приведем банальный пример: ввод элементов массива. Иногда для решения такой задачи достаточно объявить тип массива с константой в определении, например:

CONST NN = 3;= ARRAY[1..NN] ОF REAL; WriteVec(v: Vec);i: WORD;i := 1 ТО NN DО(v[i]);

Этот способ работает, но имеет серьезные ограничения. Чтобы функция работала с вектором другого размера, нужно изменить константу и перекомпилировать программу. Этот метод не подходит, если программа должна работать одновременно с несколькими массивами разной длины, особенно если длина массивов не известна до компиляции.

Нередко в подобной ситуации неопытный программист поступает следующим образом. Он задает достаточно большую константу, а размер вектора передает процедуре среди параметров.

CONST NN = 15;= ARRAY[1..NN] ОF REAL; WriteVec(v: Vec; к: WORD);i: WORD;i := 1 ТО к DО(v[i]);

Несмотря на то, что этот вариант может справляться со своей задачей, он, так же как и предыдущий пример имеет ограничения (такая процедура не будет работать с массивами, длина которых больше NN). Но, что важнее, данное решение является расточительным и вредным для обучения. Для любого массива программе приходится выделять размер максимально возможного массива, расходуя ограниченные ресурсы стека. Ситуация усугубляется, если какие-либо процедуры для своих целей должны копировать массив в стек (например, если исходный массив не должен измениться после работы процедуры).

Для данной дипломной работы не случайно была выбрана задача, использующая рекурсию, а именно: вычисление определителя матрицы разложением по элементам строки. Методы, использующие рекурсивные процедуры, значительно расходуют ограниченное пространство стека, что рождает потребность в точном использовании динамической памяти. Использование ресурсоемкой рекурсии оправдывается удобством программирования. А в заявленном методе, в отличие от более эффективных с точки зрения скорости и ресурсоемкости, но менее точных методов, появляется возможность вычисления определителей целочисленных матриц без погрешности.

Помимо этого, предложенный пример является довольно простым с математической точки зрения, и достаточно сложным с точки зрения программирования, что позволяет наглядно объяснить тонкости работы с указателями и динамической памятью, продемонстрировать проблемы, которые можно решить с их помощью и рассказать о типичных ошибках, которые могут возникнуть у программиста, использующего указатели.

Оглавление

- Введение

- Теоретическая часть

- Указатели

- Динамическая память

- Верстка веб страниц

- Практическая часть

- Постановка задачи

- Алгоритм перехода от индексов к указателям

- Требования к учебному тексту

- Требования к веб-странице

- Решение поставленной задачи Заключение

- Список литературы

- функция определитель матрица алгоритм

Список литературы

1. В.З. Цалюк Этюды по алгоритмизации:

2. Учебные материалы Санкт-Петербургского государственного университета телекоммуникаций им. проф. М.А. Бонч-Бруевича:

Студия "Вэл Дизайн". Верстка - определения терминов <http://welldesign.ru/studio/process/markup/markup-definitions>

Как купить готовую работу?
Авторизоваться
или зарегистрироваться
в сервисе
Оплатить работу
удобным
способом
После оплаты
вы получите ссылку
на скачивание
Страниц
14
Размер файла
51.85 КБ
Просмотров
499
Покупок
0
Вычисление определителя разложением по элементам строки
Купить за 600 руб.
Похожие работы
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
Прочие работы по предмету
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
103 972 студента обратились
к нам за прошлый год
2078 оценок
среднее 4.9 из 5
Александр Работа выполняется и сдаётся в срок. Не требуется корректировки. Прошлую работу приняли на отлично. Спасибо. Рекомендую!
Александр Приятно было работать с Александром. Работа выполнена в срок, правки вносились быстро и без возражений. При...
Александр Обращалась к Александру дважды. Обе работы были выполнены качественно и в сорок, по вопросу корректировки проблем не...
Александр Очень рада, что мне попался Александр. Второй раз к нему обращаюсь, он всегда на связи и всё выполняет во время,...
Александр Спасибо большое! Александр очень ответственный ! Все 3 работы выполнил в сроки ! Все очень понравилось ! Это...
Олег Благодарю за работу!
Александр Спасибо большое за статью, очень повезло, что выбрал Вас
Сергей Благодарю за работу! Все отлично
Александр Спасибо за работу, выполнено отлично, раньше срока
Александр Большое спасибо Александру. Работа выполнена качественно и в срок.