Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
3569 - Cern
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
„CERN este un acronim folosit pentru a desemna Laboratorul European pentru Fizica Particulelor Elementare. Acronimul s-a păstrat de la vechea denumire în limba franceză, şi anume Conseil Européen pour la Recherche Nucléaire. Acesta este cel mai mare laborator de cercetare a particulelor elementare din lume, situat în suburbia nord-vestică a Genevei, chiar pe graniţa dintre Elveţia şi Franţa. Funcţia primară a complexului CERN este de a furniza acceleratoare de particule elementare şi alte tipuri de infrastructuri necesare fizicii particulelor de energii înalte.” Acceleratorul de particule CERN este dispus sub forma a <code>3</code> cercuri cu aceeaşi rază, tangente exterioare două câte două, numerotate pe figură cu <code>1</code>, <code>2</code>, <code>3</code>. Traiectoria unei particule elementare porneşte din unul din punctele marcate pe figură cu <code>A</code>, <code>B</code>, <code>C</code>, <code>D</code>, <code>E</code>, <code>F</code> şi se deplasează cu viteză constantă de /unitatea de timp numai pe circumferinţa cercurilor. La trecerea printr-un punct de tangenţă dintre două cercuri particula îşi schimbă atât sensul de deplasare, cât şi cercul pe care se deplasează. Astfel, dacă sensul de deplasare a fost la un moment dat trigonometric, la trecerea printr-un punct de tangenţă devine invers trigonometric şi dacă sensul de deplasare a fost invers trigonometric, la trecerea printr-un punct de tangenţă devine trigonometric. = Cerința = Ştiind că cercurile ce formează acceleratorul sunt marcate din grad în grad începând cu , în sens trigonometric (aşa cum se indică în figura alăturată), să se scrie un program, care, cunoscând punctul iniţial şi sensul de deplasare al unei particule, să determine poziţia particulei în accelerator după un număr dat de unităţi de timp. = Date de intrare = Prima linie a fişierului de intrare <code>cern.in</code> conţine un caracter <code>p</code> ce indică punctul de plecare al particulei. A doua linie a fişierului de intrare conţine două numere întregi <code>s</code> şi <code>t</code>, separate printr-un spaţiu, ce indică sensul de deplasare (<code>1</code> pentru sens trigonometric şi <code>-1</code> pentru sens invers trigonometric), respectiv numărul de unităţi de timp cât durează deplasarea. = Date de ieșire = Pe prima linie a fişierului de ieşire <code>cern.out</code> se vor scrie două numere naturale <code>g</code> şi <code>c</code>, separate printr-un spaţiu, ce reprezintă numărul de grade, în sens trigonometric, respectiv cercul, corespunzătoare poziţiei finale unde se va găsi particula după trecerea celor <code>t</code> unităţi de timp. = Restricții și precizări = * <code>p ∈ {’A’,’B’,’C’,’D’,’E’,’F’}</code>. * <code>s ∈ {-1, 1}</code>. * <code>0 ≤ t ≤ 1.000.000.000</code>. * <code>0 ≤ g ≤ 359</code>. * <code>c ∈ {1, 2, 3}</code>. * Pentru toate seturile de date de intrare, poziţia finală a particulei nu coincide cu unul dintre punctele de tangenţă dintre cercuri. = Exemplu: = <code>cern.in</code> A 1 320 <code>cern.out</code> 200 3 === Explicație === Particula pleacă din punctul <code>A</code> în sens trigonometric şi are traseul: * * pe cercul <code>1</code> în sens trigonometric; * * pe cercul <code>2</code> în sens invers trigonometric; * * pe cercul <code>3</code> în sens trigonometric. Poziţia finală este la pe cercul <code>3</code>. <syntaxhighlight lang="python" line="1"> def determine_position(start_point, start_circle, start_direction, time_units): # Define circle tangents in degrees tangents = {0, 120, 240} # Define movement per unit time movement_per_unit = 10 # Initialize current position, circle and direction current_position = start_point current_circle = start_circle current_direction = start_direction # Perform movement for each time unit for _ in range(time_units): if current_direction == 'trigonometric': current_position = (current_position + movement_per_unit) % 360 else: current_position = (current_position - movement_per_unit) % 360 # Check if we hit a tangent point if current_position in tangents: # Change circle current_circle = 1 if current_circle == 3 else current_circle + 1 # Change direction if current_direction == 'trigonometric': current_direction = 'inverse trigonometric' else: current_direction = 'trigonometric' return current_position, current_circle # Example usage start_point = 0 # Initial position in degrees start_circle = 1 # Starting on circle 1 start_direction = 'trigonometric' # Starting direction time_units = 30 # Number of time units final_position, final_circle = determine_position(start_point, start_circle, start_direction, time_units) print(f"Final position: {final_position} degrees on circle {final_circle}") </syntaxhighlight>
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width