Diferente pentru problema/telefon intre reviziile #2 si #10

Diferente intre titluri:

telefon
Telefon

Diferente intre continut:

== include(page="template/taskheader" task_id="telefon") ==
Avem un telefon pe care butoanele cu cifre sunt aranjate ca în figura alăturată. Acest telefon este acţionat de către un robot care, iniţial, are capul de acţionare deasupra butonului $*$.
Robotul se comandă cu următoarele comenzi:
$S x$	– capul de acţionare se mişcă $x$ unităţi în sus
$J x$	– capul de acţionare se mişcă $x$ unităţi în jos
$DR x$	– capul de acţionare se mişcă $x$ unităţi în dreapta
$ST x$	– capul de acţionare se mişcă $x$ unităţi în stânga
$A$	– apasă capul de acţionare pe butonul deasupra căruia se află.
== include(page="template/badtests") ==
 
!> problema/telefon?telefon.png 70%!
 
Avem un telefon pe care butoanele cu cifre sunt aranjate ca în figura alăturată. Acest telefon este acţionat de către un robot care, iniţial, are capul de acţionare deasupra butonului $*$. Robotul se comandă cu următoarele comenzi:
 
* $S x$	– capul de acţionare se mişcă $x$ unităţi în sus
* $J x$	– capul de acţionare se mişcă $x$ unităţi în jos
* $DR x$ – capul de acţionare se mişcă $x$ unităţi în dreapta
* $ST x$ – capul de acţionare se mişcă $x$ unităţi în stânga
* $A$ – apasă capul de acţionare pe butonul deasupra căruia se află.
 
La terminarea formării numărului, capul trebuie să fie poziţionat deasupra butonului $#$.
h2. Cerinţă
Scrieţi un program care citeşte un număr de telefon, având cel mult $10$ cifre, apoi realizează apelarea acelui număr prin intermediul robotului, parcurgând un drum de lungime minimă deasupra tastaturii.
Dacă pentru a ajunge deasupra următorului buton, mişcarea capului presupune deplasare şi pe orizontală şi pe verticală, atunci **mai întâi trebuie efectuată mişcarea pe verticală**, cea pe orizontală urmând acesteia.
Scrieţi un program care citeşte un număr de telefon, având cel mult $10$ cifre, apoi realizează apelarea acelui număr prin intermediul robotului, parcurgând un drum de lungime minimă deasupra tastaturii.
h2. Date de intrare
h2. Date de ieşire
În fişierul de ieşire $telefon.out$ se vor scrie comenzile care trebuie să le execute robotul pentru a apela numărul de telefon dat. Comenzile se vor scrie pe o singură linie, în ordinea în care va trebui să le efectueze robotul. Două comenzi se vor despărţi printr-un singur spaţiu.
În fişierul de ieşire $telefon.out$ se vor scrie comenzile pe care trebuie să le execute robotul pentru a apela numărul de telefon dat. Comenzile se vor scrie pe o singură linie, în ordinea în care va trebui să le efectueze robotul. Două comenzi se vor despărţi printr-un singur spaţiu.
h2. Exemplu
h3. Explicaţie
Mai întâi trebuie să mutăm capul de acţionare de deasupra butonului $*$ deasupra butonului $1$. În acest scop ne mutăm în sus $3$ poziţii $(S 3)$ şi apăsăm butonul $(A)$. Urmează butonul $2$, deci mutăm capul o poziţie la dreapta $(DR 1)$ şi apăsăm $(A)$. Pentru a ajunge la butonul $3$, din nou facem o mutare la dreapta cu o poziţie $(DR 1)$ şi apăsăm $(A)$. Pentru a ajunge deasupra butonului $8$, mai întâi mutăm capul în jos $2$ poziţii $(J 2)$, apoi la stânga o poziţie $(ST 1)$ şi apăsăm $(A)$. 0 se află sub $8$, deci avem o mutare $(J 1)$ şi apăsăm $(A)$. Acum trebuie să ajungem la $4$, deci urcăm $2$ poziţii $(S 2)$, apoi mutăm capul o poziţie la stânga $(ST 1)$ şi apăsăm $(A)$. În final mutăm capul deasupra butonului $#$ cu comenzile $J 2$ şi $DR 2$. Aici nu trebuie să apăsăm butonul.
Mai întâi trebuie să mutăm capul de acţionare de deasupra butonului $*$ deasupra butonului $1$. În acest scop ne mutăm în sus $3$ poziţii $(S 3)$ şi apăsăm butonul $(A)$. Urmează butonul $2$, deci mutăm capul o poziţie la dreapta $(DR 1)$ şi apăsăm $(A)$. Pentru a ajunge la butonul $3$, din nou facem o mutare la dreapta cu o poziţie $(DR 1)$ şi apăsăm $(A)$. Pentru a ajunge deasupra butonului $8$, mai întâi mutăm capul în jos $2$ poziţii $(J 2)$, apoi la stânga o poziţie $(ST 1)$ şi apăsăm $(A)$. 0 se află sub $8$, deci avem o mutare $(J 1)$ şi apăsăm $(A)$. Acum trebuie să ajungem la $4$, deci urcăm $2$ poziţii $(S 2)$, apoi mutăm capul o poziţie la stânga $(ST 1)$ şi apăsăm $(A)$. În final mutăm capul deasupra butonului $#$ cu comenzile $J 2$ şi $DR 2$. Aici nu trebuie să apăsăm butonul.
== include(page="template/taskfooter" task_id="telefon") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
4722