Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];

Вниз

Ещё одна простенькая задачка для всех.   Найти похожие ветки 

 
PaRL   (2002-04-23 18:28) [0]

Путник треть пути бежал со скоростью 7 км/ч. Треть времени после этого он шёл со скоростью 4 км/ч. Всё оставшееся время он шёл со средней скоростью. Найти среднюю скорость.


 
handra   (2002-04-23 18:34) [1]

5,(09) км/ч


 
Johnmen   (2002-04-23 18:48) [2]

5.5 км/ч.


 
ДимаНко   (2002-04-23 20:06) [3]

почему так ?


 
Dimaiv   (2002-04-23 20:10) [4]

а так.


 
Doom   (2002-04-23 20:55) [5]


> Dimaiv © (23.04.02 20:10)

А вот и не так



> Johnmen © (23.04.02 18:48)

Однозначно неправильно


 
MBo   (2002-04-23 20:56) [6]

2*sqrt(7)~~5.29 км/ч


 
Doom   (2002-04-23 21:03) [7]


> MBo © (23.04.02 20:56)

Страная у тебя формула для средней скорости


 
Лёша   (2002-04-23 22:07) [8]

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


 
VICTOR_   (2002-04-23 22:49) [9]

Обозначим все расстояние через x
Обозначим все время через y
Тогда средняя скорость равна x/y

2/3*x = 4*(1/3)*(y-(1/3)*x/7) + (x/y)*(2/3)*(y-(1/3)*x/7)

Далее сводится к
x^2 + 2*x*y - 42*y^2 = 0
Осюда надо найти
X/Y

Далее задача из курса высшей(школьной???) математики.


 
VICTOR_   (2002-04-23 23:11) [10]

Ответ
~5.56 км/ч


 
MBo   (2002-04-24 07:34) [11]

>Doom
>Страная у тебя формула для средней скорости

расшифрую: s-весь путь t- все время z - время последнего участка

s=s/3+4t/3+zs/t
t=s/21+t/3+z

2s=4t+3zs/t
2t=s/7+3z

3z=2t-s/7 в первое =>
2s=4t+2s-s^2/(7t)
4t=s^2/(7t)
(s/t)^2=28
Vср=s/t=2sqrt(7)


 
Alx2   (2002-04-24 08:33) [12]

Mbo прав :)

Вот решение:
s = 2*sqrt(7)*t, t3 = -2/21*t*(-7+sqrt(7)), s1 = 2/3*sqrt(7)*t, t1 = 2/21*sqrt(7)*t, s3 = 4/3*t*(sqrt(7)-1), us = 2*sqrt(7), t2 = 1/3*t, s2 = 4/3*t

Где s - общий путь. t - затраченное время, us - средняя скорость,
s1 - длина первого участка пути, s2 - 2-го, s3 - 3-го.
t1 - время прохождения 1-го участка, t2 - 2-го, t3 - 3-го.

Или, после подсчета:
{s2 = 0.2519763153*s, us = 5.291502622, t3 = 0.7836911005e-1*s, t = 0.1889822365*s, t1 = 0.4761904762e-1*s, t2 = 0.6299407883e-1*s, s1 = 0.3333333333*s, s3 = 0.4146903513*s}


 
MBo   (2002-04-24 08:41) [13]

Самая простая задачка из этой серии -
мужик шел в гору со скоростью 4 км/ч, с горы 6 км/ч
найти среднюю скорость
Очень многих вводит в ступор ;)


 
Alx2   (2002-04-24 08:52) [14]

>MBo © (24.04.02 08:41)
t = 5/24*s, us = 24/5=4.8, t2 = 1/12*s, t1 = 1/8*s
t - время похода,
t1 - вермя в гору
t2 - с горы
s - путь по склону вверх + путь по склону вниз


 
MBo   (2002-04-24 09:03) [15]

>Alx2
да я не сомневался, что ты-то смикитишь - просто занятный пример привел ;)
программных задачек кидать или работу парализует? ;)


 
Alx2   (2002-04-24 09:32) [16]

Кидай.
Разве что перекуры парализует :)


 
MBo   (2002-04-24 09:39) [17]

простенький аналог заставки Геометрический вальс (mistify)(на форме или на paintbox c align=alclient во избежание проблем с invalidate)


 
VICTOR_   (2002-04-24 10:41) [18]

>MBo
>Alx2
Решение аналогичное, только в моей формуле:
Треть времени после этого
я считал от оставшегося, а не от всего времени.
В условии задачи тогда надо писать
Треть общего времени после этого
Тогда ответ
sqrt(43)-1
~5.56


 
Alx2   (2002-04-24 10:57) [19]

>MBo © (24.04.02 09:39)

Опять-таки "на вскидку".

Timer1.Interval = 20;
Form2.WindowState = wsMaximized;

Местами кратковременные помаргивания: регионы для обновления сичтать не стал.



unit Unit2;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, AppEvnts;

type
TForm2 = class(TForm)
ApplicationEvents1: TApplicationEvents; // Добавить с вкладки "Additional"
Timer1: TTimer;
procedure FormPaint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure GetLine(k: double; var x1, y1, x2, y2: Integer);
{ Private declarations }
public
{ Public declarations }
NeedRepainting : Boolean;
procedure OnEraseBK(Var Msg : TMessage); message wm_erasebkgnd;
end;

var
Form2: TForm2;

implementation

{$R *.DFM}
Const Counter : integer = 0;
Procedure TForm2.GetLine(k : double; Var x1,y1,x2,y2 : Integer);
Var A1,A2 : Double;
begin
A1 := Width / 2;
A2 := Height /2 ;
x1 := Round(A1*Sin(k/100+5*abs(sin(k/252)))+A1);
y1 := Round(A2*Cos(k/170)+A2);
x2 := Round(A1*Sin(k/120)+A1);
y2 := Round(A2*Cos(k/120+5*abs(cos(k/242)))+A2)
end;
procedure TForm2.FormPaint(Sender: TObject);
procedure Plot(k : Double; Col : TColor);
Var
x1,y1,x2,y2 : integer;
begin
GetLine(k,x1,y1,x2,y2);
With Canvas do
Begin
Pen.Color := Col;
MoveTo(x1,y1);
LineTo(x2,y2);
End;
end;
Var k : integer;
begin
Plot(Counter-1,Color);
for k := Counter to Counter + 100 do
Plot(k,(round(127*sin(k/10)+128) shl 8)+(round(127*sin(k/90)+128) shl 16)+(round(127*cos(k/120)+128)));
NeedRepainting := False;
end;


procedure TForm2.Timer1Timer(Sender: TObject);
begin
Inc(Counter);
Invalidate;
end;

procedure TForm2.OnEraseBK(var Msg: TMessage);
begin
if NeedRepainting then inherited
else
Msg.Result := 0;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
NeedRepainting := True;
end;

end.



 
Alx2   (2002-04-24 11:02) [20]

Вот это ненадо :)
ApplicationEvents1: TApplicationEvents;
Просто сначала на OnIdle хотел посадить...


 
Alx2   (2002-04-24 11:07) [21]

В первом варианте сильно тормознул :(
Вот исправленный вариант:

Timer1.Interval = 20;
Form2.WindowState = wsMaximized;



unit Unit2;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, AppEvnts;

type
TForm2 = class(TForm)
Timer1: TTimer;
procedure FormPaint(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
procedure GetLine(k: double; var x1, y1, x2, y2: Integer);
{ Private declarations }
public
{ Public declarations }
NeedRepainting : Boolean;
procedure OnEraseBK(Var Msg : TMessage); message wm_erasebkgnd;
end;

var
Form2: TForm2;

implementation

{$R *.DFM}
Const Counter : integer = 0;
Procedure TForm2.GetLine(k : double; Var x1,y1,x2,y2 : Integer);
Var A1,A2 : Double;
begin
A1 := Width / 2;
A2 := Height /2 ;
x1 := Round(A1*Sin(k/100+5*abs(sin(k/252)))+A1);
y1 := Round(A2*Cos(k/170)+A2);
x2 := Round(A1*Sin(k/120)+A1);
y2 := Round(A2*Cos(k/120+5*abs(cos(k/242)))+A2)
end;
procedure TForm2.FormPaint(Sender: TObject);
procedure Plot(k : Double; Col : TColor);
Var
x1,y1,x2,y2 : integer;
begin
GetLine(k,x1,y1,x2,y2);
With Canvas do
Begin
Pen.Color := Col;
MoveTo(x1,y1);
LineTo(x2,y2);
End;
end;
Var k : integer;
begin
Plot(Counter-1,Color);
k := Counter; // Исправления здесь!
Plot(k+100,(round(127*sin(k/10)+128) shl 8)+(round(127*sin(k/90)+128) shl 16)+(round(127*cos(k/120)+128)));
NeedRepainting := False;
end;


procedure TForm2.OnEraseBK(var Msg: TMessage);
begin
if NeedRepainting then inherited
else
Msg.Result := 0;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
NeedRepainting := True;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
Inc(Counter);
Invalidate;

end;

end.




 
Alx2   (2002-04-24 12:13) [22]

Да, забыл еще, что Form2.Color = clBlack


 
MBo   (2002-04-24 13:08) [23]

симпатично.
моя халтура

type
TForm1 = class(TForm)
Timer1: TTimer;
PaintBox1: TPaintBox;
procedure Timer1Timer(Sender: TObject);
procedure PaintBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
a,olda,aa,oldaa:array[0..3] of tpoint;
b,oldb,bb,oldbb:array[0..3] of tpoint;
va,vb:array[0..3] of tpoint;
first:boolean;


implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;

procedure checkborder(var q,vq:integer;const brd:integer);
begin
if q>=brd then begin
q:=2*brd-q; vq:=-vq; end;
if q<0 then begin
q:=-q; vq:=-vq; end;
end;

begin
with paintbox1 do begin
for i:=0 to 3 do begin
a[i].x:=a[i].x+va[i].x;
checkborder(a[i].x,va[i].x,clientwidth);
a[i].y:=a[i].y+va[i].y;
checkborder(a[i].y,va[i].y,clientheight);
aa[i].x:=aa[i].x+va[i].x;
checkborder(aa[i].x,va[i].x,clientwidth);
aa[i].y:=aa[i].y+va[i].y;
checkborder(aa[i].y,va[i].y,clientheight);
b[i].x:=b[i].x+vb[i].x;
checkborder(b[i].x,vb[i].x,clientwidth);
b[i].y:=b[i].y+vb[i].y;
checkborder(b[i].y,vb[i].y,clientheight);
bb[i].x:=bb[i].x+vb[i].x;
checkborder(bb[i].x,vb[i].x,clientwidth);
bb[i].y:=bb[i].y+vb[i].y;
checkborder(bb[i].y,vb[i].y,clientheight);
end;
canvas.pen.color:=clLime;
if not first then begin canvas.Polygon(olda); canvas.Polygon(oldaa); end;
canvas.Polygon(a); canvas.Polygon(aa);
olda:=a; oldaa:=aa;
canvas.pen.color:=clRed;
if not first then begin canvas.Polygon(oldb); canvas.Polygon(oldbb); end;
canvas.Polygon(b); canvas.Polygon(bb);
oldb:=b; oldbb:=bb;
first:=false;
end;
end;

procedure TForm1.PaintBox1Click(Sender: TObject);
var i:integer;
begin
with paintbox1 do begin
if not Timer1.Enabled then begin
randomize;
for i:=0 to 3 do begin
a[i].x:=random(clientwidth-5);
a[i].y:=random(clientheight-5);
aa[i].x:=a[i].x+5;
aa[i].y:=a[i].y+5;
va[i].x:=(1+random(5))*(2*random(2)-1);
va[i].y:=(1+random(5))*(2*random(2)-1);
b[i].x:=random(clientwidth-5);
b[i].y:=random(clientheight-5);
bb[i].x:=b[i].x+5;
bb[i].y:=b[i].y+5;
vb[i].x:=(1+random(5))*(2*random(2)-1);
vb[i].y:=(1+random(5))*(2*random(2)-1);
end;
canvas.Brush.color:=clBlack;
canvas.brush.style:=bsSolid;
canvas.fillrect(getclientrect);
canvas.brush.style:=bsClear;
canvas.Pen.Mode:=pmXor;
first:=true;
end;
Timer1.Enabled:=not Timer1.Enabled;
end;
end;


 
MBo   (2002-04-24 13:12) [24]

>VICTOR_
Согласен, что условие можно истолковать по разному.
стоило сформулировать так

после этого треть общего времени


 
Alx2   (2002-04-24 13:26) [25]

>MBo © (24.04.02 13:08)
Практически копия.
Только помаргивает :(


 
PaRL   (2002-04-25 16:10) [26]

На самом деле конечная формула такова:
Vср = sqrt(V1*V2)

PS Это при поступлении в техникум.


 
MBo   (2002-04-25 16:13) [27]

>На самом деле Vср = sqrt(V1*V2)

Дык оно и сказано ;)



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.006 c
1-6988
Мефодий
2002-05-22 22:37
2002.06.03
Центрирование ячейки таблицы при создании отчета в Word


14-7226
Agent Smith
2002-04-28 13:11
2002.06.03
ИИ


1-6956
ymin
2002-05-22 16:45
2002.06.03
Почему по команде form1.print ни один combobox не печатается?


1-7012
Yuri Btr
2002-05-23 11:47
2002.06.03
Аттрибуты шрифта текста в Checkbox и RadioButton


14-7174
Malder
2002-04-24 23:56
2002.06.03
Где найти документацию по HTML Help WorkShop ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский