Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задачка интересная

Автор: SLAX 13.12.2006 20:58

И вот сама задачка.

Локатор ориентирован на одну из сторон света(«С» — север., «З» —
запад, «Ю.» — юг, «В» — восток) и может принимать три цифровые команді поворота
: 1 — поворот на лево, -1 — поворот направо, 2 — поворот 180
. Дан символ C — исходное значени локатора и целые числа N1
и N2 — посланніе команды. Вывести на экран ориентацию локатора после этих команд

ну вот пример как я делал только не доделал


program case;
var N1,N2:integer;
StN1:string[150];
StN2:string[150];
begin
writeln ('Допустим локатор ориентирован исходно на восток и тогда');
readln(N1,N2);
case N1 of

1:StN1:=('');
-1:StN1:=('');
2:StN1:=('');
end;

case N2 of

1:StN2=('');
-1:StN2:=('');
2:StN2:=('');
end;
writeln('1= ',stn1,' 2= ',stn2);
readln;
end.




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

Искал у вас на форуме и не нашел похожей , подскажите пожалуйста. как написать блок схема.
Ну знаете там вот пример 1) входніе данные
2)блок вывода
3) блок ввода
4) блок сравения да----------------------------
нет |
| |
| то тогда какиета действия.
end.

Только все єто мне надо для кейс.

P.S. Пожалуйтса если не трудно могли бы выложить как тут надо проводить тогда сравненние в коде ну или хотя бы структура как это все организовать.

Автор: мисс_граффити 13.12.2006 22:53

http://forum.pascal.net.ru/index.php?showtopic=14044&hl=%F1%E5%E2%E5%F0

Автор: SLAX 13.12.2006 23:34

И в той статье есть одно различие там есть два входніх данных исходная ориентация, приказ капитана.
А у меня иходная ориентация и две команды, то есть на выходе оно мне говорит локатор повернуля N1=Юг N2=Запад,
То есть Юго Запад.


var c:char; loc:integer;
...
readln( c )
case c of
'С':loc:=0;
'Ю':loc:=2;
'З':loc:=3;
'В':loc:=1;
else writeln('Нераспознано положение локатора');
end;



Вот я понял как сделать кейс для исходной ориентации , но как его скрепить с входніми командами, не пойму.
И как то есть для локатора 0,1,2,3 приедется писать по 2 кейса

Или как , мне кажется что тут можно как то спомощью арифметических операций все это провести.
Плиз подскажите

Автор: мисс_граффити 14.12.2006 1:26

приведи пример...
типа был повернут так, команды такие, получилось это.

Автор: SLAX 14.12.2006 3:33

Цитата(мисс_граффити @ 13.12.2006 21:26) *

приведи пример...
типа был повернут так, команды такие, получилось это.

Ну вот вам привожу пример например у вас локатор всегда смотрит по умолчанию на восток, пользователь вводит две команды 1 и 2 , то есть в первом посте я написал что будет дальше , программа выдает что N1=Север
N2=Запад, то есть ветер стал дуть в севернозападном направлении, но єти все данніе я писал только если стандарт но направлен на восток , а так может біть еще 3 значения то надо сделать как-то по другому.

Мне мой товарищ знающий не плохо обьяснил что можно сделать єто через арифметические операции спомощь одного внешнего и 4 вложенных case, но так как больше он мне рассказывать не захотел ссылаясь что это долго, я так понял что этот способ не работает, к тому же я не знаю как его написать.
С вашей точки зрения если это вид решения правильный не могли бы вы в трех словах описать его структуру ,как его примерно написать в коде.

Заранее все благодарен.

Автор: volvo 14.12.2006 3:35

SLAX, давай ты не будешь умничать? "Товарища" твоего не Vesper зовут? Или Bug Hunter? Чего ты перекладываешь решения с одного форума на другой? mad.gif

Автор: SLAX 14.12.2006 5:40

Цитата(volvo @ 13.12.2006 23:35) *

SLAX, давай ты не будешь умничать? "Товарища" твоего не Vesper зовут? Или Bug Hunter? Чего ты перекладываешь решения с одного форума на другой? mad.gif

Извините просто я не думал что єти форумі взаимосвязаны, больше такого не повторится я обещаю.
Но не могли бы вы мне помочь с моим вопросом.Пожалуйста.
Еще раз приношу свои извиненния за то что постопил так.

Автор: SLAX 15.12.2006 2:49

Выражаю всем огромную благодарность так сегодня я смог защитить все лабораторніе работы.
Без этого и других форумов у меня это врятли бы получилось.
Еще раз всем спасибо извините чо побеспокоил вас как вам наверное кажется совсем по пустяковым вопросом.
Будут вопросы во второй половине обучение обязательно обращусь к вам.
Спасибо