Mają ten sam. W jakich okolicznościach identyczne ciągi mają to samo odniesienie? Rozwiązania zbierają dane z sieci pod kątem „W jakich okolicznościach identyczne wiersze mają ten sam link?”

Zadanie z fizyki - 2379

2017-03-16
Dwie identyczne kule mają taką samą temperaturę. Jedna z kul leży na płaszczyźnie poziomej, druga jest zawieszona na nitce. Ta sama ilość ciepła jest przekazywana do obu kul. Proces nagrzewania jest tak szybki, że nie ma strat ciepła na ogrzanie sąsiednich obiektów i otoczenia. Czy temperatury kulek będą takie same czy różne po podgrzaniu? Uzasadnij odpowiedź.


Rozwiązanie:


ryc.1

ryc.2
Różnica będzie związana z zachowaniem się środków masy kulek.

Niech objętość kulek wzrośnie, gdy się nagrzeją. W takim przypadku wysokość środka masy pierwszej kuli nad płaszczyzną poziomą wzrośnie (rys. 1), a środek masy zawieszonej kuli spadnie (rys. 2).

Na podstawie pierwszej zasady termodynamiki możemy napisać:

a) $Q = cm \Delta T_(1) + mgh, \Delta T_(1) = \frac(Q - mgh)(cm)$;
b) $Q = cm \Delta T_(2) - mgh, \Delta T_(2) = \frac(Q + mgh)(cm)$;

gdzie $x$ to ciepło właściwe substancji, z której wykonana jest piłka, $m$ to jej masa.

Stąd wynika, że ​​$\Delta T_(2) > \Delta T_(1)$, czyli kula wisząca musi być ogrzana do wyższej temperatury niż kula leżąca na powierzchni poziomej. Oceńmy efekt. Niech promień kulki będzie równy $R$, a współczynnik rozszerzalności liniowej materiału, z którego wykonana jest kula — $\alpha$. Wtedy stosunek zmiany temperatury kuli spowodowanej zmianą położenia jej środka masy do zmiany temperatury $\Delta T$ spowodowanej ilością dostarczonego jej ciepła $Q$ będzie równy

$\frac( \Delta T^( \prime))( \Delta T) = \frac(mgh)(cm \Delta T) = \frac(mgR \alpha \Delta T)(cm \Delta T) = \frac (g)(c) R\alfa$.

Po obliczeniu oszacowanych wartości, na przykład dla żelaznej kuli o promieniu $R = 0,1 m (c=450 J/(kg \cdot K), \alpha = 11,7 \cdot 10^(-6) K^(-1 ) )$, otrzymujemy: $\Delta T^( \prime) / \Delta T = 2,6 \cdot 10^(-8)$.

Zatem omawiany w problemie efekt jest znikomy i leży poza możliwością eksperymentalnego wykrycia.

Przeszukałem strony internetowe i przepełniony pytaniami, ale nie mogłem znaleźć odpowiedzi na to pytanie. Zauważyłem, że w Pythonie 2.7.3, jeśli przypiszesz dwie zmienne do tego samego pojedynczego ciągu znaków, jak

>>> a = "a" >>> b = "a" >>> c = " " >>> d = " "

Wtedy zmienne będą miały to samo odniesienie:

>>> a to b Prawda >>> c to d Prawda

Dotyczy to również niektórych dłuższych łańcuchów:

>>> a = "abc" >>> b = "abc" >>> a to b Prawda >>> " " to " " Prawda >>> " " * 1 to " " * 1 Prawda

>>> a = "ac" >>> b = "ac" >>> a to b Fałsz >>> c = " " >>> d = " " >>> c to d Fałsz >>> " " * 2 to „ ” * 2 Fałsz

Czy ktoś może wyjaśnić przyczynę tego?

Podejrzewam, że mogą istnieć uproszczenia/zamienniki dokonane przez tłumacza i/lub jakiś mechanizm buforowania, który wykorzystuje fakt, że łańcuchy są niezmienne w celu optymalizacji w niektórych szczególnych przypadkach, ale co ja wiem? Próbowałem wykonać głębokie kopie łańcuchów przy użyciu konstruktora str i funkcji copy.deepcopy, ale ciągi nadal są niezgodne z referencjami.

Powodem, dla którego mam problemy, jest to, że sprawdzam nierówność odwołań do łańcuchów w niektórych testach jednostkowych, które piszę dla metod klonowania klas Pythona w nowym stylu.

3 rozwiązania gromadzą dane z sieci dla „W jakich okolicznościach identyczne wiersze mają ten sam link?”

Szczegóły dotyczące tego, kiedy ciągi znaków są buforowane i ponownie używane, zależą od implementacji, mogą się różnić w zależności od wersji Pythona i nie można na nich polegać. Jeśli chcesz sprawdzić ciągi pod kątem równości, użyj zamiast tego ==.

W CPythonie (najczęściej używanej implementacji Pythona) literały łańcuchowe, które występują w kodzie źródłowym, są zawsze internowane, więc jeśli ten sam literał łańcuchowy występuje dwukrotnie w kodzie źródłowym, ostatecznie wskazuje ten sam obiekt łańcuchowy. W Pythonie 2.x możesz także wywołać wbudowaną funkcję intern(), aby wymusić staż na określonym łańcuchu, ale tak naprawdę nie musisz tego robić.

Zmiana rzeczywisty cel sprawdzania, czy atrybuty nie są odpowiednio rozmieszczone w instancjach: ten rodzaj sprawdzania jest przydatny tylko w przypadku obiektów mutowalnych. W przypadku atrybutów typu niezmiennego nie ma różnicy semantycznej między obiektami udostępnionymi i nieudostępnionymi. Możesz wykluczyć niezmienne typy ze swoich testów za pomocą

Niezmienny = łańcuch podstawowy, krotka, liczby. Liczba, zamrożony zestaw # ... jeśli nie isinstance (x, niezmienny): # Wyklucz typy, o których wiadomo, że są niezmienne

Należy zauważyć, że wyklucza to również krotki zawierające zmienne obiekty. Jeśli chcesz je przetestować, będziesz musiał rekurencyjnie schodzić do krotek.

W CPythonie, jako szczegół implementacji, pusty łańcuch jest powszechny, podobnie jak ciągi jednoznakowe, których kod znajduje się w zakresie Latin-1. Ty Nie powinno zależeć od tego, ponieważ możliwe jest ominięcie tej funkcji.

Możesz poprosić o ciąg dla internowanie za pomocą sys.intern ; w niektórych przypadkach stanie się to automatycznie:

Zwykle nazwy używane w programach Pythona są automatycznie internowane, a słowniki używane do przechowywania atrybutów modułów, klas lub instancji mają internowane klucze.

sys.intern jest ustawiony tak, abyś mógł go używać (po profilowaniu!) do wydajności:

Ciągi wewnętrzne są przydatne do uzyskania odrobiny wydajności podczas wyszukiwania słowników - jeśli klucze w słowniku są internowane, a klucz wyszukiwania jest internowany, dopasowywanie kluczy (po haszowaniu) można wykonać za pomocą porównania wskaźników zamiast porównywania ciągów.

Zauważ, że stażysta jest wbudowany w Python 2.

Myślę, że to implementacja i optymalizacja. Jeśli łańcuch jest krótki, mogą (i często?) „oddzielić”, ale nie możesz na tym polegać. Gdy masz więcej linii, zobaczysz, że nie pasują.

Wejście : s1 = "abc" Wejście : s2 = "abc" Wejście : s1 to s2 Wyjście: prawda

dłuższe linie

In : s1 = "abc to jest dużo dłuższe" In : s2 = "abc to jest dużo dłuższe" In : s1 to s2 Out: False

użyj == do porównania ciągów (i Nie jest operatorem).

Obserwacja/hipoteza OP (w komentarzach poniżej), że może to być związane z liczbą tokenów, wydaje się być poparta następującymi faktami:

In: s1 = "abc" In: s2 = "abc" In: s1 to s2 Out: Fałsz

w porównaniu z oryginalnym przykładem abc powyżej.


Rysunek 3.2 — Tworzenie linii konturowych

linię brzegową w punktach B. Rzutując ją na tę samą płaszczyznę P, otrzymujemy drugą zamkniętą linię krzywą BB. Kontynuując podnoszenie się wody w tej samej kolejności powyżej, na płaszczyźnie P uzyskujemy obraz wzgórza za pomocą warstwic.

Dla większej przejrzystości kierunek obniżania zboczy jest pokazany kreskami tzw bergasze. Aby wskazać wysokości warstwic, ich znaki są podpisane w przerwach linii warstwicowych, umieszczając górę cyfr w kierunku wierzchołka zbocza. Dla większej wyrazistości reliefu z reguły piąta, a czasem dziesiąta pozioma linia jest pogrubiona.

Różnica wysokości dwóch sąsiednich poziomów nazywana jest wysokością przekroju reliefowego.

Odległość między dwoma sąsiednimi poziomami na płaszczyźnie nazywa się układaniem.

Poziomy mają następujące właściwości:

  • a) wszystkie punkty leżące na tej samej linii poziomej mają tę samą wysokość;
  • b) wszystkie linie poziome muszą być ciągłe;
  • c) linie poziome nie mogą się przecinać ani rozwidlać;
  • d) odległości między poziomami w planie charakteryzują stromość zbocza - im mniejsza odległość (układanie), tym bardziej strome zbocze;
  • e) najkrótsza odległość między poziomami odpowiada kierunkowi największego nachylenia zbocza;
  • f) linie wododziałowe i osie zagłębień przecinają się z liniami poziomymi pod kątem prostym;
  • g) poziomy przedstawiające nachyloną płaszczyznę mają postać równoległych linii prostych.

Często, aby udoskonalić formy reliefowe, stosuje się dodatkowe poziomy, które są przedstawione przerywanymi liniami i nazywane są półpoziomymi. Zwykle zwyczajowo wykonuje się półpoziomy w przypadkach, gdy odległość między poziomami na planie przekracza 2 cm. 3.1, b przedstawia obraz warstwic poszczególnych elementów terenu.

KATEGORIE

POPULARNE ARTYKUŁY

2023 „kingad.ru” - badanie ultrasonograficzne narządów ludzkich