Локатор ориентирован на одну из сторон света

Локатор ориентирован на одну из сторон света

категории

  • C/C++ 64
  • Delphi/Pascal 1085
  • Java 42
  • Basic 786
  • Assembler 13
  • .NET 95
  • JavaScript 9
  • Perl 22
  • PHP 101
  • Ruby 2
  • Python 18
  • HTML/CSS 5
  • SQL 1
  • О программировании 1

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

Скриптописание и кодинг

Решаем задачи Абрамян на C. Matrix78

Matrix78. Дана матрица размера $$M imes N$$. Упорядочить ее строки так, чтобы их минимальные элементы образовывали убывающую последовательность.

Решаем задачи Абрамян на C. Matrix77

Matrix77. Дана матрица размера $$M imes N$$. Упорядочить ее столбцы так, чтобы их последние элементы образовывали убывающую последовательность.

Решаем задачи Абрамян на C. Matrix76

Matrix76. Дана матрица размера $$M imes N$$. Упорядочить ее строки так, чтобы их первые элементы образовывали возрастающую последовательность.

Решаем задачи Абрамян на C. Matrix75

Matrix75. Дана матрица размера $$M imes N$$. Элемент матрицы называется ее локальным максимумом, если он больше всех окружающих его элементов. Поменять знак всех локальных максимумов данной матрицы на противоположный. При решении допускается использовать вспомогательную матрицу.

Решаем задачи Абрамян на C. Matrix74

Matrix74. Дана матрица размера $$M imes N$$. Элемент матрицы называется ее локальным минимумом, если он меньше всех окружающих его элементов. Заменить все локальные минимумы данной матрицы на нули. При решении допускается использовать вспомогательную матрицу.

Решаем задачи Абрамян на C. Matrix73

Matrix73. Дана матрица размера $$M imes N$$. После последнего столбца, содержащего только отрицательные элементы, вставить столбец из нулей. Если требуемых столбцов нет, то вывести матрицу без изменений.

Читайте также:  Как узнать адрес по фамилии имени отчеству

Решаем задачи Абрамян на C. Matrix72

Matrix72. Дана матрица размера $$M imes N$$. Перед первым столбцом, содержащим только положительные элементы, вставить столбец из единиц. Если требуемых столбцов нет, то вывести матрицу без изменений.

Решаем задачи Абрамян на C. Matrix71

Matrix71. Дана матрица размера $$M imes N$$. Продублировать столбец матрицы, содержащий ее минимальный элемент.

Решаем задачи Абрамян на C. Matrix70

Matrix70. Дана матрица размера $$M imes N$$. Продублировать строку матрицы, содержащую ее максимальный элемент.

Решаем задачи Абрамян на C. Matrix69

Matrix69. Дана матрица размера $$M imes N$$ и целое число $$K$$ $$(1 le K le $$N$$)$$. После столбца матрицы с номером $$K$$ вставить столбец из единиц.

Прочитайте сначала задачу. Здесь идется про механизм (робот), который перемещается только влево, вправо или вперед в зависимости от команды, посланной ему. И есть четыре стороны света — север, запад, юг, восток, куда этот робот может направляться. Нужно после каждой команды определить его ориентацию относительно сторон света, если вначале он "смотрел" на север. Надо отметить, что при N=1 делать проверку не надо, поскольку направление останется прежним.

А теперь предположим, что начальное направление не задано и его нужно ввести с клавиатуры. Тогда имеем второе решение задачи Case10, которое отличается от предыдущего ещё и проверкой вводимых данных.

Мы можем каждый раз запускать программу для того, чтобы увидеть направление робота после начального северного. Но каждый раз после запуска (выполнения одной команды) программа остановится и потребует нового запуска. Для того чтобы увидеть робота, так сказать, в движении, нужно не запускать программу каждый раз, а организовать работу в цикле – запрашивать новую команду, где после её введения получим новое направление робота.

Читайте также:  Как сделать маленькую цифру в экселе

С этой целью будем использовать цикл while, условием вхождения в который будет проверка правильности введенной команды. Если команда введена верная, то после выполнения операторов цикла мы получим новое направление робота, если неверная — мы обойдем цикл и прочитаем в конце сообщение о неправильности введенной команды. А в самом цикле while будем проверять каждое направление по отдельности. Так, если сначала робот "смотрел" на север, то после поворота влево он повернется на запад, а после поворота вправо — на восток, и так все четыре направления. Для проверки направлений используем оператор выбора case.

Отличие четвертого варианта решения задачи Case10 в том, что здесь переменные S и N во вложенных операторах выбора case меняются местами: внешний – по S, а внутренний – по N. Цикл оставляем, но при необходимости его можно убрать.

Сначала прочитайте условие задачи выше. Здесь речь идет о локаторе, который может поворачивать влево, вправо или на 180 градусов. Как и в задаче case10, он ориентирован по сторонам света и начальная его позиция — на север (символ С). Но в отличие от предыдущей задачи, этому локатору подаются уже две команды поворота, и требуется определить ориентацию локатора после их выполнения. Это простейший вариант решения, используем только условный оператор if и оператор выбота case.

Основные моменты по строкам:

13-33) Проверяем номанду N1: если она равна -1, 1 или 2, то ставим ей в соответствие направление S, иначе в строке 32 поставим N1=0 (индикатор ошибочности команды). Вместо N1=0 можно использовать любое другое число, отличное от -1, 1 и 2, так как это делается для того, чтобы выяснить, надо ли проверять следующую команду N2 (если N1=0, то проверять, очевидно, нет смысла).

Читайте также:  Solidworks авторешение как включить

36-56) Проверяем команду N2.

Могу предложить следующий вариант решения. Пусть необходимо посчитать ориентацию робота после M введенных команд (N1, N2, N3 . Nm). Естественно, можно было бы сначала вводить числа N1, N2, . Nm, а потом определять направление робота. Но можно поступить проще: после каждого ввода команды находить ориентацию робота, а как будут введены все команды, выдать остаточный результат.

Здесь без цикла уже не обойтись. Для команд потребуется только одна переменная N , и еще одна number – для подсчета их количества.

Если использовать функцию, то предыдущий вариант решения Case11 может выглядеть так (все комментарии в коде):

Ссылка на основную публикацию
Лба 3923а схема электрическая принципиальная
Принесли светильник (рис.1), попросили посмотреть, можно ли что-нибудь сделать, чтобы заработал. Лампа в корпусе одна, на переключения выключателя не реагирует,...
Кофемашина nivona ошибка 8
Кофемашина представляет собой сложный прибор, в котором присутствуют механический блок, гидравлическая система с высоким давлением пара, электронный модуль. Если одна...
Лба 3923а схема электрическая принципиальная
Принесли светильник (рис.1), попросили посмотреть, можно ли что-нибудь сделать, чтобы заработал. Лампа в корпусе одна, на переключения выключателя не реагирует,...
Локатор ориентирован на одну из сторон света
категории C/C++ 64 Delphi/Pascal 1085 Java 42 Basic 786 Assembler 13 .NET 95 JavaScript 9 Perl 22 PHP 101 Ruby...
Adblock detector