Знакомьтесь, это Snap! Блочная среда программирования мощнее Scratch

О книге

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

Аннотация

Книга знакомит с основами новейшего блочного языка программирования Snap! Этот язык настолько мощен, что используется не только в школах, но и в университетах США. Модификации Snap! используются для программирования Arduino, для моделирования многоагентных систем, графов и рисования сложных фигур.

Читать онлайн Денис Голиков - Знакомьтесь, это Snap! Блочная среда программирования мощнее Scratch


© Денис Владимирович Голиков, 2017


ISBN 978-5-4485-6644-8

Создано в интеллектуальной издательской системе Ridero

Введение

Описание Snap!

Snap! – блочная среда программирования, разработанная на основе Scratch в Калифорнийском университете в Беркли (University of California at Berkeley).

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


Пример создания цикла for.


Созданный блок for можно использовать наравне с любым встроенным блоком.


Алонзо досчитает до пяти, а затем скажет: «Я иду тебя искать!»


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

Разработчики Snap!

Snap! был разработан Дженсом Монигом (Jens Mönig at MioSoft Corporation, now at SAP), совместно с Брайаном Харви (Brian Harvey at Berkeley), при помощи студентов Калифорнийского университета в Беркли.

Основные отличия от Scratch

Типы данных.

Основным отличием Snap! от Scratch являются типы данных первого класса.

Объектами первого класса называются элементы, которые могут быть присвоены переменной или элементу массива, переданы как параметр и возвращены из функции. Благодаря этому в Snap! появилась возможность создавать двумерные массивы.


Создание двумерного массива.


Двумерный массив.


Также в Snap! в отличие от Scratch функции являются объектами первого класса. Это позволяет передавать функцию как аргумент в другую функцию. В следующем примере мы передаем функции map как аргумент функцию умножить на 10, и функция map производит это действие со всем списком, переданным ей в качестве второго аргумента.


Пример использования функции.


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


Спрайт – объект первого класса.


А вот такое возможно в Scratch?


Один спрайт «думает» о другом спрайте.


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


Рекомендации для вас