НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

22. Черепаха становится умнее


Мы уже убедились в том, что черепаха - умелый чертежник. Теперь заставим ее начертить башню (см. рис. 56). У квадратов, составляющих башню, разные размеры. Поэтому нам понадобятся четыре "квадратные" процедуры:

Рис. 56
Рис. 56

ЭТО КВАДРАТ 1
 ПОВТОРИ 4 [ВПЕРЕД 40 ВПРАВО 90]
КОНЕЦ

ЭТО КВАДРАТ2
 ПОВТОРИ 4 [ВПЕРЕД 20 ВПРАВО 90]
КОНЕЦ

ЭТО КВАДРАТ3
 ПОВТОРИ 4 [ВПЕРЕД 10 ВПРАВО 90]
КОНЕЦ

ЭТО КВАДРАТ4
 ПОВТОРИ 4 [ВПЕРЕД 5 ВПРАВО 90]
КОНЕЦ

Ну и морока! Нельзя ли раз и навсегда объяснить черепахе, что такое квадрат? Подумаем, как должна выглядеть процедура КВАДРАТ, чтобы можно было легко менять длину стороны.

В командах ВПЕРЕД и НАЗАД, например, есть ввод, указывающий длину отрезка, который должна пройти черепаха.

Подобным образом, записав КВАДРАТ 40, мы потребуем от черепахи, чтобы она начертила квадрат с длиной стороны 40 шагов, а записав КВАДРАТ 20 - квадрат с длиной стороны 20 шагов.

Ясно, что в процедуру нужно ввести переменную (параметр), с помощью которой можно задавать длину стороны квадрата. Назовем эту переменную, например, СТОРОНА. Тогда универсальную процедуру КВАДРАТ можно описать так:

ЭТО КВАДРАТ :СТОРОНА
 ПОВТОРИ 4 [ВПЕРЕД :СТОРОНА ВПРАВО 90]
КОНЕЦ

Если сейчас записать КВАДРАТ 40, переменная СТОРОНА получит значение 40 и черепаха начертит квадрат со стороной 40 шагов. Говорят еще, что процедура выполняется с вводом 40.

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

СПРЯЧЬ 
КВАДРАТ 40 
КВАДРАТ 20 
КВАДРАТ 10 
КВАДРАТ 5


Чтобы получилась башня, следует поставить квадраты один на другой. Для этой цели воспользуемся процедурой ПРЫЖОК.

ЭТО ПРЫЖОК :РАССТ 
 ВПЕРЕД :РАССТ 
 ВПРАВО 90 
 ВПЕРЕД :РАССТ/4 
 ВЛЕВО 90
КОНЕЦ

А теперь "построим" башню:

ЭТО БАШНЯ 
 КВАДРАТ 40 
 ПРЫЖОК 40 
 КВАДРАТ 20 
 ПРЫЖОК 20 
 КВАДРАТ 10 
 ПРЫЖОК 10 
 КВАДРАТ 5 
 ПРЫЖОК 5
КОНЕЦ

ПОНЯТНО, ЧТО ТАКОЕ БАШНЯ. 
БАШНЯ

Мы получили то, что хотели, но есть основания для недовольства. В результате стольких повторений сама процедура БАШНЯ стала похожей на башню. Ее можно сократить:

ЭТО БАШНЯ
 СДЕЛАЙ "S 40
 ПОВТОРИ 4 [КВАДРАТ :S ПРЫЖОК :S СДЕЛАЙ "S :S/2]
КОНЕЦ

А если мы хотим строить башни разных размеров? Опять введем параметр:

ЭТО БАШНЯ :РАЗМЕР
 СДЕЛАЙ "S :РАЗМЕР 
 ПОВТОРИ 4 [КВАДРАТ :S ПРЫЖОК :S СДЕЛАЙ "S :S/2]
КОНЕЦ

Вот несколько башен:


Наконец, можно построить и башню, похожую на Пизанскую:

ЭТО ПИЗА 
 ВПРАВО 10 
 БАШНЯ 30 
КОНЕЦ

ПОНЯТНО, ЧТО ТАКОЕ ПИЗА.
ПИЗА

Упражнения
  1. Начертите башню из 8 уменьшающихся квадратов.
  2. Напишите программу, с помощью которой можно чертить башни, составленные из произвольного числа квадратов (см. упр. 1).
  3. Начертите башню из кубиков.
  4. Какие фигуры можно начертить с помощью процедуры:
    ЭТО ФИГУРА8 :УГОЛ
     ПОВТОРИ 8 [ВПЕРЕД 40 ВПРАВО :УГОЛ]
    КОНЕЦ
    
    
    При каких значениях параметра УГОЛ получаются фигуры, образованные замкнутой ломаной линией?
  5. Напишите процедуру, с помощью которой можно чертить правильные пятиугольники, шестиугольники и восьмиугольники с произвольной длиной стороны.
  6. Для чего служит процедура
    ЭТО ФИГУРА9 :РАЗМЕР :N
     ПОВТОРИ :N [ВПЕРЕД :РАЗМЕР ВПРАВО 360/:N]
    КОНЕЦ 
    
    
  7. Сравните фигуры, которые получаются а помощью процедуры ФИГУРА9 (см. упр. 6), с фигурами, получающимися с помощью процедуры:
    ЭТО ФИГУРА10 :РАЗМЕР :N :L 
     ПОВТОРИ :N [ВПЕРЕД :РАЗМЕР ВПРАВО :L*360/:N]
    КОНЕЦ
    
    
  8. Определите, при каких значениях параметров N и L процедуры ФИГУРА10 из упр. 7 можно начертить на экране пятиконечные, восьмиконечные, двенадцати конечные и восемнадцати конечные звезды.
  9. Для чего служит процедура
    ЭТО СУММА 1 :N 
     СДЕЛАЙ "S 0 
     СДЕЛАЙ "L 1
     ПОВТОРИ :N [СДЕЛАЙ "S :S+:L СДЕЛАЙ "L :L+2]
     ВЫВЕДИ :S
    КОНЕЦ
    
    
  10. Упростите процедуру из упр. 9.
  11. Подсчитайте с помощью компьютера суммы:
    а) 1+3+5+7;
    б) 1+3+5+7+. . .+95;
    в) 1+3+5+7+. . .+363.
  12. Подсчитайте с помощью компьютера суммы: а) 1+2+3+. . .+120;
    б) 1+2+3+. . .+345;
    в) 1+2+3+. . .+ 1111;
    г) 2+4+6+. . .+2750.
  13. Напишите программу для вычисления сумм вида:

  14. Напишите программу, при выполнении которой компьютер будет играть подобно музыкальной шкатулке мелодию:

  15. Напишите программу, с помощью которой можно решать все уравнения вида
    5x+3 =c
  16. Измените процедуры вычерчивания букв таким образом, чтобы получались буквы разного размера.
  17. Начертите фигуру, представленную на рис. 57.
    Рис. 57
    Рис. 57

  18. Начертите фигуры, подобные фигуре из упр. 17, но составленные из других типов звезд.
  19. Исполните программу ЧЕЛОВЕЧЕК:
    ЭТО ЧЕЛОВЕЧЕК 
     ТЕМП :VIVO
     ПОВТОРИ 2  [ИГРАЙ [С1] [8] ТЕМА1]
     ИГРАЙ [Р] [81 ПОВТОРИ 2 [TEMA2] 
     ТЕМА1 
    КОНЕЦ 
    
    
    ЭТО ТЕМА1
    

    КОНЕЦ ЭТО ТЕМА2

    КОНЕЦ
    Если программа введена правильно, вы услышите мелодию Э. Хампердинка Стоит стар человечек. Сделайте нотную запись этой мелодии.
предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь