СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть

СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть (https://scbist.com/)
-   Разговоры обо всем (https://scbist.com/razgovory-obo-vsem/)
-   -   Олимпиадные задачи по физике (https://scbist.com/razgovory-obo-vsem/41915-olimpiadnye-zadachi-po-fizike.html)

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

Просто инженер АиТ 06.04.2015 15:11

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

Просто инженер АиТ добавил 06.04.2015 в 15:11
Если не думать, то
http://morepic.ru/images3/bgb_9383.jpg
http://morepic.ru/images3/klk_80.jpg
Симулятор показал 8.13062mA

АЛСНщик 06.04.2015 19:03

Задача вполне олимпийская, но совершенно не по физике. Физического смысла в ней ноль целых хрен десятых. Это в чистом виде задача по математике, а именно на понимание абстрактного понятия счётного бесконечного множества. Считать, что это задача по физике - всё равно, что полагать, будто механико-математический факультет МГУ готовит механиков :lol:

Просто инженер АиТ 07.04.2015 09:31

У меня есть мысль и я её сейчас нарисую.

Просто инженер АиТ добавил 07.04.2015 в 09:31
http://morepic.ru/images3/1_6420.jpg

Rafa 13.04.2015 15:06

гадал-гадал и решил все свалить на ЭВМ.

она четко показала , что при к-ве звеньев > 10 результат будет

один и тот-же (экв. сопротивление цепи).

для этого существует даже разработанный класс.

___________________________________

http://morepic.ru/images3/sus_266.jpg

#include <stdio.h>
#include <conio.h>

class Vodka

{

private:

int n;

float R;

float r;

float vobo(int n, float r1) const;

public:

Vodka() {}

~Vodka() {}

void bovo(int c, float rr);

int bofo() const {return n;}

float volo() const {return R;}
};

void Vodka :: bovo(int c, float rr)

{
n = c;

r=rr;

R = vobo(n,2*r);
}


float Vodka :: vobo(int n, float r1) const

{
if(n<=1) return r1;

else

{
r1=r+(r1*r/(r1+r));

n--;

return vobo(n,r1);
}
}




int main()

{
Vodka *Rus=new Vodka [5];

int i,n;

float r = 1;

for(i=0,n=1;i<5;i++,n+=3)

Rus[i].bovo(n,r);

for(i=0;i<5;i++)

printf("\n *** n = %d R = %f\n",Rus[i].bofo(),Rus[i].volo());

delete [] Rus;

getch();

return 0;
}

Rafa добавил 13.04.2015 в 15:04
ток в любом звене можна найти с помощью класса.

http://morepic.ru/images3/ggg_6056.jpg


#include <stdio.h>
#include <conio.h>

class Vodka

{

private:

int n;

int N;

float R;

float r;


float vobo(int n, float r1) const;

void kio (float I, float U, int k) const;

public:

Vodka() {}

~Vodka() {}

void bovo(int c, float rr, int k, float u);

int bofo() const {return n;}

float volo() const {return R;}
};

void Vodka :: bovo(int c, float rr, int k, float u)

{
n = c;

N=k;

r=rr;

R = vobo(n,2*r);

kio (u/R,u,1);
}


float Vodka :: vobo(int n, float r1) const

{
if(n<=1) return r1;

else

{
r1=r+(r1*r/(r1+r));

n--;

return vobo(n,r1);
}
}

void Vodka :: kio (float I, float U, int k) const

{
U=U-(I*r);

printf("\n *** %d : %f\n",k,U/r);

if(k != N)

{
k++;

I = I - (U/r);

kio (I,U,k);
}
}

int main()

{
Vodka *Rus=new Vodka ;

int i,n=1000,k=100;

float r = 1, U = 1;



Rus->bovo(n,r,k,U);



printf("\n *** n = %d R = %f\n",Rus->bofo(),Rus->volo());

delete Rus;

getch();

return 0;
}

Rafa добавил 13.04.2015 в 15:04
отрицательные числа впечатляют.

но все ок. эвм тоже иногда тупит.

Rafa добавил 13.04.2015 в 15:06
Цитата:

Сообщение от АЛСНщик (Сообщение 245502)
но совершенно не по физике.

не шуми. это 8 класс

Просто инженер АиТ 13.04.2015 16:03

Цитата:

int main()
{
Vodka *Rus=new Vodka [5]; // Зачем выделять массив по new?
// Если, что динамически выделяешь, всегда проверь результат выделения, иногда просишь выделить, а тебе не дают!
if ( Rus == NULL )
{
printf ( "Ошибка. Не могу выделить массив!!!" );
return -1;
}

int i,n;
float r = 1; // Значение сопротивления.
//---------------------------------------------
// Что будем считать?
for ( i=0, n=1; i<5; i++, n+=3 )
{
Rus[i].bovo ( n, r );

//for ( i=0; i<5; i++ ) Зачем делать ещё раз цикл?

printf ( "\n *** n = %d R = %f\n",
Rus[i].bofo(), // Столько мароки, чтобы возвратить n, когда она и так есть !?
Rus[i].volo() );
}

delete [] Rus; // Ну вот теперь действительно надо ещё и удалять!

getch ( ); // Ожидание, чтобы скопировать результат.

return 0; // А что может быть другой возврат?
}
Такие задачи считаются матричным способом.
А вот применение рекурсии мне понравилось.

Rafa 13.04.2015 16:10

Цитата:

Сообщение от Просто инженер АиТ (Сообщение 246302)
А вот применение рекурсии мне понравилось.

много кто не любит рекурсии

ведь она :468: стек

Rafa 07.05.2015 18:12

для куба

реальный ответ не нашел.



http://morepic.ru/images3/jdj875_2776.jpg

Rafa добавил 07.05.2015 в 18:12
http://morepic.ru/images3/frf8116_6033.jpg

Admin 07.05.2015 21:17

откуда у тебя I/6 ток?

Rafa 08.05.2015 12:39

Цитата:

откуда у тебя I/6 ток?
I/3 тока разделяется пополам.

схема вроде симетричная же

Admin 08.05.2015 12:41

Цитата:

схема вроде симетричная же
нужно доказательство, а не догадки

куб разбивается на 6 контуров, 8 узлов. сумма напряжений по контуру равно нулю. Напряжение равно IR. Сумма токов в каждом узле ноль.

далее система уравнений решается любым из методов, например методом крамера

Rafa 08.05.2015 12:52

Цитата:

сумма напряжений по контуру равно нулю.
слава богу это условие выполнимо.


http://morepic.ru/images3/frf81166033_8894.jpg

Admin 08.05.2015 12:58

в общем рутинная задача - 12 неизвестных (токи в гранях) и 6 контуров +8 узлов =14 уравнений

находишь токи, напряжение между точками А и Б равно сумме напряжений любого пути по граням. Результат уже не интересен

Rafa 08.05.2015 13:13

Цитата:

в общем рутинная задача - 12 неизвестных (токи в гранях) и 6 контуров +8 узлов =14 уравнений

находишь токи, напряжение между точками А и Б равно сумме напряжений любого пути по граням. Результат уже не интересен

уверен что результат системы уравнений даст тот-же результат

дано только сопротивление грани.

надо найти общее сопр.

Admin 08.05.2015 13:19

Цитата:

напряжение между точками А и Б равно сумме напряжений любого пути по граням
Цитата:

надо найти общее сопр.
когда найдешь напряжение между А и Б - его подели на ток, входящий в точку А (он же ток, выходящий из точки Б) (он равен сумме трех токов в исходчщий гранях) - получишь общее сопротивление

Rafa 08.05.2015 13:23

Цитата:

когда найдешь напряжение между А и Б - его подели на ток, входящий в точку А (он же ток, выходящий из точки Б) (он равен сумме трех токов в исходчщий гранях) - получишь общее сопротивление

может проще в мультисиме проверить гипотезу ? :oiE:


Часовой пояс GMT +3, время: 05:01.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot


Яндекс.Метрика