Решение и оформление задачи по теоретической механике в TeХ, с использованием языка С

Создание однотипных задач по теоретической механике. Определение собственной угловой скорости, абсолютной угловой скорости и абсолютного углового ускорения их теоремы синусов. Программирование выходного файла формата.tex с условиями задачи и ответами.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 11.01.2020
Размер файла 172,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Санкт-Петербургский государственный политехнический университет Петра Великого

Институт прикладной математики и механики

Кафедра «Теоретическая механика»

КУРСОВАЯ РАБОТА

Решение и оформление задачи по теоретической механике в TeХ, с использованием языка С

по дисциплине «Языки программирования»

Выполнил студент гр.23632/1 В.В. Филиппова

Руководитель Ассистент А.Ю. Панченко

Санкт-Петербург 2018

Содержание

  • Введение
  • 1. Аналитическое решение задачи
    • 1.1 Постановка задачи
    • 1.2 Аналитическое решение задачи
  • 2. Реализация задачи на языке программирования С
    • 2.1 Принцип работы программы
    • 2.2 Алгоритм работы программы
    • 2.3 Использованные функции
    • 2.4 Вывод программы
    • 2.5 Выходные данные программы
  • Заключение
  • Список использованной литературы

Введение

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

Вычисления в нашем проекте основываются на фундаментальных законах пространственной геометрии и теоретической механики.

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

В качестве объекта исследования был взят процесс программирования решения. В результате мы добились следующего: в качестве входных данных программа принимает файл формата.txt, в котором мы определяем значения известных по задаче параметров (относительную угловую скорость, относительное угловое ускорение, тангенсальную скорость точки М, тангенсальное ускорение точки М, радиус диска и угол; иллюстрация задачи приведена во входных данных), а также количество получаемых типовых вариантов (в данной работе генерируются 6 различных вариантов с соответствующими ответами). При завершении операций, описанных в нашей программе, на «выходе» мы получаем файл формата.tex, в котором содержатся исходные данные, и данные, которые необходимо найти (абсолютную угловую скорость, переносную угловую скорость, первую и вторую составляющую углового ускорения, вращательную скорость, первую и вторую составляющую вращательного ускорения, вращательное ускорение, ускорение точки, ускорение Кориолиса и ускорение точки М).

В качестве предмета исследования была взята задача по теоретической механики, описанная выше, для решения которой мы и написали программу.

1. Аналитическое решение задачи

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

Условие задачи:

Диск АОВ обкатывает неподвижный конус. Также известны следующие параметры:

· ОВ -- радиус диска

· угол б

· Vr- относительная скорость т.М

· Wr- относительное ускорение т.М

· щe - переносная угловая скорость диска

· еe - переносное угловое ускорение диска

Необходимо найти:

· собственную угловую скорость щr

· абсолютную угловую скорость щa

· абсолютное угловое ускорение еa

· скорость и ускорение точки B vB, wB

· абсолютную скорость и ускорение точки M v, w

1.2 Аналитическое решение задачи

1.Из теоремы синусов находятся собственная угловая скорость и абсолютная угловая скорость:

Вектор абсолютной угловой скорости:

щa = щe + щr

2. Вектор абсолютного углового ускорения определяется как производная по времени от вектора абсолютной угловой скорости:

3. Скорость точки B определяется как скорость этой точки во вращательном движении вокруг мгновенной оси по формуле

vB = v0 + щa Ч OB = щa Ч OB (т.к. v0 = 0),

где OB - радиус-вектор точки, проведённый из неподвижной точки О

Ускорение в точке B:

wB = w0 + еaЧOB + щaЧ ( щaЧOB ) = еaЧOB + щa Ч ( щaЧOB ) (т.к. w0 = 0)

4. Абсолютная скорость точки M складывается из скорости точки B и скорости движущейся по основанию конуса точки M:

vMа = vrM + vB

Абсолютное ускорение в точке M:

wMа = w0 + еaЧOB + щaЧ(щaЧOM) + wr + wcor, где

w0 + еaЧOB + щaЧ(щaЧOВ) = wB,

wcor = 2(щaЧvrM) - ускорение Кориолиса,

wr = wrn + wrф -- ускорение относительного движения

2. Реализация задачи на языке программирования С

2.1 Принцип работы программы

Для генерирования типовых вариантов задач, достаточно запустить программу. Она случайно выбирает входные параметры и решает по формулам, написанные в главе I.

2.2 Алгоритм работы программы

В качестве входных данных программа генерирует случайные значения, задаваемые в определенном диапазоне.

Далее программа открывает файл для чтения и template.tex. Этот файл представляет собой шаблон выходного файла с маркерами, с которыми впоследствии программа и работает.

in_file = fopen("input_file.txt", "r");

textpl_file = fopen("template.tex", "r");

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

Суть работы с маркерами состоит в следующем: внутри цикла программа начинает работать с шаблоном, считывая каждую стоку и копируя ее в созданный нами выходной файл типа.tex. Если в начале строки находится слово [MOD]

[MOD]\settext{Wb}{%.2f}

то эту строку копируем в выходной файл с пятого элемента, заменяя %.2f на параметр, который случайным образом генерируется. В результате данных действий получаем следующее выражение

\settext{Wb}{15},

которое запишется в выходной файл. В конце каждого цикла производится закрытие выходного файла.

2.3 Использованные функции

fopen("template.tex", "x") -- функция, открывающая файл "template.tex" для чего-либо, в зависимости от параметра x.

· x = r - файл используется только для чтения, при отсутствии файла, создает его.

· x = w - файл используется только для записи, при отсутствии файла, создает его.

· x = r+ - файл используется как для чтения так и для записи, при отсутствии создает его.

· x = w+ - файл используется как для чтения так и для записи, при отсутствии создает его.

printf("Cannot open file: %x1\n", x2) -- функция, печатающая в командную строку выражение "Cannot open file:" и при наличии второго выводимого слагаемого x2 необходимо вместо x1 ввести тип x2, при отсутствии второго выводимого слагаемого команда будет выглядеть следующим образом:

printf("Cannot open file\n",).

while(x) - цикл, который выполняется до тех пор, пока значение (x) -истинна; x - условие, которое позволяет войти в цикл.

rewind(textpl_file) -- функция, ставящая курсор в начало строки файла textpl_file.

*mod_pos = strstr(&str3[0], "[MOD]") - функция, ищущая подстроку [MOD] в строке, которая находится в массиве str3 начиная с 0 позиции. А переменная mod_pos сохраняет адрес первого символа искомой подстроки в строке str3.

fwrite(str, strlen(str), 1, out_file) - функция, дописывающая в выходной файл строку, содержащуюся в массиве str.

fclose(textpl_file) -- функция, закрывающая файл textpl_file.

2.4 Вывод программы

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

Для начала необходимо задать координаты начальной точки, относительно которой будет построен рисунок:

\begin{picture}(20,20)(-290, 40),

чтобы масштабировать рисунок, можно использовать команду

\setlength{\unitlength}{0.5mm}

далее начинается рисование с помощью следующих команд:

\put(-75,-20)

\put(0,0){\vector(0,1){70}}

\put(0,0){\line(-1,-1){55}}

\qbezier(-40,-53)(0,-75)(40,-53)

\multiput(0,0)(0,-7){10}%

{\circle*{1}}

Команда \put(x,y) позволяет рисовать точку с координатами (x,y) относительно выбранной ранее точки -- центра рисунка.

Команда \put(x,y){\vector(x1,y1){n}} позволяет рисовать вектор, начало которого находится в точке (x,y) и концом в (x1,y1) длиной n.

Команда put(x,y){\line(x,y){n}} аналогична команде \put(x,y){\vector(x1,y1){n}}. Различие их состоит в том, что в первом случае рисуется линия, во втором -- вектор.

Команда \qbezier(x1,y1)(x2,y2)(x3,y3) позволяет рисовать кривую по заданным точкам; (x1,y1) и (x2,y2) - крайние точки, (x3,y3) - промежуточная точка.

Команда \multiput(x1,y1)(x2,y3){N}% {\circle*{N2}} позволяет рисовать пунктиром, где (x1,y1) -- начало линии, (x2,y3) - расстояние между координатами по двум осям двух точек, N - количество точек, {\circle*{N2}} -- форма точек и их размер соответственно.

2.5 Выходные данные программы

Рис. 1 Пример выходных данных

По окончанию работы, программа предоставляет 6 файлов типа.tex - варианты однотипных задач с ответами. При желании эти фалы можно скомпилировать, в результате чего получаем файлы типа.pdf (пример конвертированного файла показан на рис.1)

Заключение

файл механика угловой скорость

Для решения поставленной задачи было произведено распределение обязанностей: численное решение задачи было получено Кравченко И.С., программированием выходного файла формата.tex с условиями задачи и ответами занималась Филиппова В.В.; решением задачи движения диска по конусу занимались Кравченко И.С. и Филиппова В.В.

В ходе данной работы были получены знания по работе с TeX и С, осуществлена работа с различными пакетами и командами. Для поставленной задачи был сделан рисунок, заданы начальные условия и вычислены значения собственной угловой скорости, абсолютной угловой скорости, абсолютного углового ускорения, скорости и ускорения точки B, абсолютной скорости и ускорения точки M.

Список использованной литературы

1. Онлайн компилятор файлов типа.tex: https://ru.sharelatex.com- (дата обращения 24.05.2018).

2. С. М. Львовский. Набор и верстка в системе LaTex - 2003: https://www.mccme.ru/free-books/llang/newllang.pdf - (дата обращения 24.05.2018).

3. Справочник по функциям по языкам программирования С/С++: http://en.cppreference.com -- (дата обращения 25.05.2018).

4. Брайан Керниган, Деннис Ритчи. Язык программирования С: второе издание, переработанное и дополненное. Изд-во Вильямс, 2017. 288 с.

Размещено на Allbest.ru

...

Подобные документы

  • Логические конструкции в системе программирования Паскаль. Команды языка программирования, использование функций, процедур. Постановка и решение задач механики в среде системы Паскаль. Задачи статики, кинематики, динамики решаемые с помощью языка Паскаль.

    курсовая работа [290,9 K], добавлен 05.12.2008

  • Принципиальная и структурная схема системы стабилизации угловой скорости ДПТ. Критерий устойчивости Гурвица. Передаточная функция разомкнутой системы. Исследование САР в среде Simulink. Проверка расчетов с помощью моделирования системы в среде Matlab.

    курсовая работа [3,3 M], добавлен 21.08.2012

  • Разработка программ с помощью Turbo Pascal для решения задач, входящих в камеральные работы маркшейдера: решение обратной геодезической задачи и системы линейных уравнений методом Гаусса, определение координат прямой угловой засечки и теодолитного хода.

    курсовая работа [1,5 M], добавлен 05.03.2013

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

    курсовая работа [1,8 M], добавлен 26.05.2010

  • Использование вычислительных возможностей программ общего назначения при решении базовых геодезических задач. Решение прямой угловой засечки по формулам Юнга и обратной геодезической задачи. Решение с помощью системы для математических расчетов MATLAB.

    курсовая работа [11,4 M], добавлен 31.03.2015

  • Анализ решения задачи линейного программирования. Симплексный метод с использованием симплекс-таблиц. Моделирование и решение задач ЛП на ЭВМ. Экономическая интерпретация оптимального решения задачи. Математическая формулировка транспортной задачи.

    контрольная работа [196,1 K], добавлен 15.01.2009

  • Определение зависимости скорости вала двигателя от времени. Математическая модель решения задачи. Решение задачи Коши на интервале методом Эйлера и Рунге-Кутта четвертого порядка точности. Алгоритм решения задачи. Текст программы и результаты ее работы.

    контрольная работа [108,9 K], добавлен 08.03.2013

  • Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.

    реферат [157,5 K], добавлен 21.08.2008

  • Структура предприятия ОАО "Златмаш" и основные задачи Информационно-вычислительного центра. Разработка локального сервера, использующего движок Mediawiki на операционной системе Linux Ubuntu. Выбор языка и среды программирования, создание интерфейса.

    отчет по практике [1,2 M], добавлен 16.09.2012

  • Особенности регулирования угловой скорости вращения двигателя постоянного тока с независимым возбуждением при помощи широтно-импульсного регулятора. Выбор микроконтроллера и языка программирования, составление принципиальной схемы электропривода.

    курсовая работа [2,3 M], добавлен 10.06.2019

  • Методы решения задач линейного программирования: планирования производства, составления рациона, задачи о раскрое материалов и транспортной. Разработка экономико-математической модели и решение задачи с использованием компьютерного моделирования.

    курсовая работа [607,2 K], добавлен 13.03.2015

  • Решение задачи нелинейного программирования с определением экстремумов функции. Этапы процесса нахождения решения задачи нелинейного программирования с использованием ее геометрической интерпретации. Определение гиперповерхности уровней функции.

    курсовая работа [1,5 M], добавлен 25.09.2010

  • Разработка тестирующей программы для проверки знаний студента по математике на языке программирования Turbo Pascal с использованием подпрограмм "Vvod" (создание файла с вопросами и ответами) и "Initialization" (запуск тестирование и инициализация файла).

    курсовая работа [137,7 K], добавлен 28.03.2010

  • Рассмотрение способов построения алгоритмов для решения конкретных задач. Программирование с помощью базовых операторов языка Turbo Pascal. Решение задачи определения площади и объема трехмерных фигур. Математическое моделирование геометрических тел.

    курсовая работа [365,3 K], добавлен 24.07.2014

  • Методика решения некоторых геодезических задач с помощью программ MS Excel, MathCad, MatLab и Visual Basic. Расчет неприступного расстояния. Решение прямой угловой засечки по формулам Юнга и Гаусса. Решение обратной засечки по формулам Пранис-Праневича.

    курсовая работа [782,2 K], добавлен 03.11.2014

  • Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.

    контрольная работа [118,5 K], добавлен 11.04.2012

  • Краткие сведения об электронных таблицах MS Excel. Решение задачи линейного программирования. Решение с помощью средств Microsoft Excel экономической оптимизационной задачи, на примере "транспортной задачи". Особенности оформления документа MS Word.

    курсовая работа [1,1 M], добавлен 27.08.2012

  • Восстановление математической модели задачи нелинейного программирования. Решение уравнений прямых. Метод линеаризации: понятие, особенности применения при решении задач. Нахождение точки максимума заданной функции. Решение задачи графическим методом.

    задача [472,9 K], добавлен 01.06.2013

  • Решение задачи расчета структуры и объема товарооборота методом линейного программирования. Формулы ограничений, транспортная задача оптимизации доставки товаров. Решение задачи о назначениях на основе матрицы стоимостей в электронной таблице Excel.

    контрольная работа [1023,6 K], добавлен 27.05.2013

  • Решение задач прикладного программирования. Оформление разработанных алгоритмов в виде графических схем. Написание программ с использованием подпрограмм, их отладка. Блок-схемы и листинг программ. Наборы тестов для отладки разработанных программ.

    курсовая работа [575,8 K], добавлен 06.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.