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




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

16. Программировать - значит и редактировать


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

Чтобы исправить допущенные ошибки, можно перемещать курсор по всему экрану с помощью клавиш редактирования (см. приложение 1).

Рассмотрим пример. Предположим, мы хотим создать процедуру, при выполнении которой черепаха напишет букву Ю. Начинаем описание со слова ЭТО. (Оно заставляет компьютер перейти в процедурный режим.)

 ЭТО Ю 
  ВПИРЕД 30 
  НАЗАД 15 
  ВПРАВО 90 
  ВПЕРЕД 5 
  ВПРАВО 90 
  НАЗАД 15 
  ПОВТОРИ 2 [ВПЕРЕД 30 ВПРАВО 90 ВПЕРЕД 10 ВПРАВО 90] 
 КОНЕЦ 

После нажатия на МК - Ц на экране появляется сообщение:

ПОНЯТНО, ЧТО ТАКОЕ Ю.

Теперь напишем: 
 Ю 
 Компьютер начинает выполнять процедуру 10 и сообщает: 

 ЧТО ТАКОЕ ВПИРЕД? В СТРОКЕ 
  ВПИРЕД 30 
 НА УРОВНЕ 1 ПРОЦЕДУРЫ Ю 

Прочитав сообщение, понимаем, что в первой строке мы записали ВПИРЕД вместо ВПЕРЕД. Вводя команду РЕДАКТИРУЙ, приказываем компьютеру перейти в режим редактирования:

 РЕДАКТИРУЙ Ю 

Исправляем неверно записанную команду и снова выполняем процедуру. Появляется чертеж:


Опечатка устранена, но есть логическая ошибка.

Хороший способ обнаруживания логических ошибок - войти в роль черепахи. Делаем 30 шагов вперед, возвращаемся на 15 шагов назад, поворачиваемся направо на 90°, проходим 5 шагов вперед, снова поворачиваемся направо на 90°, делаем 15 шагов назад... Стоп! Черепаха чертит прямоугольник от верхнего правого угла. Необходима новая редакция процедуры. После того как мы заменили неправильную команду и спрятали черепаху, снова выполняем процедуру Ю. На сей раз должен получиться ожидаемый результат:


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

Процесс, при котором обнаруживают и устраняют ошибки в программе, называется отладкой программы. Соответствующий термин в английском языке - debugging (буквально - ловля блох). Говорят, будто происхождение этого странного термина связано с какой-то букашкой: она была воспринята как десятичная точка и это провалило космический полет. Вот уж действительно: от малой искры да большой пожар.

Запомните!

МК - Ц останавливает выполнение программы-редактора и заставляет компьютер воспринять описание новых слов;

МК - Г останавливает выполнение программы-редактора, описания новых слов при этом не запоминаются;

МК - Н перемещает курсор на одну строку ниже;

МК - П перемещает курсор на одну строку выше (в процедурном режиме);

МК-О вставляет пустую строку под курсором; ОСВ стирает знак влево от курсора;

МК - D стирает знак, на который наложен курсор;

(МК - У) перемещает курсор на один знак вправо;
(МК - X) перемещает курсор на один знак влево;
МК - А перемещает курсор в начало строки;

МК - Е перемещает курсор в конец строки;

МК - К стирает знак, на который наложен курсор, и все знаки справа от курсора;

МК - Ф перемещает курсор на 24 строки вперед (в процедурном режиме);

МК - Б перемещает курсор на 24 строки назад.

Упражнения
  1. Отредактируйте процедуру написания буквы Ю таким образом, чтобы изменился ее масштаб.
  2. Отредактируйте процедуру из упр. 1 так, чтобы изменился цвет буквы Ю.
  3. Нарисуйте при помощи процедуры стрелки часов, показывающие 5 ч 40 мин. Отредактируйте процедуру так, чтобы стрелки показывали 12 ч 45 мин.
  4. Отредактируйте процедуру ФИГУРА так, чтобы при ее выполнении черепаха начертила трапецию:
    ЭТО ФИГУРА
     БЕЗСЛЕДА ДО -30 20 
     СОСЛЕДОМ ДО 20 60 
     ДОАБСЦ -10 
     ДО 30 20 
     ДОАБСЦ -30
    КОНЕЦ
    
    
  5. Напишите процедуру под именем СЕТКА для вычерчивания фигуры, представленной на рис. 42. Длина стороны клетки должна быть равна 10 шагам черепахи. Используйте команды ДОАБСЦ и ДООРД.
  6. Пусть сетка в упр. 5 представляет собой разлинованный бильярдный стол. Продолжите путь бильярдного шара. Он должен остановиться, попав в угол стола (см. рис. 43). Отмечайте координаты точек, в которых шар отскакивает от стенки. По окончании эксперимента создайте процедуру, описывающую движение бильярдного шара.
  7. Отредактируйте процедуру вычерчивания бильярдного стола СЕТКА (из упр. 5) таким образом, чтобы новая процедура послужила для изображения стола с размерами 6*8 клеток.
  8. Проследите путь шара на бильярдном столе в упр. 7. Движение начинается из нижнего левого угла.
    Рис. 42
    Рис. 42

    Рис. 43
    Рис. 43

  9. Закончите программу ПЕТРУШКА таким образом, чтобы при ее выполнении прозвучала мелодия Петрушка:

    ЭТО ПЕТРУШКА
     ТАКТ1
     ТАКТ2
     ТАКТ1
     TAKT4
     TAKT5
     TAKT2.1
     TAKT5.1
     TAKT8
    КОНЕЦ
    
    
    Процедуры ТАКТ2.1 и ТАКТ5.1 получите путем редактирования процедур ТАКТ2 и ТАКТ5.
предыдущая главасодержаниеследующая глава








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