Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
1 / 1 / 0
Регистрация: 24.11.2016
Сообщений: 37

Найти скорости трёх велосипедистов

30.11.2016, 08:40. Показов 2713. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Интересно, какой будет самый короткий код Python для детской задачи ниже?

Условия. Три велосипедиста должны проехать из пункта А в пункт В и обратно. Расстояние АВ равно 120 км. Сначала стартует первый велосипедист, через час - второй, еще через час - третий. Некоторую точку С, находящуюся между пунктами А и В, все три велосипедиста проехали одновременно ( до этого ни один из них в В не побывал). Третий велосипедист, доехав до В и сразу повернув назад, встречает второго в 108 км от А, а первого - в 100 км от А. Найдите скорости велосипедистов.
________________________________________ ________
Для Вольфрама хватает записи: t/x = t/y +1=t/z+2 && 108/y=132/z+1 && 100/x=140/z+2 http://m.wolframalpha.com/inpu... 2+&x=5&y=4

Solution: t = 60, x = 15, y = 20, z = 30
______________________________________

Добавлено через 21 час 47 минут
Цитата Сообщение от diligent5 Посмотреть сообщение
какой будет самый короткий код Python для детской задачи
Уже не хочу кофе и шоколад. Дайте хоть абы какой код, как кусок хлеба — чтобы с голоду не помереть.

Добавлено через 17 часов 20 минут
Цитата Сообщение от diligent5 Посмотреть сообщение
хоть абы какой код
Прошу по этой задаче: перевести код Visual Basic на Python
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Option Explicit
Private Sub Command1_Click()
Dim x#, y#, z#, t#, k%
 For x = 10 To 25
  For y = 10 To 30
   For z = 20 To 40
    For t = 30 To 100
     If (t / x = t / y + 1) And (t / y + 1 = t / z + 2) And (108 / y = 132 / z + 1) And (100 / x = 140 / z + 2) Then
      k = k + 1
     Print k & ") x=" & x & "; y= " & y & "; z= " & z & "; t= " & t & "." & vbCr
    End If
   Next
  Next
 Next
Next
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2016, 08:40
Ответы с готовыми решениями:

Найти все скорости велосипедистов
Здравствуйте! Интересно, какой будет самый короткий код VB6 для школьной задачи ниже. Условия. Два велосипедиста должны проехать...

Найти зависимость от времени: угловой скорости, линейной скорости
Здравствуйте. Необходимо определить зависимость от времени: угловой скорости, линейной скорости и т.д. Я в правильном направлении...

Сделать гонку велосипедистов
Поздравляем, теперь Вы - администратор гонки Тур Дэ Франс. Вы настолько хороший управленец, что вам доверили всю гонку, вы управляете...

12
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
01.12.2016, 14:37
Лучший ответ Сообщение было отмечено diligent5 как решение

Решение

Python
1
2
3
4
5
6
7
for x in range(10, 26):
    for y in range(10, 31):
        for z in range(20, 41):
            for t in range(30, 100):
                if (t/x == t/y + 1) and (t/ y + 1 == t/z + 2) and \
                   (108/y == 132/z + 1) and (100/x == 140/z + 2):
                    print('x = {}\ny = {}\nz = {}\nt = {}'.format(x,y,z,t))

Python
1
2
3
4
5
6
from sympy import symbols, solve
 
x, y, z, t = symbols('x y z t')
res = solve([t/x - t/y - 1, t/y + 1 - t/z - 2, 108/y - 132/z - 1, 100/x - 140/z - 2], x, y, z, t)
 
print('x = {0[0]}\ny = {0[1]}\nz = {0[2]}\nt = {0[3]}'.format(res[0]))
1
1 / 1 / 0
Регистрация: 24.11.2016
Сообщений: 37
01.12.2016, 15:44  [ТС]
Цитата Сообщение от shsv Посмотреть сообщение
for x in range(10, 26):
shsv, спасибо!

Первый код легко сработал!
Python
1
2
3
4
5
6
7
for x in range(10, 26):
    for y in range(10, 31):
        for z in range(20, 41):
            for t in range(30, 100):
                if (t/x == t/y + 1) and (t/ y + 1 == t/z + 2) and \
                   (108/y == 132/z + 1) and (100/x == 140/z + 2):
                    print('x = {}\ny = {}\nz = {}\nt = {}'.format(x,y,z,t))
Ответ:
Python
1
2
3
4
5
6
7
*** Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)] on win32. ***
>>> 
x = 15
y = 20
z = 30
t = 60
>>>
________________________________________ _______________________
Второй код немного увяз. Надо скачать и установить Sympy. Какую версию и где лучше загрузить?
Python
1
2
3
4
5
6
from sympy import symbols, solve
 
x, y, z, t = symbols('x y z t')
res = solve([t/x - t/y - 1, t/y + 1 - t/z - 2, 108/y - 132/z - 1, 100/x - 140/z - 2], x, y, z, t)
 
print('x = {0[0]}\ny = {0[1]}\nz = {0[2]}\nt = {0[3]}'.format(res[0]))
Ответы:
Python
1
2
3
4
5
6
7
8
9
10
11
Traceback               
    <module>    C:\Users\admin\Documents\MyCyclist.py   5       
ImportError: No module named 'sympy'
 
>>> 
Traceback (most recent call last):
  File "<string>", line 250, in run_nodebug
  File "C:\Users\admin\Documents\MyCyclist.py", line 5, in <module>
    from sympy import symbols, solve
ImportError: No module named 'sympy'
>>>
________________________________________ ____________________
Правильно ли рассуждаю? Надо срочно скачать 'sympy' (подскажите версию для Windows 7 - 32 bit), затем установить пакет через 'pip'.
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
01.12.2016, 16:24
Лучший ответ Сообщение было отмечено diligent5 как решение

Решение

Бинарники:
whl
exe
Можно непосредственно pip'ом (по идее).
0
1 / 1 / 0
Регистрация: 24.11.2016
Сообщений: 37
01.12.2016, 19:50  [ТС]
Цитата Сообщение от shsv Посмотреть сообщение
whl
exe
Можно непосредственно pip'ом (по идее).
shsv, скачал оба, но запустил 'exe' (sympy-1.0.win32.exe). Установился хорошо, картинка ниже. Только проку пока нет.

Затем начал переговоры по cmd.exe
Bash
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
30
31
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
 
C:\Windows\system32>сd pip
"сd" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
 
C:\Windows\system32>pip3.6 install sympy
Requirement already satisfied (use --upgrade to upgrade): sympy in c:\users\admi
n\appdata\local\programs\python\python36-32\lib\site-packages
Collecting mpmath>=0.19 (from sympy)
  Downloading mpmath-0.19.tar.gz (498kB)
    100% |################################| 501kB 90kB/s
Installing collected packages: mpmath
  Running setup.py install for mpmath ... done
Successfully installed mpmath-0.19
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' comm
and.
 
C:\Windows\system32>python -m pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |################################| 1.3MB 85kB/s
Installing collected packages: pip
  Found existing installation: pip 8.1.2
    Uninstalling pip-8.1.2:
      Successfully uninstalled pip-8.1.2
Successfully installed pip-9.0.1
 
C:\Windows\system32>
Компьютер пишет: всё хорошо прекрасная маркиза...
________________________________________ ____________________________

Запускаю на PyScripter от Python36 файл 'MyCyclist.py', ниже
Python
1
2
3
4
5
6
from sympy import symbols, solve
 
x, y, z, t = symbols('x y z t')
res = solve([t/x - t/y - 1, t/y + 1 - t/z - 2, 108/y - 132/z - 1, 100/x - 140/z - 2], x, y, z, t)
 
print('x = {0[0]}\ny = {0[1]}\nz = {0[2]}\nt = {0[3]}'.format(res[0]))
Тот же ответ (не знаем никаких 'sympy'), красная полоса:
Python
1
2
3
4
Message File Name   Line    Position    
Traceback               
    <module>    C:\Users\admin\AppData\Local\Programs\Python\Python36-32\MyTasks\MyCyclist.py   5       
ImportError: No module named 'sympy'
________________________________________ ___________________
Подскажите, пожалуйста, как быть?
Миниатюры
Найти скорости трёх велосипедистов  
0
1 / 1 / 0
Регистрация: 24.11.2016
Сообщений: 37
01.12.2016, 22:04  [ТС]
От нечего делать ещё раз пытаюсь уточнить детали по cmd.exe
Bash
1
2
3
4
5
6
7
8
9
10
11
12
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.
 
C:\Users\admin>pip3.6 install C:\Users\admin\Downloads\sympy-1.0-py2.py3-none-an
y.whl
Requirement already satisfied: sympy==1.0 from file:///C:/Users/admin/Downloads/
sympy-1.0-py2.py3-none-any.whl in c:\users\admin\appdata\local\programs\python\p
ython36-32\lib\site-packages
Requirement already satisfied: mpmath>=0.19 in c:\users\admin\appdata\local\prog
rams\python\python36-32\lib\site-packages (from sympy==1.0)
 
C:\Users\admin>
Смотрю папку "site-packages (from sympy==1.0)", картинка ниже. Вроде много разных 'sympy'.
А PyScripter, как и прежде, пишет нет модуля 'sympy'. Что же делать?
________________________________________ ____________________
Мне понравился код для 'sympy' своей ясностью и краткостью. Посоветуйте, как его оживить.
Миниатюры
Найти скорости трёх велосипедистов  
0
1 / 1 / 0
Регистрация: 24.11.2016
Сообщений: 37
02.12.2016, 20:20  [ТС]
Искал в Интернете, наткнулся на простые пояснения: SymPy python module with Python 3.4.1
http://free-tutorials.org/symp... hon-3-4-1/

Скачал и установил на Питон3.4.4: sympy-0.7.6.win32.exe (Nov 21, 2014) https://github.com/sympy/sympy/releases

Попробовал на *Python 3.4.4 Shell* (ПУСК — вставляем в строку поиска — idle)
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from sympy import *
>>> x,y,z = symbols('x y z')
>>> Integral(sqrt(1+1/x),x)
Integral(sqrt(1 + 1/x), x)
>>> init_session(quiet=True)
Python console for SymPy 0.7.6 (Python 3.4.4-32-bit) (ground types: python)
 
>>> Integral(sqrt(1+1/x),x)
  /              
 |               
 |     _______   
 |    /     1    
 |   /  1 + -  dx
 | \/       x    
 |               
/                
>>>
Запускаю трудный код на PyScripter от Python34
Python
1
2
3
4
from sympy import symbols, solve
x, y, z, t = symbols('x y z t')
res = solve([t/x - t/y - 1, t/y + 1 - t/z - 2, 108/y - 132/z - 1, 100/x - 140/z - 2], x, y, z, t)
print('x = {0[0]}\ny = {0[1]}\nz = {0[2]}\nt = {0[3]}'.format(res[0]))
PyScripter всё признал (раньше приставал к каждой строке), кроме последней строки. Картинка ниже.
Python
1
2
3
4
5
6
print('x = {0[0]}\ny = {0[1]}\nz = {0[2]}\nt = {0[3]}'.format(res[0]))
 
Message File Name   Line    Position    
Traceback               
    <module>    C:\Python34\MyPrimer\MySympy.py 10      
IndexError: list index out of range
________________________________________ ___
Как можно поправить код?
Миниатюры
Найти скорости трёх велосипедистов  
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
03.12.2016, 12:28
Просто
Python
1
print(res)
посмотрите, что оно выведет
0
1 / 1 / 0
Регистрация: 24.11.2016
Сообщений: 37
03.12.2016, 13:04  [ТС]
Цитата Сообщение от shsv Посмотреть сообщение
посмотрите, что оно выведет
shsv, пока ничего хорошего. Без кортежей ему непонятен смысл задачи.

Пробую
Python
1
2
3
4
5
from sympy import symbols, solve
x, y, z, t = symbols('x y z t')
res = solve([t/x - t/y - 1, t/y + 1 - t/z - 2, 108/y - 132/z - 1, 100/x - 140/z - 2], x, y, z, t)
# print('x = {0[0]}\ny = {0[1]}\nz = {0[2]}\nt = {0[3]}'.format(res[0]))
print(res)
Ответ
Python
1
2
3
>>> 
  []
>>>
Пытаюсь упростить условия.
Два велосипедиста должны проехать из пункта А в пункт В и обратно. Расстояние АВ равно 120 км. Сначала стартует первый велосипедист, через два часа - второй. Некоторую точку С, находящуюся между пунктами А и В, оба велосипедиста проехали одновременно ( до этого ни один из них в В не побывал). Второй велосипедист, доехав до В и сразу повернув назад, встречает первого - в 100 км от А. Найдите возможные скорости велосипедистов.
Python
1
2
3
4
5
from sympy import symbols, solve
 
x, z, t = symbols('x z t')
res = solve([t/x - t/z - 2, 100/x - 140/z - 2], x, z, t)
print('x = {0[0]}\nz = {0[1]}\nt = {0[2]}'.format(res[0]))
Ответ
Python
1
2
3
4
Message File Name   Line    Position    
Traceback               
    <module>    C:\Python34\MyPrimer\MySympy2.py    11      
KeyError: 0
Миниатюры
Найти скорости трёх велосипедистов  
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
03.12.2016, 14:59
Лучший ответ Сообщение было отмечено diligent5 как решение

Решение

Попробуйте
Python
1
2
3
4
5
6
from sympy import symbols, solve, Eq
 
x, y, z, t = symbols('x y z t')
res = solve([Eq(t/x, t/y + 1), Eq(t/ y + 1, t/z + 2), Eq(108/y, 132/z + 1), Eq(100/x, 140/z + 2)], x, y, z, t, dict=True, check=False)
 
print(res[-1])
(Вы, кстати, для python36 и sympy 1.0 пробовали import sympy в shell?)
1
1 / 1 / 0
Регистрация: 24.11.2016
Сообщений: 37
03.12.2016, 20:09  [ТС]
Цитата Сообщение от shsv Посмотреть сообщение
Попробуйте
shsv, спасибо!!

Он задумался (PyScripter от Python34) — секунд на 15-20 — затем выдал правильный ответ!
Python
1
2
3
4
5
6
from sympy import symbols, solve, Eq
 
x, y, z, t = symbols('x y z t')
res = solve([Eq(t/x, t/y + 1), Eq(t/ y + 1, t/z + 2), Eq(108/y, 132/z + 1), Eq(100/x, 140/z + 2)], x, y, z, t, dict=True, check=False)
 
print(res[-1])
Ответ, картинка ниже
Python
1
2
3
4
*** Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 19:28:18) [MSC v.1600 32 bit (Intel)] on win32. ***
>>> 
{t: 60, x: 15, y: 20, z: 30}
>>>
________________________________________ ___________
Переходим к *Python 3.6.0a4 Shell*
Python
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
Python 3.6.0a4 (v3.6.0a4:017cf260936b, Aug 16 2016, 00:45:10) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from sympy import *
>>> x,y,z = symbols('x y z')
>>> Integral(sqrt(1+1/x),x)
Integral(sqrt(1 + 1/x), x)
>>> init_session(quiet=True)
Python console for SymPy 1.0 (Python 3.6.0-32-bit) (ground types: python)
 
>>> Integral(sqrt(1+1/x),x)
  /              
 |               
 |     _______   
 |    /     1    
 |   /  1 + -  dx
 | \/       x    
 |               
/                
>>> 
>>> from sympy import symbols, solve, Eq
>>> x, y, z, t = symbols('x y z t')
>>> res = solve([Eq(t/x, t/y + 1), Eq(t/ y + 1, t/z + 2), Eq(108/y, 132/z + 1), Eq(100/x, 140/z + 2)], x, y, z, t, dict=True, check=False)
 
>>> >>> print(res[-1])
{z: -70, x: zoo, y: -3780/31}
>>>
Явные странности в решении… не знаю пока: как объяснить. Картинка ниже.
Миниатюры
Найти скорости трёх велосипедистов   Найти скорости трёх велосипедистов  
0
757 / 306 / 190
Регистрация: 20.05.2016
Сообщений: 593
03.12.2016, 20:59
Результат зависит от версии (впрочем не только). Для sympy 1.0 код в посте #2 работает. Можно и чуть иначе
Python
1
2
3
4
5
6
7
from sympy import symbols, solve, Eq
 
 
x, y, z, t = symbols('x y z t')
res = solve([Eq(t/x, t/y + 1), Eq(t/ y + 1, t/z + 2), Eq(108/y, 132/z + 1), Eq(100/x, 140/z + 2)], x, y, z, t, dict=True)
 
print(res)
1
1 / 1 / 0
Регистрация: 24.11.2016
Сообщений: 37
04.12.2016, 11:31  [ТС]
Цитата Сообщение от shsv Посмотреть сообщение
Результат зависит от версии (впрочем не только)
shsv, спасибо!

Четыре варианта решений на *Python 3.6.0a4 Shell*
Python
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
Python 3.6.0a4 (v3.6.0a4:017cf260936b, Aug 16 2016, 00:45:10) [MSC v.1900 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> from sympy import symbols, solve
>>> x, y, z, t = symbols('x y z t')
>>> res = solve([t/x - t/y - 1, t/y + 1 - t/z - 2, 108/y - 132/z - 1, 100/x - 140/z - 2], x, y, z, t)
>>> print('x = {0[0]}\ny = {0[1]}\nz = {0[2]}\nt = {0[3]}'.format(res[0]))
x = 15
y = 20
z = 30
t = 60
>>> 
>>> from sympy import symbols, solve
>>> x, y, z, t = symbols('x y z t')
>>> res = solve([t/x - t/y - 1, t/y + 1 - t/z - 2, 108/y - 132/z - 1, 100/x - 140/z - 2], x, y, z, t)
>>> print(res)
[(15, 20, 30, 60)]
>>> 
>>> from sympy import symbols, solve, Eq
>>> x, y, z, t = symbols('x y z t')
>>> res = solve([Eq(t/x, t/y + 1), Eq(t/ y + 1, t/z + 2), Eq(108/y, 132/z + 1), Eq(100/x, 140/z + 2)], x, y, z, t, dict=True, check=False)
>>> print(res[-1])
{z: -70, x: zoo, y: -3780/31}
>>> 
>>> from sympy import symbols, solve, Eq
>>> x, y, z, t = symbols('x y z t')
>>> res = solve([Eq(t/x, t/y + 1), Eq(t/ y + 1, t/z + 2), Eq(108/y, 132/z + 1), Eq(100/x, 140/z + 2)], x, y, z, t, dict=True)
>>> print(res)
[{z: 30, x: 15, y: 20, t: 60}]
>>>
________________________________________ __________________________

Не знаю: чем объяснить "разнобой" в решениях на PyScripter и Shell?
Миниатюры
Найти скорости трёх велосипедистов  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.12.2016, 11:31
Помогаю со студенческими работами здесь

Найти сумму первых трех и последних трех элементов массива
Есть одномерные материальные массивы A=i]l, B=i]m, C=i]n - вводятся с клавиатуры. Создать процедуру ввода массивов. Для каждого из них...

Найти отношение скорости света в среде 2 к скорости в среде 1

Двоичные файлы вещественных чисел: найти разность сумм первых трех и последних трех компонент файла
Помогите написать код для данной задачи с использованием файлового ввода/вывода.Дан некоторый файл, компоненты которого являются...

Ввести шесть шестиразрядных целых чисел и найти для каких из них сумма «левых» трех цифр больше суммы «правых» трех
Ввести шесть шестиразрядная целых чисел и найти для каких из них сумма «левых» трех цифр больше суммы «правых» трех.

Найти разность среднего арифметического элементов первых трех и элементов последних трех столбцов матрицы
Задача№2 (найти разность среднего арифметического элементов первых трех и элементов последних трех столбцов матрицы X(5,6) паскаль)


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
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;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru