WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

1

Лаборатория юного линуксоида – http://younglinux.info

С.В. Шапошникова

Изучение языка программирования

Logo (Лого)

(Лого)

в среде KTurtle

Курс для детей и подростков по программированию

(версия 1)

2011 г.

2 Пояснительная записка К урс (или цикл уроков) "Изучение языка программирования Logo (Лого) в среде KTurtle" ориентирован на возрастную группу примерно от 10 до 13 лет включительно (4-7 классы). Можно рекомендовать изучение данного материала учащимися 4-5 классов под руководством педагога. Учащиеся 6-7 класса могут попытаться освоить курс самостоятельно.

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

Язык команд Logo — русский.

Среда рабочего стола — KDE 4.

Используемый дистрибутив — ALT Linux 5.0.1 School Master.

М атериалы, составляющие данное пособие, распространяются на условии лицензии GNU FDL. Книга не содержит неизменяемых разделов. Автор пособия указан на первой странице обложки. Встречающиеся в книге названия могут являться торговыми марками соответствующих владельцев.

К урс "Изучение языка программирования Logo (Лого) в среде KTurtle" первоначально публиковался на сайте http://younglinux.info в период с сентября по декабрь 2010 года.

Содержание Урок 1. Программирование. Общее представление Урок 2. Вот холст. Иди и напиши Урок 3. Про то, как заставить робота рисовать Урок 4. Абсолютность и относительность Урок 5. Настройка цвета и размера Урок 6. Переменные. Они такие непостоянные... Урок 7. Если..., то... или иначе? Урок 8. Диалоги с черепахой Урок 9. Повторение команд Урок 10. Цикл "До тех пор пока..., делать..." Урок 13. Контрольная работа по основам языка программирования Logo Урок 16. Соревнование по языку программирования Лого Урок 1. Программирование. Общее представление Программа, язык программирования, программист Д ля чего необходим компьютер? Ответить на этот вопрос можно по разному.

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

С хранением информации должно быть все боле менее понятно: у компьютера информация и в дальнейшем хранится там. А вот что касается ее обработки... Как же компьютер принимает решения о том, что делать с информацией? Никак и не принимает! Он ведь робот, послушная машина, он делает только то, что «скажет" (запишет в компьютерную память) человек.

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

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

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

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

Именно профессиональные программисты умеют писать программы для вычислительных машин. Эти программы решают очень много разных задач.

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

Среда KTurtle и язык программирования Logo (Лого) М ы с вами как начинающие программисты будем учиться составлять программы. Но поскольку мы только начинающие программисты, то и делать это будем немного "по игрушечному". Нашим исполнителем будет не настоящий компьютер (или робот), а маленькая черепашка. Это роботчерепашка, он послушный и всегда готовый к работе. От нас же требуется познакомиться с тем, как им можно командовать. Этому и будут посвящены уроки.

С начала стоит познакомиться со средой обитания робота-черепахи. Средой является приложение (большая программа, которую написал взрослый программист) под названием KTurtle. Если вы еще не знаете, то "turtle" с английского переводится как "черепаха". Буква K впереди обозначает то, что это приложение предназначено для рабочего стола KDE для Linux.



С реда — это еще не язык программирования. Среда всего лишь создает удобное место для работы программиста и наблюдения за поведением программы. Язык программирования — это более важный компонент. Именно на нем мы "говорим" с компьютером; в нашем случае мы говорим с роботомчерепахой. Языком программирования поведения черепахи является язык Logo (или Лого - по-русски). Этот язык специально был придуман для обучения детей программированию. Команды на языке Logo могут быть как английскими, так и русскоязычными (а также французскими и др.).

Вот так выглядит приложение KTurtle сразу после запуска:

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

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

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

Вопросы и задания 1. Что вы узнали из данного урока? Подготовьте пересказ на тему "Кто такие программисты и зачем они нужны".

2. Может ли один и тот же человек выступать в роли и программиста и пользователя?

Приведите примеры.

3. Запустите приложение KTurtle. Расскажите, как вы будете работать в нем.

4. Протестируйте работу приложения KTurtle. Для этого напишите в редакторе кода приведенные ниже две команды и передайте их черепахе на выполнение. Что произошло? Попытайтесь объяснить.

напиши "Привет, мир!" вперёд Урок 2. Вот холст. Иди и напиши Холст и его координаты Н аш робот-черепаха перемещается по холсту. Для указания местоположения на холсте используются декартовы координаты (ось x и ось y). Ось x направлена по горизонтали слева направо. Чем правее здесь точка, тем значение ее больше. Ось y направлена сверху вниз. Это отличается от того, к чему мы привыкли в математике, где ось y направлена в противоположную сторону: снизу вверх. На нашей же координатной плоскости будет так: чем ниже точка, тем ее значение больше.

М есто пересечения двух координатных осей (x и y) образует начало системы отсчета. Это точка (0,0). Координаты любой точки формируются пересечением двух прямых, которые перпендикулярны осям. Первое число координаты — это расстояние по оси x, второе — по оси y. Посмотрите на рисунок и разберитесь, как формируются координаты точек.

И значально размер холста в KTurtle равен 400 на 400 точек. Вы можете приближать и удалять его, прокручивая колесо мыши или изменяя размер окна. Тем самым вы меняете масштаб, но не меняете его реальных размеров.

Холст все равно остается 400х400. Меняется лишь размер каждой "точки".

М ы как программисты можем изменить реальный размер холста, написав и затем выполнив определенную команду. Вот эта команда:

П ри использовании данной команды вместо x и y следует прописать желаемый размер холста по оси x и по оси y. При этом не обязательно, чтобы x был равен y. Можно получить прямоугольный холст, например, дав команду вроде этой:

размер_холста 800, И мейте в виду, что чем больше значение, тем мельче на холсте будет выглядеть черепаха. Ее размер по количеству точек постоянен и примерно равен 30х25 точек, а чем больше точек на экране, тем меньше на каждую из них приходится пространства монитора.

Учимся ходить и писать Для перемещения черепахи по холсту используется такая команда:

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

Черепаха устанавливается на указанную точку центром своего тела.

П осле того, как мы передвинули черепаху в заданную нами точку, можно "попросить" ее что-нибудь вывести на экран. Делается это вот так:

Или так:

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

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

Н апример, мы можем пожелать вывести свое имя и возраст где-нибудь вверху холста. Для этого сначала переместим черепаху вверх и немного влево, скомандуем ей выполнить запись строки. Затем немного сместим ее (чтобы две надписи не накладывались друг на друга) и заставим вывести число:

сброс иди 150, напиши "Саша" иди 200, напиши О братите внимание на команду сброс впереди. Желательно, чтобы она всегда присутствовала в ваших программах впереди остального кода. Она перезагружает холст, удаляя все его предыдущие настройки и также очищая его.

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

Задание 1. Напишите программу, в результате выполнения которой на холсте сформируется примерно следующее:

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

Урок 3. Про то, как заставить робота рисовать То, что мы уже знаем Подведем итог того, что мы уже знаем об управлении черепахой и холстом.

1. Для перезагрузки всех параметров холста предназначена команда сброс.

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

3. Черепаху можно перемещать по холсту с помощью команды иди. После команды через пробел указывается координаты точки назначения. Значение х отделяется от значения у запятой.

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

Это, пожалуй, всё, что нам известно на сегодняшний день.

Вперёд!...или все-таки назад?

К оманда иди перемещает черепаху в определенное координатами (x и y) место. При таком перемещении (с помощью команды иди) на холсте не остается никакого следа. Можно представить, что мы как бы поднимаем черепаху в одном месте, а затем опускаем ее в другом. Однако черепаху можно также перемещать таким образом, чтобы на холсте оставался след от ее перемещения.

Для этого используются другие команды - вперёд и назад.

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

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

Вот пример кода и результат, который он дает на холсте:

сброс вперёд иди 100, назад П ервоначально черепаха стоит в центре холста. Мы заставляем ее идти вперёд на расстояние в 99 точек. После этого перемещаем ее в точку с координатой 100х200 и приказываем двигаться задом на 50 точек.

Задание Запрограммируйте изображение, представленное ниже. При этом верхний ряд линий должен формироваться командой вперёд, а нижний - командой назад.

Главное выбрать направление К ак вы могли заметить, мы научились рисовать только вертикальные линии, т.к. голова черепахи всегда смотрит вверх, а хвост, соответственно, - вниз. А как же провести горизонтальную линию или линию под любым другим углом?

О казывается робота-черепаху можно поворачивать на любой заданный нами градус. Для этого используется команда направление. Полный поворот вокруг своей оси приравнивается к 360 градусам. Черепаха, смотрящая точно вверх имеет направление 0 (или 360). Смотрящая вправо — 90. Вниз — 180.

Влево — 270. Можно указывать промежуточные значения между приведенными выше величинами (например, 11, 135, 200, 355 и т.п.). Поворот производится по часовой стрелке. Если указывать минусовые значения, то против часовой.

Например, поворот на угол в -45 градусов даст тот же результат, что и поворот на 315 градусов, т.к. 360 - 45 = 0 + 315.

Р ассмотрим пример программы и получившееся при ее выполнении изображение:

сброс направление назад направление вперёд С начала черепаха была повернута на 90 градусов и прошлась задом на точек. Затем ее повернули на 120 градусов и сказали ползти естественным ходом (т.е. головой вперёд) на 300 точек.

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

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

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

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

Урок 4. Абсолютность и относительность Подними перо, опусти перо К огда мы перемещае черепаху с помощью команд вперёд и назад, то она рисует линии. По идее... Но на самом деле может и не рисовать. В этом случае перед командами вперёд и назад используется команда перо_подними, заставляющая робота-черепаху оторвать от холста то, чем он рисует. Поэтому последующее выполнение команд вперёд и назад приводит к перемещению черепахи на указанное расстояние, но никаких следов при этом она уже не оставляет (перо-то поднято!).

Д ля того чтобы черепаха снова начала рисовать, надо перо опустить с помощью команды перо_опусти. После этого команды будут работать так, как это задумано с самого начала – рисовать линии.

П о умолчанию перо опущено. Это значит, что если вы не командовали роботу поднимать перо, то значит он будет рисовать.

Рассмотрим такую последовательность команд:

сброс вперёд перо_подними вперёд перо_опусти вперёд В результате выполнения на холсте получится следующее:

С начала черепаха прошлась вперёд на 70 точек и оставила за собой линию.

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

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

В чем смысл относительности Н е будем забывать, что команда иди просто перемещает черепаху без вычерчивания линий. Если подумать, то команда иди заменяет целых две команды перо_подними и вперёд (или назад). В обоих случаях черепаха будет перемещаться без рисования линий.

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

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

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

Однако их использование не всегда удобно. Например, вам требуется рисовать пунктирную линию, где расстояние между черточками должно быть равно 20 точкам. Если вы будете использовать только команды иди и вперёд, то придется каждый раз вычислять координату начала очередной черточки. Это будет сделать очень трудно, если пунктирная линия идет не по горизонтали и не по вертикали, а как-нибудь наискосок. Или другой пример. После рисования какого-нибудь элемента на холсте, вы уже не знаете, где стоит черепаха (ее координаты), но знаете, что вам надо отступить вправо на 45 точек. Проще будет поднять перо, повернуть черепаху и выполнить команду вперёд (или назад), чем вычислять координаты исходя из начальных значений и пройденного черепахой пути.

И так, команда иди принимает точные (абсолютные) координаты нашей координатной плоскости (холста), а команды вперёд и назад перемещают черепаху относительно ее текущего положения на указанную величину. Где бы ни стояла черепаха, команда иди 10, 20 всегда переместит ее в начало холста, отступив от краев 10 точек по x и 20 точек по y. Где окажется черепаха после команды вперёд 100 зависит от того, где она была до этого и как была повернута.

Относительные повороты Н а прошлом занятии мы изучили команду направление. Это команда принимает абсолютные величины. Для нее есть север-верх (0 градусов), восток-право (90), юг-низ (180) и запад-лево (270), а также промежуточные абсолютные направления. Как бы ни была повернута черепаха, команда направление 135 абсолютно всегда заставит ее повернуть голову на юго-восток (вниз и вправо).

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

Д ействительно в языке программирования Logo предусмотрены команды относительного поворота – налево и направо. Эти команды используются даже чаще, чем команда направление. Однако команда направление может быть очень полезна. Например, вы крутили и вертели черепаху, а потом вам надо направить ее в четко определенное направление (например, точно направо).

Команда направление 90 решит все проблемы.

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

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

Ч тобы изменить цвет линии, до команд вперёд или назад должна быть применена команда цвет_пера. Для установки цвета холста используется команда цвет_холста. После этих команд прописывается нужный цвет. Но чтобы понять, как задать желаемый цвет, необходимо иметь представление о так называемой модели RGB для кодирования цвета.

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

М онитор – это электронное устройство. Работая, он может отображать на экране определенный ряд цветов. Каждая точка на экране может быть любым цветом из заданного ряда. Обычно для мониторов используется модель кодирования цвета RGB. Согласно этой модели цвет каждой точки определяется соотношением красного (R - red), зеленого (G - green) и синего (B – blue). Максимальное значение каждого цвета равно 255, а минимальное – 0. Так запись 0, 255, 0 обозначает чисто зеленый цвет. Смесь цветов дает различные оттенки. Чем все значения больше, тем цвет светлее, чем меньше – темнее. Три нуля дают в итоге черный цвет, а три значения 255 – белый. Равные значения трех чисел (например, 176, 176, 176) дают серый цвет, при этом, чем значения меньше, тем он темнее.

В программе KTurtle мы не обязаны знать все тонкости кодирования цвета.

Здесь есть инструмент, который помогает определить код желаемого цвета.

Он находится в меню Сервис, пункт Выбор цвета.

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

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

цвет_холста 243, 215, цвет_пера 55, 120, Ц вет пера и цвет холста можно менять в программе множество раз. Однако смена цвета холста в середине программы особого смысла не имеет, т.к. в результате вы увидите тот цвет, который был указан последним. Это связано с тем, что в обычном режиме черепаха выполняет команды быстро и можно не заметить, как фон изменяет цвет (это будет похоже на мигание).

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

Толщина пера и размер шрифта Е сть еще две команды языка Лого которые изменяют перо черепахи-робота.

Это толщина_пера и размер_шрифта.

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

Р азмер шрифта измеряется в пунктах, так же как в текстовых процессорах.

Размер шрифта в 12 пунктов установлен по умолчанию (если не были изменены настройки среды KDE).

Задание Получите изображение как на рисунке (фон черный, линии белая, желтая и голубая).

Ответ к заданию на стр. Урок 6. Переменные. Они такие непостоянные...

Д авайте немного подумаем над тем, как компьютер работает с данными. Под данными мы будем понимать любые числа, слова или одиночные символы (буквы, знаки). Когда мы пишем исходный код, то в нем используются команды (например, цвет_холста, налево, назад и др.) и данные (например, 50, 135, "a", "Саша", "*" и т.п.). И то и другое сохраняется в компьютерной памяти, которая разделена на ячейки. Под каждую команду или данное отводится одна или несколько ячеек (в зависимости от их размера).

Е сли в программе мы используем несколько раз одну и туже команду в разных частях кода, то это вовсе не значит, что в памяти сама команда сохраняется множество раз. Черепашка-компьютер знает, в какой ячейке хранится единственный "оригинал" команды и "берёт" его оттуда каждый раз, когда видит эту команду в коде, который мы написали. Действительно. Это очень экономно по отношению к памяти. Представьте, что мы использовали в своем коде раз 10- команду вперёд. Если бы под каждый ее "экземпляр" выделялась память, то мы бы заняли как минимум 10-20 ячеек. А так нам нужна всего лишь одна ячейка, к которой исполнитель-черепаха будем обращаться в случае надобности.

С данными же дела обстоят сложнее. Если мы несколько раз в коде используем, например, число 50, то это не значит, что это число "лежит" только в одном месте памяти, и черепаха постоянно к этому месту обращается.

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

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

И так. Данные в программе могут стать переменными. Переменные имеют имена, по которым программист может обращаться к конкретным ячейкам памяти с данными. Но почему же переменные называются переменными? Ведь это обозначает что-то изменчивое, непостоянное. Дело в том, что программист может изменять их значение. Нет, не вводить другое число или строку, которое поместится в другие ячейки, а именно изменять уже ранее занятую ячейку (ячейки) памяти. Зачем это нужно? Причин много. Рассмотрим хотя бы такой пример:

сброс иди 150, направо вперёд налево назад направо вперёд П осмотрите на этот код (он заставляет черепаху нарисовать небольшой зигзаг, но сейчас это не важно). Здесь три раза используется число 50 и три раза число 60. Каждое число занимает свою ячейку (или несколько ячеек) памяти, т.е. в итоге получается как минимум шесть занятых ячеек. Но допустим у нас много памяти и нам ее не жалко. Хорошо. Но что вы будете делать, если потребуется сделать зигзаг немного больше, а угол между отрезками немного меньше? Придется исправлять все числа. Если программа была бы еще больше, то это абсолютно неэффективно. Куда правильней было бы записать пример выше вот так:

сброс иди 150, $л = $у = направо $у вперёд $л налево $у назад $л направо $у вперёд $л Н а первый взгляд стало только хуже. Появились две дополнительные строчки кода в начале. Но это только кажется. В этих двух строчках и происходит загадочное явление под названием "присвоение переменным значений", или запись данных в ячейки памяти и присвоение этим ячейка имен. $л и $y – это имена переменных. В последней версии языка Лого значок $ (доллар) стал обязательным перед именем переменной. Вместо "л" и "у" может быть что угодно, но желательно, чтобы по смыслу это что-то значило. Например, здесь "л" – это сокращение от "линия", а "у" – от "угол". Можно было бы (и правильней было бы) использовать вот такие переменные: $линия, $угол. Они более очевидны для любого, кто будет читать код.

И так, вернемся к вопросу, почему эти две строчки кода сделали программу лучше. Теперь, чтобы изменить зигзаг достаточно поменять числа в местах, где они становятся переменными (связываются с именами). Не нужно просматривать всю программу (представьте, что она очень большая) в поисках числа 50, которое обозначает длину линии, чтобы его изменить.

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

сброс иди 50, $л = $у = направо $у вперёд $л налево $у назад $л направо $у вперёд $л направление иди 10, напиши $л иди 30, напиши $у иди 100, $л = $л + $у = $у + направо $у вперёд $л налево $у назад $л направо $у вперёд $л направление иди 10, напиши $л иди 50, напиши $у иди 400, П еред тем как рисовать второй зигзаг, мы меняем значения переменных на 100 и 20 единиц. Мы могли бы вычилить их сразу и записать так: $л = 150, $у = 80. Но зачем так утруждать себя, если мы хотим изменить величину на какое-то значение, а не преследуем цель узнать конкретное значение (хотя такое тоже может быть). В коде мы выводим значения переменных на холст, чтобы убедиться, что в различные моменты времени они имеют разные значения.

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

Для справки: угол в квадрате равен 360/4 = 90 градусов, в шестиугольнике равен 360/6 = градусов.

Ответ к заданию на стр. Урок 7. Если..., то..., или иначе Если..., то...

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

сброс $число = напиши "Сейчас, сейчас..."

иди 150, если $число > 5 { напиши "Ура" П еременная $число была связана с ячейкой памяти, куда мы поместили чиcло 10. При инструкции если находится утверждение, что значение переменной $число больше 5. Если это так (если это правда), то черепаха выполнит то, что находится внутри фигурных скобок. В данном случае она напишет на холсте слово "Ура". Но если утверждение "$число больше 5" будет ложью, то черепаха не обратит никакого внимания на код внутри скобок, для нее этого кода как бы не будет существовать.

П оскольку у нас в переменной $число содержится 10, а 10 больше 5, то утверждение $число > 5 является правдой, и код внутри фигурных скобок будет выполнен.

С равнивать можно не только по принципу "что больше чего", но и по принципу "что меньше чего", "что не равно чему" и т.п. Для каждой операции сравнения есть свой знак или группа знаков. Вот таблица операций сравнения для языка Лого (Logo), который используется в среде Kturtle:

Т олько не путайте операцию сравнения "равно", которая обозначается двумя знаками ==, с операцией присвоение значения переменной, которая обозначается одним знаком =. При "==" мы сравниваем два значения между собой, а при "=" записываем в именованную ячейку памяти (переменную) какоенибудь значение.

Задание С пишите код, представленный выше. Посмотрите, как он работает. Затем измените значение переменной $число таким образом, чтобы код внутри инструкции если не выполнялся (т.е. слово "Ура" не должно выводиться на холст, но вся конструкция если должна остаться в исходном коде).

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

Т.е. эта конструкция организует две ветки кода, из которых всегда выполняется только одна. Какая именно зависит от того, было ли утверждение сравнения правдивым или оно было ложным. Если утверждение истинно, то выполняется первая часть кода (при инструкции если), если ложным – то вторая (при инструкции иначе). Вот код, содержащий эту сложную "двойную" конструкцию:

сброс $линия = "зел" если $линия == "зел" { толщина_пера цвет_пера 0, 136, иначе { толщина_пера цвет_пера 200, 136, вперёд иди 10, З десь, если переменная $линия равна строке "зел", то сработает код внутри фигурных скобок при инструкции если. Во всех остальных случаях, т.е. когда переменная $линия будет равна чему угодно, но не "зел", будет срабатывать код внутри скобок при инструкции иначе. Но чему бы ни была равна переменная $линия, какая-нибудь из двух инструкций обязательно сработает.

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

Задание 1. Спишите код, представленный выше (с конструкцией если – иначе). Выполните его. Что вы увидели на холсте и почему? Какая часть кода не выполнялась?

2. Измените значение переменной $линия таким образом, чтобы выполнялся код при инструкции иначе, а при инструкции если соответственно не выполнялся.

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

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

Ответ к заданию 3 и 4 на стр. Урок 8. Диалоги с черепахой Принимаем сообщения Р анее мы уже видели, как робот-черепаха может выводить текст на холст с помощью команды напиши. Однако это не единственная возможность вывода символьной информации. С помощью языка программирования Лого можно запрограммировать черепаху так, что она будет посылать сообщения с помощью специальных диалоговых окон.

В от одно из таких окон, с написанной на нем любой фразой-сообщением и одной кнопкой ОК.

Такое окно получается в результате выполнения вот такой команды:

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

$привет = "Здравствуйте, ребята!" сообщение $привет В результате получится окно с фразой "Здравствуйте, ребята!". Можно поступить еще интересней и передать команде сообщение несколько аргументов.

$привет = "Здравствуйте, ребята!" $задание = "Сидите и слушайте."

сообщение $привет + " " + $задание З десь команде сообщение передается три аргумента: две переменные и одна строка (в кавычках). Строка состоит из одного пробела. Он нужен для того, чтобы отделить первую фразу от второй. С помощью знаков + фразы соединяются между собой. В результате окно сообщения будет содержать фразу "Здравствуйте, ребята! Сидите и слушайте."

Задание Напишите программу по следующему алгоритму:

1. Сброс всех параметров.

2. Сообщение об установке цвета холста.

3. Команда установки цвета холста в светло-зеленый цвет.

4. Сообщение о предстоящем выводе на экран линии.

5. Вывод на экран темно синей линии.

6. Сообщение о том, что сейчас экран будет очищен.

7. Сброс всех параметров.

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

К нопка ОК активируется ("загорается"), когда в пустое поле будет что-нибудь написано. Чтобы получить такое окно, надо выполнить такую команду:

спроси "Что вы хотите?" И менно благодаря команде спроси получается такое сложно диалоговое окно. То, что идет после кавычек – это сообщение о том, что требуется ввести в пустое поле ввода. Если после этого нажать кнопку ОК, то введенная в поле информация окажется в памяти компьютера. Если нажать Отмена, то ничего нигде не сохранится.

П редположим, что мы что-то ввели в поле и нажали ОК. Где же в памяти компьютера сохранилось, то, что мы ввели, и как черепахе узнать это значение? Все просто – надо использовать переменные. Приведенное выше выражение на самом деле должно быть примерно таким:

$желание = спроси "Что вы хотите?" Т еперь то, что ввел человек в диалоговом окне, будет сохранено в памяти и связано с переменной $желание. Когда потребуется, чтобы черепаха чтонибудь сделала с этими данными, мы можем передавать командам нашу переменную. Например, чтобы вывести загаданное желание на холст достаточно дать такую команду:

напиши $желание С помощью Лого-черепахи можно запрашивать у пользователя не только словесные фразы, но и числа. Рассмотрим такую программу:

сброс сообщение "Установите цвет холста в кодировке RGB."

$к = спроси "Красный" $з = спроси "Зеленый" $с = спроси "Синий" цвет_холста $к, $з, $с Ч еловек получает сообщение о том, что ему сейчас предстоит установить цвет. Далее появляются окна, где он должен ввести числа от 0 до 255 (а потому что RGB). То, что вводит пользователь, запоминается в переменных $к, $з, $с. Поскольку команде цвет_холста надо передавать три числа через запятую, то мы это и делаем. Просто вместо переменных при выполнении будут подставлены числа, которые ввел пользователь.

Задание Вспомните прошлый урок про конструкцию если–иначе. Напишите такую программу:

1. Сброс параметров.

2. Спросить у пользователя, сколько ему лет.

3. Если пользователю больше или равно 18, то сообщить ему, что он уже совершеннолетний по Российскому законодательству.

4. Иначе, вывести сообщение, где будет указано, сколько лет ему осталось до 18.

Напишите еще одну программу:

1. Сброс параметров 2. Попросите пользователя решить пример 2*2.

3. Если пример решен правильно, то на холсте должен появиться большой синий 4. Во всех остальных случаях на холсте должно выводиться то, что ввел пользователь, а затем перечеркиваться красной линией.

Урок 9. Повторение команд Как правильно повторять команды Допустим, у нас есть вот такой программный код:

сброс цвет_пера 23, 130, толщина_пера $отрезок = $угол = иди 260, вперёд $отрезок налево $угол вперёд $отрезок налево $угол вперёд $отрезок налево $угол вперёд $отрезок налево $угол иди 200, Что получится в результате выполнения этого кода?

1. Сначала будут установлены цвет и толщина пера.

2. Далее мы записываем в компьютерную память два числа (120 и 90), связав их с переменными $отрезок и $угол.

3. Черепаха перемещается в точку с координатами 260, 260 (это чуть ниже и правее середины холста).

4. После этого четыре раза повторяется пара команд вперёд и налево (проверьте это, соответственно. Во время выполнения кода на их место будут подставляться числа 120 и из памяти. Каждая пара команд рисует линию и поворачивает черепаху на 90 градусов.

Поскольку таких пар четыре, то в итоге получается ни что иное как квадрат.

5. В конце черепаха перемещается в центр холста.

В представленном программном коде мы наблюдаем повторение группы команд (вперёд и налево). Но обязательно ли писать каждое повторение? А что если бы нам требовалось повторить какую-нибудь команду сто раз? Пришлось бы сто раз написать ее в программном коде? Это как минимум не эффективно.

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

В конце ставится закрывающая фигурная скобка.

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

сброс цвет_пера 23, 130, толщина_пера $отрезок = $угол = иди 260, повтори 4 { вперёд $отрезок налево $угол иди 200, Р езультат будет таким же как в примере до этого. Однако запись получилась короче. Кроме того, такой код более понятен. Например, программисту, который первый раз увидит код, не надо считать количество повторений команд вперёд и налево. Он увидит число 4 и сразу все поймет.

Что такое цикл?

К онструкция повтори представляет собой ничто иное как цикл. Цикл можно представить себе как многократное повторение каких-либо действий. Т.е.

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

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

2. Спишите код сложной программы, приведенной ниже. Выполните его. Попробуйте объяснить, почему получилось именно так.

сброс $х = $у = повтори 4 { иди $х,$у цвет_пера 23, 130, толщина_пера иди $х-5,$у- цвет_пера 200, 200, толщина_пера повтори 12 { иди 400, 3. Напишите программу, которая запрашивает у пользователя длину отрезка и угол, а затем по этим данным рисует на холсте равносторонний многоугольник.

Урок 10. Цикл "До тех пор пока … делать..."

Как это понимать Что значит "Утверждение правдиво" Допустим, у нас есть переменная $число, значение которой равно 16:

$число = У тверждение, что данная переменная больше 4 будет верным (правдой), а вот утверждение, что переменная равна 6 будет ложью:

$число > $число == М ы уже сталкивались с подобными выражениями при изучении инструкции Задание Переменная $red присвоено значение 150, а переменной $blue присвоено значение 250:

$red = $blue = Какие из следующих утверждений будут правдой, а какие — ложью?

$red != $blue != $red == $red < $red $red $red > $blue Что такое "ряд действий" Р яд действий — это, в принципе, любые выражения и в любом количестве:

хоть одно, хоть очень много. Например, ряд действий может состоять из одной команды вперед 100 или из нескольких команд:

вперёд $x налево вперёд $x – $счетчик = $счетчик + Р яд действий, входящий в любую сложную конструкцию представляет собой тело конструкции и на языке Лого отделяется от остального кода фигурными скобками { и }, которые можно в уме заменять словами ДЕЛАТЬ и КОНЕЦ.

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

$x = пока $x < 100 { Р яд действий (выражений) в теле конструкции пока выполняется лишь тогда, когда утверждение в ее заголовке правдиво. Если утверждение возвращает ложь, то ряд действий в теле не выполняется. Он просто будет пропущен роботом-черепахой.

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

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

Как все это работает Давайте еще раз рассмотрим, особенности работы цикла пока.

1. Если утверждение после слова пока возвращает правду, то черепаха выполняет действия внутри фигурных скобок.

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

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

4. При использовании инструкции пока черепаха после закрывающей скобки снова возвращается к утверждению и проверяет его на истинность (правдивость). Если утверждение по прежнему возвращает правду, то ряд действий в скобках снова выполняется. Потом черепаха снова идет к утверждению и снова проверяет его на истинность. Это будет длиться до тех пор, пока утверждение будет возвращать 5. Как только утверждение вернет ложь, черепаха сразу прыгнет за закрывающую скобку и начнет выполнять команды, не относящиеся к конструкции пока.

К онструкция пока является циклом, т.к. ряд действий (тело конструкции) может повторяться множество раз.

Опасная ошибка — зацикливание Давайте еще раз посмотрим на этот код:

$x = пока $x < 100 { Проследим за похождениями черепахи, которая будет им руководствоваться:

1. В ячейку памяти $x помещается число 10.

2. 10 < 100 является правдой.

3. Черепаха идет в точку с координатами 10x50 и рисует линию.

4. Снова проверяется утверждение: 10 < 100; оно опять правдиво.

5. Черепаха идет в точку с координатами 10x50 и рисует линию.

6. И т.д.

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

Как избежать подобной ошибки?

1. В теле цикла переменная, которая используется в утверждении после слова пока, должна изменяться.

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

Вот так, например, можно изменить предыдущую программу:

$x = пока $x < 100 { Г руппа выражений $x = $x + 20 означает, что к значению переменной $x прибавляют 20 и полученный результат записывают в переменную $x. При этом старое значение переменной исчезает (затирается).

П ри каждом "обороте" цикла переменная $x увеличивается следующим образом: после первого— 30, после второго — 50, после третьего — 70, после четвертого — 90, после пятого — 110.

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

Задание Напишите программу по следующему алгоритмическому описанию:

1. Сброс параметров 2. Присвоить переменным $x и $y значение 0.

3. Установить направление в -45 градусов.

4. Пока значение переменной $x меньше 400 выполнять следующее:

a) переместить черепаху в точку с координатами $x, $y, b) нарисовать линию в 20 точек задним ходом, c) поднять перо, d) нарисовать линию в 10 точек задним ходом, e) опустить перо, f) увеличить значение переменных $x и $y на 30.

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

Урок 11. Случайные числа К огда программа выполняется, черепаха-исполнитель читает ее строки одна за другой сверху вниз. Исключение в этот порядок вносят изученные нами конструкции если, повтори, пока, а также некоторые другие, с которыми мы еще не знакомы. В этом случае части программы могут пропускаться, повторяться, или даже исполнитель-черепаха может перемещаться в другую часть кода.

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

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

С лучайные числа генерируются в определенном диапазоне, т.е. от какого-то значения, до какого-то другого значения. Например, если задан диапазон от 0 до 100, то генератор случайных чисел выдаст любое число, которое будет не меньше 0 и не больше 100. На языке программирования Logo желаемый диапазон указывается после команды случайное. Сначала пишется нижняя граница (например, 0), а после запятой — верхняя (например, 50). Числа-границы также входят в диапазон.

Рассмотрим такой пример.

сброс повтори 15 { $x = случайное 20, $y = случайное 20, $r = случайное 0, $g = случайное 0, $b = случайное 0, цвет_пера $r, $g, $b З десь внешний цикл повтори повторяется 15 раз. Все эти 15 раз случайно генерируются значения пяти переменных ($x, $y, $r, $g, $b), т.е. в каждом обороте цикла значения этих переменных создаются заново. После того, как переменные обретают свои новые значения, устанавливается цвет пера. Каждый раз он будет различным. Далее 19 раз черепаха возвращается в одну и ту же точку, рисует линию, поворачивает на 20 градусов. В результате получается чтото вроде звездочки, состоящей из 19 лучей. Поскольку в программе происходит 15 "оборотов" внешнего цикла, то на холсте получается 15 звездочек в случайных местах и случайного цвета.

Задание Спишите приведенную выше программу. Посмотрите, как она работает. Измените ее так, чтобы на холсте отображалось всего 10 звездочек по 12 лучей, и все они были только в верхней половине холста.

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

сброс $число = случайное 0, напиши $число иди 200, $число = округли $число напиши $число иди 200, Задание Спишите код и посмотрите, что получится на холсте.

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

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

сброс сообщение "Я компьютер. Сейчас загадаю число от до 5" сообщение "Отгадай его!" $компьютерное_число = случайное 1, $компьютерное_число = округли $компьютерное_число $мое_число = спроси "Напиши число от 1 до 5" пока $компьютерное_число != $мое_число { сообщение "Не угадал!" $мое_число = спроси "Напиши число от 1 до 5" сообщение "Молодец. Угадал!" Задание Объясните, что делает программа выше. Спишите код и проверьте, как работает программа.

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

Подсказки:

1. В какой-нибудь переменной храните случайно полученное число от 1 до 3.

2. Используйте конструкцию если.

Урок 12. Подпрограммы — программы в программе В программировании очень часто используются подпрограммы. По-другому их называют процедурами или функциями. Пока мы не будем усложнять себе жизнь и ограничимся использованием слова "подпрограмма". Что же это такое?

С удя по названию, подпрограмма — это то, что входит в обычную программу (в программный код, который мы пишем). Что такое обычная программа? Это последовательность команд, в результате выполнения которой исполнителем (в нашем случае, черепахой) что-то происходит. Когда программа готова, нам достаточно нажать одну кнопку, чтобы ее запустить. А теперь представьте, что у нас в программе есть маленькие программки (подпрограммы), которые мы также запускаем нажатием всего лишь одной кнопки, после чего что-то происходит.

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

представить, что тем самым мы учим черепаху новым командам.

сброс выучи с_линия { цвет_пера 0, 0, толщина_пера иди 10, с_линия иди 100, направление с_линия И так, здесь главная программа - это команда сброс и все что идет после закрывающей фигурной скобки. От команды выучи и до закрывающей скобки включительно — это подпрограмма.

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

Вывод: использование подпрограмм позволяет сократить программный код.

Д ругое преимущество подпрограмм — это то, что они могут принимать различные данные и результат их работы может выглядеть по-разному.

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

сброс выучи надпись $x, $y, $текст { напиши $текст надпись 10, 20, "программирование" надпись 100, 140, "другая надпись" З десь создается подпрограмма надпись, которая принимает два числа и одну строку через переменные $x, $y и $текст. Когда надпись вызывается в главной программе, то указываются конкретные значения (числа и строки), они и подставляются в подпрограмме вместо переменных, а затем используются внутри скобок. В результате мы можем изменять результат работы подпрограммы в зависимости оттого, какие данные в нее передаем. Конечно, это достаточно относительно. В примере выше черепаха только перемещается и пишет, но зато где угодно и что угодно.

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

Рассмотрим еще один пример подпрограммы:

выучи цвета $r, $g, $b { цвет_холста $r, $g, $b цвет_пера $r, $g, $b В данном случае подпрограмма устанавливает цвет холста по переданным ей данным, меняет значения переменных $r, $g и $b, затем устанавливает цвет пера.

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

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

Урок 13. Контрольная работа по основам языка программирования Logo Часть 1. Команды языка Logo Пояснение. Вставьте вместо точек пропущенные команды или их описание.

1 …............ x, y Перемещает черепаху в точку с координатами x, y.

2 вперёд x

3 …............ Черепаха двигается задом на x точек, оставляя за 4 …............ x Черепаха поворачивается в указанном в градусах 5 …............ Черепаха поворачивает на x градусов налево.

6 …............ Черепаха поворачивает на x градусов направо.

7 …............ Черепаха поднимает перо и не может оставлять след.

8 перо_опусти

9 цвет_пера

10 толщина_пера

11 …............ Устанавливается цвет холста.

12 …............ Очищается экран и черепаха перемещается в центр 13 если выражение {

команды

}

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

16 выучи имя {

команды

}

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

1. "Шестиугольники" сброс $x = $y = пока $x < 350 { $r = случайное.........

$g = случайное.........

$b = случайное.........

цвет_пера.........

повтори.... { 2. "Зигзаги" сброс выучи зигзаг $размер, $цвет { если $цвет == "красный" { если $цвет == "зеленый" {

если $цвет == "синий" {

вперёд.......

налево назад.......

направо вперёд.......

выучи звезда...,... { иди 20, зигзаг 80, "синий" иди 200, зигзаг 150, "красный" цвет_пера 0, 150, звезда 60, цвет_пера 100, 50, звезда 360, Урок 14. Английский язык команд М ы привыкли писать команды на русском языке. Однако в настоящем программировании такого почти никогда не бывает. Исходный код пишется с использованием английских букв. Конечно, английские команды есть и в языке программирования Logo.

Д ля того, чтобы переключить язык команд в среде Kturtle, надо зайти в меню Настройка и выбрать пункт Язык команд. Далее выбрать Английский (встроенный). На панели состояния (внизу) должна появиться соответствующая надпись о текущем языке команд.

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

Таблица соответствия русских команд английским в языке № Команда на русском языке Команда на английском языке Задание 1. Пользуясь таблицей соответствия, перепишите следующую программу на английском сброс иди 30, цвет_пера 255, 0, повтори 3 { направо вперёд налево назад направление $n = спроси "Укажите количество элементов."

если $n > 50 { сообщение "Вы указали слишком много!" иначе { цвет_холста 0, 0, цвет_пера 0, 180, 2. Придумайте свою программу и запишите ее код, пользуясь английским языком Урок 15. Геометрия в Лого Д о этого мы часто пользовались различными геометрическими и математическими закономерностями. Закрепим и разнообразим полученные знания, в том числе и по языку программирования Лого.

Н иже приведены примерные описания алгоритмов для создания на холсте различных фигур. Напишите соответствующие им программы на языке Logo в среде KTurtle.

Фигура 1. Домик Д ля того, чтобы черепаха изобразила на холсте, что-то вроде домика, можно запрограммировать рисование квадрата (или прямоугольника) и треугольника.

Д ля рисования квадрата лучше использовать цикл повтори. При этом количество повторений будет равно 4. Внутри цикла должны быть всего две команды вперёд (или назад) и налево (или направо). Угол в квадрате является прямым и значит равен 90 градусам.

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

П усть треугольник будет равносторонним. В таком треугольнике угол между сторонами равен 180 / 3 = 60 градусов. Однако в нашем случае удобней будет поворачивать черепахой на угол изменения направления по отношению к текущему положению. Вычисления в таком случае делаются так 360 / 3 = 120.

Треугольник также рисуется в цикле.

Фигура 2. Равносторонний многоугольник Л учше всего написать подпрограмму, которая принимает два числа — количество сторон и размер стороны фигуры.

В теле подпрограммы должен вычисляться угол поворота черепахи по формуле 360 / n, где n – это количество сторон многоугольника.

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

Количество повторений равно количеству сторон многоугольника.

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

П одпрограмма может принимать четыре числа — количество линий, их размер, координаты (x и y).

Фигура 4. Пирамида З десь на каждом шаге изменяются три значения — координаты точки (с которой начинается рисование очередного прямоугольника) и ширина прямоугольника. Следовательно, в программе должны быть как минимум три переменные.

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

Урок 16. Соревнование по языку программирования Лого Это итоговый урок по курсу "Язык программирования Logo".

У чащимся предлагается написать программный код, при выполнении которого на холсте появляется красивая картинка.

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

Осмысленность и целостность изображения на холсте (10).

Количество строк кода (3).

Количество используемых переменных (1 бал за каждую).

Использование конструкций если (2), если-иначе (4).

Использование циклов повтори (2), пока (5).

Использование подпрограмм (7), подпрограмм с параметрами (9).

Реализация диалога с пользователем (5).

Использование генератора случайных чисел (4).

Побеждает тот, кто наберет больше баллов.

Ответы к заданиям Урок 3. Про то, как заставить робота рисовать Урок 4. Абсолютность и относительность Урок 5. Установки цвета и размера Урок 6. Переменные. Они такие непостоянные...

Урок 7. Если..., то..., или иначе Н апишите программу, которая заставляет черепашку выводить $имя = "Саша" на холсте приветствие большими иди 100, буквами, если только в какой-нибудь переменной содержится ваше имя. Во всех остальных случаях должен } выводиться вопрос "А вы кто?".

Н апишите программу, которая сброс выводит на экран квадрат, если значение какой-нибудь переменной иди 150, равно 4, а во всех остальных случаях меняет размер холста и заливает его Урок 8. Диалоги с черепахой 1. Сброс параметров.

2. Спросить у пользователя, сколько ему 3. Если пользователю больше или равно совершеннолетний по Российскому законодательству.

4. Иначе, вывести сообщение, где будет указано, сколько лет ему осталось до 1. Сброс параметров 2. Попросите пользователя решить 3. Если пример решен правильно, то на синий квадрат.

4. Во всех остальных случаях на холсте назад Урок 9. Повторение команд длину отрезка и угол, а затем по этим длину отрезка" равносторонний многоугольник.

Урок 10. Цикл "До тех пор пока … делать..."

1. Сброс параметров 4. Пока значение переменной $x меньше a) переместить черепаху в точку с c) поднять перо, e) опустить перо, f) увеличить значение переменных Напишите программу, которая предлагает пользователю решать пример до тех пор, пока он не даст правильный ответ. После этого черепаха выводит какую-нибудь пока $ответ != 288 { надпись на холсте.

Урок 11. Случайные числа Придумайте и напишите программу, при выполнении которой черепаха рисует на холсте либо зеленый треугольник, либо синий квадрат, либо серый круг. Выбор фигуры должен происходить случайным Урок 12. Подпрограммы — программы в программе 1. Напишите программу, в которой бы случайными значениями. Также после черепаха должна что-нибудь рисовать названием фигура, принимающую два сторон фигуры и размер стороны. Код переданным данным. Несколько раз Урок 15. Геометрия в Лого повтори 3 { сброс размер_холста 250, выучи фигура $n, $l { повтори $n { иди 30, цвет_пера 0, 22, фигура 10, иди 130, цвет_пера 100, 22, фигура 5, сброс цвет_холста 74, 148, размер_холста 300, выучи звезда $n, $l, $x, $y { повтори $n { цвет_пера 249, 185, звезда 10, 30, 50, цвет_пера 249, 228, звезда 50, 60, 150, цвет_пера 249, 87, звезда 10, 30, 250, сброс цвет_пера 0, 82, $x = $y = $ширина = пока $y > 30 { иди $x,$y $ширина = $ширина - Другие информационные источники Руководство Kturtle - http://docs.kde.org/stable/ru/kdeedu/kturtle/index.html The KTurtle Handbook http://docs.kde.org/development/en/kdeedu/kturtle/index.html Никитенко П.А. Среда kTurtle. Пособие для учителя. 2009 http://forum.altlinux.org/index.php?action=dlattach;topic=6850.0;attach= Форум сообщества ALT Linux - http://forum.altlinux.org/ Шапошникова Светлана Вячеславовна Изучение языка программирования Logo (Лого) в среде KTurtle Курс для детей и подростков по программированию Подготовлено в OpenOffice.org Writer.

"Лаборатория юного линуксоида"



Похожие работы:

«127137, Москва, а/я 46 www.asergroup.ru Тел: +7 (495) 971 5681, (495) 988 6115 АСЭР Факс: +7 (495) 988 6115 E-mail: [email protected] ГРУПП Web site: www.asergroup.ru Всероссийский конгресс Развитие транспортной системы: правовые и экономические аспекты 2013 Лето Программа Отель Балчуг Кемпински Москва 20 июня 2013 г. время Регистрация участников 09.00 – 10.00 Приветственный кофе 09.00 – 10. Вопросы размещения государственных заказов в сфере автодорожного и железнодорожного 10.00 – 10....»

«РОССИЙСКАЯ ФЕДЕРАЦИЯ Московский государственный университет имени М.В.Ломоносова Факультет почвоведения Программа учебной практики по экологии и биогеографии Направление подготовки № 022000 Экология и природопользование Профиль подготовки экология Форма обучения дневная Квалификация (степень) выпускника бакалавр Москва 2012 1. Цели учебной практики Целями учебной практики по экологии и биогеографии являются ознакомление студентов с особенностями зональных биомов и интразональных экосистем...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования Кемеровский государственный университет в г. Анжеро-Судженске 1 марта 2013 г. РАБОЧАЯ ПРОГРАММА по дисциплине Оптимальное управление экономическими системами (СД.ДС.Ф.2) для специальности 080116.65 Математические методы в экономике факультет информатики, экономики и математики курс: 5 экзамен: 9 семестр семестр: 9 лекции: 36...»

«Программа родственных народов Эстонии Программа Программа родственных народов Эстонии (Himurahvaste Programm) Адрес: Himurahvaste Programmi Nukogu sekretariaat Soome-ugri osakond Tartu likool likooli 18, Tartu 50090, Estonia Тел./факс: +372-7 376 216 Эл. почта: [email protected] Интернет: http://www.suri.ee/hp http://www.suri.ee/hp родственных народов ГОСУДАРСТВЕННАЯ ПРОГРАММА ПОДДЕРЖКИ ЯЗЫКОВ И КУЛЬТУР УРАЛЬСКИХ (ФИННО-УГОРСКИХ И САМОДИЙСКИХ) НАРОДОВ...»

«Правительство Российской Федерации Санкт-Петербургский государственный университет Геологический факультет РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Минералогия ядерного топлива и высокорадиоактивных отходов Mineralogy of nuclear fuel and high-level radwastes Язык(и) обучения русский Трудоёмкость зачётных единиц 3 Регистрационный номер рабочей программы: код код факультета или иного порядковый номер / / года утверждения структурного подразделения или шифр Санкт-Петербург Раздел 1. Характеристики,...»

«Факультет заочного образования Кафедра теплотехники и энергообеспечения предприятий УТВЕРЖДАЮ Декан факультета П.А. Силайчев г. 20 Рабочая программа Направление: 650301 – Агроинженерия Специальность: 110302 – Электрификация и автоматизация сельского хозяйства Дисциплина: Источники и системы теплоснабжения предприятий Москва 2010 2 1. ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ. Цель преподавания дисциплины – теоретически и практически подготовить будущих специалистов по методам расчета генерации, передачи и...»

«Министерство образования и науки Российской Федерации Федеральный институт развития образования ПРИМЕРНАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ ОБЩЕСТВОЗНАНИЕ для профессий начального профессионального образования и специальностей среднего профессионального образования Москва 2008 ПРИМЕРНАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ ОБЩЕСТВОЗНАНИЕ для профессий начального профессионального образования и специальностей среднего профессионального образования Автор: Кишенкова О.В., кандидат исторических наук, доцент...»

«Положение о выпускной квалификационной работе по программам высшего профессионального образования Сибирского института управления – филиала РАНХиГС. Утверждено приказом от 22.01.2014 №152-13 (осн.). Приложение 2 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования РОССИЙСКАЯ АКАДЕМИЯ НАРОДНОГО ХОЗЯЙСТВА и ГОСУДАРСТВЕННОЙ СЛУЖБЫ при ПРЕЗИДЕНТЕ РОССИЙСКОЙ ФЕДЕРАЦИИ СИБИРСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ – ФИЛИАЛ РАНХиГС ПОЛОЖЕНИЕ о выпускной...»

«МОДУЛЬ 14. ПРИНЦИПЫ ЛИНГВИСТИЧЕСКОЙ ЭКСПЕРТИЗЫ ТЕКСТА Рабочая программа курса (8 часов) Автор программы: Кузнецов Сергей Александрович, доктор филологических наук, профессор СПбГУ Целевая группа Курс предназначен для специалистов органов управления образованием субъектов Российской Федерации, специалистов органов управления муниципального образования, иных специалистов системы управления образованием, руководителей и заместителей руководителей образовательных учреждений, преподавателей русского...»

«Ф ТПУ 7.1 -21/01 1 Рабочая программа учебной дисциплины ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ УТВЕРЖДАЮ: Декан ГФ Рубанов В.Г. _ (подпись) 2004 г. ИСТОРИЯ ОТЕЧЕСТВЕННЫХ СРЕДСТВ МАССОВОЙ ИНФОРМАЦИИ Рабочая программа (специальность 350400 Связи с общественностью) Факультет гуманитарный (ГФ) Обеспечивающая кафедра Культурологии и социальной коммуникации (КиСК) Курс 4, Семестр 8,...»

«ПРАВИТЕЛЬСТВО МОСКВЫ ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ ВОСТОЧНОЕ ОКРУЖНОЕ УПРАВЛЕНИЕ ОБРАЗОВАНИЯ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ГОРОДА МОСКВЫ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА с углублённым изучением немецкого языка №1294 107258, Россия, Москва, ул.Глебовская, 10 URL: http://vvwvv.sch 1294.narod.iai//, e-mail: [email protected] РАССМОТРЕНО СОГЛАСОВАНО Заместитель директора И.о. директора на заседании МС школы по УВР ГБОУ СОШ№ Протокол № _ 1 _ ПрШзЙ^147 В от 28 августа...»

«Центр стратегических и политических исследований (Россия) Институт востоковедения РАН Культурное представительство при Посольстве ИРИ в РФ Фонд поддержки исламской наук и, культуры, образования Всемирная ассамблея по сближению мазхабов Фонд исследований исламской культуры Центр партнёрства цивилизаций МГИМО (У) МИД РФ Институт истории АН Татарстана Фонд Взаимодействие цивилизаций Мировой общественный форум Диалог цивилизаций Издательский дом Медина Россия и исламский мир: сближение мазхабов как...»

«ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФВДЕРАЦИИ ФВДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ (СПбГу) ПРИКАЗ ЛОМ. по Медицинскому факультету г Об утверждении новой редакции Г компетентностно-ориентированного учебного плана основной образовательной программы JL В соответствии с приказом проректора по учебной работе от 13.03.2009 № 329ЛПЮ порядке регистрации изменений в учебных планах образовательных...»

«Муниципальное автономное общеобразовательное учреждение лицей №29 Рассмотрена на заседании УТВЕРЖДАЮ: МО информатики Директор МАОУ лицея протокол № №29 от _ _2013 г. _А.И. Мексичев приказ № от2013 г. Рекомендована к утверждению педагогическим советом протокол № от _ 2013 г. Рабочая программа по информатике и ИКТ для 10-11 классов на 2013-2014 учебный год Пояснительная записка Рабочая программа по информатике и ИКТ в 10 - 11 классе составлена на основе программы полного общего образования по...»

«Программа учебного курса РАЗРАБОТКА ПРОГРАММ ПОВЫШЕННОЙ СЛОЖНОСТИ I. Организационно-методический раздел. Курс реализуется в рамках специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем, относится к циклу специальных дисциплин. 1.1.Цели и задачи курса Цели курса - знакомство с типовыми задачами программирования и основными моделями и методами их решения; - освоение алгоритмов и методов разработки программ для решения задач повышенной сложности в разных...»

«Пояснительная записка. Значение химии в школьном образовании определяется ролью химической науки в жизни современного общества, её влияния на темпы научно-технического прогресса. Цели и задачи, решаемые при реализации рабочей программы: Добиться усвоения знаний об основных понятиях и законах химии, химической символике; Добиться овладения умениями наблюдать химические явления, проводить химический эксперимент, производить расчеты на основе химических формул веществ и уравнений реакций;...»

«Министерство образования и науки Российской Федерации ГОУ ВПО Волгоградский государственный университет Факультет математики и информационных технологий ПРОГРАММА вступительного экзамена в магистратуру по направлению подготовки 010400 Прикладная математика и информатика Волгоград 2011 Вопросы вступительного экзамена в магистратуру направления Прикладная математика и информатика в 2011 году. 1. Определение линейного пространства и его базиса. Теорема о количестве векторов в различных базисах....»

«МИНИСТЕРСТВО СПОРТА, ТУРИЗМА И МОЛОДЕЖНОЙ ПОЛИТИКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное бюджетное государственное образовательное учреждение высшего профессионального образования Российский государственный университет физической культуры, спорта, молодежи и туризма (ГЦОЛИФК) ПРОГРАММА ДИСЦИПЛИНЫ ТЕОРИЯ И МЕТОДИКА ПЛАВАНИЯ федеральный компонент цикла СД ГОС по специальности 032101 Физическая культура и спорт Москва – 2011 1 УДК 796.71(073) П 37 Программа утверждена и рекомендована...»

«Лицензионный договор-оферта на право использования программы для ЭВМ DEXMA в однопользовательском режиме Настоящий Лицензионный Договор (далее Договор) регулирует отношения между ООО ДЕКСМА Лабс, именуемым в дальнейшем Правообладатель, и Пользователем. 1. ОСНОВНЫЕ ПОНЯТИЯ 1.1. Используемые в настоящем Договоре слова и выражения имеют следующие значения, если иное прямо не определено далее по тексту: Программа – результат интеллектуальной деятельности, программа для ЭВМ Система управления...»

«Новая образовательная программа С 2010 года на биолого-почвенном факультете возобновляется подготовка бакалавров-экологов в рамках направления Экология и природопользование. Основная задача новой образовательной программы Экология. Биоразнообразие и охрана природы - подготовка высококвалифицированных экологов, способных плодотворно решать различные задачи по охране и управлению использованием природных ресурсов с особым вниманием к решению проблем сохранения биоразнообразия коренных ландшафтов...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.