Практикум по программированию. Обработка числовых данных
Покупка
Тематика:
Программирование в среде Delphi
Под ред.:
Трусов Борис Георгиевич
Год издания: 2008
Кол-во страниц: 288
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-3159-5
Артикул: 111672.02.99
Приведены обработка числовых типов данных, краткие теоретические сведения, примеры программ реализации изучаемых алгоритмов, а также задания для выполнения лабораторных работ по каждой из рассматриваемых в курсе тем.
Пособие ориентировано на среду программирования Delphi и содержит большое количество важных алгоритмов решения инженерных задач. Представлены полные комплекты заданий (не менее 25 вариантов), имеющих разнообразный характер, но одинаковый уровень сложности.
Материал пособия авторы используют при проведении практических занятий в МГТУ им. Н.Э. Баумана.
Для студентов первого курса машино- и приборостроительных специальностей. Может быть полезно преподавателям как сборник заданий при проведении лабораторных работ.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Ю.А. Алексеев, А.С. Ваулин, А.В. Куров Практикум по программированию Обработка числовых данных Под редакцией Б.Г. Трусова Допущено Учебнометодическим объединением вузов по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений машиностроительного и приборостроительного профиля, изучающих курс «Информатика» в соответствии с Государственными образовательными стандартами Москва Издательство МГТУ им. Н.Э. Баумана 2008
ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ УДК 681.3.06(075) ББК 22.18 А47 Рецензенты: кафедра «Автоматизированные системы управления» МАДИ (ГТУ) (зав. кафедрой, д-р техн. наук, проф. А.Б. Николаев); д-р техн. наук, проф. И.П. Норенков; канд. техн. наук, доц. Г.С. Иванова А47 Алексеев Ю.Е., Ваулин А.С., Куров А.В. Практикум по программированию: Обработка числовых данных: Учеб. пособие / Под ред. Б.Г. Трусова. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2008. – 288 с. ISBN 978-5-7038-3159-5 Приведены обработка числовых типов данных, краткие теоретические сведения, примеры программ реализации изучаемых алгоритмов, а также задания для выполнения лабораторных работ по каждой из рассматриваемых в курсе тем. Пособие ориентировано на среду программирования Delphi и содержит большое количество важных алгоритмов решения инженерных задач. Представлены полные комплекты заданий (не менее 25 вариантов), имеющих разнообразный характер, но одинаковый уровень сложности. Материал пособия авторы используют при проведении практических занятий в МГТУ им. Н.Э. Баумана. Для студентов первого курса машино- и приборостроительных специальностей. Может быть полезно преподавателям как сборник заданий при проведении лабораторных работ. УДК 681.3.06(075) ББК 22.18 © Алексеев Ю.Е., Ваулин А.С., Куров А.В., 2008 © Оформление. Изд-во МГТУ ISBN 978-5-7038-3159-5 им. Н.Э. Баумана, 2008
Оглавление Введение...................................................................................................... 6 1. Краткая справка по языку Object Pascal и разработке консольных приложений в среде Delphi ................................................................... 9 2. Программы линейной структуры......................................................... 21 2.1. Средства разработки программ линейной структуры ............... 21 Целые типы данных ..................................................................... 21 Вещественные типы данных ....................................................... 23 Стандартные функции для обработки числовых данных ......... 24 Арифметические выражения ....................................................... 25 Оператор присваивания............................................................... 26 Ввод данных с клавиатуры .......................................................... 27 Вывод данных в окно программы .............................................. 28 2.2. Приемы, используемые для минимизации вычислений ........... 31 2.3. Примеры выполнения задания ................................................... 32 2.4. Задания А для самостоятельной работы .................................... 36 2.5. Задания Б для самостоятельной работы .................................... 39 3. Программы разветвляющейся структуры ............................................ 44 3.1. Средства разработки программ разветвляющейся структуры .. 44 Условные операторы .................................................................... 44 Булев тип ...................................................................................... 46 3.2. Примеры выполнения задания ................................................... 48 3.3. Задания для самостоятельной работы ........................................ 51 4. Программы циклической структуры .................................................. 57 4.1. Средства разработки программ циклической структуры .......... 57 Цикл с параметром ...................................................................... 57 Цикл с предусловием ................................................................... 58 Цикл с постусловием ................................................................... 59 4.2. Вычисление и вывод данных в виде таблицы ........................... 60 4.3. Пример выполнения задания с использованием цикла while .. 62 4.4. Пример выполнения задания с использованием цикла for...... 64 4.5. Задания для самостоятельной работы ........................................ 65 4.6. Сохранение результатов вычислений в массиве........................ 78 4.7. Пример выполнения задания ...................................................... 80 4.8. Задания для самостоятельной работы ........................................ 83 4.9. Приемы вычисления сумм, произведений и экстремальных значений ....................................................................................... 86 Вычисление суммы и произведения........................................... 86 Нахождение наибольшего или наименьшего значения ............ 87 4.10. Пример выполнения задания A .................................................. 90 4.11. Задания A для самостоятельной работы ..................................... 92 4.12. Пример выполнения задания Б................................................... 95 4.13. Задания Б для самостоятельной работы ..................................... 96 4.14. Вычисление суммы бесконечного ряда с заданной точностью..................................................................................... 99
ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ ОГЛАВЛЕНИЕ 4.15. Вывод рекуррентной формулы для вычисления члена ряда...100 Способы вычисления значения члена ряда .............................101 4.16. Примеры выполнения задания..................................................102 4.17. Задания для самостоятельной работы.......................................105 4.18. Уточнение корней уравнений....................................................111 Метод простых итераций ...........................................................111 Метод половинного деления .....................................................115 Метод касательных .....................................................................116 4.19. Пример выполнения задания ....................................................117 4.20. Задания для самостоятельной работы.......................................119 4.21. Вычисление определенных интегралов ....................................121 4.22. Пример выполнения задания ....................................................125 4.23. Задания для самостоятельной работы.......................................127 5. Организация программ со структурой вложенных циклов ..............129 5.1. Вычисление определенного интеграла с заданной точностью132 5.2. Задания для самостоятельной работы.......................................137 5.3. Вычисление наибольшего (наименьшего) значения функции с заданной точностью на заданном интервале ........................138 5.4. Задания для самостоятельной работы.......................................144 5.5. Обработка матриц .......................................................................146 5.6. Примеры выполнения задания на обработку матриц .............150 5.7. Задания для самостоятельной работы.......................................158 5.8. Методы сортировки массивов ...................................................163 Метод включения с сохранением упорядоченности (метод прямого включения или сортировка вставками) .....................163 Метод прямого обмена (метод пузырька) ................................165 Метод прямого выбора (сортировки посредством выбора) и его модификации ....................................................................166 5.9. Пример выполнения задания ....................................................168 5.10. Задания для самостоятельной работы........................................169 6. Программирование с использованием подпрограмм........................172 6.1. Процедуры...................................................................................172 6.2. Пример выполнения задания ....................................................178 6.3. Задания для самостоятельной работы.......................................180 6.4. Функции ......................................................................................184 6.5. Пример выполнения задания ....................................................188 6.6. Задания для самостоятельной работы.......................................191 6.7. Рекурсивные подпрограммы ......................................................196 6.8. Пример выполнения задания на составление рекурсивной подпрограммы .............................................................................199 6.9. Задания для самостоятельной работы.......................................202 6.10. Дополнительные сведения о подпрограммах и массивах .......208 Параметры — открытые массивы..............................................209 Динамические массивы ..............................................................212 Перегружаемые подпрограммы .................................................215 Параметры со значениями по умолчанию ...............................216 Примеры организации программ с подпрограммами .............217
ОГЛАВЛЕНИЕ 7. Модули пользователей ........................................................................225 7.1. Создание и использование модулей .........................................225 7.2. Пример выполнения задания ....................................................240 7.3. Задания для самостоятельной работы.......................................251 7.4. Пример выполнения задания ....................................................258 7.5. Задания для самостоятельной работы.......................................265 Приложение 1. Функция перекодировки кириллицы ..........................273 Приложение 2. Дополнительные сведения по обработке исключений .............................................................................................274 Приложение 3. Основные формулы, используемые при решении геометрических задач ..............................................................................280 Список литературы .................................................................................282 Алфавитный указатель ............................................................................283
ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ Введение В связи с ростом роли информатики в жизни современного общества больше внимания уделяется и преподаванию этой дисциплины в вузах. По сложившейся традиции значительное место в курсе информатики в технических университетах занимает раздел, связанный с изучением языков программирования и разработкой на изучаемом языке алгоритмов решения важнейших инженерных задач. Изучение алгоритмов решения основных инженерных задач (характерных приемов программирования) рассматривается как база для дальнейшего освоения дисциплины — студенты учатся работать с различными типами и структурами данных, создавать алгоритмы решения разнообразных задач. Конкретный язык программирования, на котором реализуются рассматриваемые алгоритмы, выступает в этом случае как конкретный инструмент для практического воплощения основных теоретических положений. В ходе последующего изучения дисциплины при решении более сложных задач и обработке разных типов и структур данных объясняется значение простейших алгоритмов как своего рода строительных блоков, на базе которых разрабатывают алгоритм решения поставленной задачи. Уяснив постановку задачи и разрабатывая алгоритм ее решения, студенты должны выделить основные этапы решения, которые чаще всего представляют собой рассмотренные ранее приемы программирования и алгоритмы. Разработка и реализация алгоритмов решения задач позволяет попутно добиться еще одного важного результата — формирования основ логического мышления. Многолетняя практика преподавания информатики первокурсникам свидетельствует о том, что уровень начальной подготовки студентов различается существенным образом, у многих из них отсутствуют умения и навыки логического построения алгоритма решения поставленной задачи. Проблема усугубляется в дальнейшем еще и тем, что в силу разных причин студенты должным образом не осваивают раздел, посвященный разработке и реализации основных типов алгоритмов и характерных приемов программирования.
ВВЕДЕНИЕ Цель данного учебного пособия — изложить в краткой форме основные принципы, правила построения и программирования алгоритмов различных типов (линейных, разветвляющихся, циклических, в том числе и с вложенными циклами), а также характерных приемов; показать возможности этих алгоритмов при решении практических задач. Теоретический материал сопровождается примерами программ, а также заданиями для выполнения лабораторных работ. В отличие от подобных пособий авторы стремились составить более сложные и интересные задания, в рамках одной темы выдержать одинаковый уровень сложности для разных вариантов. Систематическое выполнение предлагаемых заданий позволит студентам успешно решать задачи, предлагаемые при проведении рубежного контроля и на экзамене. В пособии рассматривается программирование основных алгоритмических структур: линейной, разветвляющейся, циклической (циклы с заранее известным и неизвестным числом повторений). Изложены принципы организации простых и вложенных циклов, а также следующие характерные приемы программирования: 1) нахождение сумм и произведений; 2) нахождение минимального и максимального значения функции на заданном интервале; 3) вычисление суммы бесконечного ряда и уточнение корней уравнений; 4) запоминание результатов вычислений; 5) сортировка элементов массива (по убыванию или возрастанию). Реализация указанных простейших алгоритмов требует умения программировать основные алгоритмические структуры и уже на базе этих простых алгоритмов решать более сложные инженерные задачи. Так, определение суммы позволяет вычислить значение определенного интеграла; умение найти значение интеграла и организовать вложенные циклы — вычислить значение интеграла с заданной точностью; умение находить минимальный (максимальный) элемент массива в сочетании с программированием вложенных циклов — отсортировать массивы и т. д. В заключительном разделе пособия рассмотрено использование подпрограмм. Приведены основные правила организации подпрограмм-функций и подпрограмм-процедур, виды параметров и механизмы их передачи в подпрограммы. Изложены возможности языка программирования по созданию библиотек подпрограмм, одним из средств разработки которых является механизм модулей, а также правила организации модулей и примеры их использования при разработке достаточно объемных приложений.
ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ В качестве инструментального средства программной реализации алгоритмов применяется язык Pascal, который изучается на большинстве специальностей университета. Авторы сочли необходимым включить раздел, содержащий основные сведения о среде программирования Delphi и подготовке в ней консольных приложений, поскольку именно эта среда используется при изучении курса «Информатика».
Состояние и тенденции развития 1. Краткая справка по языку Object Pascal и разработке консольных приложений в среде Delphi Среда программирования Delphi предоставляет возможность разработки и отладки различных программных продуктов, в том числе приложений, работающих как с использованием графического интерфейса пользователя, так и в консольном режиме. Последний имеет интерфейс пользователя в виде текстового окна, называемого окном программы, в котором последовательно, строка за строкой, отображаются данные, вводимые пользователем с клавиатуры и выводимые программой. Позицию начала ввода или вывода в окне программы указывает курсор — мигающий символ, имеющий вид подчеркивания в режиме вставки или прямоугольника — в режиме замены. По умолчанию длина строки равна 80 знакам, а количество строк — 50. Изменить эти и другие параметры окна программы позволяет диалоговое окно, открывающееся при вводе команды Свойства в системном меню. При вводе пользователь имеет возможность редактировать последние вводимые данные, используя символьные клавиши, а также клавиши BackSpace (удаление последнего введенного символа), Delete (удаление символа справа от курсора), Insert (переключение режимов вставки и замены), Стрелка вверх (удаление всех введенных символов), Стрелка влево (перемещение курсора в предыдущую позицию), Стрелка вправо (перемещение курсора в следующую позицию). Если в диалоговом окне команды Свойства установить на вкладке Общие флажок Выделение мышью, то становится возможным выделять части текста буксировкой мыши, копировать выделенное в буфер обмена щелчком правой клавиши и затем вставлять в позицию курсора щелчком правой клавиши. Завершается ввод нажатием клавиши Enter, при этом курсор перемещается в начало новой строки. Максимальная длина вводимой последовательности символов равна 254. Вывод данных из программы выполняется в виде текста, символ за символом при автоматическом перемещении курсора в очередную позицию строки, а при достижении ее конца — в начало новой строки. Консольный режим обычно используется, когда необходимо минимизировать время счета и расход оперативной памяти. Кроме того, консольный режим удобен для быстрой проверки и
ПРАКТИКУМ ПО ПРОГРАММИРОВАНИЮ Рис. 1.1