Програма на Delphi

12 отговора 684 прегледа
#1

Програма на Delphi

Моля ви за помощ триабва да направя една програма на Delphi, а нямам представа как моля помогнете ето и заданието:
Да се састави програма симулираща работата в ж.п. участак А-В-С, в който се движат две влакови композиции.
От А до В линията е двойна, а от В до С - единична. Участакът А-В е 10 пъти по - дълъг от участака В-С.
От А и от С един към друг на интервали съответно т1 и т2 потеглят влакови композиции, съответно по направленията
А-В-С и обратно и С-В-А и обратно. В случай, че трябва да се осъществи разминаване в участака с една ж.п. линия (В-С),
влаковете се изчакват в ж.п. възел В. Влаковете тръгващи от А имат приоритет пред влаковете тръгващи от С. Скоростта
на движение на влаковете е съответно v1 и v2.

Отговор
в отговор на Hepaзбиpaщ #2

Re: Програма на Delphi

Задачата е забавна, т.е. и писането й ще бъде такова. Ето един пример как да се направи:

Правим една форма, в която изобразяваме A,B и C като ListBox-ове. В тях е удобно да представяме "влаковете" и часовете им на тръгване като низове, например:
[A] Влак 1 - 14:30 - т.е. Влак 1 е тръгнал от А в 14:30
Разбира се, лесно е да се зареждат и записват нови серии влакове от файлове.
Самото движение може да се контролира с таймер, например настроен за 1 секунда.
Когато един влак "тръгне", той се представя като етикет със съответния надпис ([A] Влак1 - 14:30), като придвижването му се контролира със свойствата Left и Top. Разбира се, при "тръгването" си той трябва да се изтрие от съответния ListBox, откъдето е "тръгнал".
Самата обработка в таймера е елементарна - представлява един цикъл през всички етикети, които представляват "влакове". По Caption-а на етикета може да се прецени дали влака съответно трябва да "върви", да се "паркира" в междинната или крайната гара и т.н. Неща като спазване на приоритет и прочее са елементарни.
За ентусиазирания решавач на задачи ще е лесно да добави и лог файл, в който да се отбелязват всички стъпки, изминати от влаковете, като по този начин може да се връща времето назад, да се записва на файл движението и прочее екстри.
Всъщност, самата задача е елегантно въведение в теорията на игрите, като по желание може да се сложат повече линии и маршрути, да се въведат забавни елементи като терористи слагащи бомби по линиите и т.н.

чети и дишай по-леко
Отговор
в отговор на Hepaзбиpaщ #3

Re: Програма на Delphi

Towa e tochno kuroswata mi zadacha po OOPRS s MEI 4 kurs... mnoo typo... toq Konstantinow nqma nikwo waobrajenie.

------------------------------
I got a COMPILER, and I'm not afraid to use it!
Отговор
в отговор на SDR #4

Re: Програма на Delphi

Molia te ako, ia re6i6 dai edno kopie nasam...

Отговор
в отговор на Hepaзбиpaщ #5

Re: Програма на Delphi

he ako go bqh zapazil shtqh da ti dam link ama takiwa malkowajni neshta ne pazq ... wij ako ti trqbwa rednder po Guro za Radomilka sfirjak pazq si go.

------------------------------
I got a COMPILER, and I'm not afraid to use it!
Отговор
в отговор на SDR #6

Re: Програма на Delphi

поне дай идея как си го направил?????
Please....

Отговор
в отговор на Hepaзбиpaщ #7

Re: Програма на Delphi

na Delphi s nishki (TThread ako i da e typo implementiran) i saobshteniq (PostThreadMessage/GetMessage) za wseki wlak po nishka wseki wlak izprashta saobshtenie kade e w momenta za da moje glawnata programa da prawi izobrazqwaneto a drugoto sa typi smetki... btw ako naistina obache izskash da izbegnesh problema s bezkrajnoto otlagane meshtata zagrubqwat ama towa tebe da ne te pretisnqwa

------------------------------
I got a COMPILER, and I'm not afraid to use it!
Отговор
в отговор на SDR #8

Re: Програма на Delphi

За 2 влака и 3 спирки нишки ли ще пускаш ??? Че то цикал му е много :) ти нишки. Цялата екстра си става и като всичкото смятане се сложи в една процедурка , на която и се подават входящите параметри. //Като се замисля с рекурсия тоже е вариант, но може и без за такав алгоритъм/. После само ... кръчмарски сметки :)).
А за изобразяването , мисля че ще е по-ефектно , съответно по-голяма оценка, ако рисува нещо програмата. Например 3 TImage със снимка на гара, и 2 TImaгe със снимка на влак , после влаковете почват да се разхождат по формата. Може даже и релсите да се сложат, ама да не прекаляваме. :))

Отговор
в отговор на mf2hd #9

Re: Програма на Delphi

Абе всичко е ток и жици (и релси тук-таме) само дето някой трбва да седне и да направи кръчмарските сметки на момчето ...



Mixy
Отговор
в отговор на Hepaзбиpaщ #10

Re: Програма на Delphi

zabavno ;)

na parvo chetene se vhudq prosto:
- edin "kurs" na edna vlakova kompozicia e A-B-C-B-A (saotvetno C-B-A-B-C) i kraj , ili si obikalq non-stop kato tigar v kletka ? ;)

- kakvo stava ako po-barz vlak nastigne po-baven (primerno edit ot C se vrashta veche i nastiga edit ot A, kojto se vlachi kato karuca) ?

- ako edin ot C se dvizi v C-B i ot drugata strana na B nablizava edin ot A (kojto e s predimstvo) , togava kakvo ? ;) ... tova za predimstvoto izobshto nqma da mu pomogne


Pone da vi davat po-determinirani uslovia na zadachite , huh.
inache nachini za realizacia bol. i po-prosti, i po-slojni ...

Отговор
в отговор на Long John #11

Re: Програма на Delphi

Taka i ne mojah da razbera, kak to4no da ia re6a, vupreki mnogoto otgovori...
Na men problema naistina mi e v realizaciata.......
Dano niakoi da moje da kaje ne6to po-konkretno...........
Blagodaria na vsi4ki za otgovorite

Отговор
в отговор на Hepaзбиpaщ #12

Re: Програма на Delphi

Аз така и не можах да разбера, нещо разбра ли от това което писах.
Пък и не разбрах какво не можеш - да измислиш алгоритъма или да я напишеш тая пуста задача? Ако е второто - има достатъчно хора срещу елементарна сума...

чети и дишай по-леко
Отговор
в отговор на Pechenia #13

Re: Програма на Delphi

mmdam,
maj neshto Iskaneto i opitite za pomosht se razminavat kato dva vlaka v uchastak AB .... ;)
maj trebva i da se chete , a ne samo da se pishe ....

Отговор