Ульяновский государственный технический университет Кафедра «Инновационные технологии в машиностроении» КУРСОВАЯ РАБОТА по технологической информатике на тему: «Алгоритмизация и программирование методов решения функциональных и вычислительных задач в машиностроении средствами языка PascalABC» Вариант № 3-3-7-5-7 Студент: Цыганов С.А., гр. МСбд-11 Направление: 15.03.05 - Конструкторское-технологическое обеспечение машиностроения КТОМП Руководитель: доц. Кравченко Д.В. Ульяновск, 2024 г. 2 Содержание 1. Задание №1 5 1.1. Постановка задачи 5 1.2. Алгоритм решения задачи 6 1.3. Расшифровка предписаний алгоритма 7 1.4. Результат апробации алгоритма 8 1.5. Вывод 9 2. Задание №2 10 2.1. Постановка задачи и её анализ 10 2.2. Алгоритм метода половинного деления 12 2.3. Текст программы 14 2.4. Результат машинного счета 15 2.5. Результат ручного счета 16 2.6. Расчет погрешности вычислений 16 2.7. Вывод 17 3. Задание №3 18 3.1. Постановка задачи 18 3.2. Алгоритм решения задачи 20 3.3. Текст программы 21 3.4. Результат машинного счета 22 3.5. Результат ручного счета 23 3.6. Вывод 24 3 4. Задание №4 25 4.1. Постановка задачи 25 4.2. Алгоритм решения задачи 28 4.3. Текст программы в среде программирования PascalABC 29 4.4. Результат машинного счета 30 4.5. Результат ручного счета 32 4.6. Вывод 33 5. Задание №5 34 5.1. Постановка задачи 34 5.2. Алгоритм решения задачи 37 5.3. Текст программы в среде программирования PascalABC 38 5.4. Результат машинного счета 39 5.5. Вывод 40 Заключение 41 Список литературы 42 Отзыв руководителя на курсовой проект (работу) 44 4 1 Задание №1 1.1 Постановка задачи Постановка задачи по варианту №3. Разработать алгоритм в виде блок-схемы для определения массы M, кг одноступенчатого вала со сквозным отверстием вдоль оси вращения, если известны длина вала L, мм, его диаметр D, мм, диаметр сквозного отверстия D1, мм и плотностьρ, кг/м 3 материала, из которого изготовлен вал. Рисунок 1 – Эскиз детали Вычислить массу, кг можно по формуле: 𝑑 2 𝑑1 2 2 2 M = M1 - M2 = (3,14 ∗ 𝐿 ∗ 𝐺 ∗ ( ) /109 ) − (3,14 ∗ 𝐿 ∗ 𝐺 ∗ ( ) /109 ) − где M1 – масса вала, кг; M2 – масса отверстия вала, кг; G – плотность материала заготовки двухступенчатого вала, кг/м3, L – длина вала, мм, d – диаметр вала, мм, d1 – диаметр отверстия вала, мм. 5 1.2 Алгоритм решения задачи 1 Начало алгоритма 2 Ввод диаметров D1 и D2 , мм 3 Ввод длины L1 и L2 , мм 4 Ввод плотности G , кг/м3 5 2 9 M1=3.14*L*G*(D/2) /10 , кг 6 M2=3.14*L*G*(D1/2)2/109, кг 7 M=M1 - M2 , кг 8 Вывод массы M , кг Конец алгоритма 9 Рисунок 2 – Блок-схема алгоритма по заданию №1 6 1.3 Расшифровка предписаний алгоритма Имеем следующую расшифровку предписаний по рисунку 2. 1. Начало алгоритма; 2. Ввод диаметров шеек вала, мм; 3. Ввод длин шеек вала, мм; 4. Ввод плотности материала вала, кг/м3; 5. Вычисляется масса первой шейки вала, кг; 6. Вычисляется масса второй шейки вала, кг; 7. Вычисляется общая масса вала, кг; 8. Выводится рассчитанная общая масса вала, кг; 9. Конец алгоритма. Рисунок 3 - Скрин-шот программы по заданию №1 7 Рисунок 4 – Скрин-шот апробации программы по заданию №1 1.4 Результат апробации алгоритма Решим задачу по определению массы вала при следующих исходных данных: D1 = 20 мм; D2 = 10 мм; L = 100 мм; ρ (G) = 8500 кг/м3 – для стальных заготовок. Решение: M1 = 3,14 * L ·* G * (D / 2)2 / 109 = 3,14 * 100 * 8500 · (20 / 2)2 / 109 = 0,266 кг; M2 = 3,14 * L * G * (D1 / 2)2 / 109 = 3,14 * 100 * 8500 · (10 / 2)2 / 109 = 0,066 кг; M = M1 - M2; M = 0,266 - 0,066 =0,200 кг (200 г). 8 1.5 Вывод В ходе выполнения задания мной были получены практические навыки по алгоритмизации задачи из области машиностроения – по аналитической оценке массы двухступенчатого вала. Задача решена через разработку алгоритма линейной структуры п. 1.2. Также выполнена апробация работы алгоритма под заданные исходные данные п. 1.4. 9 2 Задание №2 2.1 Постановка задачи и её анализ Постановка задачи по варианту №3. Опираясь на реализацию метода деления отрезка пополам, определить такое значение подачи S, мм/об (S>0) при сверлении отверстия в заготовке, при которой обеспечится заданная шероховатость поверхности отверстия Ra = 3,2 мкм, учитывая, что обработка осуществляется сверлом диаметра 15 мм со скоростью резания 15 м/мин: Ra = 9,13· S0,41. С учётом заданной шероховатости, диаметра сверла и скорости резания уравнение будет иметь вид: F = 9,13 · S0,41 - 3,2. Теперь нужно найти такое S, при котором функция будет обращаться в нуль. Построим график функции с помощью ресурса – https://www.yotx.ru/ Рисунок 5 – Скрин-шот №1 графика функции 10 Рисунок 6 – Скрин-шот №2 графика функции Из графиков на рисунках 3 и 4 (особенно рисунка 4, с учетом масштабирования) видно, что искомое решение (точка пересечения) находится в границах отрезка S от 0,07 до 0,08 мм/об и примерно соответствует 0,078 мм/об. Найдем точное решение, опираясь на метод данных отрезка пополам. Для реализации этого метода определимся с исходными данными: 1) Отрезок, содержащий решение [a; b]: S1(a) = 0,07 мм/об; S2(b) = 0,08 мм/об, т.е. [0,07; 0.08] мм/об; 2) Степень точности Е = 0,001, т.е. точность результата до «третьего знака» после запятой. 11 2.2. Алгоритм метода половинного деления 1 Начало алгоритма 2 Ввод степени точности E 3 Ввод левого конца отрезка S1 мм/об 1 2 Рисунок 7 – Блок-схема алгоритма по заданию №2 12 1 2 4 Ввод правого конца отрезка S2мм/об 5 Y1=9,13*S10,41-3,2 6 Y2=9,13*S20,41-3,2 7 НЕТ (Y1*Y2)<0 8 Нет решения, измените границы. ДА 9 S=(S1+S2)/2 10 Y=9,13*S0,41-3,2 11 (Y1*Y)<0 |Y|≤E НЕТ 15 12 ДА 14 S1=S 13 S2=S SK=S 16 YK=9,13*SK0,41-3,2 17 SK 18 YK 19 Конец алгоритма 13 2.3 Текст программы Рисунок 8 – Скрин-шот программы по заданию №2 14 2.4 Результат машинного счета Рисунок 9 – Скрин-шот апробации программы по заданию №2 15 2.5 Результат ручного счета 1. Найдем точное решение. 2. Смотрим постановку задачи: Нужно определить значение подачи S, мм/об (S > 0) при сверлении, при котором обеспечится заданная шероховатость поверхности Ra = 3,2 мкм, учитывая, что обработка осуществляется сверлом диаметра 15 мм со скоростью резания 15 м/мин: Ra = 9,13 · S0,41; 3,2 = 9,13 · S0.41; S0.41 = 3,2 / 9,13; S = (3,2 / 9,13)100/41; S ≈ 0,07753 мм/об. 2.6 Расчет погрешности вычислений ∆% = ( р.р.−р.м. р.р . ) · 100 %, где р.р. - расчет ручной: р.р. = 0,07753 мм/об; р.м. - расчет машинный (на ЭВМ): р.м. = 0,07754 мм/об. ∆% = ( 0,07753−0,07754 0,07753 ) · 100 % ≈ 0.0129%. 16 2.7 Вывод Так как относительная погрешность вычислений меньше допустимой максимальной погрешности и стремится к нулю, следовательно, программа работает верно. Выполнив эту работу, я получил навык программирования численного метода нахождения корней нелинейных уравнений – метода деления отрезка пополам. Средствами этого метода было найдено такое оптимальное значение подачи (0,07754 мм/об), при сверлении отверстия в заготовке, при которой будет обеспечиваться заданная шероховатость поверхности отверстия – Ra = 3,2 мкм. Окончательно принимаем значение подачи под возможность реализации режима обработки на станке – 0, 07 мм/об. При этом ожидаемое значение Ra будет немного меньше нормативного 3,2 мкм, что является допустимым. 17 3 Задание №3 3.1. Постановка задачи и её анализ Постановка задачи по варианту №7. Вычисление приближенного значения целевой функции, разновидности аппроксимации технологических параметров. опираясь на Таблица 1 − Исходные данные к курсовой работе по разделу «Аппроксимация технологических параметров в задачах машиностроения» № варианта Исходная целевая функция Аппроксимационная функция Вид аппроксимационной функции 7 𝒄𝒉 0.5*(ex+e-x) П.Р. * * − соотношения между функциями Построим график исходной целевой функции с помощью ресурса – https://www.yotx.ru/ Рисунок 10 – Скрин-шот исходной функции по заданию №3 18 Построим график аппроксимационной целевой функции с помощью ресурса – https://www.mathway.com/ru/graph Рисунок 11 – Скрин-шот аппроксимационной функции по заданию №3 Из анализа графиков видно, что замена исходной целевой функции аппроксимационной является адекватным решением. Заложим аппроксимационную целевую функцию в алгоритм для последующего программирования. 19 3.2 Алгоритм решения задачи 1 Начало алгоритма 2 Ввод x 3 𝑥 = (𝑥 ∗ 𝜋)/180 4 𝑭𝒊 = 𝟗𝟎° − 𝒂𝒓𝒄𝒕𝒈( 𝒙 𝟏 − 𝒙𝟐 ) 5 Вывод Fi 6 Конец алгоритма Рисунок 12 – Блок-схема алгоритма по заданию №3 Расшифровка предписаний алгоритма: 1. Начало алгоритма; 2. Ввод значения входного параметрах в градусах; 3. Расчет значения входного параметрах в радианах; 4. Расчет значения аппроксимационной зависимости в радианах; 5. Вывод значения аппроксимационной зависимости в радианах; 6. Конец алгоритма. 20 3.3 Текст программы Рисунок 13 – Скрин-шот программы по заданию №3 21 3.4 Результат машинного счета Рисунок 14 – Скрин-шот апробации программы по заданию №3 22 3.5 Результат ручного счета Оценим результат вычисления по исходной целевой функции - 𝒄𝒉𝒙, при x = 4 град. с помощью встроенного калькулятора Рисунок 15 – Скрин-шот вычисления исходной функции по заданию №3 Оценим результат вычисления по аппроксимационной зависимости – 𝑭𝒊 = 𝟎. 𝟓 ∗ (𝒆𝒙 + 𝒆−𝒙 ) при x = 4 град. с помощью интернет-калькулятора Рисунок 16 – Скрин-шот вычисления аппроксимационной функции по заданию №3 Наблюдаем идентичность полученных результатов и справедливость использования соотношения 𝟎. 𝟓 ∗ (𝒆𝒙 + 𝒆−𝒙 ), заменяющего 𝒄𝒉𝒙, при погрешности, стремящейся к нулю. 23 3.6 Вывод В ряде случаев при решении задач необходимость вычисления значения машиностроения различных возникает тригонометрических, показательных, логарифмических функция. В том случае, если значения этих функция нужно вычислить на ЭВМ, используют аппроксимацию таких функций ортогональными многочленами, степенными, показательными рядами и соотношение между функциями. Была решена задача аппроксимации функции 𝒄𝒉𝒙 аппроксимационной зависимостью 𝟎. 𝟓 ∗ (𝒆𝒙 + 𝒆−𝒙 ). Доказана правомерность такой аппроксимации, опираясь на результаты проведенного исследования через графический анализ и данных результата программирования на языке PascalABC. 24 4 Задание №4 4.1 Постановка задачи Постановка задачи по варианту №5 Вычисление площади заготовки, ограниченную графиком подынтегральной целевой функции. Таблица 2 − Исходные данные к курсовой работе по разделу «Применение методов численного интегрирования для нахождения выходных параметров технологических систем» № варианта 5 Подынтегральная функция √𝟐𝒙 + 𝒙𝟐 − 𝟏 Метод интегрирования Метод левых прямоугольников Построим график исходной целевой функции с помощью ресурса https://www.mathway.com/ru/graph. Рисунок 17 – Скрин-шот графика функции по заданию №4 25 Далее обозначим границы интеграла [a, b] для нахождения площади фигуры и найдем площадь фигуры по формуле Ньютона - Лейбница: 𝑏 ∫ 𝑓(𝑥)𝑑𝑥 = 𝐹(𝑥)| 𝑎 𝑏 = 𝐹(𝑏) − 𝐹(𝑎), 𝑎 где a =1; b =6. Найдем значение интеграла с помощью онлайн ресурса https://www.integral-calculator.ru 6 ∫ (√2𝑥 + 𝑥 2 − 1)𝑑𝑥. 1 26 Рисунок 18 – Скрин-шот вычисления интеграла (площади) по заданию №4 Составим программу для определения площади фигуры, контур которой на отрезке х 𝜖 [1; 6] ограничен кривой 𝑦 = 2𝑥 + 𝑥 2 − 1. 27 4.2 Алгоритм решения задачи 1 Начало алгоритма Ввод начального и конечного значения границы отрезка формирования фигуры 2 Ввод a,b 3 Ввод n h=(b-a)/(n-1) Ввод числа точек разбивки отрезка 4 5 𝑌=0 x=a x≤b-h 6 7 8 10 𝑆пл = ℎ ∗ 𝑌= 𝑌 𝑌+ 2𝑥 + 𝑥2 − 1 9 11 Sплощадь x=x+h 12 Конец алгоритма Рисунок 19 – Блок-схема алгоритма по заданию №4 28 4.3. Текст программы в среде программирования PascalABC Рисунок 20 – Скрин-шот текста программы по заданию №4 29 4.4 Результат машинного счета Рисунок 21 – Скрин-шот апробации программы по заданию №4 Из рисунка 21 мы видим, что приближенное значение площади фигуры по методу «левых прямоугольников» – Sприбл. = 16,855 ед. длины2 (с возможными вариантами единиц измерения - мм2, м2). Число точек n разбивки отрезка принято 4700 шт. Так как при этом обеспечивается минимальная погрешность и результат получается с точностью до третьего знака после запятой. Путем многих попыток найти значение с минимальной погрешностью, я провёл эксперимент, опираясь на который построил график зависимости площади фигуры S, ед. длины2 (мм2, м2) от числа точек разбивки отрезка [a; b] n, где по горизонтали – n ×102 (рисунок 20). 30 10,84 10,82 10,8 10,78 10,76 10,74 10,72 10,7 10,68 10,66 10,64 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 Рисунок 22 – График изменения площади от числа точек разбивки отрезка по заданию №4 31 4.5 Результат ручного счета 6 ∫ (√2𝑥 + 𝑥 2 − 1)𝑑𝑥 1 Рисунок 23 – Результат вычисления площади по формуле Ньютона-Лейбница Из рисунка 23 выше мы видим, что точное значение площади фигуры по методу Ньютона-Лейбница через первообразную целевой функции - Sточн. = 16,858 ед. длины2. 32 4.6 Вывод По результату сопоставления результатов оценки площади Sприбл. = 16,855 ед. длины2 и Sточн. = 16,858 ед. длины2 можно сделать вывод о правильности решения задачи. Абсолютная погрешность равна δабс. = 0,003 ед. длины2, а в относительных величинах δотнос. = 0.0178 %. Погрешности стремятся к нулю. Численное интегрирование применяют при решении задач машиностроения, связанных с определением площади поверхности заготовок или элементов контракции машин сложной формы. В этих случаях используют методы численного интегрирования, основанные на аппроксимации подынтегральной функции. Простейшим методом численного интегрирования является метод «левых прямоугольников», которым я и воспользовался при решении данной задачи, осуществив его алгоритмизацию и программирование на языке PascalABC. 33 5 Задание №5 5.1 Постановка задачи Постановка задачи по варианту №7. Вычисление наибольшего max и наименьшего min значения целевой функции. Таблица 3 - Исходные данные к курсовой работе по разделу «Методы оптимизации в задачах машиностроения» № варианта 7 Анализируемая функция 𝒚= 𝒆𝒙 𝟏 + 𝒙𝟑 Метод поиска Метод перебора Построим график исходной целевой функции с помощью ресурса https://www.yotx.ru/ Рисунок 24 – График функции по заданию №5 34 Из графика видно, что целевая функция на промежутке (-∞; -1) является плавно убывающей и не содержит характерные точки экстремумов. На промежутке (-1; +∞) целевая функция содержит точки экстремумов. Опираясь на метод перебора, определим точки экстремумов целевой функции на заданном отрезке [a, b], где для примера принимаем значение, а = 0.167, а b = 0.8. Найдем значение целевой функции на заданном отрезке с помощью онлайн ресурса - https://www.yotx.ru/ 35 Рисунок 25 – Скрин-шоты поиска точек экстремума по заданию №5 Из графика видно, что максимум функции приблизительно равно 1,5 при х = 0,7, а минимум функции примерно равно 0,7 при х = 3. Составим программу для нахождения точек экстремумов значения целевой функции, границы которой на отрезке х 𝜖 [0.7; 3] ограничены кривой 𝒚 = 𝒆𝒙 𝟏+𝒙𝟑 . 36 5.2 Алгоритм решения задачи 1 Начало алгоритма 2 Ввод a, b, n 3 h=(b-a)(n-1) 4 Ymax=-1000, Ymin=1000, x=a 5 НЕТ x≤b ДА 𝒆𝒙 𝒚= 𝟏 + 𝒙𝟑 7 Вывод x, y ДА 6 8 y<ymin НЕТ 11 ymin=Y 9 НЕТ ДА y>ymax 10 xmin=x 12 x=x+h ymax=Y Вывод xmax=x Xmin, xmax, 13 Ymin, ymax 14 Конец алгоритма Рисунок 26 – Блок-схема алгоритма по заданию №5 37 5.3 Текст программы в среде программирования PascalABC Рисунок 27 – Скрин-шот текста программы по заданию №5 38 5.4 Результат машинного счета Рисунок 28 – Скрин-шоты апробации программы по заданию №5 39 Число точек разбивки отрезка n выбрано 100. Так как при дальнейшем увеличивании n значения X, Ymin, Ymax не меняются или меняются на минимальное значение. Из рисунков, которые представлены выше, видно, что результат оценки 𝒆𝒙 минимального и максимального значений функции 𝒚 = 𝟏+𝒙 𝟑 полностью согласуется с результатом оценки минимального и максимального значений через решение задачи графически с погрешностью, стремящейся к нулю. 40 5.5 Вывод По результату сопоставлению результатов оценки максимальных и 𝒆𝒙 минимальных значениях на отрезке [0.7; 3] целевой функции 𝒚 = 𝟏+𝒙 𝟑 , можно сделать вывод о правильности решения задачи. Интервал неопределенности применяют при решении задач машиностроения, связанных с нахождением максимальных и минимальных значениях. В этих случаях используют метод поиска, в данном случае мы использовали метод перебора. Этот метод позволяет уменьшить интервал неопределенности путем деления его на некоторое число равных частей с последующим вычислением значений целевой функции в точках разбиения. 41 Заключение При выполнении курсовой работы мною был получен практический опыт по алгоритмизации и программированию функциональных и вычислительных задач актуальных для области машиностроения, опираясь на реализацию разновидностей численных методов. Решены задачи по оценке массы заготовки, поиска решения подзаданные требования к качеству обработки, аппроксимации целевой функции, оценке площади заготовки в поперечном сечении и нахождения наибольшего и наименьшего значения целевой функции методом перебора, который используется в решении задач одномерной и многомерной оптимизации. Доказана правильность полученных решений через алгоритмизацию и программирование. Работа выполнена в полном соответствии с индивидуальным заданием на проектирование. 42 Список литературы 1. Кравченко, Д.В. Технологическая информатика: учебно-методическое пособие / Д.В. Кравченко, О.Г. Крупенников. – Ульяновск: УлГТУ, 2020. – 278 с. – Режим доступа: http://lib.ulstu.ru/venec/disk/2020/54.pdf 2. Костюк, А.В. Информационные технологии. Базовый курс [Электронный ресурс] : учебник / А.В. Костюк, С.А. Бобонец, А.В. Флегонтов, А.К. Черных. — Электрон. дан. — Санкт-Петербург : Лань, 2018. — 604 с. — Режим доступа: https://e.lanbook.com/book/104884. — Загл. с экрана. 3. Кудинов, Ю.И. Основы современной информатики [Электронный ресурс] : учебное пособие / Ю.И. Кудинов, Ф.Ф. Пащенко. — Электрон. дан. — Санкт-Петербург : Лань, 2018. — 256 с. — Режим доступа: https://e.lanbook.com/book/107061. — Загл. с экрана. 4. Турчак Л.И. Основы численных методов: Учеб. пособие. – М.: Наука. Гл. ред. физ.-мат. лит., 1987. – 320 с. – Режим доступа: http://www.rk5.msk.ru/Knigi/ChMet/Turchak.pdf 5. Крупенников, О.Г. Курс лекций по основам алгоритмизации и программирования задач машиностроения: уч. пособие / О.Г. Крупенников, Д.В. Кравченко. – Ульяновск: УлГТУ, 2006. – 144 с. – Режим доступа: http://lib.ulstu.ru/venec/v9/Krupennikov.pdf 43 Ульяновский государственный технический университет Кафедра «Инновационные технологии в машиностроении» Отзыв руководителя на курсовой проект (работу) по дисциплине Технологическая информатика студ. гр. МСбд-11 Цыганов Сергей Александрович (Ф.И.О.) На отзыв представлено __5__ листов чертежей (алгоритмов в виде блоксхем), 5 программы и пояснительная записка на __43___ листах (страницах). № Критерий оценки п/п 1 Актуальность темы Оценка 2 Соответствие заданию 3 Полнота раскрытия темы 4 Соответствие нормативной документации 5 Уровень использования ЭВМ 6 7 Умение пользоваться научно-технической литературой Грамотность Итоговая оценка Подпись руководителя (Кравченко Д.В.) (Ф.И.О.) 44