Этапы решения инженерных задач с помощью ЭВМ.
Введение
Конспект посвящен второму разделу дисциплины "Информатика" - "Основы алгоритмизации и программирование". Он написан на основе курса лекций, прочитанных в МГТУ "СТАНКИН" в течение последних 5 лет для студентов 2 семестра обучения.
Конспект рассчитан на 7 лекций и соответствует рабочим программам по дисциплине "Информатика" для направлений обучения 651400 - Машиностроительные технологии и оборудование; 062000 - Механика и робототехника; 657800 - Конструкторско-технологическое обеспечение машиностроительных производств; 657900 - Автоматизированные технологии и производства, 653700 - Приборостроение, 653800 - Стандартизация, сертификация и метрология.
Излагаемый материал предусматривает три уровня сложности в соответствии с требованиями системы "Ритм". Часть вопросов можно вынести на рассмотрение на практических занятиях, некоторые вопросы могут быть прочитаны факультативно для студентов, желающих повысить свою квалификацию. Для потоков, специализирующихся в дальнейшем в программировании (например, для направлений 657900, 653700), изложение основных элементов языка можно сократить в пользу более сложных конструкций, связанных с обработкой строк, работой с указателями и внешними файлами.
При изложении материала предполагается, что студентами освоена программа I семестра в части принципов работы ЭВМ и представления в памяти ПК чисел, символов и команд. Также считается, что студенты владеют сведениями о программном обеспечении ПК и функционировании операционных систем в объеме программы I семестра.
В конспекте приводятся основные сведения, необходимые инженеру для решения своих прикладных задач на основе процедурной части языка программирования высокого уровня С++. Рассматриваются виды и состав систем программирования, виды и назначение различных языков программирования. Приводятся правила построения программ, использования математических функций и выражений для вычисления значений по сложным формулам в линейных алгоритмах. Анализируются способы записи различных видов разветвляющихся и циклических алгоритмов, обработки одномерных и двумерных массивов, а также строковой информации. Уделяется много внимания способам структуризации программ для уменьшения объема программного кода и удобства чтения текста программы.
На протяжении всего курса проводится идея первичности построения алгоритма решения задачи и вторичности написания программного кода на языке высокого уровня. Такой подход связан не только с тем, что именно так и происходит в инженерной практике, но и с желанием (порой непреодолимым) студентов поскорее написать программу, не продумав и не сконструировав в каком-либо виде алгоритм решения задачи. В связи с этим уделяется большое внимание формализации процесса перехода от алгоритма решения, записанного в графической форме, к алгоритму, записанному на языке программирования.
Рекомендуемая литература
а) основная литература
1. Керниган, Д. Ритчи. Язык программирования Си (пер. с англ.). — М.: Финансы и статистика, 1992.
2. Березин Б.И., Березин С.Б. Начальный курс С и С++ Диалог МИФИ 1996
3. Дейтел Х., Дейтел П. Как программировать на С++: Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 1998 г. – 1024 с.: ил.
4. Луис Дерк. Справочник С и С++. М., Бином, 1997
б) дополнительная литература:
1. Паппас К., Мюррей У. Программирование на C и C++. Библиотека студента. BHV 2000.
2. Культин Н.Б. С/С++ в задачах и примерах. – Спб.: БХВ-Петербург, 2001.-288 с.: ил.
3. Крячков А.В. и др. Программирование на С и С++. Практикум. М.: Радио и связь. 1997.
4. Подбельский В.В. Язык С++. М.: Финансы и статистика, 1996.
5. Ишкова Э.А. С++. Начала программирования – М.: ЗАО «Издательство БИНОМ», 2000. – 304 с.: ил.
Этапы решения инженерных задач с помощью ЭВМ.
Очень многие инженерные задачи можно решить с помощью уже готовых программ - прикладных пакетов, о которых мы говорили в прошлом семестре. Они умеют интегрировать и дифференцировать, решать системы линейных и нелинейных уравнений, а также уравнения в частных производных.
В прошлом семестре вы использовали один из таких пакетов - MS Excel - для исследования влияния начальных условий на поведение реального физического объекта - парашютиста, строили траектории сложного движения точки и диаграммы распределения доходов фирмы в течение года. Другие математические пакеты, такие, как MathCad, Mathematics и другие, вы будете изучать на старших курсах.
Однако не всегда можно приспособить свою задачу под возможности пакета, часто бывает проще и быстрее написать свою программу. Научиться это делать очень важно и потому, что программирование помогает развить логическое мышление и сформировать навыки структуризации, формализации процесса решения любой задачи.
Рассмотрим этапы решения физической задачи с помощью ЭВМ и выясним, какое место занимает непосредственно программирование в этом процессе. В качестве примера выберем задачу определения пути S, пройденного снарядом при выстреле со скоростью V0 под углом a к горизонту.
Yoai 1.Физическая постановка задачи. Здесь производится выработка физической модели процесса или явления, т.е. формулировка предположений, отражающих наши представления о нем. В нашем случае при малых скоростях можно предположить, что земля плоская, а также нет сопротивления воздуха.
Yoai 2.Математическая постановка задачи. На этом этапе на основе физической формулировки задачи выбираются переменные, подлежащие определению, записываются ограничения, связи между переменными, в совокупности образующие математическую модель решаемой проблемы. В результате инженерная задача приобретает вид формализованной математической задачи, записанной в виде уравнений.
При нашей физической модели можно записать хорошо известные уравнения движения точки x=V0 cosa t;y= V0 sina t - gt2/2;S = ò vdt. При этом интеграл вычисляется от 0 до t так, чтобы y конечное = 0
Yoai 3.Выбор или разработка метода численного решения. Для поставленной математической задачи необходимо выбрать метод ее численного решения, сводящий решение задачи к последовательности арифметических и логических операций. Разработкой и изучением таких методов занимается раздел математики, называемый численным анализом. Примером численного метода в нашем случае является метод прямоугольников для вычисления определенного интеграла. В этом методе интеграл заменяется конечной суммой.
Yoai 4.Разработка алгоритма решения. Это означает, что на основе выбранного метода записывается последовательность действий, приводящих к решению задачи . Разработка алгоритма обычно завершается либо представлением в виде графической схемы, либо записью с помощью символов специального языка проектирования программ, называемого псевдокодом. Используются также другие средства представления логики алгоритма: HIPO-диаграммы, таблицы решений и др. Цель такого представления состоит в том, чтобы еще до этапа программирования убедиться в правильности логики разрабатываемого алгоритма.
Yoai 5.Разработка интерфейса пользователя. Параллельно с разработкой алгоритма разрабатывается сценарий работы программы, т.е. ее представление на экране при взаимодействии с пользователем.
Yoai 6.Написание программы. На этом этапе алгоритм записывается в виде последовательности предложений на понятном ЭВМ языке.
Yoai 7.Отладка программы. При реализации алгоритма в виде программы и ее вводе с клавиатуры в память ЭВМ могут быть допущены ошибки. Их обнаружение, локализацию и устранение выполняют на этапе отладки программы.
Одним из критериев профессионального мастерства программистов является их способность обнаруживать и исправлять собственные ошибки: начинающие программисты не умеют этого делать, у опытных программистов это не вызывает затруднений. Тем не менее ошибки в программах делают все.
По данным разных авторов, этап отладки программы занимает от 50 до 70 % времени, затрачиваемого на все этапы создания программы и получения решения с помощью ЭВМ. В связи с важностью и трудоемкостью этапа отладки все современные системы программирования имеют специальные средства, помогающие в обнаружении и устранении ошибок.
Yoai 8. Отладка метода и алгоритма. На этом этапе, наиболее трудоемком, производится тестирование программы, т.е. проверяется, правильно ли результаты ее работы отражают предметную область, для моделирования которой программа создана. С этой целью проводятся многочисленные расчеты, результаты которых сравнивают с уже известными экспериментальными данными и теоретическими решениями. При несовпадении результатов приходится изменять алгоритм или метод решения, а возможно и строить другую физическую модель.
Yoai 9.Серийные расчеты. На этом этапе проводятся многочисленные предусмотренные постановкой задачи расчеты по исследованию влияния исходных данных на характеристики процесса. Результаты стараются выводить в удобном для просмотра и анализа виде.
Алгоритмы решения задач.
Из рассмотрения этапов решения физической задачи видно, что этап непосредственно программирования занимает малую часть исследования, можно сказать, что это его техническая часть. Гораздо более важную роль играет (наряду, естественно, с созданием физической и математической моделей, а также выбором или разработкой метода решения) разработка оптимального алгоритма решения задачи. Именно алгоритмы наиболее сложны при обучении и требуют высокого уровня логического мышления. Поэтому в нашем курсе мы будем постоянно возвращаться к алгоритмам решения задач и уделять большое внимание правилам перевода алгоритмических конструкций в синтаксические конструкции программ на языке С++.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|