Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707

головоломка "Фонари"

27.12.2010, 16:30. Показов 4769. Ответов 49
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть головоломка Фонари, вот условие для решения.

не могу придумать, даже алгоритм для решения, подскажите, пожалуйста...
в принципе можно, исключить ситуацию с пустыми черными клетками и с черными клетками, в которых стоит 0, чтобы проще было...
Миниатюры
головоломка "Фонари"  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.12.2010, 16:30
Ответы с готовыми решениями:

Головоломка на прологе
Помогите решить головоломку на прологе. Очень нужно!

Головоломка на SWI
Здравствуйте! Мое задание такое: "За столиком в кафе познакомились три девушки: Алёна, Светлана и Марианна. Одна из них работает...

задача-головоломка
нужна помощь в написании программы условие задачи: имеется n городов, некоторые из них соединены дорогами известной длины. Вся система...

49
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
27.12.2010, 18:26
Это наверно вариант для друга? По-моему в примере нужно еще один фонарик зачеркнуть, самый правый, верхний. Может где-то в инете есть алгоритм или советы по решению. Тут с "сапером" много общего, может идеи по его решению переправить. Потому что я пока ничего не могу придумать, кроме как генерации всех возможных перестановок.
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
27.12.2010, 18:38  [ТС]
Цитата Сообщение от Грымзик Посмотреть сообщение
Это наверно вариант для друга?
для знакомой, у нас симбиоз, она мне по другому предмету помогала)))

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

в инете что то ничего нет, только разные поля и готовые решения для, алгоритма решения не могу найти =(
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
27.12.2010, 19:16
Ну давайте тогда тоже сами начинайте, тем более для девушки Хранить лучше в виде списка черных полей вида f(I,J,Znachenie) и списка фонарей в виде l(I,J). Напишите предикат, который для заданной черной клетки будет размещать рядом с ней нужное количество фонарей.
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
27.12.2010, 19:17  [ТС]
в принципе, если исключить из условия задачи пустые черные клетки и с 0 внутри, то решение проще будет...
но вот только, можно составить поле неправильно и при решении, может оказать, что поле все освещено, но возле какой нибудь клетки с цифрой будет не хватать фонарика, потому то если поставить, то фонари будут светить друг на друга...
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
27.12.2010, 19:24
Не надо ничего исключать, нулевые и пустые черные клетки особо ничего не усложняют. И просто после каждого шага (т.е обработки каждой черной клетки) надо будет делать проверку, что ни один фонарь не засвещен. Хотя это можно делать и сразу при обстановке клетки фонарями, так даже быстрей. И также сразу же при обстановке надо проверять, может часть фонарей уже обставлена, когда рассматривали рядом находящееся черное поле.

Добавлено через 1 минуту
Но сделайте пока просто обстановку с проверкой на неосвещенность, она простая.
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
27.12.2010, 20:57  [ТС]
вообщем что то накидал, но не все работает)
не происходит перебор по списку с черными клетками, на первой прерывается, когда значение клетки не подходит по условию и предикат addfon возвращает fail и работа программы заканчивается, не знаю где поставить точку возврата и что то я набыдлокодил, когда в список добавляю, постоянно делаю новый(Fonari1,Fonari2,Fonari3...), можно ли записывать постоянно в Fonari?


Prolog
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
32
33
34
35
36
37
DOMAINS
f1=f*
l1=l*
f=f(i,j,Znachenie)
l=l(i,j)
i=integer
j=integer
Znachenie=integer
 
 
PREDICATES
obstanovka(f1,l1)
member(l,l1)
addfon(f,l1)
append(l1,l,l1)
 
CLAUSES
 
member(A,[A|_]).
member(A,[_|P]):-member(A,P).
 
append([],X,[X]).
append([H|Xs],X,[H|Ys]):-append(Xs,X,Ys).
 
obstanovka([f(I,J,Znachenie)|P],Fonari):-addfon(f(I,J,Znachenie),Fonari),obstanovka
(P,Fonari),write(Fonari).
 
 
addfon(f(I,J,Znachenie),Fonari):-Znachenie>=1,I1=I+1,J1=J+1,append(Fonari,l(I1,J1),Fonari1),
Znachenie>=2,I2=I-1,J2=J-1,append(Fonari1,l(I2,J2),Fonari2),
Znachenie>=3,I3=I-1,J3=J+1,append(Fonari2,l(I3,J3),Fonari3),
Znachenie=4,I4=I+1,J4=J-1,append(Fonari3,l(I4,J4),Fonari4).
 
 
 
GOAL
clearwindow(),obstanovka([f(1,1,3),f(5,5,5)],[]).
1
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
27.12.2010, 21:57
Ой, ну хотя бы тесты придумывали бы, на которые ответы существуют, а то лишний повод для поиска ошибки.
Prolog
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
DOMAINS
f1=f*
l1=l*
f=f(i,j,znachenie)
l=l(i,j)
i=integer
j=integer
znachenie=integer
 
 
PREDICATES
obstanovka(f1,f1,l1)
member(l,l1)
member(f,f1)
addfon(f,f1,l1,l1)
append(l1,l,l1)
ryadom(l,f)
fonar_nahoditsya_ryadom(f,l1,l)
rasstavit(f,f1,integer,l1,l1)
length(l1,integer)
CLAUSES
 
member(A,[A|_]).
member(A,[_|P]):-member(A,P).
 
append([],X,[X]).
append([H|Xs],X,[H|Ys]):-append(Xs,X,Ys).
 
 
obstanovka([f(I,J,Znachenie)|P],PrevFields,Fonari):-
    addfon(f(I,J,Znachenie),PrevFields,Fonari,NewFonari),
    obstanovka(P,[f(I,J,Znachenie)|PrevFields],NewFonari).
obstanovka([],_,Fonari):-write(Fonari).
 
ryadom(l(I,J),f(I,J1,_)):-J=J1-1,J>0;J=J1+1,J<=10.
ryadom(l(I,J),f(I1,J,_)):-I=I1-1,I>0;I=I1+1,I<=10.
 
fonar_nahoditsya_ryadom(f(I,J,Z),Fonari,Fonar):-member(Fonar,Fonari),ryadom(Fonar,f(I,J,Z)).
 
length([],0).
length([_|Tail],L):-length(Tail,L1),L=L1+1.
 
addfon(f(_,_,0),_,Fonari,Fonari):-!.
addfon(f(I,J,K),PrevFields,Fonari,NewFonari):-
    findall(Fonar,fonar_nahoditsya_ryadom(f(I,J,_),Fonari,Fonar),FonariRyadom),length(FonariRyadom,N),
    M=K-N,rasstavit(f(I,J,_),PrevFields,M,Fonari,NewFonari).
    
rasstavit(_,_,0,Fonari,Fonari):-!.
rasstavit(f(I,J,Z),PrevFields,M,Fonari,NewFonari):-ryadom(l(I1,J1),f(I,J,Z)),not(member(l(I1,J1),Fonari)),
    not(member(f(I1,J1,Z),PrevFields)),M1=M-1,rasstavit(f(I,J,Z),PrevFields,M1,[l(I1,J1)|Fonari],NewFonari).
 
 
 
GOAL
obstanovka([f(1,1,2),f(1,3,3)],[],[]).
Данная программа расставляет нужное количество фонарей (правда пока пустую черную клетку не рассматриваю), но не проверяет освещается ли заданный фонарь другим, попробуйте сами сделать.
2
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
27.12.2010, 23:44  [ТС]
написал проверку, но что то с условиями, не хочет работать...
и у меня еще вопрос, что делает рядом? проверяет рядом ли фонарь и черная клетка? и почему там такие условия?
Prolog
1
2
J=J1-1,J>0;J=J1+1,J<=10.
I=I1-1,I>0;I=I1+1,I<=10.

Prolog
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
DOMAINS
f1=f*
l1=l*
f=f(i,j,znachenie)
l=l(i,j)
i=integer
j=integer
znachenie=integer
 
 
PREDICATES
obstanovka(f1,f1,l1)
member(l,l1)
member(f,f1)
addfon(f,f1,l1,l1)
append(l1,l,l1)
ryadom(l,f)
fonar_nahoditsya_ryadom(f,l1,l)
rasstavit(f,f1,integer,l1,l1)
length(l1,integer)
proverka(l,l1)
 
CLAUSES
 
member(A,[A|_]).
member(A,[_|P]):-member(A,P).
 
append([],X,[X]).
append([H|Xs],X,[H|Ys]):-append(Xs,X,Ys).
 
 
obstanovka([f(I,J,Znachenie)|P],PrevFields,Fonari):-
        addfon(f(I,J,Znachenie),PrevFields,Fonari,NewFonari),
        obstanovka(P,[f(I,J,Znachenie)|PrevFields],NewFonari).
obstanovka([],_,Fonari):-write(Fonari).
 
ryadom(l(I,J),f(I,J1,_)):-J=J1-1,J>0;J=J1+1,J<=10.
ryadom(l(I,J),f(I1,J,_)):-I=I1-1,I>0;I=I1+1,I<=10.
 
fonar_nahoditsya_ryadom(f(I,J,Z),Fonari,Fonar):-member(Fonar,Fonari),
ryadom(Fonar,f(I,J,Z)).
 
length([],0).
length([_|Tail],L):-length(Tail,L1),L=L1+1.
 
addfon(f(_,_,0),_,Fonari,Fonari):-!.
addfon(f(I,J,K),PrevFields,Fonari,NewFonari):-
findall(Fonar,fonar_nahoditsya_ryadom(f(I,J,_),Fonari,Fonar),FonariRyadom),
length(FonariRyadom,N),
M=K-N,rasstavit(f(I,J,_),PrevFields,M,Fonari,NewFonari).
        
rasstavit(_,_,0,Fonari,Fonari):-!.
rasstavit(f(I,J,Z),PrevFields,M,Fonari,NewFonari):-ryadom(l(I1,J1),f(I,J,Z)),
not(member(l(I1,J1),Fonari)),
not(member(f(I1,J1,Z),PrevFields)),not(proverka(l(I1,J1),Fonari)),M1=M-1,
rasstavit(f(I,J,Z),PrevFields,M1,[l(I1,J1)|Fonari],NewFonari).
 
proverka(l(I,J),[l(II,JJ)|Tail]):-not(I=II),proverka(l(I,J),Tail);not(J=JJ),proverka(l(I,J),Tail).
 
 
GOAL
obstanovka([f(1,1,2),f(1,3,3)],[],[]).
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
27.12.2010, 23:58
"рядом" для заданной темной клетки выдает куда можно поставить фонарь.
И не правильно Вы проверку делаете. Предикат "проверка" проверяет, чтобы данный фонарь не совпадал с каким-либо другим фонарем из списка, а not("проверка") получается проверяет, чтобы данный фонарь совпадал хотя бы с одним фонарем из списка.
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
28.12.2010, 00:00  [ТС]
т.е. просто not убираем и все?

Prolog
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
DOMAINS
f1=f*
l1=l*
f=f(i,j,znachenie)
l=l(i,j)
i=integer
j=integer
znachenie=integer
 
 
PREDICATES
obstanovka(f1,f1,l1)
member(l,l1)
member(f,f1)
addfon(f,f1,l1,l1)
append(l1,l,l1)
ryadom(l,f)
fonar_nahoditsya_ryadom(f,l1,l)
rasstavit(f,f1,integer,l1,l1)
length(l1,integer)
proverka(l,l1)
 
CLAUSES
 
member(A,[A|_]).
member(A,[_|P]):-member(A,P).
 
append([],X,[X]).
append([H|Xs],X,[H|Ys]):-append(Xs,X,Ys).
 
 
obstanovka([f(I,J,Znachenie)|P],PrevFields,Fonari):-
        addfon(f(I,J,Znachenie),PrevFields,Fonari,NewFonari),
        obstanovka(P,[f(I,J,Znachenie)|PrevFields],NewFonari).
obstanovka([],_,Fonari):-write(Fonari).
 
ryadom(l(I,J),f(I,J1,_)):-J=J1-1,J>0;J=J1+1,J<=10.
ryadom(l(I,J),f(I1,J,_)):-I=I1-1,I>0;I=I1+1,I<=10.
 
fonar_nahoditsya_ryadom(f(I,J,Z),Fonari,Fonar):-member(Fonar,Fonari),
ryadom(Fonar,f(I,J,Z)).
 
length([],0).
length([_|Tail],L):-length(Tail,L1),L=L1+1.
 
addfon(f(_,_,0),_,Fonari,Fonari):-!.
addfon(f(I,J,K),PrevFields,Fonari,NewFonari):-
findall(Fonar,fonar_nahoditsya_ryadom(f(I,J,_),Fonari,Fonar),FonariRyadom),
length(FonariRyadom,N),
M=K-N,rasstavit(f(I,J,_),PrevFields,M,Fonari,NewFonari).
        
rasstavit(_,_,0,Fonari,Fonari):-!.
rasstavit(f(I,J,Z),PrevFields,M,Fonari,NewFonari):-ryadom(l(I1,J1),f(I,J,Z)),
not(member(l(I1,J1),Fonari)),
not(member(f(I1,J1,Z),PrevFields)),proverka(l(I1,J1),Fonari),M1=M-1,
rasstavit(f(I,J,Z),PrevFields,M1,[l(I1,J1)|Fonari],NewFonari).
 
proverka(l(I,J),[l(II,JJ)|Tail]):-not(I=II),proverka(l(I,J),Tail);not(J=JJ),proverka(l(I,J),Tail).
 
 
GOAL
obstanovka([f(1,1,2),f(1,3,3)],[],[]).
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
28.12.2010, 00:30
Нет, без not будет выполняться проверка, что на данном месте не стоит ни один фонарь. Она не нужна, она уже выполняется в not(member(l(I1,J1),Fonari)). В предикате "проверка" должна осуществляться проверка, что в списке фонарей нет такого фонаря, который бы стоял на одной строке с данным, и не был бы отгорожен от него черным полем. Аналогично со столбцом. Т.е этот предикат в качестве параметра должен принимать текущий фонарь, список всех фонарей и список черных клеток.

Добавлено через 21 минуту
Да, еще стоит в моей проге некоторые вещи изменить:
добавить правило на первое место
rasstavit(_,_,N,_,_):-N<0,fail,!.
и также на первое место
obstanovka([f(I,J,-1)|P],PrevFields,Fonari):-obstanovka(P,[f(I,J,-1)|PrevFields],Fonari).
-1 пусть будет пустое черное поле. Правда это не идеальный вариант, в конце может оказаться, что какая-то часть поля оказалась не освещенной, и надо где-то рядом с пустым полем ставить фонарь. Придется такой предикат еще делать.
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
28.12.2010, 00:38  [ТС]
правильно исправил?

Prolog
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
DOMAINS
f1=f*
l1=l*
f=f(i,j,znachenie)
l=l(i,j)
i=integer
j=integer
znachenie=integer
 
 
PREDICATES
obstanovka(f1,f1,l1)
member(l,l1)
member(f,f1)
addfon(f,f1,l1,l1)
append(l1,l,l1)
ryadom(l,f)
fonar_nahoditsya_ryadom(f,l1,l)
rasstavit(f,f1,integer,l1,l1)
length(l1,integer)
 
 
CLAUSES
 
member(A,[A|_]).
member(A,[_|P]):-member(A,P).
 
append([],X,[X]).
append([H|Xs],X,[H|Ys]):-append(Xs,X,Ys).
 
obstanovka([f(I,J,-1)|P],PrevFields,Fonari):-obstanovka(P,[f(I,J,-1)|PrevFields],Fonari). 
obstanovka([f(I,J,Znachenie)|P],PrevFields,Fonari):-
        addfon(f(I,J,Znachenie),PrevFields,Fonari,NewFonari),
        obstanovka(P,[f(I,J,Znachenie)|PrevFields],NewFonari).
obstanovka([],_,Fonari):-write(Fonari).
 
ryadom(l(I,J),f(I,J1,_)):-J=J1-1,J>0;J=J1+1,J<=10.
ryadom(l(I,J),f(I1,J,_)):-I=I1-1,I>0;I=I1+1,I<=10.
 
fonar_nahoditsya_ryadom(f(I,J,Z),Fonari,Fonar):-member(Fonar,Fonari),
ryadom(Fonar,f(I,J,Z)).
 
length([],0).
length([_|Tail],L):-length(Tail,L1),L=L1+1.
 
addfon(f(_,_,0),_,Fonari,Fonari):-!.
addfon(f(I,J,K),PrevFields,Fonari,NewFonari):-
findall(Fonar,fonar_nahoditsya_ryadom(f(I,J,_),Fonari,Fonar),FonariRyadom),
length(FonariRyadom,N),
M=K-N,rasstavit(f(I,J,_),PrevFields,M,Fonari,NewFonari).
        
rasstavit(_,_,N,_,_):-N<0,fail,!.
rasstavit(f(I,J,Z),PrevFields,M,Fonari,NewFonari):-ryadom(l(I1,J1),f(I,J,Z)),
not(member(l(I1,J1),Fonari)),
not(member(f(I1,J1,Z),PrevFields)),not(proverka(l(I1,J1),Fonari,PrevFields)),M1=M-1,
rasstavit(f(I,J,Z),PrevFields,M1,[l(I1,J1)|Fonari],NewFonari).
 
 
 
GOAL
obstanovka([f(1,1,2),f(1,3,3)],[],[]).
Добавлено через 4 минуты
Цитата Сообщение от Грымзик Посмотреть сообщение
Т.е этот предикат в качестве параметра должен принимать текущий фонарь, список всех фонарей и список черных клеток.
вот только проверка для строки:
Prolog
1
proverka(l(I,_),[l(II,_)|Tail],[f(III,_,_)|Tail1]):-not(I=II),not(I=III),proverka(l(I,_),Tail,Tail1).
как бы мы получаем у данного фонаря только I-строку и сравниваем not(I=II),not(I=III), т.е. если строки данного и фонаря или черной клетки будут равны, то благодаря not будет false, значит предикат завершит работу и тогда предикат rasstavit не добавит фонарь в список???
или снова туплю? =(
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
28.12.2010, 00:47
Да, а как дела с "проверкой"?

Добавлено через 8 минут
Нет, не правильно. Надо проверять не чтобы на данной строке не было других фонарей или черных клеток, а чтобы не было фонаря, не огороженного черной клеткой. Надо так
proverka(l(I,J),Fonari,Kletki):-member(l(I,J1),Fonari),нет_черной_клетки _на_Iой_строке_между_J_и_J1_столбцами.
а потом уже проверять not(proverka(...)).
1
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
28.12.2010, 00:50  [ТС]
спасибо за помощь)))
думаю завтра доделаю, а то щас у меня уже 4 часа ночи, голова не варит совсем... =(
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
28.12.2010, 02:23
у меня такое чувство, что решение в примере не правильное...
0
130 / 117 / 30
Регистрация: 14.11.2010
Сообщений: 707
28.12.2010, 15:57  [ТС]
Цитата Сообщение от freest Посмотреть сообщение
у меня такое чувство, что решение в примере не правильное...
вроде правильное...
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
28.12.2010, 19:16
кажись так
Миниатюры
головоломка "Фонари"  
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
28.12.2010, 19:39
freest, в примере все правильно. В черных клетках указано не сколько фонарей освещать ее должны, а сколько фонарей должно стоять рядом. А у Вас это условие не выполняется.
0
Українець
424 / 318 / 16
Регистрация: 26.09.2009
Сообщений: 844
28.12.2010, 20:44
ааа...ясно, спс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.12.2010, 20:44
Помогаю со студенческими работами здесь

Логическая головоломка в Visual Prolog 5.2
Помогите пожалуйста написать программу, которая решает задачу в Visual Prolog 5.2: Билл, Джон и Ричард играют в одном оркестре. Они...

Комбинаторна головоломка на Swi Prolog
Помогите с заданием. Нужно написать программу которая методом &quot;образовать и проверить&quot; даст ответы на вопросы следующей головоломки:...

Головоломка про инструменты и языки
Маша, Лида, Женя и Катя играют на разных инструментах – виолончели, рояли, гитаре, скрипке, но каждая только на одном. Они же владеют...

логическая головоломка про прыжки в высоту
Написать программу на языке Prolog, реализующую логическую головоломку. Три девушки упражнялись, прыгая в высоту перед зачетом по...

Головоломка про аптекаря, бухгалтера и агронома.
http://puzzle-ru.blogspot.ru/2009/02/blog-post_18.html


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru