Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 3

Вывести ориентацию локатора после выполнения данных команд

22.09.2013, 21:27. Показов 2312. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Локатор ориентирован на одну из сторон света («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и может принимать три цифровые команды: 1 — поворот налево, –1 — поворот направо, 2 — поворот на 180 градусов. Дан символ C — исходная ориентация локатора и числа N1 и N2 — две посланные ему команды. Вывести ориентацию локатора после выполнения данных команд.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.09.2013, 21:27
Ответы с готовыми решениями:

Вывести ориентацию локатора после выполнения команд
Локатор ориентирован на одну из сторон света ("С" — север, "3" — запад, "Ю" — юг, "В" — восток) и может принимать три цифровые...

Вывести ориентацию локатора после выполнения команд
Локатор ориентирован на одну из сторон света ( "C"-север, "З"-запад,"Ю"-юг,"В"-восток) и может принимать три цифровые команды: (1)-поворот...

Вывести ориентацию локатора после выполнения команд
Доброго времени суток всем, прошу помощи в besic номер задачи 11 . Большок спасибо кто откликнится .

1
908 / 756 / 833
Регистрация: 06.09.2013
Сообщений: 1,561
23.09.2013, 12:41
Лучший ответ Сообщение было отмечено Zaboza как решение

Решение

Насколько я понял, это задача Case11 из задачника Абрамяна. Вот её решение:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
var
  N1, N2, N, i: shortint;
  S, P: char;
  f: boolean; {Индикатор правильности введённой команды.
              f = true - команда верная
              f = false - команда неверная.}
 
{Далее описана дополнительная процедура ввода-вывода,
которая используется в основной программе: }  
 procedure InputOutput(S1: string);
 begin
  {Выводим направление: }
   writeln('  Направление - ', S1, '.');
   writeln;
  {Запрашиваем ввод команд: }
   write(' Введите две команды (-1, 1 или 2):');
   write('  ');
   readln(N1, N2)  //Вводим два номера
 end;
 
{Дополнительная процедура поворота локатора: возвращает
направление локатора после посланной ему одной команды
(N1 или N2). Используется в основной программе.}
 procedure Povorot(N: shortint; var S1: char);
 var
   t: char;
 begin
  {S1 - основная переменная, t - промежуточная.}
   t := S1; //Инициализация промежуточной переменной.
  {ДАЛЕЕ проверяем команды -1, 1 и 2: }
   case N of
   {Проверяем направление вправо: }
    -1: case t of
          'С': S1 := 'В'; //север - восток
          'З': S1 := 'С'; //запад - север
          'Ю': S1 := 'З'; //юг - запад
          'В': S1 := 'Ю'  //восток - юг
        end;
    {Проверяем направление влево: }    
     1: case t of
          'С': S1 := 'З'; //север - запад
          'З': S1 := 'Ю'; //запад - юг
          'Ю': S1 := 'В'; //юг - восток
          'В': S1 := 'С'  //восток - север
        end;
    {Проверяем поворот на 180 градусов: }    
     2: case t of
          'С': S1 := 'Ю'; //север - юг
          'З': S1 := 'В'; //запад - восток
          'Ю': S1 := 'С'; //юг - север
          'В': S1 := 'З'  //восток - запад
        end    
   end
 end;
 
{ОСНОВНАЯ ПРОГРАММА:}
begin
  S := 'С'; //Начальное направление на север.
  f := true; //пока что никакой команды нет.
 {Вызываем дополнительную процедеру по выводу
 результата и ввода значений N1 и N2: }
  InputOutput(S);
 {Далее продолжаем в цикле. Это делается для того,
 чтобы каждый раз не запускать программу, а только
 вводить новые значения: }
  repeat
   {Повторяем два раза (по количеству команд): }
    for i := 1 to 2 do
     begin
       case i of
         1: N := N1; //Для первой команды.
         2: N := N2  //Для второй команды.
       end;
     {Если команда выходит за границы дозволеного значения,}
       if (N < -1)or(N = 0)or(N > 2) then
        begin
          f := false; //то сообщаем о неверной команде
          break //и выходим из данного цикла for.
        end;
     {Если все ещё команда правильная, то вызываем процедуру
     Povorot, которая возвратит нам результат выполнения
     команды N (N1 или N2). Этим значением будет новое
     направление ориентации локатора:}
       if f = true then Povorot(N, S)
     end;
   {Если мы ещё не вышли из цикла, то вызываем процедуру
   для вывода результата и ввода новых команд: }
    if f = true then InputOutput(S)
 {И так до тех пор, пока не введём неверную команду:}   
  until f = false;
 {А если команда введена неверная, то сообщаем об ошибке:}
  writeln;
  writeln(' Вы ввели неверную команду.');
  write('  Конец.')
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2013, 12:41
Помогаю со студенческими работами здесь

Вывести ориентацию локатора после выполнения команд
Помогите пожалуйста!) нужно решение в Free Pascal) Вот задание: Локатор ориентирован на одну из сторон света (С-север, З-запад, Ю-юг,...

Вывести ориентацию локатора после выполнения команд
3.Оператор выбора Локатор ориентирован на одну из сторон света (&quot;С&quot; — север, &quot;З&quot; — запад, &quot;Ю&quot; — юг, &quot;В&quot; —...

Вывести ориентацию локатора после выполнения команд
9. Локатор ориентирован на одну из сторон света («С» — север, «З» — запад, «Ю» — юг, «В» — восток) и может принимать три цифровые команды...

Вывести ориентацию локатора после выполнения команд
Локатор ориентирован на одну из сторон света («С» – север, «З» – запад, «Ю» – юг, «В» – восток) и может принимать три цифровые команды...

Вывести ориентацию локатора после выполнения команд
Всем привет! Есть задачки которые нужно сделать в C++: 2) CASE11: Локатор ориентирован на одну из сторон света (&quot;С&quot; - север,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru