Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Заголовок алгоритма с аргументами

Читайте также:
  1. Алгоритмы с несколькими аргументами
  2. Анализ алгоритма Евклида
  3. Выполнение вспомогательного алгоритма с аргументами
  4. Генетика, культура и творчество в алгоритмах естественного отбора
  5. Еще один пример алгоритма, работающего с величинами
  6. Заголовок и/или лозунг.

Как мы уже знаем, заголовок алгоритма описывает условие задачи, а тело алгоритма — ее решение. Чтобы записать заголовок алгоритма, обычно достаточно внимательно изучить условие, не думая пока о решении.

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

Например, в задаче «квадрат» такой дополнительной информацией была сторона квадрата, поэтому у алгоритма появился один аргумент.

В общем случае переменным в условии задачи соответствуют аргументы в заголовке алгоритма.

 

ЗАДАЧИ И УПРАЖНЕНИЯ

1. Составьте алгоритм "прямоугольник (арг вещ х, у, а, в)", который рисует прямоугольник с длинами сторон а и в, начиная и заканчивая в углу — точке (х, у) (рис. 46).

2. Используя алгоритм "прямоугольник" (упр. 1), составьте алгоритмы рисования робота и собачки (рис. 47).

 

 

 

а) Робот б) Собачка

Рис. 47

 

3 Составьте алгоритмы рисования схем (рис. 48)

 


 

Рис. 48

 

4. Придумайте какую-нибудь картинку, составленную из прямоугольников. Напишите алгоритм для рисования этой картинки.

5. Сколько клеток будет закрашено и сколько команд компьютер выдаст Роботу при выполнении вызова алгоритма А41:

а) закрасить прямоугольник (1, 1);

б) закрасить прямоугольник (0, 11);

в) закрасить прямоугольник (9, 0);

г) закрасить прямоугольник (9, 11)?

6. Опишите, как будет выполняться вызов А41 "закрасить прямоугольник (3, 3)" в ситуациях, изображенных на рисунке 49.

 

Рис. 49

 

7. Измените алгоритмы "закрасить ряд" (А42) и "закрасить прямоугольник" (А41) так, чтобы при вызове "закрасить прямоугольник (3, 3)" в ситуации на рисунке 49б отказа не возникало, а оказался закрашенным квадрат 3x3 клетки.

8. Нарисуйте результат выполнения алгоритма:

А44
а) алг тоннель

нач

квадрат (10); сместиться на вектор (1,1)

квадрат (7); сместиться на вектор (1,1)

квадрат (4); сместиться на вектор (1,1)

квадрат (1)

кон

А45
б) алг спираль

Нач

опустить перо

виток (1); виток (3); виток (5); виток (7); виток (9)

поднять перо

Кон

А46
алг виток (арг вещ а)

Нач

сместиться на вектор (а, 0)

сместиться на вектор (0, -а)

сместиться на вектор (-а -1,0)

сместиться на вектор (0, а + 1)

Кон

Что нарисует Чертежник при выполнении алгоритма "спираль" (А45), если в алгоритме "виток" (А46) всюду заменить 1 на 2?

Измените алгоритм "виток" (А46) так, чтобы спираль в алгоритме А45 раскручивалась против часовой стрелки.

Составьте алгоритм рисования спирали, изображенной на рисунке 50.

Измените ваше решение упражнения 11 так, чтобы расстояние между витками при каждом новом витке увеличивалось.

 

 

Рис. 50

 

 

13. Нарисуйте результат выполнения алгоритма "орнамент":

А47
алг орнамент

дано | перо Чертежника в левом верхнем углу будущего

| орнамента размером 12x12 и поднято

надо | нарисован орнамент, перо в левом нижнем углу и поднято

нач

| ряд; ряд; ряд

кон

А48
алг ряд

дано | перо Чертежника в левом верхнем углу будущего ряда

| размером 12x4 и поднято

надо | нарисован ряд, перо в левом нижнем углу ряда и поднято

нач

I фрагмент; фрагмент; фрагмент

I сместиться на вектор (-12,-4)

кон

А49
алг фрагмент

дано | перо Чертежника в левом верхнем углу будущего

| фрагмента размером 4x4 и поднято

надо | нарисован фрагмент, перо в правом верхнем углу и поднято

нач

опустить перо

сместиться на вектор (2, -2)

сместиться на вектор (-2, -2)

поднять перо; сместиться на вектор (4, 0); опустить перо

сместиться на вектор (0, 1)

сместиться на вектор (-2, 0)

сместиться на вектор (0, 2)

сместиться на вектор (2, 0)

сместиться на вектор (0, 1)

поднять перо

кон

 

 

 

Рис 51

 

13. По образцу упражнения 13 составьте алгоритмы рисования орнаментов (рис. 51).

 

15. Составьте алгоритм "горизонтальная ломаная (аргцел n, аргвещ а)", рисующий с помощью Чертежника ломаную линию с 2 n звеньями, показанную на рисунке 52.

 

Рис. 52

 

16. Составьте алгоритм "вертикальная ломаная (аргцел n, арг вещ а)", рисующий ломаную из упражнения 15, повернутую вокруг начального положения пера на 90° по часовой стрелке.

17. Используя алгоритмы из упражнений 15 и 16 как вспомогательные, составьте алгоритмы, рисующие:

а) т горизонтальных ломаных с 2 n звеньями одна под другой на расстоянии b друг от друга;

б) т вертикальных ломаных с 2 n звеньями одна под другой на расстоянии b друг от друга.

18. Компьютер выполнил последовательность команд:

горизонтальная ломаная (5, 1) вертикальная ломаная (7, 1) горизонтальная ломаная (5,-1) вертикальная ломаная (7, -1)

Что нарисовал Чертежник?

19. Составьте алгоритм с целыми аргументами m и n, который с помощью Робота закрашивает клетки, отмеченные на рисунке 53.

 

Рис. 53

 

 


Дата добавления: 2015-07-14; просмотров: 717 | Нарушение авторских прав


Читайте в этой же книге: Команды с параметрами | Абсолютное и относительное смещение | Использование вспомогательных алгоритмов | Пример алгоритма с аргументом | Выполнение вспомогательного алгоритма с аргументами | Алгоритмы с несколькими аргументами | Порядок действий в арифметических выражениях | Компьютер выполняет подсчет | Модель памяти компьютера | Еще один пример алгоритма, работающего с величинами |
<== предыдущая страница | следующая страница ==>
Закрашивание прямоугольника| Арифметические выражения в алгоритмическом языке

mybiblioteka.su - 2015-2024 год. (0.011 сек.)