Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Выполнение вспомогательного алгоритма с аргументамиСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Если в основном алгоритме написать вызов "квадрат (4)", то компьютер запомнит, что аргумента равен 4, и при выполнении алгоритма "квадрат (арг вещ а)" скомандует Чертежнику: опустить перо сместиться на вектор (4, 0) сместиться на вектор (0, 4) сместиться на вектор (-4, 0) сместиться на вектор (0, -4) поднять перо
Если же в основном алгоритме написать вызов "квадрат (6)", то компьютер запомнит, что аргумент а равен 6, и скомандует Чертежнику:
опустить перо сместиться на вектор (6, 0) сместиться на вектор (0, 6) сместиться на вектор (-6, 0) сместиться на вектор (0, -6) поднять перо
Модель памяти компьютера
Поясним подробнее, как компьютер запоминает значения аргументов в своей памяти. Память компьютера удобно представлять в виде обычной классной доски, на которой можно записывать информацию, читать, стирать, записывать заново и т. д. Место, отводимое в памяти компьютера для хранения информации, удобно изображать прямоугольником, внутри которого записывается сама информация (значение аргумента). Такой прямоугольник мы будем называть ячейкой памяти. При выполнении каждого алгоритма ему выделяется отдельный участок памяти, где создаются ячейки для аргументов. После окончания выполнения алгоритма эта память освобождается. Память алгоритма удобно изображать в виде большого прямоугольника, внутри которого находятся прямоугольники меньшего размера, соответствующие ячейкам. Возможный вид памяти при исполнении алгоритма "квадрат" показан на рисунке 44 (здесь а=4)
Рис. 44
Алгоритмы с несколькими аргументами
алг прямоугольник (арг вещ а, b) дано | перо Чертежника в левом нижнем углу А будущего | прямоугольника и поднято надо | нарисован прямоугольник со сторонами а и b, перо Чертежника | в точке А и поднято Нач опустить перо сместиться на вектор (а, 0) сместиться на вектор (0, b) сместиться на вектор (-а, 0) сместиться на вектор (0, - b) поднять перо Кон При вызове такого алгоритма важно правильно задать порядок следования аргументов. Соответствие между аргументами в команде вызова и в заголовке алгоритма устанавливается по порядку их следования. На рисунке 45, а показано изображение, полученное при вызове "прямоугольник (3, 7)", а на рисунке 45, б — изображение, полученное при вызове "прямоугольник (7, 3)". Рис. 45
14.5. Аргументы в заголовке цикла n раз
Аргументы алгоритма можно использовать в любых командах алгоритмического языка, где могут быть числа, в том числе в заголовке цикла n раз. При помощи цикла n раз с аргументом можно составить алгоритмы для смещения Робота на заданное число клеток в нужном направлении, например:
дано | на поле Робота стен нет надо | Робот сместился на n клеток влево нач нц n раз | влево Кц Кон Аналогично можно составить алгоритмы "вниз на (арг цел n)", "вверх на (арг цел n)" и "вправо на (арг цел n)". В дальнейшем мы часто будем пользоваться этими алгоритмами как вспомогательными. Обратите внимание, что без помощи цикла n раз алгоритм А40 составить нельзя. Таким образом, применение аргументов открывает новые возможности в использовании этой простой конструкции: цикл n раз с аргументом не только сокращает запись, но и позволяет решать задачи, для которых невозможен простой линейный алгоритм.
Закрашивание прямоугольника
В § 9 мы решали задачу о закрашивании Роботом прямоугольника. Тогда мы вынуждены были указывать в алгоритме конкретные размеры прямоугольника. Используя аргументы, мы можем переписать этот алгоритм так, чтобы при его выполнении закрашивался прямоугольник произвольного размера.
дано | на поле Робота стен нет надо | закрашен прямоугольник размером m*n, Робот в исходном положении нач нц n раз закрасить ряд (m) вниз кц вверх на (n) Кон
алг закрасить ряд (арг цел m) дано | на поле Робота стен нет надо | Робот закрасил m клеток вправо и вернулся в исходное положение нач нц m раз |закрасить; вправо кц нц m раз | влево Кц Кон
алг вверх на (аргцел n)
надо | Робот сместился на n клеток вверх нач нц n раз | вверх Кц Кон
|
||||||||||||||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 555; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.224.116 (0.006 с.) |