Реферат: Организация изучения основных алгоритмических конструкций в среде Лого Миры

--PAGE_BREAK-- История появления языка Лого
«Лого — это философия образования и непрерывно развивающееся семейство языков, реализующих эту философию».[   ]

Основные педагогические идеи применения Лого, а также первые версии Лого-систем были разработаны профессором Сеймур Пейпертом (Seymour Papert) в Массачусетском Технологическом Институте в 60-х годах. В 1967 году группой профессора Пейперта совместно с группой Уоллеса Фойрцайга работавшей в фирме Bolt, Beranek, and Newman, была создана первая версия Лого.

Широкое распространение Лого связано с развитием персональных компьютеров в конце 70-х годов. Ряд компаний, таких, как, например, Terrapin Software, начал коммерческое распространение различных версий Лого. Одним из лидеров в этой области является основанная в 1980 году фирма Logo Computer Systems Inc. (LCSI), совет директоров которой возглавляет профессор Пейперт.

В 1985 году компания Logo Computer Systems Inc. начала распространять новую версию Лого — программу LogoWriter. Эта программа была признана одной из самых удачных, достаточно сказать, что в 1990 году система LogoWriter была названа читателями журнала Classroom Computer Learning лучшей образовательной программой десятилетия. Программа LogoWriter была переведена на десятки языков мира и была реализована на разных компьютерных платформах. В 1987 году Институтом новых технологий образования (ИНТО) была создана русская версия этой программы для компьютеров IBM, которая успешно распространяется.

Принципиально новые идеи были реализованы в середине 80-х годов в системе LEGO TC Logo (совместной разработке фирмы LEGO и LCSI), которая являлась расширением системы LogoWriter, однако в ней можно было управлять не только черепашками на экране, но и реальными роботами, собранными из деталей LEGO и подключенными к компьютеру.

Активная работа в области Лого продолжается и в настоящее время, а программа является русской версией программы MicroWorlds, разработанной в LSCI, 1993 г. и ПервоЛого (совместная разработка LCSI и ИНТ, 1996 г.). Среда Control Lab (разработанная компанией LEGO Dacta, русская версия программы называется ЛЕГО-Лаборатория и распространяется Институтом новых технологий образования) является естественным развитием идей, заложенных в системе LEGO TC Logo. Возникают и новые перспективные области исследований: среди таких проектов, например, LEGO-роботы (Programmable Brick) — дальнейшее развитие систем LEGO TC Logo и Control Lab, позволяющее создавать автономные роботы, управляемые миниатюрным специальным компьютером.

Лого, конечно, отнюдь не сводится к созданию и распространению компьютерных программ. Существует мировое сообщество преподавателей и исследователей, заинтересованных в развитии и распространении педагогической философии Лого. Публикуется различная литература, посвященная как проблемам использования Лого в преподавании конкретных школьных дисциплин (таких как математика, язык и т.д.), так и общим вопросам использования Лого в школьном и внешкольном образовании. Уже более 10 лет в США существует специальная некоммерческая организация Logo Foundation, координирующая деятельность мирового Лого-сообщества.

Институтом новых технологий образования рассматривается поддержка и развитие Лого-сообщества в России в качестве одной из своих основных задач. Институт разрабатывает и распространяет программы, основанные на Лого, а также различные методические и учебные материалы, связанные с Лого, который является не только языком программирования, но и языком общения.


Распространенность Лого-сред в Екатеринбурге

C 1999 года в г. Екатеринбурге достаточно активно используются Лого Миры. Первые курсы для  учителей провели Сопрунов С.Ф. и Яковлева Е.И. Всю работу по внедрению и использованию Лого Миров, курирует Центр новых информационных технологий (ЦНИТ), созданный несколько лет назад при Управлении образования г. Екатеринбурга. Была создана городская экспериментальная площадка, в совет которой вошли наиболее квалифицированные в Лого преподаватели, целью, которой является апробация среды в учебном процессе общеобразовательных учреждений, исследование методики использования среды Лого Миры в обучении информатике для разных возрастных категорий учащихся и для разных форм учебной работы.[  ]

В городе действует Лого-клуб для преподавателей, который собирается в ЦНИТе раз в месяц, где преподаватели обмениваются идеями проектов, обсуждают свои проблемы, передают опыт.

В весенние каникулы с 2000 года проводится научно-практическая конференция, где преподаватели делятся своими наработками и методиками по определенным темам или целыми комплексами.

Школы города, такие как лингвистическая гимназия № 13, школа № 168, школа № 144, гимназия «Полифорум» и «Менталитет» №180 и другие, работают с Лого Мирами на уроках информатики, а также в кружках, факультативах, в группах дополнительного образования. В ЦНИТе ведутся занятия с детьми в рамках дополнительных образовательных услуг и используют среду в основном для создания тематических проектов, посвященной той или иной теме по изучению языка Лого Миры, чтоб заинтересовать детей.

Были проведены командные турниры (2000 — 2002 года) для школьников, в которых участвовало 32 команды из 25 школ в 2 возрастных группах: 5-7 класс и 7-9 классы. [Суриф Т.И., Волкова С.Б.]


Анализ сред Лого

Для чего вообще изучать программирование, а следовательно среду программирования? Очевидно, что процесс  проектирования программ — это процесс  решения проблем человеком, подобно  другим процессам решения проблем  в науке и технике. [Кузнецов И.Н.]

Программирование в компьютере подразумевает описание некоторой проблемы на определенном языке и последующее  многократное моделирование с целью проверки модели и решения проблемы. Эффективное описание проблемы для моделирования требует развитого объектного мышления.

Правильно организованное обучение с использованием среды программирования развивает алгоритмическое и логическое мышление в естественной для этого обстановке; дает опыт работы с разными моделями; знакомит с общими принципами и методами программирования, что позволяет учащимся адаптировать приобретенные навыки при освоении других программных сред. [КИН]

Не должно быть изучения программирования без изучения конкретной программной среды. Выбор языка программирования осуществлялся по следующим критериям: мощность, достаточность, простота и элегантность.

Мощность языка  должна  позволять при использовании его для решения проблемы сосредоточиться целиком на ней, а не на языковых конструкциях. В Лого описание проблемы формулируется  буквально в  терминах этой проблемы и не требует переключаться  на  языковую специфику. Отсутствие в Лого  жесткого контроля за ошибками программиста, вызывающее незаслуженные нарекания, на самом деле является не недоработкой среды, а сознательно запланированной ее особенностью, направленной на предоставление максимальной свободы для творчества при формулировании проблемы. [КИН]

Характеристика достаточности свидетельствует о нежесткой настроенности на вычислительные ресурсы компьютера. Фактически здесь система полностью скрыта от использующего ее и не отвлекает от проблематики задачи.

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

Лежащая в основе языка рекурсивность дает реальную возможность учащемуся создавать программы. Развитые возможности структур данных  превосходят многие известные языки, и позволяет на первое место выводить вопрос о структуре данных при разработке алгоритмов.

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

Выбор именно этого программного продукта обоснован следующими требованиями к  среде, развивающей абстрактное и любое другое мышление:

·наличие очевидных инструментов манипулирования понятиями;

·возможность усложнения инструментов по мере усложнения понятий;

·наличие средств, увеличивающих эмоциональное восприятие (мультимедиа вложения);

·возможность использования объектного (системного) подхода;

Сам по себе объектный подход  это -  идея, метод познания. На любом языке программирования можно показать такой подход, если учитель владеет им и предъявляет соответствующие требования к технологии разработки программ.

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

Классическая среда, разработанная для ОС DOS, — система Logo Writer – очень хорошо приспособлена  для реализации объектного подхода при минимальной сложности языка программирования, является универсальной учебной компьютерной средой на базе языка Лого для дошкольного и начального школьного образования. В систему входят: текстовый, графический и музыкальный редакторы, возможность записи звука с микрофона и образное программирование с помощью пиктограмм. Система сочетает эти богатые возможности с простым графическим интерфейсом, благодаря которому ее пользователями могут быть дети от 4 лет.

Другая версия программного продукта — Лого Миры является объектно-ориентированной  средой, предназначенной для использования в средней школе, является мультимедийной средой, универсальным инструментом на базе языка Лого — распространенного и эффективного педагогического средства, развивающего умение решать задачи, познавательные способности и творческое мышление детей. Эта программа, интегрирующая новейшие мультимедийные технологии, программирование и Интернет — возможности, предназначена для создания собственных проектов на любую тему.


Основные достоинства и недостатки среды Лого

Язык программирования Лого стал широко использоваться, и приобрел популярность в начальной, средней школе, в колледжах, университетах и для людей, занимающихся самообразованием. Это справедливо не только для зарубежной системы образования, но и для российской. Чтобы убедиться в этом, достаточно просмотреть журналы «Информатика и образование» за последние пару лет.

Что же вкладывается в понятие «мощный язык программирования»? Это качество не означает, что язык позволяет писать программы, выполняющие что-либо, не доступное другим языкам. В этом смысле все языки схожи. Если можно написать программу на Лого, то ее можно написать на Паскале или Бейсике.

Мощность языка программирования — это мера того, насколько язык помогает сконцентрироваться, в первую очередь, на конкретной проблеме, которую нужно решить, а не на преодолении ограничений, накладываемых самим языком. Например, для. С, Паскаля, Java и всех других языков, «выросших» первоначально из Фортрана, программист должен очень точно определять, что, как, и где хранится в памяти компьютера. Если нужно собрать 20 чисел вместе и рассматривать их как один объект, для этого «определяют массив», заявив заранее, что в нем будет храниться в точности 20 чисел. Очень плохо, если в последствии массив будет состоять из 21 числа. Также решается заранее, что массив будет содержать только целые числа, или числа с дробной частью, или же это будет символьный массив, и нельзя смешивать данные разных типов в одном массиве. Для Лого процесс размещения данных в памяти компьютера является полностью автоматическим. Если программа создала список из 20 чисел, память для его хранения отведется автоматически. Если позже добавить 21-е число, это также делается автоматически. [  ]

Более мощные языки базируются на конкретных математических моделях и реализуют эти модели в полной мере. Например, АПЛ базируется на идее матричной обработки; Пролог — на исчислении предикатов (раздел математической логики). Лого, как и ЛИСП, базируется на идее композиции функций (composition of functions). [   ]

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

Язык Лого – заместительное средство для моделирования чего угодно. В распространении от одного до четырех исполнителей – черепашек, которые могут менять свою форму, создавать рисунки, двигаться по любым траекториям с разными скоростями, сообщить данные о той области экрана, где они находятся.

К его преимуществам можно отнести:

·                    возможность написания команд и идентификаторов, как на русском, так и на английском языке, как в полной, так и в сокращенной форме;

·                    крупный шрифт, уменьшающий напряжение глаз при работе;

·                    легкость написания динамических программ и программ для работы с текстовой информацией;

·                    наличие не одной, а 4-х черепашек, что позволяет легко создавать несложные игровые программы с небольшим числом персонажей;

·                    возможность использования внешних процедур, что способствует развитию умения работать с библиотекой алгоритмов;

·                    низкие требования к аппаратуре и совместимость с широким кругом IBM-совместимых компьютеров.

Но, как у любого продукта, у этой системы проявились и отрицательные стороны:

·     невозможность визуально отличить русские буквы от латинских, что порождает множество ошибок;

·     не полная совместимость с IBM-стандартом на клавиатуру;

·     отсутствие готовой помощи (хотелось бы, чтобы в новой версии была контекстно-зависимая помощь и гипертекстовый справочник);

·     отсутствие строки подсказки (назначений ключей);

·         ограниченное число черепашек;

·         неестественность логических связок;

·         наличие только одного вида циклов — цикла Repeat.

Лого является прекрасной средой, помогающей освоить основные элементы программирования — переменные, функции, типы данных и другие. Среда Лого играет большую роль при изучении в старших классах универсальных языков программирования, таких как Паскаль. [Лысиков А.И.]  В тоже время Лого является прекрасным средством для развития мышления и самостоятельных исследований в самых разных интеллектуальных областях и с различными уровнями сложности.


Применение Лого в учебном процессе начальной школы

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

В процессе создания творческой работы часто требуется не только собрать материал, красиво его оформить, но и построить компьютерную модель, изучаемого процесса, провести компьютерный эксперимент. Таким образом, просто необходимо, чтобы уже к 7-8 классу школьник владел не только простыми редакторами, но и мог разработать алгоритм, а затем воплотить его на конкретном алгоритмическом языке. Эта одна из причин, по которой в начальной школе нужно применять обработку различных типов информации (звук, графика, текст), изучение алгоритмических структур и создание простейших программ на компьютере с помощью объектно-ориентрованной среды Лого Миры. [Шелегова И.А.]

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

Курсы не только прививают учащимся элементы информационной культуры, под которой понимается умение целенаправленно работать с информацией на ПК, но и помогают детям расширить свой кругозор, развить логическое мышление, творческий потенциал, связать с другими учебными предметами. [Кадочникова В.И., Бурнева Л.С., Молодых Н.Г.]

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

В то же время изучения Лого в начальной школе ориентировано на то, чтобы дать детям в руки инструмент, с помощью которого они смогли бы в среднем звене создавать проекты, помогающие исследовать окружающий мир и адаптироваться в нем.


Применение Лого для внешкольной работы по информатике

В соответствии с концепцией школьного образования в настоящее время созрела необходимость создания оптимальных условий для развития каждого ученика, для формирования человека с новым уровнем сознания, способного к самооценке и критическому мышлению. Одним из путей реализации является организация обучения, таким образом, чтобы учащийся имел возможность не только освоить обязательный курс базового образования, но и получить дополнительные знания высокого уровня, необходимо для продолжения обучения в ВУЗах. [Которов Н.П.].

Внеучебное время занимает значительное место в жизни школьников. Глубокий внутренний смысл внешкольной работы во всех ее формах состоит в привлечении детей к активному участию в общественно-полезной деятельности, в стимулировании инициативы и самостоятельности, в развитии индивидуальных интересов, склонностей и способностей.

Внешкольная работа с учащимися представляет собой органическую часть и важный элемент во всей учебно-воспитательной деятельности школы.

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

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

В результате систематического участия во внешкольной работе повышается уровень общей культуры учащихся. Школьники начинают понимать перспективы развития конкретной отрасли, ее место и роль в жизни. В личности школьника происходят большие изменения: улучшается поведение, отношение к коллективу, развивается творческая самостоятельность и профессиональная устремленность, умения использовать знания и опыт для решения практических задач.

Все это может служить общим критерием эффективности внешкольной работы с учащимися по информатике.

Одним из эффективных способов работы с учащимися является кружок.

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

Основы работы такого объединения составляют совместное изучение учащихся при создании мультфильмов на заданную тему, формирование навыков алгоритмизации в среде Лого Миры, формирование навыков работы с объектами мультимедийной среды Лого Миры.


Обзор публикаций о применении Лого в учебном процессе школы

В процессе исследования были проанализированы ряд статей, опубликованных в журналах «Информатика и образование» и в газетах «Информатика» (приложение к газете «Первое сентября») за последние 4 года с целью выявления информации, которая связана с: применением алгоритмов в среде Лого Миры, реализация их при решении задач, применение Лого Миры на уроках.

Приведем обзор статей, которые содержат данные материалы.

Автор статьи [1] рассматривает решение логических задач средствами алгебры логики. Описывается множество подходов к решению логических задач.

В публикации рассматривается только первый способ.

Статья [2] знакомит читателей с опытом работы со средой Лого Миры в школах Екатеринбурга. Рассматривается обучающая программная среда Лого Миры, разработанная на базе языка Лого. Говорится о методике использования среды Лого Миры для учащихся разных “возрастных категорий” (младших школьников и учащихся среднего звена) и для разных форм учебной работы.

Авторы приводят доводы в пользу применения среды Лого Миры в обучении информатике для разных возрастных категорий учащихся и для разных форм учебной работы, излагают некоторые наиболее интересные результаты работы (конкретные разработки, курс алгоритмизации с использование среды Лого Миры).

В статье А.Г. Юдиной [4] представлена рецензия на учебное пособие для общеобразовательных школ А.Г. Юдиной “Практикум по информатике в среде LogoWriter”, также представлен фрагмент учебного пособия с предисловием автора, в том числе глава 7 «построение графиков функций».

Рассказ о курсе алгоритмизации на основе использования Лого Миров, а также проекты и классно-поурочная система в обучении алгоритмизации представлено в статье И.А. Шелеговой и Н.А. Юнерман [5]. Авторы статьи утверждают, что “Основная цель – сформировать у учащихся уже в начальной школе навыки самообразования, помочь ребенку в самовыражении, развить его коммуникативные навыки”.

Статья А.А. Зайцева [6] рассказывает о методическом пособии, написанном в жанре увлекательной повести, посвященной языку Лого, работе с Лого-системой. Это – один из компонентов программного обеспечения. Распространяемого в свое время в рамках “Пилотные школы”.

Графика в Лого и поурочная методическая разработка по информатике для класса УНЦ в 7-8 классах рассмотрена в статье [7] Г.В. Луканина.

В статье [9] Н.Г. Ивановой, О.Л. Русаковой предлагаются конспекты занятий по информатике для учащихся 5-6 классов. Цель данного курса – датьпервые представления о формах познания и законах логического мышления, развить алгоритмическое мышление, обучить приемам написания и отладки программ, использующих процедуры с параметром.

Курс рассчитан на 15 двухчасовых занятий.

Автор статьи [2д] Т.В. Головина знакомит читателей с тем, как в ее школе организована работа над индивидуальными и коллективными разработками на уроках информатики, на примере 7 класса при изучении темы Лого. Описываются сложности, с которыми может столкнуться учитель при осуществлении коллективного проекта, и приводится примерный ход уроков по изучению возможностей Лого.

Статья может помочь студентам и начинающим учителям в планировании своих уроков по данной теме, разобраться в некоторых тонкостях при работе с объектами среды, содержит примеры создания новых форм черепашки и некоторые кадры реализованной разработки.

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

Общий вывод: публикаций достаточно много, темы их разнообразны, что говорит о популярности среды Лого Миры на занятиях по информатике в школе.


Роль алгоритмизации в базовом курсе

Содержание базового курса информатики, предусмотренное государственными стандартами образования, сочетает в себе три основных направления, отображающие важнейшие аспекты общеобразовательной значимости:

·     мировоззренческая линия, связанная с формированием представлений о системно-информационном подходе к анализу окружающего мира;

·     алгоритмическая линия, связанная с развитием логического мышления школьников;

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

Изучение учебного материала по алгоритмической линии обеспечивает учащихся возможностью:

·        понять на основе анализа примеров, смысл понятия алгоритма, знать свойства алгоритмов, понять возможность автоматизации в деятельности человека при использовании алгоритмов;

·        освоить основные алгоритмические конструкции, научиться применять алгоритмические конструкции для построения алгоритмов решения задач;

·        получить представление о библиотеке алгоритмов, уметь использовать библиотеку для построения более сложных алгоритмов;

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

Этим же стандартом предусмотрены следующие требования к подготовке учащихся.

Учащийся должен:

·                    понимать сущность понятия алгоритма, знать его основные свойства, иллюстрировать их на конкретных примерах алгоритмов;

·                    понимать возможности автоматизации деятельности человека при использовании алгоритмов;

·                    знать основные алгоритмические конструкции и уметь использовать их при построении алгоритмов;

·                    записать на учебном алгоритмическом языке алгоритм простой задачи;

·                    уметь составлять программы на одном из языков программирования для решения вычислительных задач.

При изучении основ алгоритмизации в средней школе основное внимание в первую очередь должно уделяться:

·                    выявлению общих закономерностей и принципов алгоритмизации;

·                    основным этапам решения задач при помощи современных информационных технологий;

·                    анализу поставленной задачи, методам формализации и моделирования реальных процессов и явлений;

·                    выбору исполнителя поставленной задачи, исходя из тех рассуждений, что он является определенным объектом с присущими ему свойствами и набором действий, которые нуждаются в анализе для правильного и эффективного их использования;

·                    методам и средствам формализованного описания действий исполнителя, современным средствам их конструирования и реализации при помощи компьютера.

Главной целью изучения основ алгоритмизации в школе является:

·        развитие алгоритмического, конструктивного и логического мышления учеников;

·        формирование операционного типа мышления, которое направлено на выбор оптимального решения определенной поставленной задачей;

·        развитие интеллектуальных умений через изучение технологии программирования;

·        применение как универсального средства, которое может создавать себе интеллектуальных партнеров в любой сфере, где ученик может проявить себя как автор сценария, как программист;

·        развитие алгоритмического мышления путем создания программ средствами языка в конкретной среде программирования;

·        формирования приемов умственной деятельности (анализ, синтез, обобщение);

·        развитие памяти, фантазии, интуиции.

Развитие этих специфических видов мышления делает весомый вклад в развитие общего научного мировоззрения и умственных способностей личности учащихся. [Копаев А.В., Триус Ю.В.]

В тоже время алгоритмизация, как раздел информатики, который изучает процессы создания алгоритмов, традиционно относится к теоретической информатике вследствие своего фундаментального характера. Следовательно, при развитии новых информационных технологий, и в частности технологий программирования, появляется возможность в пределах раздела «Основы алгоритмизации» давать общенаучные понятия информатики, и в то же время формировать и развивать умение, и навыки необходимые пользователю при работе с современным программным обеспечением, [ст.24], т.е. появляется возможность сделать раздел «Основы алгоритмизации» мостиком между теоретической и практической информатикой. Первые шаги в этом направлении уже сделаны. Стоит вспомнить работы А. Г. Кушниренка, Ю. А. Первина, А. Л. Семенова по внедрению «конструктивистской» парадигмы при изучении теоретической информатики. Одним из принципов этой парадигмы является самостоятельное добывание учениками знаний, которые формируются при работе с реальными и виртуальными объектами. Реализация этого принципа основывается на использовании творческих сред, таких как, например, Лого, Кумир, Роботландия.

Традиционно считалось, что знание языков программирования и умение ими пользоваться просто необходимо при работе с компьютером. Поэтому в школе учащихся обучают какому-нибудь алгоритмическому языку. А т.к. алгоритмические языки достаточно сложны, то это преподавание осуществлялось в старших классах. Сейчас появились различные адаптированные программные среды, в которых процесс программирования и составления алгоритмов доступен даже младшим школьникам. Это позволяет обучать основам программирования и построения алгоритмов, не вдаваясь в подробности того или иного сложного языка программирования. Наиболее благоприятной средой для изучения темы «Алгоритмизация» является среда Лого Миров. Она позволяет плавно перейти от игры к разработке серьезных алгоритмов, к созданию серьезных проектов. Причем сама среда такова, что нет необходимости искать побудительные мотивы для занятий в ней. Работа в редакторе форм, создание анимированных проектов привлекает учащихся, развивает их творческие способности и не надоедает им от урока к уроку. Наибольший интерес и понимание эта тема вызывает у школьников 5 класса. Там используется язык программирования Лого, который признан учебным для детей младшего и среднего школьного возраста. Уже в 5 и 6 классе, с его помощью, дети изучают все конструкции для структурного программирования: вызов процедур, ветвление, циклы. [Глинка Н.В.]

Раздел «Алгоритмизация» является одной из важнейших тем школьного курса информатики. Она красной ниточкой проходит через весь курс, усложняясь от класса к классу. Если на начальном этапе — это игра в алгоритмы, то в дальнейшем — это самостоятельное составление алгоритмов разного вида с использованием различных сред, в том числе и языков программирования.

Выбор начального языка программирования имеет принципиальное значение, так как от этого во многом зависит методика изучения курса, содержание и последовательность предъявления учебного материала, система учебно-познавательных заданий и, главное, вся дальнейшая работа по овладению программированием для решения реальных практических задач на ЭВМ. [Иванова Л.В. Юрзанова Т.К.]

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

Лого–среды позволяют совершенно в новом ракурсе взглянуть на преподавание основ программирования. Являясь прекрасным образцом мультимедийных сред, адаптированных для обучения, они позволяют организовать обучение программированию  на основе математических задач, а на этапах мультипликации: от разработки сценария до “оживления” и озвучивания персонажей. В них не только сохранены и расширены возможности изучения основных алгоритмических конструкций (ветвления, различные циклы, организация диалога), но и имеется разнообразный спектр атрибутов увлекательного программирования различных вычислительных задач. [Иванова Л.В, Юрзанова Т.К.]

Тема «Алгоритмизация» в школах РФ изучается с 5-х по 11 класс. В 5-х — 7-х классах учащиеся знакомятся с основными алгоритмическими конструкциями.

Обучение строится на последовательности решаемых задач, которые подбираются по следующим принципам:

1.     От простого к сложному;

2.     Новизна;

3.     Наследование.

 Алгоритмические конструкции вводятся по мере необходимости при решении конкретных задач.

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

Как итог изучения темы «Алгоритмизация» в среде LOGO, в 7-ом классе несколько уроков отводится для анимации. В этом разделе внимание учащихся акцентируется на работе в программном режиме, закрепляются навыки работы с процедурами и другими алгоритмическими конструкциями. Рисуя, учащиеся не только усваивают алгоритмические конструкции и их реализацию в различных средах, но и лучше понимают ЭВМ как формального исполнителя и то, что из принципа формального исполнения следует, что ни исполнитель, ни ЭВМ не могут совершать ошибок. Все ошибки (синтаксические, семантические и логические) совершает человек. Так как в 8-х — 11-х классах школьники уже знакомы с алгоритмическими конструкциями, преподавание можно вести от теории к практике, дополняя данные ранее определения алгоритмов, и изучать их реализацию на языке программирования.


Технология решения вычислительных задач

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

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

Этапы решения задачи на ЭВМ

1.     Постановка задачи

2.     Математическая формализация (описание задачи)

3.     Построение алгоритма

Работа без применения ЭВМ

4.     Составление программы на языке программирования

5.     Отладка и тестирование программы

6.     Проведение расчетов и анализ результатов

Работа на ЭВМ

Первый этап – постановка задачи

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

Второй этап – математическая формализация описания задачи

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

Третий этап – построение алгоритма

На основе математического описания необходимо разработать алгоритм решения. Чаще всего алгоритм изображается в виде блок-схемы с четко определенной последовательностью действий. Алгоритм следует составлять, используя обозначения переменных и избегая конкретных значений констант. Алгоритм должен быть понятным любому пользователю и быть пригодным для решения задач.

Четвертый этап – программирование

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

Пятый этап – отладка и тестирования программы

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

Шестой этап – проведение  расчетов и анализ результатов

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

Рассмотренные этапы процесса решения вычислительных задач на ЭВМ позволяют определить роль человека и компьютера в этом процессе. Все сказанное выше характеризует давно сложившийся и устоявшийся подход к процессу решения вычислительных задач, когда основную творческую работу и работу, связанную непосредственно с программированием, выполняет человек, а компьютер участвует только как вспомогательное средство.[Жигорев А.Н, Макарова Н.В., Путинцева М.А.]


ГЛАВА 2. Решение вычислительных задач в среде Лого Миры

2.1. Описание возможностей среды Лого Миры 2.0

Эту версию известной программы Лого Миры можно назвать мультимедийное Лого, а также — Интернет-Лого. Прежние возможности Лого Миров теперь дополнены новейшими технологиями, предоставляемые современными мультимедиа-компьютерами. В частности, можно вставлять в работы фрагменты аудио  — и видео-записей, QuickTime-звуки и фильмы. Работу, сделанную в ЛогоМирах 2.0, можно легко «опубликовать» в Интернет. Специальное приложение (Web-плеер) позволит посетить страницу проекта прямо в сети через браузер. С момента своего рождения в 1967 году в Лаборатории Искусственного Интеллекта Массачусетского технологического института язык программирования Лого, сохраняя, неизменными свои основные черты, постоянно развивается и совершенствуется. Особенно популярен Лого как начальный язык программирования. Благодаря таким его качествам как доступность языка, быстрое написание программ, наглядность, т.е. к составлению программ учащийся может приступить, в начале обучения. Однако Лого используют и профессиональные программисты.

Язык системы Лого Миры представляет собой неформальное описание языка программирования Лого. Язык Лого, как и большинство языков программирования, имеет много диалектов. Примитивы Лого Миры включает в себя описание всех примитивов (основных команд и операций) языка Лого.


Понятия, которыми можно манипулировать в среде Лого Миры

Объекты: проекты, листы проекта, черепашки, рабочее поле, текстовые окна, кнопки, бегунки, формы, рисунки, звуковые фрагменты, внешние мультимедиа объекты.

Общие свойства объектов: цвет, размер, положение на Рабочем поле. Приватные свойства объектов – в зависимости от типа. Например, Рабочее поле может занимать часть экрана (режим разработки) или весь экран – (режим демонстрации).

Действия объектов: создавать, удалять, менять свойства (передвигать, менять цвет, размер и т.п.). Все общие действия могут выбираться визуально на панели инструментов или описываться программно. Встроенный редактор для создания рисунков, встроенный редактор для создания звукового фрагмента.

Интерфейс: обычный для любого приложения Windows – окно, основное меню, панели инструментов. Команды и программы  выполняются в режиме интерпретации, поэтому на экране – Рабочее поле и Командный центр.

Язык: классический Лого, в который добавлены инструменты для работы с объектами.

Типы данных: числа, включая числа с плавающей точкой, слова, списки, объекты. Возможен импорт и экспорт текста, графики через буфер обмена Windows, а также связывание с другими мультимедиа объектами.

Алгоритмические конструкции: процедуры, функции, циклы разных видов, разветвление, описание процессов.

Демонстрация проекта: включен инструмент для демонстрации проектов — плеер, занимающий мало места.

Помощь: база данных, содержащая справочную информацию, в формате HELP Windows.

Дидактические материалы: предлагаются готовые проекты для демонстрации, заготовки для дальнейшей разработки, некоторые идеи для реализации.

Запуск Лого Миров

Лого Миры можно запустить с помощью ярлыка на Рабочем столе Windows или через главное меню (Программы Лого Миры)

<img width=«441» height=«345» src=«ref-1_396912899-25709.coolpic» v:shapes="_x0000_s1160 _x0000_s1161 _x0000_s1162">
На экране дисплея появляется следующее изображение:

Графический экран системы Лого

Графический экран системы Лого состоит из 3-х окон:

Графическое окно — предназначено для действий «черепашки» и оставляемых ею рисунков.

Командное окно — предназначено для ввода команд адресованных только «черепашке», а также команд перехода в тот или иной режим команд, обращенных к системе Лого.

Приборное окно — показывает значения основных параметров, характеризующих состояние Черепашка:

Текстовый экран системы Лого

Команды Листы®Программы осуществляют переход от графического к текстовому экрану.

Режимы работы

В Лого предусмотрена работа в следующих режимах:

1.           <img width=«603» height=«305» src=«ref-1_396938608-29202.coolpic» v:shapes="_x0000_s1163 _x0000_s1164 _x0000_s1165 _x0000_s1166 _x0000_s1167 _x0000_s1168 _x0000_s1169">
Режим непосредственного исполнения команд в графическом окне (рис.1), где работа ведется непосредственно с графическим окном. При этом команды задаются в самом нижнем окне.

2.           Режим подготовки и исправления текста программы в текстовом экране (рис.2), предназначен для создания и редактирования текста программ.

Переход от графического экрана к текстовому осуществляется с помощью меню (рис.3).

Команды системы Лого

Можно выделить две основные группы команд:

1.     управления движением Черепашка;

2.     управления системой.

3. Команды управления движением Черепашка

Могут задаваться как в графическом, так и в текстовом экране. К ним относятся:

1. Базовые команды движения и рисования;

2. Команда цикла (повторения);

3. Команда процедура (подпрограммы);

4. Команда изменения переменных;

5. Команда выбора (ветвления);

6. Рекурсивные команды.
    продолжение
--PAGE_BREAK--Базовые команды движения и рисования
Команды относительного перемещения

Для перемещения Черепашки вперед и назад служат команды:

После команды нужно указать, на сколько шагов должна продвинуться Черепашка. Например, FD 50 (Черепашка продвинется на 50 шагов вперед) или BK 100 (Черепашка продвинется на 100 шагов назад). Между командой и числом — пробел.

Команды управления пером

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

Команды поворота Черепашки

Эти команды требуют обязательного параметра — угла поворота в градусах. Например, LT 90 (Черепашка поворачивается налево на 90 градусов), RT 120 (Черепашка поворачивается направо на 120 градусов).

Команды работы с цветом

До сих пор Черепашка рисовала белым по черному. В нашем распоряжении есть еще 14 цветов — всего их 16, оттенков 123. Цвета пронумерованы от 0 до 139. Номер черного цвета — 9; номер белого — 0. Чтобы изменить цвет Черепашки (и цвет ее пера), нужно дать команду:

и через пробел указать номер цвета. Например, после выполнения команды SETC 15 Черепашка станет красной, и будет оставлять такой же след. Для закраски частей экрана служит команда FILL (КРАСЬ). Черепашка, получив эту команду, заливает экран той же краской, какой покрашена сама (если перо Черепашки опущено). Чтобы Черепашка закрасила контур, необходимо выполнить следующие действия:

<img width=«630» height=«117» src=«ref-1_396967810-26424.coolpic» v:shapes="_x0000_s1170 _x0000_s1171 _x0000_s1172">
Черепашка может рисовать на экране. Чтобы наглядно представить это себе говорят, что она таскает за собой перо. Иногда говорят, что она чертит линии на песке своим хвостом. Вы можете использовать любое из этих представлений, говорите так, как вам больше нравиться. Если перо (хвост) опущено, то она оставляет след, если поднято — то при передвижении следа не остается.

Команда SETPENSIZE [ширина] — устанавливает размера пера. Перо всегда имеет прямоугольную форму. Например, setpensize 4

Стирание графики

Для того, чтобы стереть рисунок, но сохранить положение Черепашки, применяется команда:

Для восстановления исходного состояния графического экрана – рисунок стирается, Черепашка в исходном состоянии:

Последовательность команд — программа для Черепашки

Можно управлять Черепашкой, нажимая клавишу ввода после каждой команды. Если же записать подряд несколько команд (отделяя, их друг от друга пробелом) и только после этого нажать клавишу ввода, то Черепашка быстро выполнит команды одну за другой.

Например: FD 100 RT 90 FD 50 RT 90 FD 50 RT 90 FD 50.

Команды цикла (повторения)

Команда REPEAT (повторить)

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

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

В языке Лого оператором цикла является команда REPEAT (повторить).

REPEAT число раз [ действие 1,…, действие n ]

ПОВТОРИ число раз [ действие 1,…, действие n ]

Здесь можно выделить такие составные части:

·        Собственно оператор REPEAT (повторить);

·        Указатель количества повторений (число раз);

·        Указатель начала цикла ( [ );

·        Повторяющаяся цепочка команд (действие 1,…, действие n);

·        Указатель конца цикла ( ] ).

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

Построение процедур (подпрограмм)

Любое изображение, которое нарисует Черепашка, можно получить с помощью базовых команд. Но бывает необходимо выполнить несколько раз большие фрагменты программы. Чтобы избежать утомительного повтора, можно этот фрагмент оформить как (подпрограмму) процедуру для многократного использования. Для этого сначала этому фрагменту дают новое название, а затем используют его как имя команды для вызова в программе.

Таким образом, можно определить любую процедуру, при этом следует соблюдать следующие правила:

·         нельзя называть процедуры словами, за которыми в Лого закреплено определенное значение, такие слова называются служебными.

·         название должно содержать не больше 15 символов и состоять из одного слова.

В остальном слова могут быть любыми.

Обязательно:

·         Сначала идут все процедуры, потом — основная программа.

·         ТО… END — только для подпрограмм.

·         Основная программа оформляется как подпрограмма. Для запуска ее необходимо указать только имя.

Команды изменения переменных

Переменные величины

В курсе школьной математики изучают переменные величины, и числа в математике часто обозначаются буквами.

Например: x=a+b, где a и b – переменные.

В языке Лого переменная — это любая последовательность символов (букв и цифр), начинающаяся с буквы. Она не должна содержать в себе пробел и должна быть больше 16 символов.

Признаком переменной является символ ":", с которого обязательно начинается переменная. Например: :A :N1 :INZ5
Оператор присваивания

: <переменная> = <арифметическое выражение>

Арифметическое выражение включает в себя константы, переменные, знаки арифметических действий ( +, -, *, / ) и скобки.

: А = 25

:N = :N + 1

:B = 125 * ( :M + 1 ) / 100

:C = 270 * :N

В Лого работает только целая арифметика. Поэтому, результатом деления является целая часть частного.


Команды и процедуры с параметрами

В Лого переменные могут использоваться в качестве параметров движения Черепашка, для управления последовательностью действий Черепашка, в процедурах с параметрами и в рекурсивных командах.

Базовые команды Черепашка (FORWARD, RIGHT, REPEAT и пр.) состоят из команды (оператора) и параметра (операнда). В качестве параметров использовали число (пример «квадрат», здесь три команды с параметром: REPEAT 4, FORWARD 50, RIGHT 90). Можно в качестве параметра команды использовать переменную, а не число. Допустим, нужно нарисовать квадраты с разной (переменной) стороной. В этом случае в команде FORWARD в качестве параметра используем переменную: FORWARD :X

Команда выбора (ветвление) в Лого

В некоторых случаях необходимо определить условие тех или иных действий, выполняемых Черепашка. Для этого используется команда выбора IF (ЕСЛИ)

IF<условие>

[ < команда или серия команд, если условие выполняется > ]

[ < команда или серия команд, если условие не выполняется >]

ЕСЛИ<условие>

[ < команда или серия команд, если условие выполняется > ]

[ < команда или серия команд, если условие не выполняется >]

Условие имеет вид отношения, при этом используются обозначения:

< — меньше, <= — меньше или равно,

— больше, >= — больше или равно,

= — равно, < > — не равно.

В случае записи условных операторов нужно:

·        не забывать про квадратные скобки;

·        записывать по одному оператору на строке.

В этом случае запись условного оператора становится более наглядной и человеку удобно читать и понимать программу, может иметь место многократная вложенность команд IF.

Рекурсия

В предыдущих разделах были использованы подпрограммы-процедуры, которые вызывались по мере необходимости. Рассмотрим процедуру, которая называется рекурсией. Суть рекурсии заключается в том, что в ходе ее выполнения процедура сама вызывает себя.

Заметим, что такая возможность имеется далеко не во всех языках программирования. К, примеру, Бейсик рекурсии не имеет, а в Лого — это наиболее употребляемый прием.

Функция

Можно провести аналогию с обычной записью математических выражений и порядком их вычисления.

В число Лого входят операции (стандартные функции) SQRT, SIN, COS (извлечение квадратного корня, синус и косинус от градусного аргумента). А вот стандартная функция тангенс отсутствует. Для описания функций служит специальная команда – OP (out put – вывести, считать результатом). Она прекращает выполнение процедуры и возвращает значение аргумента.
    продолжение
--PAGE_BREAK--II. Команды управления системой
Управление системой Лого осуществляется в графическом экране. Соответствующие команды задаются в графическом (командном) окне.

<img width=«183» height=«203» src=«ref-1_396994234-17112.coolpic» v:shapes="_x0000_s1173 _x0000_s1174 _x0000_s1175">Команды выполнения

·                    Alt+R – выполняет выделенный текст или список инструкций.

Команды сохранения и загрузки программы

·                         Открой проект (Alt+N) — сохраняет на системном носителе текст записанной программы в файле <имя>.mw2 (рис.5).

·                         Alt+O – открывает существующий проект.

·        Сохрани проект — считывает с системного носителя файл с именем <имя>.mw2 (рис.5).

Команды печати созданных рисунков

·          Печатай проект — выводит созданный в Лого рисунок на принтер (рис.5);

·      Печатай лист ….выводит на принтер весь лист (рис.5);

Диагностика ошибок

Если при выполнении программы или команды возникла ошибка, то на экране появляется текст (в поле команд) — это диагностическое сообщение об ошибке, которое выводится на русском языке. Место ошибки в программе указывается после перехода в текстовый экран и нажатием клавиши <Enter>.


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

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

Алгоритмзаранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов.

Понятие алгоритма является не только одним из главных понятий информатики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации [56].
Исполнитель алгоритма
Исполнитель алгоритмаэто некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

Исполнителя характеризуют:

·        среда;

·        элементарные действия;

·        система команд;

·        отказы.

Среда(или обстановка) — это «место обитания» исполнителя. Например, для исполнителя Черепашка среда — это бесконечное поле. Края поля тоже часть среды, а их расположение и положение самой Черепашки задают конкретное состояние среды.

Система команд.Каждый исполнитель может выполнять команды только из некоторого строго заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды. Например, команда Черепашки «ВПЕРЕД» может быть выполнена, если рядом с Черепашкой нет края поля. Ее результат — смещение Черепашка на один шаг вперед.

После вызова команды исполнитель совершает соответствующее элементарное действие.

Отказыисполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды.

В информатике универсальным исполнителем алгоритмов является компьютер.
Свойства алгоритма
Основные свойства алгоритмов:

Понятность— исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.

Дискретность(прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов (этапов).

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

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

Массовостьозначает, что алгоритм решения задачи разрабатывается в общем, виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма. [Светозарова Г.И., Мельников А.А., Козловский А.В.]
    продолжение
--PAGE_BREAK--Способы записи алгоритмов
На практике наиболее распространены следующие формы представления алгоритмов:

·        словесная (запись на естественном языке);

·        графическая (изображения из графических символов);

·        программная (тексты на языках программирования).
Словесный способ записи алгоритмов

Словесный способзаписи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида). [диплом стр.21]

Алгоритм может быть следующим:

1.     задать два числа;

2.     если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;

3.     определить большее из чисел;

4.     заменить большее из чисел разностью большего и меньшего из чисел;

5.     повторить алгоритм с шага 2.

Словесный способ не имеет широкого распространения, так как такие описания.
Графический способ записи алгоритмов

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

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

Обозначение и пример заполнения

Пояснение

<img width=«106» height=«42» src=«ref-1_397011346-1334.coolpic» v:shapes="_x0000_s1176">



Вычислительное действие или последовательность действий

<img width=«131» height=«33» src=«ref-1_397012680-1373.coolpic» v:shapes="_x0000_s1177">



Проверка условий

<img width=«156» height=«34» src=«ref-1_397014053-1469.coolpic» v:shapes="_x0000_s1178">



Начало цикла

<img width=«106» height=«42» src=«ref-1_397015522-1474.coolpic» v:shapes="_x0000_s1179">



Вычисления по подпрограмме, стандартной подпрограмме

<img width=«73» height=«40» src=«ref-1_397016996-1105.coolpic» v:shapes="_x0000_s1180">



Ввод-вывод в общем виде

<img width=«85» height=«37» src=«ref-1_397018101-1166.coolpic» v:shapes="_x0000_s1181">



Начало, конец алгоритма, вход и выход в подпрограмму

<img width=«81» height=«36» src=«ref-1_397019267-1101.coolpic» v:shapes="_x0000_s1182">



Вывод результатов на печать


Базовые алгоритмические структуры

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

Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, цикл, ветвление.

<img width=«97» height=«197» src=«ref-1_397020368-4090.coolpic» v:shapes="_x0000_s1275 _x0000_s1276 _x0000_s1277 _x0000_s1278 _x0000_s1279 _x0000_s1280">Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

<img width=«122» height=«261» src=«ref-1_397024458-3389.coolpic» v:shapes="_x0000_s1281 _x0000_s1282 _x0000_s1283 _x0000_s1284 _x0000_s1285 _x0000_s1286 _x0000_s1287 _x0000_s1288 _x0000_s1289 _x0000_s1290 _x0000_s1291">1. Базовая структура «следование».Образуется последовательностью действий, следующих одно за другим, представлена на рис1.

Применение этой структуры рассмотрим на примере 1.

Пример 1. Найти корень линейного уравнения вида ах+b=0.

<img width=«288» height=«456» src=«ref-1_397027847-39460.coolpic» v:shapes="_x0000_s1270 _x0000_s1271 _x0000_s1272 _x0000_s1273 _x0000_s1274">Для решения примера 1 составим блок-схему алгоритма (рис. 2.). Следуя последовательности блоков в алгоритме можно составить программу на языке Лого, которая может быть представлена, так как на рис. 3.

Для запуска программы в командном поле введем имя программы – УРАВНЕНИЕ и нажмем клавишу <Enter> .

В появившемся диалоговом окне введем значение для коэффициента А=2, во втором – В=5. В третьем диалоговом окне появится значение рассчитанного параметра Х=-2,5.

Пример 2. Тело движется прямолинейно с ускорением а м/с2 и начальной скоростью u
м/с. Требуется определить, какой путь пройдет тело за Т секунд.
[Гейн А.Г., Житомирский В.Г., стр.15].

<img width=«623» height=«439» src=«ref-1_397067307-41546.coolpic» v:shapes="_x0000_s1184 _x0000_s1185 _x0000_s1186 _x0000_s1187 _x0000_s1188 _x0000_s1189 _x0000_s1190 _x0000_s1191 _x0000_s1192 _x0000_s1193 _x0000_s1194 _x0000_s1195 _x0000_s1196 _x0000_s1197">




Описание и использование функций

В число Лого входят стандартные функции: SQRT — квадратный корень, SIN — синус, COS — косинус градусного аргумента, POWER — квадрат.

<img width=«630» height=«194» src=«ref-1_397108853-18190.coolpic» v:shapes="_x0000_s1258 _x0000_s1259 _x0000_s1260 _x0000_s1261">
Вычислим пример: <img border=«0» width=«101» height=«29» src=«ref-1_397127043-328.coolpic» v:shapes="_x0000_i1025">

<img width=«648» height=«190» src=«ref-1_397127371-17946.coolpic» v:shapes="_x0000_s1262 _x0000_s1263 _x0000_s1264 _x0000_s1265">
Для вычисления тангенса применяется соответствующая процедура.

Произведем вычисления tg: <img border=«0» width=«87» height=«27» src=«ref-1_397145317-318.coolpic» v:shapes="_x0000_i1026">

Для нахождения модуля числа решим уравнение вида: <img border=«0» width=«68» height=«27» src=«ref-1_397145635-256.coolpic» v:shapes="_x0000_i1027">.

<img width=«616» height=«183» src=«ref-1_397145891-15550.coolpic» v:shapes="_x0000_s1266 _x0000_s1267 _x0000_s1268 _x0000_s1269">
Использование функций может сделать программу короче и яснее. Кроме того, отпадает необходимость заводить вспомогательные переменные для хранения промежуточных результатов.


2. Базовая структура «цикл»

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

<img width=«239» height=«295» src=«ref-1_397161441-11148.coolpic» hspace=«12» alt=«Подпись: » v:shapes="_x0000_s1198">В языке Лого существует только один вид цикла, применяемый для повторения определенных действий. Базовую структуру «цикл» и команду REPEAT можно применять не только для перемещения Черепашки и рисования, но также и решения вычислительных задач, подразумевающих получения результата. Рассмотрим применение структуры Цикл на примере 3 (рис.8).





<img width=«632» height=«364» src=«ref-1_397172589-29759.coolpic» v:shapes="_x0000_s1334 _x0000_s1335 _x0000_s1336 _x0000_s1337 _x0000_s1338 _x0000_s1339 _x0000_s1340 _x0000_s1341 _x0000_s1342 _x0000_s1343 _x0000_s1344 _x0000_s1345 _x0000_s1346 _x0000_s1347 _x0000_s1348 _x0000_s1349 _x0000_s1350 _x0000_s1351 _x0000_s1352 _x0000_s1353">Пример 3. Получить цифру 5 с помощью операции сложения и цифры 1.

Можно заметить, что команды (пусть «a :a + 1, сообщи :a), повторяются 5 раз, следовательно применив структуру «Цикл» получим блок-схему применимо к рассматриваемому примеру 3 (рис.8). При вводе А=1, производится операция сложения А+1 и повторяется 5 раз, что в результате получаем А=5.

Принцип действия: прочитав, в наборе команд REPEAT Черепашка ищет указание числа повторений – указатель начала цикла «[». Запомнив его место, Черепашка будет выполнять команды, пока не встретит указатель конца цикла — «]». После этого Черепашка возвращается к началу цикла и проверяет, выполнила ли она цикл заданное число раз. Если нет, то она продолжает выполнять цикл, в противном случае (если она уже выполнила задуманное число раз) Черепашка начинает выполнять команды расположенные в квадратных скобках. Таким образом, тело цикла выполняется задуманное число раз.

Цикл с изменяющейся переменной для печатания числовых рядов могут быть построены по одной единой схеме. Сначала команды присваивания ПУСТЬ (MAKE) заводится новая переменная и ей присваивается начальное значение. Затем начинаются, повторения – многократно выполняется один и тот же набор действий. В этом наборе обязательно есть действие изменения значения переменной.

В такой программе команда присваивания ПУСТЬ (МАКЕ) встречается дважды. Первый раз при начальной установке переменной (а=0), второй раз – в цикле, при изменении значения переменной (а=а+1).

Первая команда присваивания выполняется один раз, вторая – многократно. При изменении переменной в цикле используется ее же предыдущее значение. Поэтому в команде ПУСТЬ „а: а + 1 (MAKE “а: а + 1) переменная упоминается дважды (присвоить переменной с именем “a” то значение, которое сейчас имеет переменная – “a”, увеличенное на единицу). Сначала упоминается имя, а затем – значение.


<img width=»641" height=«530» src=«ref-1_397202348-47377.coolpic» v:shapes="_x0000_s1354 _x0000_s1355 _x0000_s1356 _x0000_s1357 _x0000_s1358 _x0000_s1359 _x0000_s1360 _x0000_s1361 _x0000_s1362 _x0000_s1363 _x0000_s1364 _x0000_s1365 _x0000_s1366 _x0000_s1367 _x0000_s1368 _x0000_s1369 _x0000_s1370 _x0000_s1371 _x0000_s1372 _x0000_s1373 _x0000_s1374 _x0000_s1375 _x0000_s1376">Пример 4.Вычислить уравнение: y=a+b четыре раза и получить результат.

Команда (пусть "y:a + b, сообщи :y), повторяются 4 раза, следовательно применив структуру «Цикл» получим блок-схему применимо к рассматриваемому примеру 4 (рис.9). При вводе А=12, а B=24 производится операция сложения А+B и повторяется 4 раза, что в результате получаем y=36.

Пример 5.Вычислить 5 раз значения X=i3, Y=X/2 и вывести значения на экран.

Сначала команды присваивания ПУСТЬ заводится новая переменная Iи ей присваивается начальное значение. Затем начинаются, повторения – многократно выполняется один и тот же набор действий. В этом наборе обязательно есть действие изменения значения переменной. Команда (пусть "y:x / 2, сообщи :y, пусть “x:I* :I* :I, сообщи :x), повторяются 5 раз, следовательно применив структуру «Цикл» получим блок-схему применимо к рассматриваемому примеру 5 (рис.10). При выводе значений :yи :xпроизводится операция возведения :xв степень, а  :y=x/2, что в результате получаем y=32, x=64.

<img width=«656» height=«567» src=«ref-1_397249725-42919.coolpic» v:shapes="_x0000_s1377 _x0000_s1378 _x0000_s1379 _x0000_s1380 _x0000_s1381 _x0000_s1382 _x0000_s1383 _x0000_s1384 _x0000_s1385 _x0000_s1386 _x0000_s1387 _x0000_s1388 _x0000_s1389 _x0000_s1390 _x0000_s1391 _x0000_s1392 _x0000_s1393 _x0000_s1394 _x0000_s1395 _x0000_s1396 _x0000_s1397 _x0000_s1398 _x0000_s1399"> 
Пустой цикл


Это такой цикл, когда тело цикла отсутствует, т.е. после слова REPEAT в квадратных скобках ничего не стоит.

Например: REPEAT 1000 [ ]

Если ввести эту команду в ЭВМ, то Черепашка какое-то время не будет реагировать на команды, а будет 1000 раз выполнять НИЧЕГО. Иногда это полезно, потому что обеспечивает паузу между выполнением команд.

Это можно рассмотреть на примере 6.

Пример 6. Вывести две фразы “СЕГОДНЯ ПРЕКРАСНАЯ ПОГОДА” с паузой, затем фразу “ВСЕМ ПРИВЕТ”.

<img width=«573» height=«260» src=«ref-1_397292644-38730.coolpic» v:shapes="_x0000_s1221 _x0000_s1222 _x0000_s1223 _x0000_s1224 _x0000_s1225">




3. Базовая структура «ветвление»

Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах: если—то; если—то—иначе;

  <img width=«661» height=«304» src=«ref-1_397331374-27301.coolpic» v:shapes="_x0000_s1199 _x0000_s1200 _x0000_s1201 _x0000_s1202 _x0000_s1203 _x0000_s1204 _x0000_s1205 _x0000_s1206 _x0000_s1207 _x0000_s1208 _x0000_s1209 _x0000_s1210 _x0000_s1211 _x0000_s1212 _x0000_s1213 _x0000_s1214 _x0000_s1215 _x0000_s1216 _x0000_s1217 _x0000_s1218 _x0000_s1219">
Пример 7. Если х>0, то вычислить значение y=sin(x).



На примере 7 наглядно показано ветвление (“ЕСЛИ” не полная форма).

Если условие истинно, то выполняются действия, указанные в программе. Вычисления выполняются командной строкой [пусть :ysin (:x)], затем если условие выполнено, выводится “y”.

<img width=«690» height=«623» src=«ref-1_397358675-53187.coolpic» v:shapes="_x0000_s1401 _x0000_s1402 _x0000_s1403 _x0000_s1404 _x0000_s1405 _x0000_s1406 _x0000_s1407 _x0000_s1408 _x0000_s1409 _x0000_s1410 _x0000_s1411 _x0000_s1412 _x0000_s1413 _x0000_s1414 _x0000_s1415 _x0000_s1416 _x0000_s1417 _x0000_s1418 _x0000_s1419 _x0000_s1420 _x0000_s1421 _x0000_s1422 _x0000_s1423 _x0000_s1424 _x0000_s1425 _x0000_s1426">Пример 8.Если a>b, то вычислить значение a=2*a, если условие не выполняется, то вычислить b=2*b

В примере 8 рассматривается полная форма ветвления. Если условие истинно, то выполняется первое действие, если условие ложно – выполняется второе действие.
Процедуры с параметрами

1. Процедура без параметра

<img width=«643» height=«207» src=«ref-1_397411862-18988.coolpic» v:shapes="_x0000_s1226 _x0000_s1227 _x0000_s1228 _x0000_s1229">
Рассмотрим применение процедуры без параметра на уже решенном примере 3.

Процедура вызывается только с помощью имени, стоящего после ЭТО (ТО). Для этого используется процедура без параметра.

2. Процедура с параметром

<img width=«644» height=«213» src=«ref-1_397430850-18328.coolpic» v:shapes="_x0000_s1234 _x0000_s1235 _x0000_s1236 _x0000_s1237 _x0000_s1238">
Теперь в список команд Черепашки добавим переменную величину: х, которая позволит изменять размер начального значения: х.

Такой параметр в заголовке процедуры называется формальный параметр - та же самая переменная «х». При вызове же процедуры нужно будет указать соответствующее значение — так называемый фактический параметр. Например, «уравнение 100». Следовательно, начальное значение переменной: х=100.

Рассмотрим чуть подробнее, что происходит при исполнении процедуры с параметром. Переменную можно представить в виде ящика, на котором наклеена табличка с именем. В этот ящик может поместиться одно значение. Компьютер в любое время может посмотреть, что там находится, а может и поменять хранящееся значение. Допустим, если дать команду уравнение100.

В заголовке процедуры после ее имени стоит ": х". Поэтому число 100 компьютер положит в «ящик» с такой «табличкой». Теперь начинается выполнение самой процедуры. Черепашка начинает выполнять цикл. Встретившись с командой «пусть “х: х + 1», она смотрит, какое значение «лежит в ящике», и подставляет его в эту команду. Само значение переменной при этом не меняется.

Процедура может иметь не один параметр, а несколько. Рассмотрим пример 9.

<img width=«644» height=«198» src=«ref-1_397449178-20313.coolpic» v:shapes="_x0000_s1230 _x0000_s1231 _x0000_s1232 _x0000_s1233">
Пример 9.Вычислить <img border=«0» width=«56» height=«45» src=«ref-1_397469491-297.coolpic» v:shapes="_x0000_i1032">

<img width=«642» height=«87» src=«ref-1_397469788-8398.coolpic» v:shapes="_x0000_s1240">
В этом случае при запуске процедуры количество фактических параметров и их порядок должны соответствовать формальным. Если их будет меньше, Лого выдаст сообщение:

Если больше –

<img width=«642» height=«87» src=«ref-1_397478186-7878.coolpic» v:shapes="_x0000_s1239">

Рекурсия


В Лого все процедуры равноправны. Допускается, что одна процедура может вызывать вторую, вторая – третью и так далее. Кроме того, в Лого допускается, что процедура может вызывать процедуру со своим собственным именем. Такой вызов процедурой самой себя называется рекурсией.

а) Процедура, обращающаяся сама к себе

<img width=«606» height=«186» src=«ref-1_397486064-20444.coolpic» v:shapes="_x0000_s1241 _x0000_s1242 _x0000_s1243 _x0000_s1244">
Пример 10.Составить процедуру А, бесконечно печатающую слово «ПРИВЕТ»:

Процедура А печатает в текстовом окне слово «ПРИВЕТ» и вызывает процедуру А, которая печатает в текстовом окне слово «ПРИВЕТ» и вызывает процедуру А и т.д. Слово «ПРИВЕТ» будет печататься до тех пор, пока пользователь не прервет программу. Такого типа программы называют программами рекурсивного вызова самой себя или бесконечным циклом. Более интересный результат получится, если при рекурсивном вызове изменить значение параметра.

<img width=«524» height=«176» src=«ref-1_397506508-65007.coolpic» v:shapes="_x0000_s1245 _x0000_s1246 _x0000_s1247">
Пример 11. Используя уравнение х+3 рассчитать и нарисовать траекторию движения Черепашки:

б) Управляемая рекурсия

Для остановки программы в нужный момент можно применить условие и команду STOP (СТОП).

<img width=«620» height=«217» src=«ref-1_397571515-27407.coolpic» v:shapes="_x0000_s1248 _x0000_s1249 _x0000_s1250 _x0000_s1251">
Пример 12.Ввести коэффициенты А, В, С. Если А<200, вычислить Х=А.В-В.С. В противном случае остановить программу.

Если при очередном вызове параметр А оказался больше 200, то программа остановится. В противном случае последует запрос и ввод коэффициентов А и В, расчет значения Х и новый вызов с увеличенным параметром.

в) Косвенная рекурсия

Если процедура вызывает сама себя не непосредственно, а через другую процедуру, то это называется косвенной рекурсией.

<img width=«634» height=«260» src=«ref-1_397598922-30911.coolpic» v:shapes="_x0000_s1252 _x0000_s1253 _x0000_s1254 _x0000_s1255 _x0000_s1256 _x0000_s1257">
Пример 13. Вычислить значения у=sin(a) и х=cos(a), установив между ними взаимосвязь и не превышать значения 1.

Эти две процедуры (вычисления sin(a) b cos(a)) работают так: первая вызывает вторую, а вторая – первую. В результате получается один из примеров косвенной рекурсии.
Решение задачи с использованием основных базовых структур


и операторов языка Лого на примере экологической задачи


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

<img width=«272» height=«609» src=«ref-1_397629833-12319.coolpic» v:shapes="_x0000_s1300 _x0000_s1301 _x0000_s1302 _x0000_s1303 _x0000_s1304 _x0000_s1305 _x0000_s1306 _x0000_s1307 _x0000_s1308 _x0000_s1309 _x0000_s1310 _x0000_s1311 _x0000_s1312 _x0000_s1313 _x0000_s1314 _x0000_s1315 _x0000_s1316 _x0000_s1317 _x0000_s1318 _x0000_s1319 _x0000_s1320 _x0000_s1321 _x0000_s1322 _x0000_s1323 _x0000_s1324 _x0000_s1325 _x0000_s1326 _x0000_s1327 _x0000_s1328 _x0000_s1329 _x0000_s1330 _x0000_s1331 _x0000_s1332 _x0000_s1333">Сначала построим математическую модель изучаемого явления. Специалистам-экологам установлена следующая приближенная закономерность: в каждом конкретном случае можно указать такое число K>1, что концентрация примесей C уменьшается в К раз за сутки. При этом коэффициент К зависит от района, где протекает река, типа примесей и т. п. Значение К можно узнать из соответствующего справочника. Эту закономерность примем в качестве  исходного предположения для рассматриваемой математической модели.

Исходными данными будут начальная концентрация С вредных веществ в реке, предельно допустимая концентрация D и коэффициент К.  Результат – последовательностью значений концентрации вредных веществ через сутки, двое суток и т. д. Связь между исходными данными и результатом дается следующими соотношениями:

<img border=«0» width=«140» height=«43» src=«ref-1_397642152-355.coolpic» v:shapes="_x0000_i1033">

где <img border=«0» width=«24» height=«24» src=«ref-1_397642507-207.coolpic» v:shapes="_x0000_i1034"> — концентрация вредных веществ через N суток после сброса.

Руководствуясь этой математической моделью, составим блок-схему, где C -  начальное значение концентрации,

D – предельно допустимая концентрация, K – коэффициент, Z – ограничения количества шагов для расчета, H – точность подсчета в сутках, N -  количество суток.

<img width=«619» height=«371» src=«ref-1_397642714-33403.coolpic» v:shapes="_x0000_s1295">
Составим программу на языке Лого и произведем расчеты для свинца при C=10 мг/л, D=0.03 мг/л, K=1.12. [Гейн А.Г. стр.71]

<img width=«324» height=«169» src=«ref-1_397676117-6741.coolpic» hspace=«12» v:shapes="_x0000_s1297"><img width=«324» height=«169» src=«ref-1_397682858-7096.coolpic» hspace=«12» v:shapes="_x0000_s1296"><img width=«324» height=«169» src=«ref-1_397689954-6331.coolpic» hspace=«12» v:shapes="_x0000_s1294"><img width=«324» height=«169» src=«ref-1_397696285-7113.coolpic» hspace=«12» v:shapes="_x0000_s1293"><img width=«324» height=«169» src=«ref-1_397703398-7084.coolpic» hspace=«12» v:shapes="_x0000_s1292">




Полученные расчеты дают возможность увидеть нормальную концентрацию свинца С= 0.027 в воде на 52 сутки.

<img width=«324» height=«129» src=«ref-1_397710482-4516.coolpic» hspace=«12» v:shapes="_x0000_s1298"><img width=«324» height=«129» src=«ref-1_397714998-5036.coolpic» hspace=«12» v:shapes="_x0000_s1299">


2.3. Методические рекомендации
    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике