Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 19.04.2020
Сообщений: 56

Составить программу расчета зависимости глубины погружения деревянного цилиндра

05.07.2020, 20:34. Показов 1137. Ответов 5

Студворк — интернет-сервис помощи студентам
Составить программу расчёта зависимости глубины погружения h деревянного цилиндра длиной 1,5 м, плавающего в воде, от его радиуса R. Ось цилиндра параллельна поверхности воды. Рассчитать зависимость h(R), полагая плотность дерева равной 0,8 кг/м3. Выбрать шаг по радиусу ΔR достаточно малым, так, чтобы он не оказывал влияния на получающуюся у вас зависимость h(R). Для вычисления величины h при заданном R использовать метод деления отрезка пополам.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.07.2020, 20:34
Ответы с готовыми решениями:

Составить программу расчета зависимости глубины погружения деревянного цилиндра
а) Составить программу расчёта зависимости глубины погружения h деревянного цилиндра длиной 1,5 м, плавающего в воде, от его радиуса R. Ось...

Опрееделение глубины погружения тела
Тела брошено в воду без ускорения с высоты H. Его плотность в n раз больше плотности воды. Определить на какую максимальную глубиину...

Составить программу высота цилиндра
Составить программу вместе с комментариями: Сосуд имеет форму полушара радиуса R см, дополненного цилиндром. Какой высоты должна быть...

5
0 / 0 / 0
Регистрация: 19.04.2020
Сообщений: 56
07.07.2020, 22:13  [ТС]
написал почти полный код, но не понимаю, как мне сделать так, чтобы функция зависела от r, которое я должен вводить сам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
program asdasdasd;
 
const pT = 800;
      pW = 1000;
      l = 1.5;
      eps = 0.0001;
function f(r:real):real;
 begin
   writeln('Введите r');
   readln(r);
   f:=l+sqrt((l*l)-((pT*pT)*(pi*pi)*(r*r*r*r))/4*pW*pW);
 end;
 
var h, a, b, c, r:real;
 
begin
  a := 0;
  b := 2;
  if f(a)*f(b)<0 then 
   begin
     repeat
      c := (a+b)/2;
      if f(a)*f(c)<0 then b:=c else a:=c;
     until b-a<eps;
    h:=(a+b)/2;
   end;
  writeln ('h = ', h);
  readln;
end.
0
0 / 0 / 0
Регистрация: 19.04.2020
Сообщений: 56
08.07.2020, 17:30  [ТС]
То есть, по факту, нужно найти корень уравнения https://www.cyberforum.ru/cgi-bin/latex.cgi?h(r) = h + \sqrt{\frac{{h}^{2}-{{\rho }_{t}}^{2}{\pi }^{2}{r}^{4}}{4{{\rho }_{w}}^{2}}}, где радиус мы задаем сами
В коде выше l - это h, которая дана в условии, остальное контсанты.
0
0 / 0 / 0
Регистрация: 19.04.2020
Сообщений: 56
10.07.2020, 10:34  [ТС]
Дошли сведения, что уравнение я нашел неправильно
вот это уравнение правильное: https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{\rho }_{t}\pi {r}^{2}}{2{\rho }_{w}} - \sqrt{2hr-{h}^{2}} = 0
и по нему нужно искать корень r
0
0 / 0 / 0
Регистрация: 19.04.2020
Сообщений: 56
12.07.2020, 17:44  [ТС]
Полное условие
Задание 2.12

а). Составить программу расчёта зависимости глубины погружения h деревянного цилиндра длиной 1,5 м, плавающего в воде, от его радиуса R. Ось цилиндра параллельна поверхности воды. Рассчитать зависимость h(R), полагая плотность дерева равной 0,8∙103 кг/м3 (см. Приложение 1). Выбрать шаг по радиусу ΔR достаточно малым, так, чтобы он не оказывал влияния на получающуюся у вас зависимость h(R). Для вычисления величины h при заданном R использовать метод деления отрезка пополам (см. Приложение 2).

б). Построить график полученной зависимости.

в). Представить результаты в виде презентации в PowerPoint.

Приложение 1.
Площадь сегмента круга высотой h:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
S_s=2\sqrt{2hR-h^2}\qquad \qquad \qquad (1)<br />

Приложение 2.
Всякое уравнение с одним неизвестным можно записать в виде

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
f(x)=0\qquad \qquad \qquad (2)<br />

Процесс нахождения приближенных значений корней уравнения разбивается на 2 этапа:
  1. отделение корней;
  2. уточнение корней до заданной степени точности.

Корень ξ уравнения (2) считается отделённым на отрезке [a,b], если на этом отрезке уравнение не имеет других корней. Отделение корней можно произвести, например, графическим способом. Для этого строят график функции y=f(x) для уравнения (2) или представляют уравнение в виде φ(x)=g(x) и строят графики функций y=φ(x) и y=g(x). Значения действительных корней уравнения являются абсциссами точек пересечения графика функции y=f(x) с осью Ox или абсциссами точек пересечения графиков функций y=φ(x) и y=g(x). Отрезки, в которых заключено только по одному корню, легко находятся.

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

Метод деления отрезка пополам (метод бисекций).
Пусть корень ξ уравнения f(x)=0 отделён и находится на отрезке [a,b] . Итерационный метод бисекций состоит в построении последовательности вложенных отрезков
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\left{ \left[ a_n,b_n\right]\subset \left[ a_{n-1},b_{n-1}\right]\subset \ ...\ \subset \left[ a,b\right]\right},<br />
на концах которых функция принимает значения разных знаков. Каждый последующий отрезок получают делением пополам предыдущего.
Опишем один шаг итераций. Пусть на (n-1)-ом шаге найден отрезок
https://www.cyberforum.ru/cgi-bin/latex.cgi?\left[ a_{n-1},b_{n-1}\right]\subset \left[ a,b\right],
такой что f(an-1)f(bn-1)<0 . Делим его пополам точкой ξ=(an+1+bn+1)/2 и вычисляем f(ξ). Если f(ξ)=0, то ξ – корень уравнения. Если f(ξ)≠0, то из двух половин отрезка выбираем ту, на концах которой функция имеет противоположные знаки. Таким образом,

an=an-1, bn=ξ, если f(ξ)f(an-1)<0,
an=ξ, bn=bn-1, если f(ξ)f(an-1)>0.

Если требуется найти корень с точностью ε, то деление пополам продолжается до тех пор, пока на каком-то n-ом этапе середина ξ отрезка будет точным корнем уравнения, т.е. f(ξ)=0 (случай, весьма редко встречающиеся на практике), либо будет получен отрезок [an,bn], длина которого меньше 2ξ. Тогда координата середины этого отрезка и есть значение корня с требуемой точностью.
0
0 / 0 / 0
Регистрация: 19.04.2020
Сообщений: 56
14.07.2020, 22:34  [ТС]
тема не актуальна.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2020, 22:34
Помогаю со студенческими работами здесь

Составить программу вычисления объёма цилиндра и конуса
Составить программу вычисления объёма цилиндра и конуса, которые имеют одинаковую высоту Н и одинаковый радиус основания R

Составить программу вычисления объема цилиндра и конуса
I. Вычисления в математических задачах 28. Составить программу вычисления объема цилиндра и конуса, которые имеют одинаковую высоту Н и...

Составить проект для расчета значений функции ψ в зависимости от изменения параметров i и j , Aij
Очень сильно нужна помощь! Составить проект для расчета значений функции ψ в зависимости от изменения параметров i и j , Aij ....

Разработать программу расчета зависимости частотных характеристик модуля комплексной проводимости
Разработать программу расчета зависимости частотных характеристик модуля комплексной проводимости Y параллельного LC контура в диапазон...

Составить программу вычисления объема цилиндра при радиусе R и высоте H по формуле: V = P * R * R * H.
Составить программу вычисления объема цилиндра при радиусе R и высоте H по формуле: V = P * R * R * H. примите за правило: одна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru