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

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

Купить за 600 руб.
Страниц
14
Размер файла
51.85 КБ
Просмотров
12
Покупок
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 КБ
Просмотров
252
Покупок
0
Вычисление определителя разложением по элементам строки
Купить за 600 руб.
Похожие работы
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
Прочие работы по предмету
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
103 972 студента обратились
к нам за прошлый год
1988 оценок
среднее 4.2 из 5
Алла Работа была выполнена вовремя, с учётом всех требований и правок. Спасибо огромное за помощь, рекомендую всем!
Александр Работа была выполнена раньше срока, по содержанию и раскрытию темы работы никаких нареканий нет, полное погружение в...
Александр Выражаю благодарность за основательтельный подход к проекту, полное погружение в него. Всё делалось чётко и вовремя,...
Ярослава Уважаемая Ярослава Добрый вечер. Дипломная работа получила 96 балов. Сегодня защитился на отлично. Огромное спасибо...
Сергей Быстрая и качественная работа
Александр Сделанная курсовая работа отлично, надо было исправить работу так как преподаватель строгий, принял полностью работу...
Алла Работа выполнена на отлично и даже раньше срока, оговоренного нами! Большое спасибо! Рекомендую данного эксперта.
Александр Александр сделал хорошую курсовую, я её конечно доработаю по своему , работой довольна , сделал на 3 недели быстрее...
Наталья Работа выполнена в срок и по всем требованиям, спасибо огромное!
Александр Задачи по дискретной математике были выполнены очень быстро, еще раньше указанного срока И по очень хорошей цене!...