Введение
Деятельность отдельных людей, групп, коллективов и организаций сейчас все в большей степени начинает зависеть от их информированности и способности эффективно использовать имеющуюся информацию. Прежде чем предпринять какие-то действия, необходимо провести большую работу по сбору и переработке информации, ее осмыслению и анализу. Отыскание рациональных решений в любой сфере требует обработки больших объемов информации, что подчас невозможно без привлечения специальных технических средств.
Возрастание объема информации особенно стало заметно в середине XX в. Лавинообразный поток информации хлынул на человека, не давая ему возможности воспринять эту информацию в полной мере. В ежедневно появляющемся новом потоке информации ориентироваться становилось все труднее. Подчас выгоднее стало создавать новый материальный или интеллектуальный продукт, нежели вести розыск аналога, сделанного ранее.
Ряд причин породили весьма парадоксальную ситуацию - в мире накоплен громадный информационный потенциал, но люди не могут им воспользоваться в полном объеме в силу ограниченности своих возможностей.
Информационный кризис поставил общество перед необходимостью поиска путей выхода из создавшегося положения. Внедрение ЭВМ, современных средств переработки и передачи информации в различные сферы деятельности послужило началом нового эволюционного процесса, называемого информатизацией, в развитии человеческого общества, находящегося на этапе индустриального развития.
В настоящее время все страны мира в той или иной степени осуществляют процесс информатизации. Неправильно выбранная стратегия информатизации или ее недостаточные динамизм и мобильность могут привести к существенным, а подчас драматическим изменениям во всех сферах жизни страны.
В любой стране независимо от уровня ее развития понимают в той или иной мере неизбежность и необходимость претворения в жизнь идей информатизации общества.
Для свободной ориентации в информационном потоке человек должен обладать информационной культурой как одной из составляющих общей культуры.
Информационная культура вбирает в себя знания из тех наук, которые способствуют ее развитию и приспособлению к конкретному виду деятельности (кибернетика, информатика, теория информации, математика, теория проектирования баз данных и ряд других дисциплин). Неотъемлемой частью информационной культуры являются знание новой информационной технологии и умение ее применять как для автоматизации рутинных операций, так и в неординарных ситуациях, требующих нетрадиционного творческого подхода.
В информационном обществе центр тяжести приходится на общественное производство, где существенно повышаются требования к уровню подготовки всех его участников. Поэтому в программе информатизации следует особое внимание уделить информатизации образования как направления, связанного с приобретением и развитием информационной культуры человека. Это, в свою очередь, ставит образование в положение «объекта» информации, где требуется так изменить содержание подготовки, чтобы обеспечить будущему специалисту не только общеобразовательные и профессиональные знания в области информатики, но и необходимый уровень информационной культуры.
Повсеместное внедрение персонального компьютера во все сферы народного хозяйства, новые его возможности по организации «дружественной» программной среды, ориентированной на пользователя, использование телекоммуникационной связи, обеспечивающей новые условия для совместной работы специалистов, применение информационных технологий для самой разнообразной деятельности, постоянно растущая потребность в специалистах, способных ее осуществлять, ставят перед государством проблему по пересмотру всей системы подготовки на современных технологических принципах Макарова Н.В., Информатика. М.: Финансы и статистика, 2001 г. стр. 17-23..
Настоящее исследование посвящено проблемам теории и методики преподавания темы «Среда программирования ЛогоМиры» в 7 классе средней школы.
Тема данной работы: 'Методика развития алгоритмического стиля мышления школьников 7 класса на основе использования среды программирования ЛогоМиры 2.0'.
Цель исследования: разработать методику преподавания темы «Среда программирования ЛогоМиры» в 7 классе.
Объект исследования: процесс обучения информатике и информационным технологиям в средней школе на базовом уровне.
Предмет исследования: изучение среды программирования ЛогоМиры в 7 классе.
Для достижения цели были поставлены следующие задачи:
1. Проанализировать учебно-методическую, психологическую литературу, связанную с разделом «Алгоритмизация и программирование».
2. Провести психолого-педагогический анализ индивидуальных особенности развития и формирования мышления у учащихся 5-7 классов.
3. Определить перечень вопросов, которые необходимо рассматривать при изучении темы «Среда программирования ЛогоМиры».
4. Разработать основные методические подходы и рекомендации по каждому из вопросов темы «Среда программирования ЛогоМиры».
5. Разработать систему заданий по теме «Среда программирования ЛогоМиры».
6. Создать электронный задачник по теме «Среда программирования ЛогоМиры» (с решениями).
7. Провести экспериментальную проверку основных положений дипломной работы.
Теоретическая значимость:
1. Обоснован выбор языка программирования для первоначального знакомства учащихся с основами программирования.
2. Разработаны методические рекомендации по изучению темы «Среда программирования ЛогоМиры», поурочное и тематическое планирование.
3. Описаны достаточно полно и подробно основы среды программирования ЛогоМиры 2.0.
Практическая значимость:
1. Разработаны методические рекомендации по реализации структуры и содержания по теме «Среда программирования ЛогоМиры».
2. Представлен комплекс задач по теме «Среда программирования ЛогоМиры».
3. Создан электронный задачник по теме «Среда программирования ЛогоМиры» с решениями. Он может быть использован учителем при первом знакомстве со средой ЛогоМиры в качестве рекламы, а также учитель может посмотреть, как реализуется на языке Лого та или иная процедура в случае затруднения, может показать учащимся результат той или иной заданной работы или возможный итоговый проект.
Работа состоит из введения, 5 глав, заключения, библиографии и приложений. В первой главе сравнивается содержание, подходы, понятия раздела «Алгоритмизация и программирование» в различных учебниках. Во второй главе рассматриваются критерии отбора языка программирования для первоначального знакомства с программированием, и обосновывается выбор системы программирования. А также индивидуально-психологические, возрастные особенности детей 11-12 лет. В третьей главе даётся историческая справка о создании и целях создания среды Лого, также содержится описание возможностей среды ЛогоМиры 2.0. Четвертая глава посвящена методике преподавания темы «Среда программирования ЛогоМиры». Пятая глава является практической частью дипломной работы, в которой описывается когда и как можно использовать электронный задачник, система заданий по курсу «ЛогоМиры». В приложении приводится вариант поурочного и тематического планирования, дискета с электронным задачником по теме «Среда программирования ЛогоМиры».
1. Анализ учебно-методической литературы по разделу «Алгоритмизация и программирование»
В настоящее время происходит активный процесс информатизации общества. Под информатизацией понимается внедрение компьютерной техники и новых информационных технологий в различные сферы производства, общественной и личной жизни людей. Как в начале XX века электрификация привела к значительному росту общественного производства и улучшению бытовых условий жизни людей, так в конце века такое же революционное значение для развития человеческого общества имеет информатизация.
Научной и инструментальной базой информатизация общества являются теоретическая и прикладная информатика.
Согласно концепции Федеральных компонентов государственного образовательного стандарта (ФК ГОС) по информатике, основными целями обучения являются:
1. Формирование основ научного мировоззрения.
2. Развитие мышления учащихся.
3. Подготовка учащихся к практическому труду, продолжению образования.
Современная информатика делится на теоретическую и прикладную. Теоретическая информатика включает в себя множество научных дисциплин, для которых общим предметом изучения является информация. Среди них: теория информации, теория алгоритмов, теоретическая кибернетика, математическое и информационное моделирование, дискретная математика, искусственный интеллект и др. К прикладной информатике относятся все области разработки и использования компьютерной техники, ее аппаратных и программных составляющих. Таким образом, в школе на уроках информатики должны изучаться элементы теоретических научных дисциплин, а также компьютерная техника и технологии.
Наличие теоретического, научного содержания делает этот предмет элементом фундаментального школьного образования, решает первую из перечисленных выше задач - задачу формирования основ научного мировоззрения учащихся.
Безусловно, информатика вносит значительный вклад в достижение второй цели образования - развития мышления детей. В этом отношении проект ФК ГОС значительное место оставляет за алгоритмическим мышлением.
Третья задача - подготовка школьников к практической деятельности, труду, к продолжению образования. В проекте ФК ГОС по этому поводу сказано: «Реализация этой задачи связана сейчас с ведущей ролью обучения информатике в формировании компьютерной грамотности и информационной культуры школьников, навыков использования новых информационных технологий, важнейших компонентов подготовки к практической деятельности, жизни в информационном обществе».
Проект федерального компонента образовательного стандарта по информатике определил основные содержательные линии предмета, обозначил их внутреннее наполнение.
Вот перечень содержательных линий базового курса:
1. Информация и информационные процессы
2. Представление информации
3. Алгоритмизация и программирование
4. Компьютер
5. Моделирование и формализация
6. Информационные технологии Семакин И. И другие. Преподавание базового курса информатики в средней школе. Методическое пособие. М.: Лаборатория Базовых Знаний, ЮНИМЕДИАСТАЙЛ, 2002 г..
Рассмотрим в этой главе, как реализуется раздел Алгоритмизация и программирование» в различных учебниках по информатике информационным технологиям. Сопоставим содержание и уровень изложения материала этого раздела в учебниках «Информатика, 7-9» под редакцией Семакина И., «Информатика, 7-9» под редакцией Макаровой Н.В. и под редакцией Угриновича Н. «Информатика и информационные технологии, 9 класс».
Во-первых, выясним, после какой темы изучается, в какой главе рассматриваются понятия названного выше раздела. В учебнике под редакцией Макаровой Н.В. размещена тема «Алгоритмы» в третьем разделе «Программное обеспечение информационных технологий» после раздела «Информационная картина мира», раскрывающего основные аспекты моделирования. В учебнике под редакцией Семакина И. 38 параграф «Определение и свойства алгоритма» включены в десятую главу «Информация и управление». Этот параграф по замыслу автора является логическим продолжением темы «Автоматизированные и автоматические системы управления». Глава 2 «Основы алгоритмизации и объектно-ориентированного программирования» в учебнике Угриновича Н. рассматривается перед главой «Моделирование и формализация», а после нее изучается «Кодирование и обработка графической и мультимедийной информации». Состоит вторая глава из 7 разделов, каждый из которых состоит из нескольких параграфов. Всего в этой главе 19 параграфов. Большая часть из них посвящена теоретическим основам объектно-ориентированного языка программирования Visual Basic for Application (VBA).
Выясним, какие понятия рассматриваются в каждом из учебников, и с каких точек зрения. Понятие «алгоритм» в учебниках под редакцией И. Семакина, Н.В. Макаровой и Н. Угриновича рассматриваются с различных точек зрения. В первом случае явно прослеживается кибернетический подход, во втором, алгоритмический с использованием терминологии моделирования, в третьем также алгоритмический подход, ориентированный на изучение VBA. В качестве доказательства приведём определение понятия «алгоритм» из этих учебников.
«Алгоритм - это последовательность команд, управляющая работой какого - либо объекта» (И. Семакин «Информатика, 7-9»).
«Алгоритм - описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов» (Макарова Н.В. «Информатика, 7-9).
«Алгоритм - конечная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, в форме понятных исполнителю команд» (Угринович Н. «Информатика и информационные технологии, 9).
В учебнике под редакцией Макаровой Н.В. не рассматривается какой-либо язык программирования, а лишь даётся определение понятию «программирование» и объясняется различие между объектным и процедурным подходом к созданию программы. В связи с этим изучаемые темы раздела «Алгоритмизация и программирование» плавно подводят к рассмотрению классификации программного обеспечения и дальнейшему изучению среды Windows. Под редакцией этого же автора создан практикум к учебнику «Информатика, 7-9», в котором рассматривается среда программирования ЛогоМиры, исполнитель черепашка и её СКИ (система команд исполнителя).
И. Семакин же строит изложения материала так, чтобы подготовить учащихся к изучению языка программирования Паскаль. Поэтому после знакомства с понятием «алгоритм» вводится понятие «исполнительный алгоритм», который определяется как объект управления. Опять же прослеживается кибернетический подход.
В учебнике Макаровой Н.В. знакомство с понятием «исполнитель» происходит после изучения свойств алгоритма, видов алгоритма, форм представления алгоритма, стадий создания алгоритма. Определяется понятие «исполнитель» как объект, который выполняет алгоритм. Нет даже упоминания об учебных исполнителях, о системе команд исполнителя (СКИ).
Во всех учебных изданиях рассматривается понятие «программа». В учебнике под редакцией Семакина И.И Угриновича Н. даётся чёткое определение: «Программа - алгоритм, записанный на языке исполнителя». Угринович уточнил определение: «Программа - это алгоритм, записанный на понятном компьютеру языке программирования». В учебнике под редакцией Макаровой Н.В. такое понимание понятия «программа» завуалирована. Приводится следующее определение: «Программа - упорядоченная последовательность команд (инструкций), необходимых компьютеру для решения поставленных задач». Также написано, что программа обладает теми же свойствами, что и алгоритм. Из этого вытекает понимание понятия «программа» как алгоритма, записанного на языке понятном исполнителю. В явном виде это не указывается.
В учебнике под редакцией Угриновича Н. рассматриваются сначала свойства алгоритма, упоминается понятие исполнитель, поясняющееся двумя примерами «человек» и «микропроцессор». Хорошо объясняется понятие «система команд». Угринович отходит от принятой терминологии раздела «Алгоритмизация и программирование» и вводит понятие «система команд» вместо привычного понятия «система команд исполнителя» или СКИ. Понятие программа вводится во втором параграфе «Формальное выполнение алгоритма». Виды алгоритмических структур «линейная», «ветвление», «выбор», «цикл» вводится при объяснении основ программирования на языке VBA в конце второй главы.
Рассматриваемые в учебнике примеры по-разному формализуются: у Семакина И. с помощью алгоритмического языка, словесного описания и в виде блок-схем. У Макаровой Н.В. - большая часть в виде словесного описания и несколько блок-схем. Угринович формализует алгоритмы с помощью словесного описание при введении понятия «алгоритм», впервые знакомит с блок-схемами при рассмотрении основных алгоритмических структур.
Кибернетический подход в учебнике под редакцией Семакина И. проявил себя и в определении понятия «программирование». С точки зрения этого автора «Программирование - это раздел информатики занимающийся вопросами разработки программ управления компьютером». У Макаровой Н.В. оно трактуется как синоним слова «кодирование» и как процесс составления программы для компьютера. В учебнике под редакцией Угриновича Н. определение понятию «программирование» не рассматривается.
В учебнике под редакцией Макаровой Н.В. лишь упоминается термин «оператор» с пояснением, что это команда. В главе двенадцать учебника Семакина И. даётся полное содержательное пояснение этого слова. В связи с особенностями объектно-ориентированного программирования понятие оператор в учебнике под редакцией Угриновича Н. не рассматривается.
Проанализировав содержание учебников, можно сделать вывод, что три эти учебника реализуют требования стандарта по количеству изученных терминов, и уровню изложения материала. Но всё же лучше изложен этот раздел в учебнике под редакцией Семакина И.
Основная задача изучения раздела «Алгоритмы и системы программирования» - это не столько изучение алгоритмов и систем программирования, сколько развитие алгоритмического стиля мышления.
Целью обучения информатики в общеобразовательной школе является обеспечение прочного и сознательного овладения учащимися знаниями о процессах преобразования, передачи и использования информации и на этой основе раскрытие значения информационных процессов в формировании современной научной картины мира, роль информационных технологий в развитии общества. Важную роль при этом играет изучение учебного материала данного раздела, которое обеспечивает учащимся возможность уяснить смысл понятия алгоритма, узнать свойства алгоритма, понять возможность автоматизации информационной деятельности человека при исполнении алгоритмов. Учащиеся должны освоить основные алгоритмические конструкции (цикл, ветвление, процедура), научиться применять их для построения алгоритмов при решении учебных и жизненных информационных задач. Учащиеся должны получить представление об одном из языков программирования, использовать этот язык для записи алгоритмов решения простых задач. Следует сформировать понимание, что алгоритм - это описание способа решения вычислительных и других задач. То есть алгоритм, это описание, точно предписывающее, какие команды необходимо исполнителю выполнить, и в какой последовательности, чтобы получить конкретный, заранее определенный результат, однозначно определяемый исходными данными. Но не так просто ввести и развивать понятие алгоритма, а тем более формировать алгоритмический стиль мышления. За это время можно выучить наизусть определение алгоритма, можно выучить список свойств алгоритма. Можно даже выучить отдельные алгоритмы и вполне успешно применять их на практике. Но не только это является задачей раздела курса информатики «Алгоритмы и системы программирования».
Подобно тому, как на уроках математики обучают решать не только конкретные учебные задачи, но развивают особый стиль математического мышления, когда в процессе обучения способам решения простых учебных задач, человек получает способность решать жизненные задачи, где использует полученные на уроках математики умения. Точно также, изучение понятия алгоритма призвано сформировать у учащихся способность не просто исполнять известные алгоритмы, как это делает робот или какой-либо иной автомат-исполнитель, а осознанно строить алгоритмы.
Развивается эта способность сначала в процессе исполнения, а затем самостоятельного построения алгоритмов простых учебных задач. Дальнейшее развитие алгоритмического мышления происходит, как правило, в процессе изучения языков программирования, построения программ, решения оригинальных задач (например, олимпиадных).
2. Психолого-педагогический анализ особенностей формирования алгоритмического стиля мышления школьников
Обучение информатике включает основные содержательные линии курса, целью которых является развитие алгоритмического стиля мышления и формирование информационной культуры учащихся, овладение конкретными навыками использования информационных технологий в различных сферах человеческой деятельности.
Подготовка программистов не входит в задачи курса «Информатика и информационные технологии» (ИКТ), тогда как программирование является главным способом развития алгоритмического стиля мышления. Поступая после окончания школы в университет на специальности, ориентированные на разработку программного обеспечения, учащиеся сталкиваются с трудностями в овладении алгоритмизацией и основами программирования, тем более на этих специальностях изучают не один язык программирования. В календарные планы по ИКТ в средней школе включают только основы алгоритмизации: составление алгоритмов на бумаге в виде блок-схем, словесного описания или с помощью специального программного обеспечения, например «Алгоритмика».
Однако технология решения задач на компьютере - это не только составление программы и получение загрузочного модуля, а формирование модели, составление алгоритма, отладка программы, тестирование ее. На этапе отладки выявляется много синтаксических ошибок (особенно на начальных этапах изучения учащимися языка программирования), исправление которых может привести и к изменению алгоритма, по которому разрабатывалась программа. Перед учеником стоит задача после исправления ошибки, продолжить поиск и исправление очередных ошибок.
И вот программа запрашивает исходные данные и выдает результаты. Тестирование программы дает возможность выявить алгоритмические ошибки и получить ожидаемые результаты.
Без программирования развитие алгоритмического стиля мышления практически невозможно, так как отсутствует возможность компьютерного эксперимента проверки работоспособности алгоритма. Поэтому изучать основы алгоритмизации и программирования нужно в средней школе на базе таких языков, как Бейсик, Паскаль и ЛогоМиры.
Задачей курса является формирование информационной культуры, развитие алгоритмического стиля мышления и творческих способностей учащихся. В числе фундаментальных понятий курса - «информация», «алгоритм», «исполнитель», «информационные процессы» (обработка, передача и хранение информации).
Современное общество требует от нового поколения умения планировать свои действия, находить необходимую информацию для решения задачи, моделировать будущий процесс. Поэтому школьный курс информатики, развивающий алгоритмическиё стиль мышления, является важным и актуальным.
Именно развитие алгоритмического стиля мышления является первоочередной задачей обучения программированию. Вначале обучать основам алгоритмизации и затем иллюстрировать реализацию алгоритмических конструкций в каком-либо языке программирования. Если навыки работы с конкретной техникой можно приобрести непосредственно на рабочем месте, то мышление, не развитое в определенные природой сроки, таковым и останется. Опоздание с развитием мышления - это опоздание навсегда. Поэтому для подготовки детей к жизни в современном информационном обществе в первую очередь необходимо развивать от алгоритмического к структурному, а затем к эвристическому мышлению. Речь не идет о том, что вначале мы обучаем одному, затем другому и, наконец, третьему. Элементы обучения синтезированы в нечто единое, и те, и другие, и третьи аспекты проблемы развиваются одновременно.
Обозначим на уровне общих положений каждый стиль мышления. Умение написать алгоритм назовем алгоритмическим стилем мышления. Алгоритм - план будущей деятельности (модель деятельности), записанный в заранее выбранной формальной системе обозначений с ограниченными возможностями.
Алгоритмическое мышление, наряду с алгебраическим и геометрическим, является необходимой частью научного взгляда на мир. В то же время оно включает и некоторые общие мыслительные навыки, полезные и в более широком контексте, например, в рамках так называемого бытового сознания. К таким относится, например, разбиение задачи на подзадачи.
Среди специфических свойств алгоритмического мышления выделяются следующие:
· дискретность («пошаговое» исполнение, конкретизация действий, структурирование процесса выполнения операций);
· абстрактность (возможность абстрагирования от конкретных исходных данных и перейти для решения общей задачи, т.е. задачи, не имеющей конкретных значений исходных данных),
Алгоритмический стиль мышления определяется следующими компонентами:
1. Анализ требуемого результата и выбор на этой основе исходных данных для решения проблемы.
2. Выделение операций, необходимых для решения.
3. Выбор исполнителя, способного осуществлять эти операции
4. Упорядочение операций и построение модели процесса решения.
5. Реализация процесса решения и соотнесение результатов с тем, что следовало получить.
6. Коррекция исходных данных или системы операций в случае не совпадения полученного результата с предполагаемым.
Умение «расчленять» задачу назовем структурным стилем мышления. Когда мы говорим о структуре, то обязаны сказать о том, из каких элементов она состоит, и как элементы связаны между собой. Характерные черты этого стиля: простота и ясность; использование только базовых (основополагающих) конструкций; отсутствие многоцелевых функциональных блоков и т. д.
Умение находить истину, доказывать факт правильности решения задачи (работы программы) назовем эвристическим стилем мышления. Факторами успешной эвристической деятельности являются умение оценивать, рациональность действий, принцип экономии и т. д.
Отметим, что компьютер, система программирования не являются целью обучения, они - инструмент реализации целей, хотя при этом, разумеется, познается, в определенном объеме, и сам инструмент»
Важно отметить, что технология такого обучения должна быть массовой, общедоступной, а не зависеть исключительно от возможностей обеспеченных школ или состоятельных родителей
Итак, рассматриваются два аспекта изучения информатики:
· технологический - информатика рассматривается как средство формирования образовательного потенциала, позволяющего развивать наиболее передовые на сегодня технологии - информационные;
· общеобразовательный - информатика рассматривается как средство развития логического мышления, умения анализировать, выявлять сущности и отношения, описывать планы действий и делать логические выводы.
Научить детей использовать готовые программы проще, чем научить их разрабатывать свои алгоритмы решения задач, составлять и отлаживать программы. Ведь для этого не надо развивать у детей алгоритмический стиль мышления. Освоение основных понятий по теме «Алгоритмизация» должно быть завершено до 9 класса.
Изучая программирование, ученики лучше понимают сущность работы компьютеров, их возможности и ограничения. Написав однажды свои собственные программы, ученики обнаруживают, что компьютеры совсем не похожи на волшебные всемогущие машины, описанные в научно-фантастических рассказах. Ученики понимают, что компьютеры - инструменты, которыми должны управлять люди. Только немногие дети станут профессиональными программистами, или будут иногда программировать на работе, или сделают программирование своим хобби, но все они выиграют оттого, что постигли природу программирования и убедились на опыте, что значит создавать свои собственные программы.
Программирование помогает школьникам прочувствовать на собственном опыте пройти все основные этапы формализованного решения некоторой творческой точно сформулированной задачи. Это даёт необычайно сильный толчок для развития интеллекта в целом, и одновременно создаёт благоприятную эмоциональную окраску работе. Для всех учащихся без исключения это помогает развивать навыки мыслить и решать задачи, а также привычку к аккуратной и систематической работе, а для одарённых детей ещё и так необходимую им новую пищу для размышлений, поисков, развитие скрытых способностей.
Формируемый при этом алгоритмический стиль мышления ценен сам по себе. Методы, которые дети освоили на уроках программирования, обязательно будут использоваться позднее при решении самых различных «взрослых» жизненных и профессиональных задач. Возможно, это проявится неосознанно и через много лет после окончания школьного курса информатики, однако, и ради этого стоит учить программированию.
Как правило, ученикам нравится управлять работой компьютера при помощи своих собственных программ. Программирование для некоторых детей становится любимым занятием, как в школе, так и дома.
Создание программных комплексов, направленных на развитие алгоритмического мышления, - сложный процесс соотнесения строго выверенного языка исполнителя с динамическими возможностями ЭВМ. Существует несколько таких программных комплексов: ЛОГО (создатель С. Пейперт), КуМир (руководитель А.П. Кушниренко), РАПИРА (руководитель А.П. Ершов), Роботландия (руководитель Ю.А. Первин) и другие. Однако в результате изменения возможностей ЭВМ, переориентации их на проблему всеобъемлющей визуализации предлагаемой информации и упрощения интерфейса, данные программные комплексы необходимо проанализировать с точки зрения не только появления новых возможностей ЭВМ, но и современных изменений в стереотипах поведения учащихся, их возможностях и проблемах.
Адекватное и успешное формирование алгоритмического стиля мышления можно осуществлять только при правильной оценке и учете возрастных и индивидуальных особенностей детей, поэтому выбираются такие языки программирования, которые соответствовали бы психологическим особенностям детей данного возраста.
Для младших школьников (7-10 лет) характерны трудолюбие, старательность, у них начинают развиваться высшие психические функции, возникают элементарные логические рассуждения об объектах, происходит процесс классификации объектов по отдельным важным признакам.
В 11-13 лет происходит развитие интеллектуальных функций, способности мыслить логически, использовать абстрактные понятия, способности выполнять прямые и обратные операции в уме (рассуждения).
Основные логические структуры мышления формируются в возрасте 5-11 лет. Запоздалое формирование этих структур протекает с большими трудностями и часто остается незавершенным. Следовательно, обучать детей программированию целесообразно с 5-7 класса. Учет этих возрастных особенностей позволяет успешно развивать у детей алгоритмический стиль мышления и творческие способности, поддерживать постоянный интерес к предмету, дает возможность на высоком уровне изучать информатику.
В качестве критериев выбора языка программирования в литературе предлагаются следующие:
1. простота на начальной стадии изучения, чтобы дети могли сразу начать писать, проверять и отлаживать простые программы. Важно заинтересовать детей и рассеять сомнения по поводу их способностей к программированию;
2. близость к образу мышления детей, должен содержать команды для работы с изображениями и словами, которые достаточно просты для детей;
3. развитие у детей грамотных методов программирования и решения задач, обеспечение солидной основы для изучения других языков программирования;
4. распространённость, наличие языка на различных моделях персональных компьютеров, особенно в виде бесплатных версий. Это важно, так как в настоящее время многие ученики хотят учиться программированию дома, на имеющихся у них компьютерах.
Из всей массы языков программирования сразу можно выделить 4, разработанных специально для целей первоначального (ознакомительного) обучения программированию: Бейсик, Паскаль и ЛогоМиры. Многие другие языки, прежде всего, предназначены для использования в определенных профессиональных областях.
Бейсик был создан в начале 60-х годов Д. Кенеми и Т. Куртцом как язык для начинающих. В конце 60-х С. Пейперт разработал язык Лого, который удобен для начинающих. В начале 70-х годов Н. Виртом создан специальный язык программирования для обучения студентов - Паскаль. При введении в школах СССР курса «Основы информатики и вычислительной техники» в конце 80-х годов был создан Школьный алгоритмический язык, который кратко называют КуМир.
Поскольку имеются различные версии всех языков программирования, при сравнении будем говорить о полных и современных версиях языков. Так говоря о языке Бейсик, имеется в виду современные версии: QBasic. Эта версия языка Бейсик разработана фирмой Microsoft. А еще есть TurboBasic, фирмы Borland. Говоря о языке Pascal, будем иметь в виду версии TurboPascal 7.0. Говоря о языке Лого, будем иметь в виду программу ЛогоМиры 2.0.
Вернемся к нашим критериям выбора языка. По первому критерию - простоте написания несложных программ на начальной стадии - стоит выделить языки Бейсик и Лого. Оба языка позволяют учащимся без труда ввести программу, сразу ее исполнить, проверить и если надо исправить.
По второму критерию определенные преимущества имеет язык Лого, так как он совместим со способом мышления детей. «Черепашья графика» является блестящим средством для обучения детей программированию. Команды, даваемые черепашке, отражают действия, которые дети могут выполнить сами. Ребенок, наблюдая собственные движения при рисовании той или иной фигуры, может потом сообщить черепашке, какие перемещения ей надо сделать, чтобы получить такую же фигуру. Графические операторы языка Бейсик требуют понимания системы прямоугольных координат и не отражают процессов рисования или движения, необходимых для построения заданной фигуры.
Третьему критерию удовлетворяют языки Паскаль, Бейсик и Лого. Все рассматриваемые нами языки, обучают структурному программированию. Для структурированной программы характерны более высокая вероятность правильной работы и большая простота изменения и расширения, чем для программы, не имеющей модульной структуры. Структурированную программу легко прочесть и понять. У человека достигшего решения поставленной задачи появляется вера в свои силы, понимание путей достижения целей.
По последнему, четвертому критерию, сравнивая языки программирования друг с другом мы увидим, что имеет явное преимущество Лого и Бейсик.
Бейсик - стандартный язык и ранее поставлялся с большинством персональных компьютеров, включая самые дешевые, он входил в состав операционной системы MS DOS. Компьютерную версию языка Лого надо еще найти. До сих пор мало литературы по языку Лого.
Большим достоинством языка Лого в сравнении с Бейсиком и Паскалем является возможность легкого быстрого создания программ с графическими изображениями, с анимационным (мультипликационным) эффектом из предусмотренных в языке форм черепашки. Формы можно редактировать, поворачивать, создавать новые. В Бейсике все это тоже возможно, но более трудоемко, там нет встроенных заготовок форм. QuikBasic позволяет использовать рисунки, созданные в графических пакетах. Для этого надо подключить специализированные библиотеки. В Паскале очень строгие требования к оформлению программ и достаточно сложна работа с графикой.
ЛогоМиры удовлетворяет требованиям начального языка программирования, являются пропедевтикой языков программирования. В среде ЛогоМиры можно работать с гипертекстом. ЛогоМиры включает в себя одновременно графический, текстовый и музыкальный редакторы. Кроме того, обучение в среде Лого вызывает у учащихся повышенный интерес к предмету, развивает математическую интуицию и геометрические представления, является своеобразным математическим тренажером, формирует алгоритмический стиль мышления.
Изучение Лого как начального языка значительно облегчает дальнейшее обучение профессиональных языков программирования. Лого является интерпретатором, обеспечивающим диалоговый характер общения с пользователем. Структурное построение программы роднит Лого и Паскаль. Мощный аппарат обработки объектов языка Лого аналогичен языку искусственного интеллекта Лисп.
Учащимся 7 классов свойственна конструкторская деятельность. На поддержку этой деятельности и направлена работа с формами в языке Лого. Дети, изучившие язык Лого легко осваивают другие языки программирования.
Если выбор сделан в пользу языка Лого и изучение программирования начинается в 7 классе, то для лучшего восприятия стоит поработать перед этим в обучающей среде типа «Алгоритмика». Работая в обучающей среде, дети знакомятся с такими понятиями, как программа, процедура, ветвление, цикл и т.д. Переходя к программированию в языке Лого, они закрепят эти понятия.
Таким образом, для начального обучения программированию в 7 классе можно использовать язык Бейсик, но лучше Лого, так как он позволяет закрепить понимание различных команд, алгоритмических структур, позволяет в столь раннем возрасте стать мультипликатором, и программистом, и художником, и сценаристом в одном лице. Привить ребенку правильные принципы программирования, развивать творческое мышление, заложить хорошую базу для изучения в дальнейшем других языков программирования. Лого интересен и понятен детям, развивает структурное, логическое и алгоритмическое мышление.
3. История создания системы ЛогоМиры и её особенности
«Лого - инструмент для познания и развития собственного мышления, и в этом отличие этой среды от систем программирования, ориентированных в первую очередь на обеспечение наиболее эффективного использования аппаратуры».
Первые версии программной среды Лого были разработаны профессором Сеймуром Пейпертом (Seymour Papert) в Массачусетском Технологическом Институте (USA) в 60-х годах. В 1967 году группой профессора Пейперта совместно с группой Уоллеса Фойрцайга (Walles Feurzeig), работавшей в фирме Bolt, Beranek and Newman была создана первая версия Лого. Широкое распространение Лого связано с развитием персональных компьютеров в конце 70-х годов. Ряд компаний начал коммерческое распространение различных версий Лого. Одним из лидеров в этой области является основанная в 1980 году фирма Logo Computer System, совет директоров которой возглавляет профессор Пейперт. В 1985 году компания начала распространять новую версию Лого - программу LogoWriter.
Эта программа была признана одной из самых удачных, достаточно сказать, что в 1990 году система LogoWriter была названа читателями журнала Classroom Computer Learning лучшей образовательной программой десятилетия. Программа LogoWriter была переведена на десятки языков мира и была реализована на разных компьютерных платформах. В 1987 году Институтом новых технологий образования (ИНТ) была создана русская версия этой программы для компьютеров IBM.
Принципиально новые идеи были реализованы в середине 80-х годов и в системе Lego TC Logo - совместной разработке фирмы LEGO и LCSI. По существу программа Lego TC Logo являлась расширением системы LogoWriter, однако в ней можно было управлять не только черепашками на экране, но и реальными роботами, собранными из деталей LEGO и подключенными к компьютеру.
Активная работа в области Лого продолжается и в настоящее время. Системы ЛогоМиры (эта программа является русской версией программы MicroWorlds, разработанной в 1993 г.), ПервоЛого (разработана в 1996 г.) и среда ControlLab (русская версия программы называется Лего-лаборатория) является естественным развитием идей, заложенных в системе LEGO TC Logo. Возникают и новые перспективные области исследований: среди таких проектов укажем, например, LEGO-роботы - дальнейшее развитие систем LEGO TC Logo и ControlLab, позволяющий создавать автономных роботов, управляемых специальным, миниатюрным компьютером.
Лого, конечно, отнюдь не сводится к созданию и распространению компьютерных программ. Существует мировое сообщество учителей и исследователей, заинтересованных в развитии и распространении педагогической философии Лого.
Эта программа была создана не просто как формализованный язык программирования, а как среда, в которой дети могли бы научиться естественному общению с компьютером. ЛогоМиры - универсальная учебная компьютерная среда на базе языка Лого. Эта среда интегрирует графику, мультипликацию, звуки, программирование и позволяет осуществлять проектный подход к занятиям по всем направлениям учебного плана, а также обеспечивает возможность осуществлять межпредметные связи с другими дисциплинами на уроках информатики.
Сеймур Пейперт пытался изучать работу мозга и однажды заметил, что «всегда рассматривал процесс обучения как хобби». Следуя этому «хобби», он осваивал такие разные виды деятельности, как пилотирование самолетов, чтение на китайском языке, «ремесло» иллюзиониста.
Пейперт родился в Южной Африке. Спустя какое-то время после окончания высшего учебного заведения, он получил ученую степень доктора математики, а затем провел пять лет в Женеве, работая с выдающимся швейцарским физиологом Жаном Пиаже. Теория Пиаже, согласно которой ребенок учится в процессе игры с окружающими его предметами, оказала на Пейперта сильное влияние. Вспоминая о своем детском увлечении автомобилями, Пейперт, например, сделал вывод, что именно интерес к ним открыл ему связь «объект - мысль» и облегчил в дальнейшем постижение математических абстракций. Решив, что объектом такого рода способен стать компьютер, Сеймур Пейперт перешел в 1964 году в Лабораторию искусственного интеллекта Массачусетского технологического института (МТИ), где занялся этим новым направлением исследований.
Пейперт был убежден, что учащиеся начальной школы и даже дошкольники могут научиться программировать. «Освоение языков - одно из увлекательнейших занятий для ребенка, - говорил он. - Каждый нормальный ребенок учится разговаривать. Почему бы ему не научиться «разговаривать» с компьютером? При этом Пейперт считал, что даже Бейсик, простейший компьютерный язык того времени, слишком абстрактен для ребенка.
Вскоре Пейперт и его коллеги создали новый язык на основе Лиспа, назвав его Лого. Это название образовано от древнегреческого слова «logos», что означает «мысль», «слово». По инициативе Пейперта в языке стала использоваться черепашка, обеспечивающая связь «объект - мысль» (сначала употреблялась механическая черепашка, ползающая по полу, а затем - ее условное изображение на экране). Как отмечал Пейперт, «компьютер обычно шаг за шагом ведет ребенка за собой», а Лого, наоборот, «убеждает ребенка в том, что он способен управлять машиной, позволяет ребенку сказать: «Здесь я хозяин». Сначала Лого предназначался для больших компьютеров и мини-компьютеров, имеющихся в МТИ, но потом проник в тысячи классов начальных школ.
Во многом благодаря Сеймуру Пейперту сегодня практически любой дошкольник в процессе игры способен освоить программирование, которое несколькими десятилетиями раньше было доступно лишь небольшому количеству специалистов.
Программная среда ЛогоМиры может изучаться на двух уровнях с детьми разного возраста. Первый уровень более простой, большая часть манипуляций с исполнителем производится вручную, с помощью мышки, команды записываются в Личной карточке (рис. 1) черепашки. Этот уровень подходит для изучения ЛогоМиров с младшими школьниками.
Рис. 1. Личная карточка
В данной работе рассматривается второй уровень изучения значительно сложнее. Дети осваивают основные алгоритмические структуры, методы программирования. Вручную (с помощью мыши) создается только микромир. Все остальные действия описываются командами на специальном Листе программ. Запуск мультипликационного фильма осуществляется одной процедурой.
При введении ЛогоМиров в курс информатики преследуются следующие цели:
Пропедевтика основных понятий базового курса информатики и информационных технологий по программированию.
Развитие алгоритмического стиля мышления.
Развитие творческих способностей учащихся.
Основные характеристики языка Лого: синтаксис, близкий к естественному языку, приспособленность к интерактивному режиму работы, ориентация на формирование общих представлений о программировании, необязательность глубоких знаний архитектуры ЭВМ, возможность обработки графических объектов.
Среда обучения Лого является примером новых технологий обучения, направленных на освоение средств, при помощи которых учащиеся могут самостоятельно добывать знания. Пейперт, создавая Лого, основывался на учении швейцарского психолога Жана Пиже о стихийном непринужденном обучении ребенка при взаимодействии со средой. Среда Лого позволяет так построить процесс обучения, что овладение языком программирования становится таким же естественным процессом, как и изучение родного языка.
Слова «компьютерное обучение» обычно означает, что компьютер учит ребенка. Занятия в среде Лого переворачивают традиционную ситуацию компьютерного обучения. В среде Лого ребенок сам учит и программирует компьютер и, делая это, овладевает основами предмета.
Лого реализует новые подходы к обучению, направленные не на заучивание правил, а на формирование процесса мышления. В ситуации традиционного обучения наблюдать за мыслительной деятельностью ребенка просто невозможно. Среда Лого является тем окном, которое позволяет заглянуть в мыслительные процессы ребенка. У учителя появляется возможность проанализировать накопленные в памяти компьютера, данные о том, как ребенок думает, как он понимает задачу, расчленяет ее и т.п.
В среде Лого ребенок сам управляет процессом обучения. Как и в реальной жизни, он сам ставит себе задачу, и сам находит пути ее решения. Вместо привычного ожидания, чтобы ему сказали, как надо правильно сделать, ребенок попадает в ситуацию, управлять которой может только он сам. Из постоянно ждущего помощи от других он превращается в человека, самостоятельно ищущего и находящего решения. На собственном опыте ребенок учится делать выводы и обобщения.
В Лого первоначально заложены принципы конструктивного обучения. Согласно этим принципам в процессе создания реального продукта (для реализации конкретной задачи) значительно повышается эффективность обучения. Это возможно только потому, что Лого - полноценный язык программирования, допускающий возможность создания настоящих, графически оформленных, работоспособных программ.
Важную роль в новых направлениях обучения играет отношение к ошибкам и их устранение. Отладка программы (поиск и исправление в ней ошибок) обычно является трудоемким процессом. Язык Лого значительно упрощает его. Решение разбивается на множество мелких шагов, каждый из которых может быть проверен отдельно. Если допущена ошибка, то черепашка просто не выполнит задания или выполнит его не так, как следовало, т.е. ЛогоМиры - интерпретатор. Так как ученики могут самостоятельно найти ошибку, исправить и снова попробовать, то они перестают бояться ошибок. Школьники чувствуют себя исследователями, не боящимися творить. Они обретают уверенность в своих силах и могут выразить свое знание предмета в форме, отличной от вербальной.
Графические возможности ЛогоМиров позволяют создавать оформление проекта, микромир. Лого объединяет в себе черты многих языков программирования. Изучение Лого как начального языка значительно облегчает дальнейшее обучение профессиональных языков программирования.
ЛогоМиры - система двуязычна: можно использовать как русские, так и английские имена команд.
Программная среда Лого обладает широким спектром возможностей. Здесь есть встроенный графический редактор, позволяющий нарисовать пейзаж (мир), в котором живет черепашка. Поле Форм содержит много красочных форм. Некоторые формы представляют фазы движения одного объекта и могут быть использованы для создания мультипликационных сюжетов. Мир черепашки можно заполнить звуками. Встроенный Музыкальный редактор позволяет записать любую мелодию и, сохранив ее под каким-нибудь именем, пополнить тем самым словарь черепашки. Исполнение мелодии можно поручить одному из шести музыкальных инструментов: пианино, скрипка, арфа, бутылка, ксилофон, орган. Кроме того, есть возможность озвучить черепашку системными или записанными с микрофона звуками.
Таким образом, среда ЛогоМиры обладает широким спектром возможностей. Среда объединяет в себе следующие редакторы:
· графический редактор (рис. 4);
· текстовый редактор;
· музыкальный редактор (рис. 2) и запись звука (рис. 3);
· редактор Форм (рис. 6);
· редактор Программ на программном листе (рис. 5).
Рис. 2. Музыкальный редактор
Рис. 3. Запись звука с микрофона
Рис. 4. Графический редактор ЛогоМиров
Есть огромное множество задач, которые можно решать при помощи Лого. При работе в среде ЛогоМиры круг задач существенно расширяется. Кроме традиционного круга задач учащиеся способны принять участие в разработке обучающих проектов. И эти проекты можно использовать для уроков развивающей информатики, биологии, географии и т.д.
Основу Лого, как и любого языка, составляет алфавит. Алфавит включает буквы - русские (кириллица) или латинские (латиница), цифры, другие символы, имеющиеся на клавиатуре.
Файл называется проектом. Проект состоит из одного или нескольких рабочих листов и специального листа программ. Переключение с рабочего листа на лист программ и обратно можно осуществить двумя способами: с помощью меню ЛистыПрограммы или сочетания клавиш ctrl + F, обратно вернуться на рабочий лист: ЛистыЛист1 или ctrl + F.
Интерфейс программной среды ЛогоМиры 2.0 (рис. 5) состоит из трех окон: Рабочее поле; Поле команд, или Командный центр; Лист программ.
Рис. 5. Интерфейс программы ЛогоМиры 2.0
После загрузки приложения ЛогоМиров на экране появляются два окна - Рабочее поле и Поле команд, а также Панель инструментов. На Рабочем поле отображается графический Исполнитель в виде Черепашки и результаты его действий. Черепашка может перемещаться по рабочему полю, рисовать. Обычно после загрузки нового листа Черепашка находится в центре Рабочего поля, голова ее направлена вверх.
Поле команд служит для ввода команд на языке Лого. Черепашка - исполнитель для создания графических объектов на Рабочем поле. В приложении №1 приведены команды управления Черепашкой.
Расстояние на Рабочем поле измеряется в шагах черепашки. Один шаг равен одному пикселю. Угол поворота головы черепашки измеряется в градусах.
Среда оперирует со следующими объектами: текстовые окна , формы (рис. 6), бегунок , кнопки , которые обладают определенными свойствами.
Рис. 6. Поле форм
Объект «кнопка» обеспечивает функции гипертекстовой структуры, при нажатии на них выполняются заранее предписанные действия: переходы, движение и т.д. Объект «бегунок» позволяет использовать в проектах переменные числовые величины. Значение бегунка можно использовать в той или иной команде, оно видно и может быть изменено с помощью мыши во время выполнения программы.
Управлять черепашками можно непосредственно: для чего в специальной области экрана - в «Поле команд» нужно написать соответствующие команды, которые будут немедленно выполнены. Кроме непосредственного управления в ЛогоМирах доступен и режим программирования. Лого относится к расширяемым языкам. Помимо встроенных команд, система ЛогоМиров позволяет программисту определять новые процедуры. В особом листе «Листе программ» на экране компьютера можно записать программы, называемые процедурами, которые расширяют исходный словарь языка. Слово ЭТО указываете, что вы собираетесь определить процедуру, следующее слово - это имя процедуры, слово КОНЕЦ указывает на завершение процедуры. Созданные процедуры можно запускать на выполнение, записав в «Поле команд» её название, а также, вписав имя процедуры в поле инструкций кнопки.
Лого включает в себя более 200 команд. Среди них есть и графические команды: команды перемещения черепашки, изменения цвета, изменения формы. Есть команды, позволяющие создавать музыку, выполнять арифметические вычисления и прочее.
В средах программирования существуют инструменты для измерения значения параметров объектов. В среде ЛогоМиров эти инструменты называются датчиками. В приложении № 2 приведены названия и назначения датчиков.
Таким образом, система позволяет учащимся, осваивая новую компьютерную среду, развивать память, воображение, фантазию, учит анализировать, разбивая фигуру на отдельные фрагменты, и синтезировать, видеть в отдельных фрагментах единое изображение), узнавать основы языков программирования. Учатся формализовывать информацию, осваивают основные алгоритмические структуры и необходимость их использования в различных ситуациях. ЛогоМиры - это развивающая, интересная для изучения и освоения, как для учителя, так и для ученика среда программирования. Каждый из них на своем уровне может работать.
4. Методика преподавания темы «Среда программирования ЛогоМиры» в 7 классе
4.1 Перечень разделов темы «Среда программирования ЛогоМиры»
В данном параграфе перечислены разделы темы «Среда программирования ЛогоМиры», образующие систему для ознакомления учащихся с основами программирования, и краткое описание этого раздела.
1. Знакомство со средой ЛогоМиры 2.0. В этом разделе раскрываются особенности среды ЛогоМиров и действующего в этой среде исполнителя Черепашки и его СКИ. Рассматриваются операции над файлами, структура лого-проекта и способы перемещения между рабочими листами и листом программ, минимальный набор команд и способы управления новым исполнителем.
2. Черепашья графика. В этом разделе вводится понятия «процедура» (новая команда для черепашки), «процедура с параметрами», «вложенная процедура» («вспомогательный алгоритм»), рассматривается назначение Листа программ, правила оформления программ и параметров, их наименования, правила записи процедур, правила оформления процедур с параметрами, вызов на выполнение процедур с параметрами и без параметров.
Объясняются основные правила расчета углов поворота при рисовании геометрических фигур. Изучаются команды для реализации типовых алгоритмов (линейного, циклического с указанием количества повторений). Разрабатываются учащимися на основе типовых конструкций алгоритма процедуры с параметрами для рисования графических объектов. Происходит знакомство с командами, управляющими пером черепашки.
3. Цвета и закраска. В этом разделе рассматриваются понятие «текущее свойство» черепашки, команды изменения цвета пера черепашки, команда заливки и алгоритм закрашивания замкнутой области, выбор номера цвета в палитре цветов, размещенной на панели встроенного графического редактора.
4. Координатная графика. В этом разделе параллельно с командами из раздела Черепашья графика вводятся команды, позволяющие перемещать черепашку в заданную точку, игнорируя направление головы черепашки и количество шагов до заданного места. Рассматриваются понятия «ось координат», «координата», «ось ординат», «ось абсцисс», «начало оси координат».
5. Цикл со счетчиком. В данном разделе вводится понятие «цикл со счетчиком». Составляются программы с использованием «формального» и «живого» счетчика.
6. Рекурсия. Рассматриваются рекурсивный способ организации цикла, условия остановки.
7. Работа со списками. Этот раздел познакомит с понятиями список и способами обработки списков.
8. Роль датчиков в ЛогоМирах. Рассматриваются команды для выяснения текущих свойств черепашки, в частности датчик случайных чисел, на основе которого создается ряд игровых программ.
9. Организация движения Черепашки. Это достаточно большой и интересный раздел темы «Среда программирования ЛогоМиры». Здесь происходит знакомство со многими объектами среды ЛогоМиров: кнопка, бегунок, форма. Активно изучаются возможности графического, музыкального редакторов, панель форм.
4.2 Основные методические рекомендации преподавания темы
Изучение начинается с небольшой исторической справки о создании среды программирования ЛогоМиры, знакомства с дисковыми функциями этой программы, рассказа об устройстве программы, способах перемещения между листами. Учащиеся знакомятся с интерфейсом программы, с новым исполнителем Черепашка и её основными командами (СКИ): ВП <число>, НД <число>, ПР <число>, ЛВ <число>, ДОМОЙ, СГ.
Этот минимальный набор команд достаточен для выполнения простых заданий, позволяющих осознать смысл команд, способы управления.
1. измерить размер рабочего листа;
2. через поле команд нарисовать буквы Н, Т, Щ, Е, Ц, Л.
Рассмотрим более подробно перечисленные аспекты первого раздела. По умолчанию экран ЛогоМиров 2.0 состоит из следующих частей: панель инструментов, поле команд, рабочий лист.
С помощью кнопок в поле команд, расположенное в нижней части экрана (рис. 7), можно переходить в разные режимы работы и получать доступ к разным инструментам. Рассмотрим более подробно назначение кнопок:
1) - режим набора команд (рис. 7);
2) - режим выбора форм на Панели форм (рис. 8);
3) - режим работы с графическим редактором (рис. 9).
Рис. 7. Поле команд программы ЛогоМиры 2.0
Рис. 8. Поле форм программы ЛогоМиры 2.0
Рис. 9. Графический редактор программы ЛогоМиры 2.0
Файл ЛогоМиров похож на альбом и называется проектом. Состоит из одного или нескольких рабочих листов и одного специального листа программ. Переключение с рабочего листа на лист программ и обратно можно осуществлять двумя способами: с помощью меню ЛистыПрограммы или сочетания клавиш ctrl + F, обратно вернуться на рабочий лист: ЛистыЛист1 или ctrl + F.
С помощью горизонтального меню предоставляется возможность работать с файловой системой, с буфером обмена, с листами, форматировать текст, скрывать и показывать панели инструментов, получать справку о программе, командах и объектах ЛогоМиров. Программа ЛогоМиры 2.0 является однооконной средой, одновременно возможно работать только с одним проектом, поэтому отсутствует команда 'Закрыть'.
На Рабочем поле отображается графический Исполнитель в виде Черепашки и результаты его действий. Черепашка может перемещаться по рабочему полю, рисовать.
После загрузки нового листа Черепашка находится в центре Рабочего поля, голова ее направлена вверх. Расстояние на Рабочем поле измеряется в шагах черепашки. Один шаг равен одному пикселю. Угол поворота головы черепашки измеряется в градусах.
Управлять черепашками можно непосредственно: для чего в специальной области экрана - в Поле команд нужно написать соответствующие команды, которые будут немедленно выполнены. Кроме непосредственного управления в ЛогоМирах доступен и режим программирования.
Лого относится к расширяемым языкам. Помимо встроенных команд, система ЛогоМиров позволяет программисту определять новые процедуры (новые команды).
По умолчанию новый проект имеет один лист. Используя команду ЛистыНовый лист горизонтального меню, можно добавлять рабочие листы. Для того чтобы переименовать лист необходимо выбрать его из списка меню Листы и тем самым перейти на него. После чего выполнить команду ЛистыНазови лист... В появившемся диалоговом окне, указывается новое осмысленное имя листа. Подтверждается введенное имя нажатием кнопки ОК. Старое наименование данного листа будет заменено на новое. Для того чтобы удалить лист необходимо в Поле команд набрать слово удали и имя листа. Нажать клавишу ENTER. Например, удали лист2. Этот лист исчезнет из списка меню Листы.
Черепашья графика. Следующий этап - это работа с углами. В этом разделе рассматриваются приемы и правила расчета углов для построения ряда фигур. Типовыми задания являются рисование флагов с прямоугольным, треугольным и прямоугольным с треугольным вырезом полотнища. На этом же этапе учащиеся знакомятся с понятием процедура.
Лого включает в себя более 200 команд. Учащиеся закрепляют знание формата написания и смысла основных графических команд: ВП <число>, НД <число>, ПР <число>, ЛВ <число>, ПП, ПО, СГ, домой, НК <число>.
В особом листе Листе программ на экране компьютера можно записать программы, называемые процедурами, которые расширяют СКИ черепашки. Слово ЭТО указываете, что вы собираетесь определить процедуру, следующее слово - это имя процедуры, слово КОНЕЦ указывает на завершение процедуры. Имя процедуры записывается по следующим правилам:
· используются русские символы, цифры;
· в имени не должно быть пробелов;
· начинается имя процедуры с буквы;
· имя процедуры должно быть уникальным.
В ЛогоМирах черепашка по умолчанию имеет поднятое перо, поэтому каждая процедура должна начинаться с команды перо опусти (ПО). В начале процедуры надо позаботиться о состоянии пера и направлении головы черепашки.
Если процедура начинается каждый раз в одном направлении, то логичней ее начинать с команды НК <число>. Начальное положение черепашки и конечное следует выбирать такое, которое удобнее запомнить.
Структура процедуры в общем виде.
это имя_процедуры
тело процедуры
конец
Рис. 10. Структура процедуры
Для того чтобы вызвать на выполнение процедуру, необходимо написать имя процедуры в Поле команд и нажать клавишу Enter (рис. 10), а также, вписав имя процедуры в поле инструкций кнопки. Исполнитель черепашка будет последовательно выполнять команды, записанные на листе программ в теле процедуры до тех пор, пока не встретит служебное слово конец.
Если допущена ошибка в оформлении команд, выполнение процедуры прервется. В поле команд появится сообщение об ошибке типа «не могу» или «не понимаю».
Расшифруем типы реакций исполнителя на ошибки:
1) «не могу» - это реакция исполнителя на команду, которая есть в СКИ (списке команд исполнителя), но в данной ситуации не выполнима. В системе Лого реакция «не могу» имеет несколько ответов, уточняющих причину невыполнения программы:
a) «не знаю, что делать с …» - указаны лишние параметры процедуры;
b) «не хватает входных данных» - не все указаны параметры процедуры;
c) «… не передает значения в …» - не все переменные вынесены в заголовок процедуры; допущена ошибка в записи команды внутри данной или вложенной(ых) процедуре(ах).
2) «не понимаю» - это реакция исполнителя на команду, которой нет в СКИ (списке команд исполнителя). В данной среде она звучит так: «не знаю, как выполнить…».
Процедуры можно создавать двух видов без параметров, это более простой вариант, и с параметрами. В этом случае заранее однозначно определяются параметры всех команд. Например:
это буква_п
по
вп 50 нк 90 вп 25 нк 180 вп 50 нк 0
конец
Сначала отрабатывается умение работать с углами, рассчитывать углы поворота, опираясь на знание свойств углов. Освоения различными приемами осуществляется через построения следующих фигур: знамя, флаг, флажок, ромб.
Проще нарисовать знамя. Именно с этой фигуры и начинается работа с углами. Затем создается процедура «флаг».
На рисунке 11, 12 стрелками с черными наконечниками обозначено направление головы черепашки. В ходе построения используются следующие правила: поворачивать на меньший угол, двигаться не только вперед, но и назад, активно использовать дополнительные построения при расчете углов поворота (рис. 11).
При создании процедуры «флажок» используется симметрия, равенство вертикальных углов, поворот на небольшой угол 10-15 градусов, сложение и вычитание углов (рис. 12).
Рис. 11. Флаг
Рис. 12. Флажок
Процедуры с параметрами, или универсальные процедуры, являются основным средством решения свойства массовости. Параметр - дополнительная информация, уточняющая действие команды. Знакомство с понятием процедура с параметрами вводится на примере одной из созданных ранее процедур без параметров. Рассмотрим процедуру рисования пьедестала почета.
это пьедестал
вп 50 пр 90 вп 50 лв 90 вп 100 пр 90 вп 50 пр 90 вп 50 лв 90
вп 50 пр 90 вп 100 пр 90 вп 150 пр 90
конец
Рис. 13. Обозначение переменными длин сторон пьедестала
Перед учащимися ставится проблема, как изменить размер фигуры в сторону увеличения или уменьшения. Необходимо увеличить или уменьшить значения параметров команды ВП <число> на Листе программ. Это решение не рационально. Единственно верный выход, использовать переменные, которым задавать конкретные числовые значения при вызове процедуры на выполнение. Учитель на рисунке вводит обозначение одной из сторон, например, а. Выясняет, какие стороны равны данной и соответственно обозначены будут переменной а. Можно ввести вторую переменную для обозначения большей длины стороны, но интересней выразить ее через переменную а: а * 2 - длина большей стороны.
Дополнительные построения (пунктирные линии на рис. 13), позволяют подвести учащихся к выражению длины основания пьедестала через переменную а, как а * 3. В результате замены параметров команды ВП <число> переменными и выражениями с переменными, получится следующая процедура:
Это пьедестал: а
по
вп:а пр 90 вп:а лв 90 вп:а * 2 пр 90 вп:а пр 90 вп:а лв 90 вп:а пр 90
вп:а * 2 пр 90 вп:а * 3 пр 90
конец
Все используемые переменные выносятся в заголовок после имени процедуры. В данном случае использовалась только одна переменная а, которая и вынесена в заголовок: это пьедестал:а. Обращение к переменной обозначается в общем виде: имя (без пробела между двоеточием и именем переменной). Имена переменных всегда начинаются с буквы, могут содержать цифры. Лучше давать им осмысленные имена, чтобы легче было ориентироваться в программе при ее редактировании и отладке.
Арифметические знаки действия всегда записываются в знаках пробелах с обеих сторон. Правильная запись: :шир *:дл / 2. Вызов на выполнение процедуры с параметрами осуществляется через Поле команд. Записывается имя процедуры и через пробел числовое значение переменной, смысловое значение которой длина стороны пьедестала, обозначенной буквой а. Затем нажимается клавиша ENTER и исполнитель черепашка нарисует фигуру нужного размера. Изменяя числовое значение параметра процедуры пьедестал, можно управлять размерами фигуры, не открывая Лист программ. Примеры вызова на выполнение процедуры с параметрами «пьедестал» (рис. 14).
С этого момента в основном используются процедуры с параметрами.
Рис. 14 Вызов процедуры с параметрами на выполнение из Поля команд
При создании процедуры с параметрами следует использовать следующий алгоритм:
· выделить свойство(а) объекта, которое должно изменяться;
· придумать этому свойству имя (ввести переменную);
· объявить это имя в заголовке процедуры;
· использовать обращение к параметру в тексте процедур.
При выполнении процедур с параметрами возникают следующие проблемы, на которые следует обратить внимание:
· в начале процедуры надо позаботиться о состоянии пера и о направлении головы черепашки;
· если процедура начинается всегда в одном направлении, то логичней начинать с команды НК <число>;
· решающим аргументом для выбора начального и конечного положения черепашки (и места, и направления) является удобство запоминания, а не удобство рисования или удобство включения в другую процедуру.
Следующий этап это знакомство с командой ПОВТОРИ <число>[<список команд>], реализующей цикл в ЛогоМирах. Классическими заданиями на цикл является рисование квадрата, треугольника, лестницы, змейки, прямоугольника, цветка.
Для того чтобы правильно написать процедуру, необходимо выделить повторяющийся элемент, описать повторяющийся элемент соответствующими командами, проверить совпадение начального и конечного направления головы черепашки, затем посчитать количество повторений. Типовыми заданиями на цикл являются цепочки повторений, правильные многоугольники, вращение черепашки в одной точке.
При изучении данных тем формируется у учащихся стереотип. Что можно использовать только переменные или только числа.
Для того чтобы сломать стереотип предлагается система заданий на построение процедур «лестница» и «змейка» по различным данным. Так же вводится команда ПУСТЬ “имя <значение>, которая создает переменную с конкретным именем и присваивает ей значение. Рассмотрим этот блок подробнее.
Предлагается следующая система заданий и способы их решения:
1. Известна высота змейки равная 15, длина - 120. Имея только эти данные, постройте змейку.
Решение.
Это змейка1
по повтори 120 / (15 * 2) [вп 15 пр 90 вп 15 пр 90 вп 15 лв 90 вп 15 лв 90]
конец
2. Известна длина - 120, число звеньев равно 10. Используя только эти данные, постойте змейку.
Решение.
Это змейка2
по повтори 10[вп 120 / 10 / 2 пр 90 вп 120 / 10 / 2 пр 90 вп 120 / 10 / 2
лв 90 вп 120 / 10 / 2 лв 90 ]
конец
3. Сколько раз черепашка считает высоту звена? (400 раз). Что нужно сделать, чтобы черепашка посчитала высоту звена только один раз? (ввести переменную, поместить расчеты в ячейку памяти).
Решение.
Это змейка3
по
пусть “выс 120 / 10 / 2
повтори 10[вп:выс пр 90 вп:выс пр 90 вп:выс лв 90 вп:выс лв 90]
конец
Аналогично, строятся процедуры для лестницы.
1. Известно, что ступенек 13 и высота лестницы 160. Используя только эти данные, постройте лестницу.
2. Известно, что высота всей лестницы 160, количество ступенек равно 13. Используя только эти данные, постройте лестницу.
3. Сколько раз считает черепашка высоту ступеньки? (26 раз). Что нужно сделать, чтобы черепашка посчитала высоту ступеньки только один раз? (ввести переменную, поместить расчеты в ячейку памяти).
На следующем этапе обобщается предыдущая тема. Вывод формулы многоугольника происходит в ходе установления зависимости между количеством углом и углом поворота:
Учащимся предлагается подставить любой арифметический знак и посмотреть, что из этого получится.
Когда будет рассматриваться знак умножения, появится закономерность. При умножении числа углов на угол поворота получается всегда 360. Эта закономерность проверяется для пятиугольника, шестиугольника и выводится запись построения любого правильного многоугольника:
повтори <кол_углов>[ВП <шаг> ПР 360 / <кол_углов>].
Учащиеся получают задание создать одну процедуру с параметрами для рисования квадрата, треугольника, 8-угольника, 10-угольника и т.д.
После выполнения этого задания делается вывод о том, что окружность - это правильный многоугольник, у которого 360 сторон меньше или равных 3 и углом поворота равным 1: ПОВТОРИ 360[ВП 1 ПР 1].
Учащимся предлагаются задания: создать процедуру для рисования окружности, и научиться с помощью параметра регулировать ее диаметр. А также создать процедуру «дуга», «бабочка» (рис. 15).
Рис. 15. Образец рисунка бабочки
алгоритмический мышление школьник программирование
Далее вводится понятие «вложенная процедура». Знакомство с приемом вложения одних процедур в другие удобно рассматривать на основе рисования леса из елей или клумбы цветов. На основе процедура «стрелка» создается процедура «ель», на основе процедуры «ель» создается «аллея», т.е. линия из елей, на основе процедуры «аллея» - «лес».
При создании процедуры «стрелка» (рис. 16) в первую очередь выясняется величина угла поворота: 45=90/2.
Во вторую очередь, необходимо договориться, какую линию будем рисовать сначала - допустим правую. Следует подвести учащихся к тому, что удобнее поворачивать на наименьший угол и что необходимо использовать команду НД (назад).
В-третьих, подвести к выводу, что голова и хвост черепашки поворачиваются на одинаковый угол («Теорема о вертикальных углах»).
Рис. 16. Стрелка
Сложности возникают при составлении перехода с использованием переменных от начала рисования одной стрелки, ели, аллеи к другой. Внимательно рассмотрите рисунок 17.
Рис. 17. Построение переходов между рисованием ели - аллей - леса
Аналогично строится клумба: цветок ряд клумба. Особенность построения цветка состоит в том, что лепестки цветка рисуются так: вперед <шаг> назад <шаг> поворот и т.д. Чем меньше угол поворота, тем больше лепестков у цветка.
Итогом работы с вложенными процедурами является понимание того, что каждая процедура более высокого уровня использует все универсальные свойства вложенных процедур и добавляет свои параметры (стрелка ель аллея лес).
Продолжением этой темы и плавным переходом к новой теме является создание процедуры «дом» на основе треугольника и квадрата (можно на основе процедуры «многоугольник»), создание процедуры «солнце» на основе дуги.
Цвета и закраска. В системе ЛогоМиров 14 основных цветов и у каждого цвета несколько оттенков - всего 10000 цветов. Каждый цвет имеет номер от 0 до 9999. Основные цвета имеют номера 5, 15, 25, 35 и т.д. Светлые оттенки оканчиваются на 0, 1, 2, темные - на 9, 8, 7. Белый цвет - 0, черный - 9 (цвет черепашки при загрузке системы). Посмотреть номер цвета можно в палитре графического редактора. Для его вызова надо щелкнуть мышкой по кнопке в левой части Поля команд. Для изменения оттенков цветов надо пользоваться полосой прокрутки, расположенной справа от палитры. Чтобы вернуться в режим набора команд необходимо щелкнуть мышкой по кнопке в верхней левой части Поля команд.
Черепашка всегда рисует текущим цветом (изначально он черный). Установить новый цвет пера черепашки можно двумя способами: открыть палитру цветов и щелчком мыши выбрать нужный цвет, затем щелкнуть мышкой по черепашке, и она изменит свой цвет. Мы будем рассматривать второй способ с помощью команды новый цвет. Записывается в сокращенном виде так: НЦ <число>. Параметром данной команды является номер цвета.
Черепашка умеет закрашивать замкнутые области текущим цветом. Действие черепашки похоже на выливание банки чернил в определенную точку экрана. Для закраски используется команда без параметров: КРАСЬ. Команда крась работает и с поднятым, и с опущенным пером.
Закраска осуществляется по следующему алгоритму:
1. нарисовать замкнутый контур;
2. поднять перо и войти внутрь контура (на 3 шага);
3. дать команду КРАСЬ;
4. восстановить исходное положение черепашки.
При использовании команд управления цветом следует помнить, что команду КРАСЬ следует включать в процедуры самого нижнего уровня, а команду НЦ <число> в процедуры верхнего уровня.
Итогом изучения «Черепашьей графики» и темы «Цвета и закраска» является создание учащимися своего проекта с использованием созданных процедур. Такой проект - это процедура без параметров, содержащая в себе процедуры, у которых вместо параметров конкретные значения. В этом случае у детей расширяется представление о возможностях ЛогоМиров, развивается творческое воображение, алгоритмическое мышление.
Координатная графика. В ЛогоМирах каждая точка экрана имеет свои координаты. Точка с координатами [0 0] находится в центре экрана. Координатная графика существует параллельно с черепашьей графикой. Черепашка использует координаты точек и игнорирует направление своей головы.
Команды:
1) НМ [х у] - перемещает черепашку в точку с координатами [x y].
Пример:
нм [50 50]
2) НОВ_Х х - изменяет х-координату активной черепашки, у-координата не изменяется.
Примеры:
нов_х 100
нов_х -100
нов_х х_коор - 10.
3) НОВ_У у - изменяет у-координату активной черепашки, х-координата не изменяется.
Примеры:
нов_у 100
нов_у -100
нов_у у_коор - 10
нов_размер_пера 20
по вп 50
Используя перечисленные команды и работу с пером (ПП - перо поднять, ПО - перо опусти) можно создать ряд процедур: например, часы, конверт, лошадь, птицу, зайца (рис. 18).
Рис. 18. Образцы рисунков по теме «Координатная графика»
Цикл со счетчиком. В языках программирования используются два вида циклов: с указанием количества повторений и по условию. В Лого есть упрощенный вариант цикла с указанием количества повторений (ПОВТОРИ <число> [<команды>]). Существует класс задач, которые можно решить только с помощью переменной (счетчика). В Лого цикл со счетчиком можно реализовать двумя способами: с помощью команды повтори и переменной счетчик или рекурсивно со счетчиком. В нашем случае рассматривается первый способ.
Основанием для использования цикла со счетчиком является наличие величины, которая изменяет свое назначение по определенной математической закономерности (например, возрастание на 1,2,3 и т.д.)
В Лого рассматривают два вида счетчика «живой» (значение счетчика увеличивается на число больше 1, т.е. ПУСТЬ “а:а + 3) и формальный (значение счетчика увеличивается на 1, т.е. ПУСТЬ “а:а + 1). Типовыми заданиями является различные спирали на основе правильных многоугольником. С помощью цикла со счетчиком можно изменять длину, как стороны, так и цвет каждой стороны.
Рассмотрим примерный диалог для знакомства с циклом со счетчиком.
- Что написано на доске? (алгоритм)
- Какого типа алгоритм? (циклический)
- Докажите, что это циклический алгоритм. (Есть повторяющиеся действия)
- Что будет итогом выполнения этого алгоритма? (на экране будет напечатана буква а через пробел)
- Сколько раз повторяются эти два действия? (10 раз)
- В языках программирования есть два вида циклов: с указанием количества повторений и по условию.
- Нам предстоит нарисовать следующую фигуру:
- Назовите повторяющиеся команды? (вп:х пр 90)
- Но получится ли у нас пружина, если мы повторим 10 раз эти команды? (нет)
- Почему? (длина шага все время увеличивается)
- В этом случае нам необходимо построить цикл со счетчиком. Счетчики бываю двух видов? Формальный, то есть шаг увеличивается только на 1, и «живой», то есть может увеличиваться на значение не равное 1 (на 2, 3, 4, …).
- Какой лучше применить цикл со счетчиком? («живой»)
- Хорошо. Мы будем увеличивать все время длину стороны например, на 3. Причем угол поворота сохранится.
- Запишем в общем виде процедуру пружина:
Это пружина:кол
по
пусть “ имя <число>
повтори:кол [ действия пусть “ имя: имя + <число>]
конец
Рекурсия. Рекурсивными называются алгоритмы, процедуры, обращающиеся сами к себе. Для завершения процесса рекурсии в алгоритме рекурсивной функции (процедуры) обязательно должно быть условие остановки. Рекурсия часто встречается в жизни. Например:
1) на фантике нарисована девочка, держащая конфету, на которой нарисована девочка, держащая конфету и т.д.;
2) стихотворение:
Шли из Африки в Саратов
Семь отчаянных пиратов.
Видят надпись на столбе,
Читают: «Шли из Африки в Саратов…»
Учащимся предлагается нарисовать лестницу из прямоугольников, увеличивающих в длине, используя рекурсию. В результате составления программа должна получиться следующая:
это лестница: кол: дл:ш:шаг
прямоугольник: дл:ш
пр 90 вп:ш лв 90
лестница: кол - 1:дл +:шаг:ш:шаг
конец
В этой процедуре используется вложенная процедура прямоугольник с параметрами:дл (длина большей стороны) и: ш (длина меньшей стороны), которая должна быть заранее написана. Переменная: кол задает число «ступеней» в лестнице, параметр: шаг определяет, на сколько будет увеличиваться высота одной ступеньки относительно другой.
это прямоугольник: дл:ш
по повтори 2 [вп:дл пр 90 вп:ш пр 90]
конец
Далее учащимся предлагается запустить на выполнение данную процедуру. Она будет выполняться бесконечно. Процедура останавливается принудительно командой РедакторОстанов. Дети сами приходят к выводу, что необходимо поставить условие остановки и дополняется исходная процедура следующим образом:
это лестница: кол:дл:ш:шаг
если: кол = 0 [стоп]
прямоугольник: дл:ш
пр 90 вп:ш лв 90
лестница: кол - 1:дл +:шаг: ш:шаг
конец
Аналогично можно рекурсивно осуществить рисование пружины:
это пружина: к:а:шаг
если: к = 0 [стоп]
вп: а пр 90
пружина: к - 1:а +:шаг:шаг
конец
Используя рекурсию, можно поработать с текстом и познакомить с объектом «текстовое окно». Для этого следует рассмотреть новые команды для черепашки: ст - сотри текст; пиши <значение> - печатает слово или список в активном текстовом окне, например, пиши 10, пиши: а, пиши: а + 10; вставь <значение> - печатает входной параметр в позиции курсора в активном текстовом окне, курсор не переходит на следующую строку. Предлагается создать, используя рекурсию, бесконечные часы и часы, идущие 1 минуту на основе совместно созданной процедуры часы_1.
это часы_1:кол:сек
повтори: кол [вставь: сек жди 10 ст пусть “сек: сек +1]
конец
Это часы_бесконечные
пусть 'н 0
повтори 60[ст вставь: н жди 10 пусть 'н:н + 1]
часы_бесконечные
конец
Это часы_минута
пусть 'н 0
если: н = 59 [стоп]
вставь: н жди 10 ст
пусть 'н: н + 1
часы_минута
конец
Работа со списками. Данная тема сложна для изучения. Только семиклассники готовы ее освоить.
Список - это последовательность чисел, не подчиняющаяся математической логике. Рассмотрим датчики, помогающие обрабатывать списки.
1. элемент <число> [список] - позволяет выполнять действия с числом под определенным номером;
2. сколько [список] - считает количество элементов списка;
3. ПРВ [список] - сообщает первый элемент списка;
Примеры: Команда: покажи прв 'хелло Результат выполнения команды: х
Команда: покажи прв [Гонимы вешними лучами] Результат выполнения команды: Гонимы
4. ПСЛ [список] - сообщает последний элемент списка;
Примеры:
Команда: покажи псл 'хелло
Результат выполнения команды: о
Команда: покажи псл текст1
Результат выполнения команды: а
Команда: покажи псл разбери текст1
Результат выполнения команды: собака
5. КПРВ [список] - сокращение от <Кроме ПеРВого>, сообщает список без первого элемента, то есть отбрасывает 1-ый элемент;
Примеры:
Команда: покажи кпрв [0 1 2 3]
Результат выполнения команды: 1 2 3
Команда: покажи кпрв 'свист
Результат выполнения команды: вист
6. КПСЛ [список] - сокращение от <Кроме ПоСЛеднего>, сообщает список без последнего элемента, то есть отбрасывает последний элемент.
Примеры:
Команда: покажи кпсл [0 1 2 3]
Результат выполнения команды: 0 1 2
Команда: покажи кпсл 'дом
Результат выполнения команды: до
Датчики удлиняющие список:
7. (ПРЕД <объект1>… <объектN>) - объединяет объекты в списки, раскрывает скобки в списках;
Примеры:
Команда: покажи предложение 'a 'b
Результат выполнения команды: a b
Команда: покажи (предложение 'Маша 'Петя [Саша Толя])
Результат выполнения команды: Маша Петя Саша Толя
8. (СПИСОК <объект1>…<объектN>) - объединяет объекты в списки, сохраняет внешние списки вложенных списков;
Примеры:
Команда: покажи список 2 3
Результат выполнения команды: 2 3
Команда: покажи список 'a [b]
Результат выполнения команды: a [b]
Команда: покажи (список 'a 'b 'c 'd)
Результат выполнения команды: a b c d
9. ВНСП <элемент> <список> - сокращение от <В Начало СПиска>, сообщает список, полученный добавлением первого входного параметра в начало второго (второй параметр должен быть списком);
Примеры:
Команда: покажи внсп 'a [b c d e f]
Результат выполнения команды: a b c d e f
Команда: покажи внсп 'a [bcdef]
Результат выполнения команды: a bcdef
10. ВКСП <элемент> <список> - сокращение от <В Конец СПиска>, сообщает список, полученный добавлением первого входного параметра в конец второго.
Примеры:
Команда: покажи вксп 'f [a b c d e]
Результат выполнения команды: a b c d e f
Команда: покажи вксп 'ы [стол]
Результат выполнения команды: стол ы
11. ВКСП <элемент> <список> - сокращение от <в конец списка>. сообщает список, полученный добавлением первого входного параметра в конец второго.
Суммирование списка. Создается переменная для накопления суммы до начала цикла и присваивается ей значение равное нулю (пусть “сумм 0). Внутри цикла к переменной, накапливающей сумму, прибавляется очередное значение элемента списка. В результате в переменной:сумм оказывается сумма списка.
Программа на языке Лого для нахождения суммы списка выглядит так:
это суммирование: сп
локально [н ч сумм]
пусть “сумм 0
пусть “н 1
повтори сколько: сп [пусть “ч элемент: н:сп
пусть “сумм: сумм +:ч пусть “н:н + 1]
выход: сумм
конец
Вызов на выполнение: пиши суммирование [5 2 4 6 8]
сообщи суммирование [5 2 4 6 8]
Подсчет определенных значений в списке. До начала цикла создается переменная:кол для подсчета вхождений какого-либо значения. Искомое значение обозначим переменной:зн равное 0. Внутри цикла происходит увеличение переменной: кол на единицу (пусть “кол: кол + 1), только если очередной элемент списка равен искомому значению (:ч =:зн, где в переменной: ч содержится очередное значение списка). После цикла количество вхождений получаем в переменной: кол.
Данная задача на языке ЛогоМиров выглядит следующим образом:
Это счет_если:зн:сп
локально [кол н ч]
пусть “кол 0
пусть “н 1
повтори сколько:сп [пусть “ч элемент:н:сп
если:ч =:зн [пусть “кол:кол + 1]
пусть “н:н + 1]
выход:кол
конец
Запуск на выполнение: сообщи счет_если 5 [10 2 3 14 7 8]
Поиск максимального и минимального значения в списке. До начала цикла создается переменная для накопления максимума:max (минимума:min) и помещаем в нее 1-ый элемент списка.
Внутри цикла, только если текущий элемент списка больше (меньше) текущего max (min), то перекладываем элемент в текущую переменную:max (:min).
это макс: сп
локально [макс н ч]
пусть “макс прв:сп
пусть “н 1
повтори сколько: сп[пусть “ч элемент: н:сп
если: ч >:макс [пусть “макс:ч]
пусть “н:н + 1]
выход: макс
конец
Запуск на выполнение: сообщи макс [10 2 3 14 7 8]
Определение номера элемента. Вспомогательная переменная при решении данной задачи не нужна. Внутри цикла сравнивается искомое значение и текущий элемент списка. Если они равны, то отправляется на выход значение счетчика: н, далее прекращается перебор списка.
это поиск_позиций: зн:сп
локально [ч н]
если не входит?: зн:сп [выход 0]
пусть “н 1
повтори сколько: сп[пусть “ч элемент: н:сп
выход: ч =:зн если: ч =:зн [выход: н]
пусть “н:н + 1]
конец
Или возможен другой вариант решения поставленной задачи.
это поиск_позиций: зн:сп
локально [ч н]
пусть “н 1
повтори сколько: сп[пусть “ч элемент: н:сп
выход: ч =:зн если:ч =:зн [выход: н]
пусть “н:н + 1]
выход 0
конец
Рассмотрим задачи накопления списка. Общим алгоритмом для решения задач такого типа: (1) до цикла следует создать пустой список (пусть “нсп []); (2) внутри цикла добавляется к этому списку новые элементы (пусть “нсп вксп:ч: нсп).
Накопление случайного списка:
это сл_список: кол: граница
локально [нсп ч]
пусть “нсп []
повтори: кол [пусть “ч сл: граница пусть “нсп вксп: ч:нсп]
выход: нсп
конец
Запуск на выполнение процедуры сообщи сл_список 10 10
Ввод списка с клавиатуры. Для ЛогоМиров ввод с клавиатуры обеспечивается командой СПРОСИ [<текст>]. Числа, введенные с клавиатуры можно узнать с помощью датчика ОТВЕТ.
это клав_список: кол
локально [нсп ч]
пусть “нсп []
повтори:кол [спроси [введите числа]
пусть “ч ответ
пусть “нсп вксп: ч:нсп]
выход: нсп
конец
Перегонка списка. При перегонке списка и входной и выходной информацией являются списки. Следует придерживаться общего алгоритма перегонки списков:
1. до начала цикла создается пустой новый список;
2. организуется перебор исходного списка (любым способом);
3. на каждом проходе цикла очередной элемент исходного списка после обработки (по условию) добавляется в конец (или начало) нового списка.
это перегонка: сп
локально [нсп н ч]
пусть “нсп []
пусть “н 1
повтори сколько: сп [пусть “ч элемент: н:сп
пусть “нсп вксп: ч:нсп
пусть “н:н + 1]
выход: нсп
конец
Перегонка может быть безусловной и условной. В первом случае перегоняются все элементы исходного списка. Во втором случае перегоняются не все элементы исходного списка: возможна перегонка только тех элементов, которые обладают определенным свойством или перегонка кроме тех, которые не обладают заданным свойством. При перегонке возможно добавление новых элементов.
Рассмотрим задачу № 1 на безусловную перегонку: преобразование долларовых цен в рублевые.
это цены: сп
локально [нсп н ч]
пусть “нсп []
пусть “н 1
повтори сколько: сп [пусть “ч элемент: н:сп
пусть “ч:ч * 28 (или пусть “ч:ч *:курс)
пусть “нсп вксп:ч:нсп
пусть “н:н + 1]
выход: нсп
конец
Задача № 2: перегнать только числа меньше 10.
Это меньше_10:сп
локально [нсп н ч]
пусть “нсп []
пусть “н 1
повтори сколько: сп [пусть “ч элемент: н:сп
если:ч < 10 [пусть “нсп вксп: ч:нсп]
пусть “н:н + 1]
выход: нсп
конец
Задача № 3. Перегнать все числа, кроме 2.
Это кроме_2:сп
локально [нсп н ч]
пусть “нсп []
пусть “н 1
повтори сколько: сп [пусть “ч элемент: н:сп
если не:ч = 2 [пусть “нсп вксп: ч:нсп]
пусть “н:н + 1]
выход: нсп
конец
Задача № 4. Удалить элемент по его номеру (перегонка по условию типа «кроме»). Условие ставится на значение счетчика.
это удали: сп:ном
локально [ч нсп]
пусть “нсп []
пусть “н 1
повтори сколько: сп [пусть “ч элемент:н:сп
если не:н =:ном [пусть “нсп вксп:ч:нсп] пусть “н:н + 1]
выход: нсп
конец
Задача № 5. Вставить новый элемент в список по номеру.
это вставка: сп:ном:нов_эл
локально [ч н нов_эл нсп]
пусть “н 1
повтори сколько: сп [пусть “ч элемент:н:сп
если: н =:ном [пусть “нсп вксп: нов_эл: нсп]
пусть “нсп вксп:ч: нсп
пусть “н:н + 1]
выход: нсп
конец
Запуск программы на выполнение: сообщи вставка [1 2 3] 2 8
Роль датчиков в ЛогоМирах. Датчик - это инструкция языка Лого особого вида, которая позволяет измерять состояния экранных объектов. В нашей жизни подобные измерительные приборы играют важную роль. Это и термометр. Показывающий температуру, и спидометр, показывающий скорость движения, и манометр, измеряющий давление в паровом котле, и вольтметр, определяющий напряжение в электрической сети и т.д. Все эти приборы сами не выполняют никаких действий - просто фиксируют состояние на данный момент. Результатом работы датчика является не действие, а какое-либо значение. Датчик не может использоваться как самостоятельная команда (инструкция). Он должен быть с входным аргументом какой-либо команды или другого датчика.
Самые используемые в среде ЛогоМиры датчики, определяющие состояние черепашки (текущие свойства): цвет пера, курс, размер, форму, цвет поля под центром черепашки и др. Полный перечень датчиков можно посмотреть в приложении № 3.
Для моделирования случайных ситуаций в компьютерных программах используется так называемый датчик случайных чисел. В Лого этот датчик имеет вид:
СЛ <число> Например, СЛ 20, и выдает случайное число в диапазоне от 0 до <число> - 1 включительно ( в нашем примере, от 0 до 19). Датчик СЛ в результате своей работы выдает число, поэтому может использоваться в тех местах программы, где нужны конкретные числовые значения, например:
ВП СЛ 40
повтори сл 40[вп 30 пр сл 90] и т.д.
Одно из интересных применений датчика случайных чисел - случайная графика.
Организация движения. В ЛогоМирах черепашка может менять свое графическое представление или форму (на черепашку можно надевать разные формы). Эти графические представления хранятся в Поле форм (рис. 19).
Рис. 19. Поле форм
В каждом проекте может быть 60 разных форм, каждая форма имеет свой номер от 1 до 64 и может иметь свое имя (про имя можно не упоминать). Форма черепашки имеет номер 0. В отличие от формы черепашки, другие формы не имеют эффекта вращения, хотя повороты выполняют, не перекрашиваются по команде НЦ <число>, хотя меняют цвет пера.
Чтобы сменить форму черепашки вручную следует открыть Поле форм, щелкнув на кнопку с изображением собаки в Поле команд. Затем выделить нужную форму одиночным щелчком мыши и щелкнуть по черепашке. Она тут же изменит свой внешний вид. В ЛогоМирах четыре ряда форм черепашки, чтобы просмотреть все формы следует воспользоваться вертикальной полосой прокруткой справа. Восстановить нормальный вид Поля команд, надо щелкнуть мышкой по кнопке с изображением текстового листа .
Присвоить черепашки нужную форму можно с помощью команды НФ <число>. В качестве параметра этой команды указывается номер формы. Чтобы просмотреть номер и имя черепашки, необходимо открыть Поле форм, навести курсор мыши на интересующую форму. Появится подсказка с именем формы и ее номером.
Помимо стандартных форм есть пустые окошки, в которых могут быть созданы собственные формы. Формы создаются и редактируются в редакторе форм (рис. 20), используя инструменты встроенного графического редактора ЛогоМиров. Для входа в режим редактирования формы необходимо щелкнуть два раза по нужной форме или пустому окошку. Подтверждение окончания работы осуществляется при нажатии кнопки ОК. Если вы передумали, следует нажать кнопку ОТМЕНА. Нельзя редактировать только исходную форму «черепашка».
Рис. 20. Редактор форм ЛогоМиров 2.0
Кроме формы черепашка может изменять размер от 10 до 160. Стандартный размер, то есть исходный, равен 40. Инструмент Лупа увеличивает или уменьшает размер черепашки, управлять размерами можно с помощью команды НРЗ <число>, соответственно минимальное значение параметра команды НРЗ может быть равно 10, максимальное 160.
Для оформления микромира черепашки и решения отдельных задач удобно использовать не черепашек, а их оттиски форм. Чтобы оставить оттиск формы на Рабочем поле следует одеть черепашку в нужную форму, переместить ее в определенное место Рабочего поля, настроить размер черепашки, выбрав увеличивающую или уменьшающую Лупу и пощелкав несколько раз по черепашке. Далее выбирается инструмент штамп на Панели инструментов (курсор примет форму штампа). Для получения оттиска достаточно щелкнуть по черепашке. Если переместить черепашку на новое место и повторно щелкнуть по ней инструмент штамп, то появится вторая копия черепашки на экране.
Команда ШТАМП (без параметров) позволяет оставлять отпечаток текущей формы, в текущем месте Рабочего поля. Соответственно, чтобы командно управлять выбором формы, размером, местом расположения, необходимо предварительно указать значения этих свойств командами НФ <число>, НРЗ <число>, НМ [х у]. Последовательность этой группы команд не важна. Затем дать команду ШТАМП. И на экране также появится копия формы черепашки.
Подготовительной темой перед ознакомлением учащихся с динамической графикой является игра «Тир» и выше рассмотренная штамповка серии форм. Суть игры «Тир», в том что на основе датчика случайных чисел создается процедура «сл_место», перемещающая черепашку в точку с произвольными координатами. Другой процедурой рисует в центре закрашенный квадрат, т.е. мишень. Затем черепашка перемещается в случайное место на экране. И последней процедурой производится выстрел, то есть пользователь в Поле команд указывает количество шагов до мишени и количество градусов. В результате на экране появится соответствующее сообщение в диалоговом окне, например, «Точно в цель», если черепашка оказалась внутри квадрата, или «Мимо», если неправильно задано число шагов и угол поворота. Во втором случае пользователь может многократно повторить попытку.
На основе этого задания учащиеся знакомятся с командой если_иначе [действие_1] [действие_2].
Логика изложения на данном уроке будет следующей: сначала учащихся надо объяснить суть игры «Тир», далее проиграть на доске случайное перемещение черепашки и потренировать задавать расстояние до мишени и угол поворота. Затем учитель предлагает составить алгоритм для процедуры «мишень», по которому дети самостоятельно должны составить программу.
Мишень (запись для детей на доске):
1 очистить экран;
2 взять 64 цвет;
3 нарисовать закрашенный квадрат;
4 переместить черепашку в случайное место;
5 перекрасить черепашку в другой цвет.
Составляя процедуру «пли», осуществляющую выстрел, обсуждается количество параметров, их назначение и обозначение, например, :курс: длина. Возникает проблема, как определять попала ли черепашка в мишень или нет. Здесь необходимо вспомнить датчики и их назначение.
Черепашка точно знает цвет поля под ее центром, и определяется он с помощью датчика цвет поля (ЦП = 64). Поставив условие командой если_иначе на соответствие определенному номеру цвета под центром черепашки мы легко сможет правильно определять попадание и промах. Команда сообщи [текст] позволяет выводить на экран любой текст в диалоговом окне.
В качестве дополнительного задания можно предложить изменить процедуру «мишень» так, чтобы черепашка всегда оставалась в центре экрана, а мишень перемещалась в случайное место на экране.
Динамическая графика. Динамическая графика подразделяется на 2 вида: простое движение и мультик, последнее в свою очередь подразделяется на «скачковый» и «гладкий» мультик. Рассмотрим подробнее перечисленные технологии. Начнем с простого движения. Чтобы получить эффект равномерного движения и иметь возможность управлять его скоростью, надо:
- разбить все расстояние на маленькие отрезки;
- после каждого маленького шага делать остановку и ждать некоторое время (с помощью команды ЖДИ).
Получается следующее:
повтори <время> [вп <скорость> жди <время_задержки>]. Расстояние, которое пройдет черепашка рассчитывается как <скорость> * <время>.
На основе этого создается процедура плавно1, которая необходима для реализации «гладкого» мультика:
Это плавно1:вр:ск
пп повтори: вр[вп:ск жди 1]
конец
Примером простого движения является проект «полет». Суть его в том, что рисуются две взлетные площадки любым из доступных способов (например, изменяется форма черепашки и штампуется в заданной координате). С одной из площадок взлетает вертикально вверх самолет, поднимается на определенную высоту. Затем летит горизонтально по направлению к другой площадке, и вертикально вниз приземляется на второй площадке.
Эффект 'мультипликации' основан на чередовании двух похожих форм. Это чередование может сочетаться с движением и задержками времени. Можно выделить две техники мультика - назовем их скачковым и гладким мультиком.
В гладком мультике каждая форма какое-то время скользит по экрану, в скачковом она скачком переходит на новое место и сразу меняется на вторую форму. Каждый мультик имеет свое применение: так, для бегущего человека больше подойдет скачковый мультик, а для лыжника или конькобежца - гладкий.
Запись скачкового мультика выглядит так:
нф <форма1> жди <задержка_времени> вп <шаг> нф <форма2>
жди <задержка_времени> вп <шаг>
Запись «гладкого» мультика выглядит так:
нф <форма1> плавно1:вр:ск вп <шаг>
нф <форма2> плавно1:вр:ск вп <шаг>
Моделирование траекторий движения. Движение объектов в реальной жизни намного сложнее движения по прямой линии: автомобиль «трясется» на ухабах, самолет «проваливается» в воздушных ямах, трактор объезжает лужи на грунтовой дороге, корабль качается на волнах и т.п. Задавая для объектов мультсюжета прямолинейное движение, выделяются элементы такого движения: шаг, остановка.
Чтобы приблизить движение черепашки к движению реальных объектов необходимо усложнить повторяющийся элемент. Например, для черепашки-автомобиля можно добавить к каждому шагу подскок на ухабе с последующим приземлением.
Форма № 27 запечатлевает собаку в момент полета над землей в прыжке, а форма № 26 - в момент приземления и толчка. Аналогичная траектория подходит для моделирования движения гарцующей лошади.
Используя команды НФ <число> (новая форма), ЖДИ <время>, процедуру плавно1:вр:ск, формулы скачкового и гладкого мультика, команды смены активности черепашек для [имя_черепашки] список команд, скажи [имя-черепашки] [список команд], каждая [список команд] можно создавать интересные мультипликационные проекты.
Рис. 21. Траектория движения автомобиля, корабля, трактора, вспахивающего поле, собаки
Сюжет «Резвящийся дельфин» реализуется с помощью двух форм, расположенных под углом 90° относительно друг друга. Движение дельфина носит циклический характер. В качестве повторяющегося фрагмента можно выбрать верхнюю половину правильного восьмиугольника (рис. 22, в).
Рис. 22. Траектория движения резвящегося дельфина
Движение по каждому из 4 отрезков представляется в виде последовательности шагов. В движении можно выделить два похожих участка: взлет над водой и нырок. Форма дельфина меняется в верхней и нижней точках повторяющегося элемента траектории, поэтому взлет и нырок можно описать одной программой. Чтобы изобразить погружение дельфина в воду, необходимо, имитации волн взять 3-4 черепашки, придать им форму волны и максимально увеличить в размере. Причем черепашки-волны должны быть созданы позднее, чем черепашка-дельфин, иначе нарушится правило «видимости» черепашек при наложении друг на друга.
Более сложный мультик можно создать с помощью параллельного программирования нескольких черепашек. Плавным переходом к изучению данного блока является создание проектов «такси1» и «такси2». В «такси1» (рис. 23) используется одна черепашка, но создаётся эффект работы двух черепашек. Суть проекта «такси1» следующая: человечек идёт вверх (скачковый мультик), садится в машину (меняет форму с человечка на машину), едет вправо по горизонтали (процедура плавно1:вр:ск. Машина останавливается, штампуется форма машины, черепашка меняет форму на человечка и идёт вниз от машины (скачковый мультик).
Рис. 23. Проект «такси1»
Для управления несколькими черепашками используется ряд команд. Рассмотрим основные:
1. для “имя_черепашки или для [имя_черепашки] - команда переключения активности черепашек, все команды, написанные после «для» будут выполнены черепашкой, имя которой указано в качестве параметра.
Примеры:
для [ч1 ч2 самолет] вп 50
для 'текст1 пиши 'хелло
2. каждая [список действий] - по одной черепашке все команды.
Примеры:
Предположим, что на Вашем листе несколько черепашек.
каждая [нов_форма 12] все черепашки наденут форму 12
каждая [повтори 4 [вп 50 пр 90]] каждая черепашка нарисует квадрат
каждая [всегда [вп 5]] все черепашки поползут вперед
3. скажи [имя_черепашки] [список действий] - конкретные команды к конкретным черепашкам. Временно предписывает каждому исполнителю из первого входного параметра выполнить список инструкций. Первый входной параметр может быть именем черепашки или текстового окна (или списком и мен). Скажи не меняет активную черепашку или текстовое окно.
Примеры:
На листе есть три черепашки с именами ч1, ч2 и ч3:
скажи [ч1 ч2 ч3] [вп 50 пр 90 вп 50]
Если у Вас два текстовых окна на листе и Вы хотите, чтобы текст1 оставалось активным: скажи 'текст2 [пиши 'Привет]
Если ч1 не является активной черепашкой, и Вы хотите узнать ее координаты: покажи скажи 'ч1 [место]
Суть проекта «такси2» (рис. 24) такая же как и в проекте «такси1». Разница лишь в реализации.
Рис. 24. Проект «такси2»
Если в первом случае черепашка доходит до нужного места и меняет форму на машину, то во втором случае машина и человек это две разные черепашки, имеющие свои уникальные имена по умолчанию ч1 и ч2. Человек и машина не движутся одновременно по горизонтали.
Используя команды управления видимостью черепашки СЧ - спрячь черепашку и ПЧ - покажи черепашку, создаётся эффект, что человечек едет в машине. Когда машина останавливается, то человечек мгновенно перемещается командой новое место НМ [х у] к машине и становится видимым.
Рассмотренные выше команды управления несколькими черепашками позволяют создавать достаточно сложные мультипликационные проекты, например, «спортивная площадка» (см. Систему заданий).
Команды «спроси» Открывает диалоговое окно, в котором напечатан вопрос и предлагается напечатать ответ. и «ответ» Сообщает последовательность символов, напечатанную в диалоговом окне, открытом командой спроси. используются для реализации нескольких ветвей развития сюжета. Команда «спроси» открывает диалоговое окно, в котором напечатан вопрос и предлагается напечатать ответ.
Ответов может быть 2, 3, или 4, соответственно столько может быть вариантов развития сюжетной линии. После того как ответ будет напечатан, его текст будет храниться в системе, до следующего применения команды спроси в виде символьной цепочки и может быть востребован с помощью датчика ответ.
Используя команду «спроси» и датчик «ответ», можно получить доступ к словам, введенным с клавиатуры и тем самым создавать интерактивные программы (рис. 25). Ответ сообщает введенный текст как одно (длинное) слово. Чтобы превратить его в список слов, используется датчик разбери.
Рис. 25. Интерактивная программа. В зависимости от выбора ответа человек идет к фонарю или отелю
Рассмотрим пример:
спроси [Куда пойдём? (“фонарь” или «отель”)]
если пусто? ответ [стоп]
если входит? “фонарь разбери ответ [пр 45 вп 200 стоп]
если входит? “отель разбери ответ [лв 45 вп 200 стоп]
Проект «Скачки». Интересным является проект «скачки». Для создания данного проекта понадобится два урока. На первом уроке создается процедура с параметрами «движение»Это движение: форма нф:форма вп сл скорость * 2 жди 1 нф:форма + 1 вп сл скорость * 2 жди 1 вп сл скорость * 2 жди 1 конец, параметр которой будет задавать внешний вид участника, то есть форму, а скорость будет случайной.
На этом же уроке рассматривается объект «бегунок». Бегунок является еще одним инструментом управления.
Напомним, что управлять черепашкой можно из Поля команд, при помощи кнопок и задания инструкций в Личной карточке. Бегунок - это средство плавной регулировки каких-либо параметров черепашки. При помощи бегунков можно регулировать цвет, размер, скорость, курс и другие параметры черепашки (рис. 26).
Рис. 26. Бегунок
Бегунку присваивается имя по его назначению, задается максимальное и минимальное значение этого параметра (рис. 23). Использование бегунка подобно использованию переменной с целочисленным значением. Достаточно написать после команды имя бегунка. Например, вп скорость, нд шаг, пр курс. Если текущее значение бегунка 50, то по команде вп скорость черепашка пройдет по направлению головы 50 шагов, по команде нд шаг - 50 шагов в сторону хвоста, пр курс - повернет голову на 50 градусов по часовой стрелке. Однако бегунок имеет два важных преимущества: его значение обычно видно и может быть изменено с помощью мышки в пределах диапазона, заданного пользователем. Двигая регулятор бегунка, вы будете менять параметр соответствующей команды. К сожалению, во время манипулирования с бегунком экранное движение замирает, что нарушает иллюзию управления объектами «в живую», в реальном времени. В итоге должно получиться:
это движение: ф
нф:ф вп сл скорость * 2 жди 1
нф:ф + 1 вп сл скорость * 2 жди 1
нф:ф + 2 вп сл скорость * 2 жди 1
конец
Этапы создания бегунка (рис. 27):
1. щелкните мышью по изображения бегунка в Инструментальном меню;
2. в строке Имя запишите название регулируемого параметра (в данном случае скорость);
3. запишите максимум и минимум данного параметра (в данном случае 1 и 5);
4. щелкните по кнопке ОК для закрытия окна.
Рис. 27. Диалоговое окно создания «бегунка»
Например, вы задумали регулировать курс и скорость самолета, роль которого играет черепашка. Стоит завести два бегунка с названиями «направление» и «скорость» и установить границы изменения параметров. Команда в личной карточке или в Поле команд должна выглядеть так: всегда [нк направление вп скорость].
Используя изученные ранее кнопки, а теперь и бегунки, можно организовать свой собственный интерфейс - управляющую панель для созданного микромира.
Суть проекта «Скачки» в следующем: одновременно стартует несколько участников. Это могут быть машины, лошади, собаки и т.д. Как только один из них пересекает линию финиша на экране должно появиться сообщение, что «Победил» и далее имя победителя. Возникает проблема, как определить, кто первым пересек линию финиша. Во-первых, по цвету поля отслеживать победителя, во-вторых, по координатам линии финиша. Мы предлагаем отслеживать по х координате линии финиша с помощью датчика х_коор. Х_КООР - сокращение от <Х-КООРдината>, сообщает х-координату активной черепашки (датчик у_коор - сообщает у-координату активной черепашки). Условие остановки скачек будет выглядеть так:
если х_коор > 300 [сообщи список [`Победила'] кто останов].
Команда останов останавливает все работающие процедуры и процессы, включая черепашек и кнопки. Останов может использоваться при программировании кнопки, при записи процедуры или вызываться из Поля команд. Датчик кто сообщает имя активной черепашки.
Расскажем о некоторых командах остановки, которые могут понадобиться при создании других проектов. Команда стоп останавливает работу процедуры, в которой выполнена эта команда. Может использоваться только в процедурах. Команда автостоп останавливает процесс, при выполнении которого встретилась эта команда.
Рис. 28. Проект «скачки»
Это скачки
скажи [гнедая]
[пп нм [-320 -120] нк 90
всегда [движение 19
если х_коор > 300 [сообщи список [`Победила'] кто останов]]]
скажи [пегая]
[пп нм [-320 0] нк 90
всегда [движение 19
если х_коор > 300 [сообщи список [`Победила'] кто останов]]]
конец
Процедура «скачки» состоит из повторяющихся блоков. Отличаться они будут друг от друга значением параметра команды скажи [имя_черепашки], и исходными координатами на старте. Как только координата по оси ох становится больше 300, т.е. нарушается условие, то на экране появляется сообщение, например, «Победила гнедая» (датчик кто выдаст имя черепашки-победителя), все остальные черепашки остановятся одновременно.
Проект «Лабиринт». Средствами программы ЛогоМиры можно создать компьютерную игру, которую можно предложить приятелю. Для этого надо нарисовать на Рабочем листе лабиринт, причем нужно не просто найти из него выход, как в обычном лабиринте из журнала. Задача играющего - провести черепашку от входа до выхода так, чтобы она при этом не задела стен.
Рис. 29. Круговой лабиринт
Рисование лабиринта (рис. 29) - занятие, интересное само по себе. Постарайтесь, чтобы он был запутанным, с множеством тупиков. Можно сделать его разветвленным, так чтоб к выходу вело несколько путей.
Продумайте форму для лабиринта, как лучше расположить выходы, что будет требоваться: пройти от одного выхода к другому или же из центра лабиринта - наружу и так далее. Рисуйте стены лабиринта одним цветом и достаточно толстыми. Скорость движения черепашки будет регулироваться также при помощи бегунка. Для начала следует научить черепашку двигаться вперед без остановки: всегда [вп скорость жди 1].
Чтобы ею было можно управлять, следует создать две кнопки: одну для поворота направо, другую - налево. Если в лабиринте прямые углы, то поворачивать лучше на 90°. Если в основе лабиринта лежит круг, то лучше поворачивать на 30°. Осталось поставить черепашку на старт (командой НМ [х у]), запустить ее и, поворачивая при помощи кнопок, вести к выходу.
Игра будет интереснее, если стены будут непроницаемы для нее, как настоящие. Научим черепашку реагировать на тот цвет, которым нарисованы стены. Решите сами, какова должна быть ее реакция: хотите ли Вы, чтобы при попадании на стену черепашка просто отталкивалась от нее или же чтобы происходило что-либо другое. Можно, например, сделать так, чтобы раздавался какой-нибудь звук, и игра останавливалась.
Чтобы черепашка не проходила сквозь нарисованные стены, нарисуйте их достаточно толстыми и в программе поставьте условие. Пусть черепашка будет отталкиваться от стенки лабиринта: если цп = 9 [нд скорость жди 1].
Обратите внимание на то, что черепашка не должна двигаться слишком большими шагами. Дело в том, что она проверяет, каков цвет рисунка в том месте, где она находится, только сделав очередной шаг. Таким образом, если стена слишком тонкая (или шаг слишком широкий), то она попросту может «перешагнуть» через стену, не заметив ее.
Вы можете усложнить игру для тех, кто уже легко проводит черепашку сквозь лабиринт. Просто увеличьте скорость движения черепашки (регулирование скорости с помощью бегунка).
Попробуйте управлять черепашкой, на которую надета какая-либо форма. Придется быть особенно внимательным, ведь не видно, куда черепашка повернута. Расставьте в своем лабиринте несколько сундуков с кладами. Играющий может собирать клады по дороге. Научите реагировать на цвет сундука: скажем, попадая на меняет форму на новую (например, на форму цвета фона) и штампует этот квадратик в хранилище игрока, или поверх клада). Сделайте пару ложных сундуков. Пусть они будут другого цвета, а черепашка, попавшая на этот цвет, окажется опять на старте - играющему придется особенно аккуратно обходить эти сундуки.
В итоги получиться такая процедура:
это лабиринт
нм [ 0 0] всегда [вп скорость жди 1 если цп = 9 [нд скорость жди 1]]
конец
Многолистовой проект «Концерт». Напомним, что файл программы ЛогоМиры состоит из нескольких листов. Перемещение между листами можно осуществлять через меню Листы Лист1 или с помощью команды возьми лист ВЛ “имя_листа. Например, ВЛ “лист10. В этом случае можно создать многолистовой проект «концерт» с различными декорациями, показать большое количество номеров и актеров. Причем меняться будут листы без участия зрителя, достаточно будет запустить одну процедуру на выполнение, набрав ее имя в Поле команд или нажав на кнопку.
Чтобы импортировать музыку в проект выберите команду Возьми… Музыка в меню Файл. Откроется диалоговое окно импорта музыки, в котором нужно указать, где находится музыкальный файл. В этом диалоговом окне можно увидеть только музыкальные файлы (файлы с расширением.MID), выберите нужный и щелкните на 'Открыть'. На листе проекта появится картинка музыкального файла: .
Щелчок на картинке запустит исполнение музыки, повторный щелчок - ее остановит. Теперь можно напечатать имя импортированной музыки в Поле команд, в качестве инструкции кнопке или использовать в процедуре.
Музыка может сопровождать движение черепашки, например:
для “ч1, всегда [вп 1] песня
Музыкальный файл не загружается в ваш проект, при импорте музыки в проект, ЛогоМиры осуществляют два действия: создают картинку музыки в проекте, запоминают связь между картинкой в проекте и музыкальным файлом на жестком диске компьютера. Если ЛогоМиры не могут найти музыкальный файл, они производят поиск в двух местах: в папке, в которой находится данный проект и в той папке, из которой музыкальный файл был импортирован. Если ЛогоМиры не смогут найти музыкальный файл не в одной из этих папок, то музыка проигрываться не будет. Если Вы переносите проект ЛогоМиров, содержащий связь со музыкальным файлом на другой компьютер, то нужно перенести и музыкальный файл.
Одновременно может проигрываться не более одной мелодии. Если вы хотите отредактировать мелодию, выберите и щелкните на картинке мелодии. Откроется Музыкальный редактор.
Таким образом, в данной главе рассмотрены достаточно полно методические аспекты реализации темы «Среда программирования ЛогоМиры».
5. Электронный задачник по теме «Среда программирования ЛогоМиры»
Данная глава, описывает интерфейс электронного задачника по теме «Среда программирования ЛогоМиры» с решениями. Он может быть использован учителем при первом знакомстве со средой ЛогоМиры в качестве рекламы, а также учитель может посмотреть, как реализуется на языке Лого та или иная процедура в случае затруднения, может показать учащимся результат заданной работы или возможный итоговый проект.
Рис. 30. Окно первой загружаемой страницы
Задачник представляет собой многолистовой проект. Используя кнопки, можно переключаться между листами. Первый загружаемый лист при открытии задачника содержит перечень пронумерованных упражнений. С помощью полосы прокрутки просматриваются все задания. Чтобы получить доступ к листу, на котором содержатся решения, необходимо нажать на кнопку справа с соответствующим номером упражнения. А так же возможно перемещение между листами не с главной страницы, то есть можно пролистать все темы, не переходя на лист с оглавлением. С любого листа с заданиями можно перейти на лист с оглавлением.
Программная среда Лого (ЛогоМиры) была разработана и реализована под руководством американского психолога С. Пейперта в 1989 г. в Массачусетском технологическом институте. Она была создана не просто как формализованный язык программирования, а как среда, в которой дети могли бы научиться естественному общению с компьютером. ЛогоМиры - универсальная учебная компьютерная среда на базе языка Лого. Эта среда интегрирует графику, мультипликацию, звуки, программирование и позволяет осуществлять проектный подход к занятиям по всем направлениям учебного плана, а также обеспечивает возможность осуществлять межпредметные связи с другими дисциплинами на уроках информатики, развивает алгоритмическое мышление у детей.
Изучая программирование, ученики лучше понимают сущность работы компьютеров, их возможности и ограничения. Написав однажды свои собственные программы, ученики обнаруживают, что компьютеры совсем не похожи на волшебные всемогущие машины, описанные в научно-фантастических рассказах. Ученики понимают, что компьютеры - инструменты, которыми должны управлять люди. Только немногие дети станут профессиональными программистами, или будут иногда программировать на работе, или сделают программирование своим хобби, но все они выиграют от того, что постигли природу программирования и убедились на опыте, что значит создавать свои собственные программы.
Программирование помогает школьникам прочувствовать на собственном опыте пройти все основные этапы формализованного решения некоторой творческой точно сформулированной задачи. Это даёт необычайно сильный толчок для развития интеллекта в целом, и одновременно создаёт благоприятную эмоциональную окраску работе. Для всех учащихся без исключения это помогает развивать навыки мыслить и решать задачи, а также привычку к аккуратной и систематической работе, а для одарённых детей ещё и так необходимую им новую пищу для размышлений, поисков, развитие скрытых способностей.
Формируемый при этом алгоритмический стиль мышления ценен сам по себе. Методы, которые дети освоили на уроках программирования, обязательно будут использоваться позднее при решении самых различных «взрослых» жизненных и профессиональных задач. Возможно, это проявится неосознанно и через много лет после окончания школьного курса информатики, однако, и ради этого стоит учить программированию.
Большим достоинством языка Лого в сравнении с Бейсиком и Паскалем является возможность легкого быстрого создания программ с графическими изображениями, с анимационным (мультипликационным) эффектом из предусмотренных в языке форм черепашки. Формы можно редактировать, поворачивать, создавать новые.
ЛогоМиры удовлетворяет требованиям начального языка программирования, являются пропедевтикой языков программирования. В среде ЛогоМиры можно организовать нелинейную структуру между листами проекта. ЛогоМиры - объектно-ориентированная среда, включает в себя одновременно графический, текстовый и музыкальный редакторы. Кроме того, обучение в среде Лого вызывает у учащихся повышенный интерес к предмету, развивает математическую интуицию и геометрические представления, является своеобразным математическим тренажером, формирует алгоритмический стиль мышления.
Изучение Лого как начального языка значительно облегчает дальнейшее обучение профессиональных языков программирования. Лого является интерпретатором, обеспечивающим диалоговый характер общения с пользователем. Таким образом, для начального обучения программированию в 5-7 классах лучше использовать программу ЛогоМиры, так как она позволяет закрепить понимание различных команд, алгоритмических структур, позволяет в столь раннем возрасте стать мультипликатором, и программистом, и художником, и сценаристом в одном лице. Привить ребенку правильные принципы программирования, развивать творческое мышление, заложить хорошую базу для изучения в дальнейшем других языков программирования. Лого интересен и понятен детям.
Осваивая новую компьютерную среду учащиеся развивают память, воображение, фантазию, учатся анализировать, разбивая фигуру на отдельные фрагменты) и синтезировать, видеть в отдельных фрагментах единой изображение), узнают основы языка программирования. Учатся формализовывать информацию, осваивают основные алгоритмические структуры и необходимость их использования в различных ситуациях. ЛогоМиры это развивающая, интересная для изучения и освоения среда программирования, как для учителя, так и для ученика. Каждый из них на своем уровне может работать, создавать проекты.
Основные результаты работы:
· Обоснован выбор языка программирования для первоначального знакомства учащихся с основами программирования.
· Разработаны методические рекомендации по изучению темы «Среда программирования ЛогоМиры», поурочное и тематическое планирование.
· Описаны достаточно полно и подробно основы среды программирования ЛогоМиры 2.0.
· Разработана методика по реализации структуры и содержания по теме «Среда программирования ЛогоМиры».
· Представлен комплекс задач по теме «Среда программирования ЛогоМиры».
· Создан электронный задачник по теме «Среда программирования ЛогоМиры» с решениями.
Таким образом, все поставленные задачи выполнены. Цель достигнута.
Литература
1. Горячев В., Лесневский А.С. Пояснительная записка. Пропедевтический курс.
2. Зайцев А.А. Повесть о настоящей черепашке // Информатика, № 3/2001.
3. Зуев Е.А.. Программирование на языке TurboPascal 6.0, 7.0. - М.: Радио и связь, Веста, 1993.
4. Клейман Г.М.. Школы будущего: компьютеры в процессе обучения. - М.: Радио и связь, 1987.
5. Кузнецов А., Пугач В. и другие. Тестовые задания. М.: Лаборатория Базовых Знаний, 2002 г.
6. Кушниренко А.Г., Лебедев Г.В., Сворень Р.А.. Основы информатики и вычислительной техники. - М.: Просвещение, 1990.
7. Ландо С. К., Семенов А. Л. Пропедевтический курс. Пояснительная записка.
8. Михайлов В.Ю., Степанников В.М.. Современный Бейсик для IBM PC. Среда, язык, программирование. - М.: Издательство МАИ, 1993.
9. Макарова Н.В., Информатика. Начальный курс. - СПб: Питер, 2001г.
10. Макарова Н. В. Информатика. Практикум по информационным технологиям. 7-9, Сб.: Питер, 2001г.
11. Макарова Н.В. Программа по информатике. 5-11 класс. СПб.: Питер, 2001г.
12. Макарова Н.В. Информатика. Базовый курс. 7-9. - СПб.: Питер, 2001г.
13. Макарова Н.В. Информатика, - Спб.: Питер, 2002 г.
14. Марцинковская Т.Д. Психология развития ученика. М.: Академия, 2001 г.
15. Нечаева А.П. Психология и школа. М.: Институт практической психологии, Воронеж: НПО «Модэк», 1998г.
16. Окулов С.М. Основы программирования. - М.: Юнимедиастайл, 2002 г.
17. Оценка качества подготовки выпускников основной школы. По информатике. - М.: Дрофа, 2000.
18. Семакин И.. и другие. Базовый курс. 7-9. - М.: Лаборатория Базовых Знаний, 2001 г.
19. Семакин И., Шеина Т. Преподавание базового курса информатики в средней школе. - М.: Лаборатория Базовых Знаний, Юнимедиастайл, 2002 г.
20. Сопрунов С.Ф. ПервоЛого. - М.: Институт новых технологий образования, 1996 г.
21. Угринович Н.Д. Информатика и информационные технологии. 10-11 кл. - М.: Юнимедиастайл, 2002 г.
22. Фридман Л.М. Изучение процесса личностного развития ученика. М.: Институт практической психологии; Воронеж: НПО Модэк, 1998г.
23. Юдина А.Г. Лого - среда для развития мышления // Информатика, № 33/95.
24. Яковлева Е.И. ЛогоМозаика. - М.: Институт новых технологий образования, 1996 г.
Приложение 1
Основные команды управления черепашкой
№ |
Название команды (краткая форма) |
Параметр |
Действие исполнителя |
|
1. |
ВП <число> |
число шагов |
Продвигается в направлении головы на указанное число шагов |
|
2. |
НД <число> |
число шагов |
Продвигается в направлении против головы |
|
3. |
СГ |
нет параметра |
Стирает рисунок на рабочем листе |
|
4. |
домой |
нет параметра |
Устанавливает в центр Рабочего поля, голова смотрит вверх |
|
5. |
ПП |
нет параметра |
Поднимает перо |
|
6. |
ПО |
нет параметра |
Опускает перо |
|
7. |
ПР <число> |
число градусов |
Поворачивает направо (по часовой стрелке) относительно текущего направления головы черепашки |
|
8. |
ЛВ <число> |
число градусов |
Поворачивает налево (против часовой стрелки) относительно текущего направления головы черепашки |
|
9. |
НК <число> |
число градусов |
Поворачивает по часовой стрелке относительно градусной мере |
|
10. |
НЦ <число> |
номер цвета |
Изменяет текущий цвет пера |
|
11. |
КРАСЬ |
нет параметров |
Заливает текущим цветом замкнутую область |
|
12. |
НОВ_ФОН <число> |
номер цвета |
Изменяет цвет рабочего листа |
|
13. |
СЧ |
нет параметров |
Становится невидимой |
|
14. |
ПЧ |
нет параметров |
Становится видимой |
|
15. |
СООБЩИ [ ] |
текст, число, знаки препинания |
Печатает сообщение в сигнальном окне. Чтобы закрыть окно, щелкните на OK. |
|
16. |
ПОВТОРИ <число> [список команд] |
(1) число повторений; (2) повторяющиеся команды; |
Выполняет список инструкций (второй параметр) указанное число (первый параметр) раз. |
|
17. |
НМ [х у] |
координаты х и у |
Перемещает черепашку в точку с координатами [x y]. Координаты центра листа - [0 0]. |
|
18. |
НОВ_Х х |
х координата |
Изменяет Х-координату активной черепашки. У-координата не изменяется. |
|
19. |
НОВ_У у |
у координата |
Изменяет У-координату активной черепашки. Х-координата не изменяется. |
|
20. |
ЕСЛИ_ИНАЧЕ <1> [<2>] [<3>] |
<1> условие <2> список инструкций_1 <3> список инструкций_2 |
Выполняет список инструкций1, если первый входной параметр сообщает да. Выполняет список-инструкций2, если первый входной параметр сообщает нет. |
|
21. |
НФ <число> |
номер формы |
Сокращение от НОВая ФОРМА. Изменяет форму черепашки. Если входной параметр - имя, перед ним обязательна кавычка. Если входным параметром является список форм, черепашка будет менять их поочередно, при каждом выполнении команды вперед, назад или плавно. Установить порядок чередования форм можно также из Поля форм. |
|
22. |
ДЛЯ [имя] ДЛЯ «имя ДЛЯ [имя1, имя2,…] |
имя черепашки |
Делает активной черепашку или текстовое окно. Входным параметром может быть список черепашек. |
|
23. |
СКАЖИ [(1) ] [ (2) ] |
(1) имя черепашки; (2)список команд (процедур); |
Временно предписывает каждому исполнителю из первого входного параметра выполнить список инструкций. Скажи не меняет активную черепашку или текстовое окно. |
|
24. |
КАЖДАЯ [ ] |
список инструкций |
Все черепашки на данном листе выполняют, одна за другой, указанный список инструкций. |
Приложение 2
Тематическое планирование по теме «Среда программирования ЛогоМиры». Курс рассчитан на 70 часов
№ |
Наименование раздела. |
Всего |
Теория |
Практика. |
|
1 |
Знакомство со средой ЛогоМиры 2.0. |
2 |
1 |
1 |
|
2 |
Черепашья графика. |
22 |
8 |
14 |
|
3 |
Цвета и закраска. |
2 |
1 |
1 |
|
4 |
Создание учащимися собственного графического проекта. |
4 |
- |
4 |
|
5 |
Координатная графика. |
2 |
1 |
1 |
|
6 |
Цикл со счетчиком. |
2 |
1 |
1 |
|
7 |
Рекурсия. |
2 |
1 |
1 |
|
8 |
Работа со списками. |
6 |
2 |
4 |
|
9 |
Роль датчиков в ЛогоМирах. |
3 |
1 |
2 |
|
10 |
Организация движения Черепашки. |
19 |
9 |
10 |
|
11 |
Создание учащимися собственного динамического проекта. |
6 |
- |
6 |
|
Итого: |
70 |
25 |
45 |
Поурочное планирование по теме «Среда программирования ЛогоМиры»
№ |
Тема занятия |
№ |
Тема занятия |
|
1 |
Знакомство со средой ЛогоМиры. Инструментарий среды. |
2 |
Исполнитель черепашка. СКИ черепашки. Рисование букв. |
|
3 |
Знакомство с понятием процедура и ее структурой. |
4 |
Работа с углами. |
|
5 |
Введение понятия процедура с параметрами. Правила оформления. |
6 |
Создание процедур с параметрами. |
|
7 |
Знакомство с командой новый курс. Знакомство с командой реализующий типовую конструкцию циклического алгоритма. |
8 |
Создание процедур с использованием команды «повтори». |
|
9 |
Введение приема расчета параметров команд. |
10 |
Знакомство с командой «пусть». Использование переменной для хранения расчетных данных. |
|
11 |
Многоугольники. |
12 |
Формула окружности. Дуга. |
|
13 |
Работа с пером черепашки. |
14 |
Введение понятия вложенной процедуры. |
|
15 |
Создание процедуры «дом», «конфета». |
16 |
Вложенные процедуры с параметрами. |
|
17 |
Создание из нескольких многоугольников новых фигур: «пешка», «ладья», «дерево». |
18 |
Создание процедуры с параметрами ель на основе процедуры «стрелка». |
|
19 |
Создание процедуры с параметрами «аллея» на основе процедуры с параметрами «ель». |
20 |
Создание процедуры с параметрами «лес». |
|
21 |
Создание процедуры с параметрами «цветок». |
22 |
Создание процедуры «клумба» из линий цветов. |
|
23 |
Создание процедуры «солнце» на основе процедуры «дуга». |
24 |
Создание процедуры с параметрами «доска» «забор». |
|
25 |
Цвета и закраска. Команды НЦ крась. |
26 |
Алгоритм закраски. Принципы включения команд НЦ <число> и крась. |
|
27 |
Создание учащимися собственного графического проекта. |
28 |
Создание учащимися собственного графического проекта. |
|
29 |
Создание учащимися собственного графического проекта. |
30 |
Демонстрация учащимися своего собственного проекта. |
|
31 |
Координатная графика. Команды НМ [х у], НОВ_Х х, НОВ_У у. |
32 |
Создание процедур с использованием команд координатной графики. |
|
33 |
Цикл со счетчиком. |
34 |
Создание процедуры «пружина». |
|
35 |
Рекурсия. |
36 |
Создание бесконечных часов на основе рекурсии. |
|
37 |
Понятие список. Знакомство с командами для работы со списками. |
38 |
Создание процедуры радуга на основе перебора списка номеров цветов. |
|
39 |
Работа со списками. Создание процедуры для перевода суммы из рублей в у.е. по соответствующему курсу на основе перебора списка. |
40 |
Работа со списками. Создание диаграммы. |
|
41 |
Работа со списками. Суммирование списка. |
42 |
Перебор списка. |
|
43 |
Графические датчики черепашки. Знакомство с инструментом кнопка. Датчик случайных чисел. |
44 |
Команда ветвления если_иначе. Создание процедуры «случайное место». |
|
45 |
Игра «Тир» с использованием команды если. |
46 |
Знакомство с понятием форма и командой НФ <число>. Штамповка серии форм. Команда штамп. |
|
47 |
Динамическая графика. Формула простого движения. |
48 |
Создание проекта полет на основе процедуры «плавно1» с двумя параметрами время и скорость. |
|
49 |
Скачковый мультик. Формула скачкового мультика. |
50 |
Гладкий (плавный) мультик. Формула гладкого мультика. |
|
51 |
Моделирование сложных траекторий движения. Команда всегда []. |
52 |
Задания: корабль, качающийся на волнах, машина, подскакивающая на ухабах, гарцующая лошадь, скачками передвигающаяся собака, ныряющий дельфин и др. |
|
53 |
Моделирование действий двух черепашек. Создание проекта «такси_1». |
54 |
Команды для работы с несколькими черепашками. Создание проекта «такси_2». |
|
55 |
Параллельные процессы. |
56 |
Создание проекта «Спортивная площадка». |
|
57 |
Использование команд спроси, ответ для реализации нескольких ветвей развития сюжета. |
58 |
Создание проекта с двумя возможными линия развития сюжета. |
|
59 |
Знакомство с инструментом бегунок. Знакомство с командами остановки. |
60 |
Создание проекта «Скачки». |
|
61 |
Создание проекта «Лабиринт». |
62 |
Усложнение проекта «Лабиринт». |
|
63 |
Работа с несколькими листами. Знакомство с командой возьми лист (ВЛ “имя_листа). |
64 |
Создание проекта «концерт». |
|
65 |
Подготовка фона и пейзажа для собственного проекта. |
66 |
Создание форм для персонажей собственного проекта. |
|
67 |
Создание программы для каждого персонажа. |
68 |
Создание программы для каждого персонажа. |
|
69 |
Отладка и редактирование собственного проекта. |
70 |
Демонстрация проектов. |
Приложение 3
Датчики ЛогоМиров
№ |
Название |
Что определяет |
Единицы измерения |
|
1. |
курс |
направление, куда смотрит голова черепашки |
угол (в градусах) |
|
2. |
форма |
в каком черепашка «костюме» |
номер формы в поле форм |
|
3. |
размер |
какого размера черепашка |
число - сторона квадратной рамки (в пикселях), в которой помещается черепашка |
|
4. |
ЦП |
цвет рабочего поля под черепашкой |
номер цвета в палитре |
|
5. |
цвет |
цвет пера |
номер цвета в палитре |
|
6. |
сл (<число>) |
число (N) |
выдает произвольное число из диапазона от 0 до N. |
Приложение 4
Тема: Знакомство с графическими датчиками.
Мы 3меем управлять черепашкой. Но мы можем запутаться, где отштампованная черепашка, куда смотрит ее голова, какого цвета у нее перо и т.д.
Для того чтобы узнать текущее свойство черепашки, необходимо воспользоваться датчиками.
Датчики - это функции языка Лого для определения состояния экранных объектов. Их задача - вычислить некоторое значение и сообщить его. Значение, сообщенное датчиком, должно быть использовано в качестве параметра в какой-нибудь команде.
Как вы считаете, какие свойства знает о себе черепашка? (координаты места на экране, в том числе х и у в отдельности, направление головы, цвет пера, номер формы, цвет экрана под центром, расстояние до указанной точки, направление на указанную точку)
Запишем в тетради. Тема: Графические датчики. Датчик - это функция, определяющая текущее свойство черепашки.
Составим таблицу графических датчиков с указанием назначения.
Датчик |
Назначение |
|
форма |
определяет текущий номер формы черепашки |
|
курс |
определяет текущее направление головы черепашки |
|
цвет |
определяет текущий цвет пера черепашки |
|
размер_пера |
определяет текущий размер пера черепашки |
|
цвет_поля или ЦП |
определяет текущий цвет рабочего листа под центром черепашки |
Для моделирования игровых ситуаций, событий, случайных процессов используется датчик случайных чисел.
Запишем: Датчик случайных чисел возвращает случайное число от 0 до n-1. Записывается СЛ <число>.
Например, СЛ 20. Будет выбрано произвольное значение от 0 до 19.
вп (сл 20)
вп (сл:а)
пусть “а (сл 12) +10 - в ячейку памяти с именем а будет помещена сумма произвольного значения из диапазона от 0 до 11 и 10
повтори 5[пиши сл 21] - в текстовом окне появится 5 случайных чисел от 0 до 20
всегда [вп (сл 5) пр (сл 10)]- задает перемещение на произвольное количество шагов от 0 до 4 и поворот на 0-9 градусов.
Для выполнения практических заданий вам потребуется новая команда всегда. Запишите формат записи команды всегда в общем виде.
всегда [команды] - запуск бесконечно повторяющегося процесса
Запишите задания, которые вы будете выполнять на втором уроке:
Задание 1.«Разноцветный экран».
Поместите черепашку в центр экрана. Залейте текущим цветом рабочий лист. Выберите новый случайный цвет, подождите немного и снова залейте рабочий лист случайным цветом.
Решение:
Это разн_экран
пп всегда [нц (сл 9999) крась жди 10]
конец
Задание 2. «Веселый маляр».
Расчертите экран линиями на произвольные участки без зазоров, используя инструменты графического редактора. Задайте случайное перемещение черепашки направо и вперед, залейте случайным цветом.
Решение: это маляр
пп всегда [пр (сл 360) вп (сл 150) нц (сл 9999) крась жди 10
конец]
Задание 3. Случайное место.
Создайте процедуру без параметров, перемещающую черепашку в случайную координату экрана.
Для того чтобы команда новое место работала с переменными необходимо дописать слово список: нм список:а:б
Решение: это сл_место
Пусть “х (сл 600) - 300
Пусть “у (сл 340) - 170
пп нм список:х:у
конец