[a6] Robot
Data zakończenia: 2024-03-01 13:30
Języki:
c
Limit czasu: 1.0 s
Limit pamięci: 5 MB
Cel
Zadanie na odczyt danych różnych typów ze standardowego wejścia i prostą pętlę.
Problem
Studenci stworzyli robota, który ma poruszać się po labiryncie. Robot ma się poruszać zgodnie z wpisanym programem. W ramach tego programu można podawać 2-argumentową komendę, w której pierwszy argument oznacza kierunek, w którym robot ma się przemieścić (N-północ, S-południe, E-wschód,W-zachód), a drugi odległość, o jaką ma się w tym kierunku przemieścić).
Zadanie
Napisz program, który określi do którego miejsca powinien się przemieścić robot, jeśli będzie się poruszał zgodnie z zadanym programem. Program na standardowym wyjściu otrzymuje
Program ma zwrócić parę wartości całkowitych oznaczających końcowe współrzędne geograficzne.
Przykład
Wejście
Uwagi
Zadanie na odczyt danych różnych typów ze standardowego wejścia i prostą pętlę.
Problem
Studenci stworzyli robota, który ma poruszać się po labiryncie. Robot ma się poruszać zgodnie z wpisanym programem. W ramach tego programu można podawać 2-argumentową komendę, w której pierwszy argument oznacza kierunek, w którym robot ma się przemieścić (N-północ, S-południe, E-wschód,W-zachód), a drugi odległość, o jaką ma się w tym kierunku przemieścić).
Zadanie
Napisz program, który określi do którego miejsca powinien się przemieścić robot, jeśli będzie się poruszał zgodnie z zadanym programem. Program na standardowym wyjściu otrzymuje
- parę wartości całkowitych oznaczających początkowe współrzędne geograficzne (kolejno: szerokość i długość geograficzną)
- ciąg par wartości
- znak (ze zbioru {
N
,S
,E
,W
}) oznaczający kierunek ruchu - dodatnią liczbę całkowitą oznaczającą odległość do przebycia
- znak (ze zbioru {
Program ma zwrócić parę wartości całkowitych oznaczających końcowe współrzędne geograficzne.
Przykład
Wejście
10 -13Wyjście
N 5 W 2 S 10
5 -15
Uwagi
- typem znakowym jest (między innymi) typ
char
; - sekwencją w formacie funkcji
scanf()
odpowiadającą za wczytanie znaku (typuchar
) jest "%c
"; - typy znakowe są typami arytmetycznymi, wartość odpowiadająca wybranemu znakowi jest zwracana przez wyrażenie złożone z tego znaku otoczonego pojedynczymi apostrofami (przykładowo
'N'
będzie kodem znakuN
, a w instrukcjiif (c == 'N') ...
(gdziec
jest zmienną typuchar
) sprawdzamy, czy (zmienna)c
przechowuje znak'N'
).