Участник:Patarakin/Программирование на языках высокого уровня: различия между версиями
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
(не показано 37 промежуточных версий 2 участников) | |||
Строка 19: | Строка 19: | ||
* Составить запрос и получить перечень языков блочного программирования созданных в определённый временной интервал | * Составить запрос и получить перечень языков блочного программирования созданных в определённый временной интервал | ||
* Создать проект в среде [[Snap!]] и сделать его доступным со страницы продвижения по курсу | * Создать проект в среде [[Snap!]] и сделать его доступным со страницы продвижения по курсу | ||
* Предложить внешний источник данных для [[Snap!]] проекта | ** https://snap.berkeley.edu/user?username=patarakin | ||
* Предложить внешний источник данных для [[Snap!]] проекта - [[:Категория:Dataset]] | |||
* Прописать линейную последовательность операций над данными | * Прописать линейную последовательность операций над данными | ||
[[Файл:Book fr.png]] | |||
# Создать последовательность операций видоизменяющих изображение в Snap! | # Создать последовательность операций видоизменяющих изображение в Snap! | ||
# Создать статью в категории [[:Категория:Scripting_Tutorials|Рецепты]] с использованием визуальных блоков | # Создать статью в категории [[:Категория:Scripting_Tutorials|Рецепты]] с использованием визуальных блоков | ||
Строка 26: | Строка 30: | ||
См. [[Периодическая система химических элементов]]<br /> | См. [[Периодическая система химических элементов]]<br /> | ||
[[Файл:Tablescript.png|400px]] | [[Файл:Tablescript.png|400px]] | ||
* https://snap.berkeley.edu/project?username=patarakin&projectname=Work_with_CSV | |||
<snap project="Work_with_CSV" user="patarakin" /> | |||
https://snap.berkeley.edu/project?username=patarakin&projectname=keys_rule | |||
<snap project="keys_rule" user="patarakin" /> | |||
== Концепции программирования == | == Концепции программирования == | ||
=== Распространённые языковые конструкции === | === Распространённые языковые конструкции === | ||
* Обсудить управляющие конструкции в визуальных языка программирования [[Scratch]] - [[Scratch/Управление]] | |||
# Сравнение конструкций в различных языках высокого уровня | |||
# Примеры использования конструкций для симуляции паттернов в категории [[:Категория:HowTo]] | |||
* <sb>повторять всегда</sb> | |||
=== Сравнение концепций программирования === | === Сравнение концепций программирования === | ||
== Стандартные типы данных == | == Стандартные типы данных == | ||
=== Структуры данных === | === Структуры данных === | ||
[[Файл:Table sprite.png|600px]] | |||
* [[Как работать со списками в Snap!]] | * [[Как работать со списками в Snap!]] | ||
Строка 43: | Строка 61: | ||
=== Импорт и экспорт данных === | === Импорт и экспорт данных === | ||
== Функциональное программирование == | |||
[[Файл:Item2 foo.png|300px]] | |||
; Языки функционального программирования общего назначения | |||
<nowiki> | |||
{{#ask: [[Category:Язык программирования]] [[Назначение языка::Язык общего назначения]] [[Programming paradigm::Функциональное программирование]] | ?Description }} | |||
</nowiki> | |||
{{#ask: [[Category:Язык программирования]] [[Назначение языка::Язык общего назначения]] [[Programming paradigm::Функциональное программирование]] | ?Description }} | |||
[[ | |||
=== Создание собственных функций === | === Создание собственных функций === | ||
* https://snap.berkeley.edu/snap/snap.html#present:Username=patarakin&ProjectName=factorial_demo | |||
* [[Рекурсия]] и примеры ([[Фрактал]], [[Треугольник Серпинского]], факториал ) | |||
<snap project="factorial_demo" user="patarakin" /> | |||
=== Оценка времени выполнения процедуры === | |||
<snap project="Time_consumpion" user="patarakin" /> | |||
== Модули и библиотеки (Использование и создание модулей и библиотек) == | == Модули и библиотеки (Использование и создание модулей и библиотек) == | ||
Строка 66: | Строка 92: | ||
== Объектно-ориентированное программирование == | == Объектно-ориентированное программирование == | ||
* Материалы по теме [[Объектно-ориентированное программирование]] | * Материалы по теме [[Объектно-ориентированное программирование]] | ||
* [[Организовать обмен сообщениями между агентами]] | |||
=== Классы и методы === | === Классы и методы === | ||
Строка 79: | Строка 106: | ||
* Обсудить один из паттернов поведения агентов в цифровых средах [[:Категория:HowTo]] | * Обсудить один из паттернов поведения агентов в цифровых средах [[:Категория:HowTo]] | ||
# Предложить новое решение реализации паттерна поведения | # Предложить новое решение реализации паттерна поведения | ||
==== Паттерн управления при помощи клавиш ==== | |||
* https://snap.berkeley.edu/project?username=patarakin&projectname=pattern_5_keyboard | |||
<snap project="pattern_5_keyboard" user="patarakin" /> | |||
==== Паттерн [[Превращаться в другого агента]]==== | |||
* https://snap.berkeley.edu/project?username=patarakin&projectname=pattern_7_imitation | |||
<snap project="pattern_7_imitation" user="patarakin" /> | |||
=== Программирование внутри обучающих игр === | === Программирование внутри обучающих игр === | ||
Строка 84: | Строка 120: | ||
# Добавить статью в [[:Категория:DEG|Категорию обучающих игр]] | # Добавить статью в [[:Категория:DEG|Категорию обучающих игр]] | ||
# Предложить свойство для статей в [[:Категория:Язык программирования|Категорию языков программирования]] | # Предложить свойство для статей в [[:Категория:Язык программирования|Категорию языков программирования]] | ||
# Предложить свойство для статей в [[:Категория:Scripting_Tutorials|Категорию Scripting_Tutorials]] | |||
; Собрать и дополнить рецепты [[:Категория:Scripting_Tutorials|Рецепты]], которые связаны с созданием игр. | |||
== Все статьи из категории рецепты, связанные с Game design == | |||
{{#ask: [[Категория:Scripting_Tutorials]] [[Field_of_knowledge::Game design]] | ?Description }} | |||
== Примеры игр в среде Snap! == | |||
{{#ask: [[Категория:Scripting_Tutorials]] [[Field_of_knowledge::Game design]] [[Environment::Snap!]] | ?Description }} | |||
== Студия группы Интернет-вещей == | |||
https://snap.berkeley.edu/collection?username=patarakin&collection=Things_Internet | |||
{| {{prettytable}} | |||
|- | |||
!{{Hl2}}| Описание | |||
!{{Hl2}}| Проект | |||
|- | |||
| | |||
[https://snap.berkeley.edu/project?username=patarakin&projectname=pattern_5_keyboard Управление при помощи клавиш] | |||
* Простой пример реализации паттерна [[Подчиняться_клавишам_клавиатуры]] | |||
| <snap project="pattern_5_keyboard" user="patarakin" /> | |||
|} | |||
{| {{prettytable}} | |||
|- | |||
!{{Hl2}}| Описание | |||
!{{Hl2}}| Проект | |||
|- | |||
| | |||
[https://snap.berkeley.edu/project?username=patarakin&projectname=pattern_7_imitation Притвориться другим] | |||
* по нажатию на клавишу пробел скопировать своё собственное изображение с экрана, потом пойти в ту точку, где находится другой агент, там сделать Paste на его спрайт. После этого тот второй спрайт летает и думает, что на нём надет его старый костюм, а костюм на нем совершенно другой. | |||
| <snap project="pattern_7_imitation" user="patarakin" /> | |||
|} | |||
{| {{prettytable}} | |||
|- | |||
!{{Hl2}}| Описание | |||
!{{Hl2}}| Проект | |||
|- | |||
| | |||
[https://snap.berkeley.edu/project?username=verasafonova&projectname=30%2e09%2ecoffee Кофе] | |||
* Описание. | |||
| <snap project="30%2e09%2ecoffee" user="verasafonova" /> | |||
|} |
Текущая версия на 11:19, 18 ноября 2023
Шаблон продвижения по учебному курсу
Работа в вики среде
- Создать страницу участника в вики среда
- Отметить нужными категориями
- Создать вложенную страницу с материалами по курсу /Программирование на языках высокого уровня
- Переместить на вложенную страницу данный шаблон продвижения по учебному курсу
Языки высокого уровня. Типология языков
- Сделать выборку из объектов категории Category:Язык программирования
- Представить выборку из объектов категории Category:Язык программирования в виде тайм-лайн
- Дополнить статью из категории Category:Язык программирования
- Создать новую статью в категории Category:Язык программирования
- Предложить новое свойство для статей в категории Category:Язык программирования
Визуальное программирование
- Познакомиться с доступными на площадке средами визуального блочного программирования
- Составить запрос и получить перечень языков блочного программирования созданных в определённый временной интервал
- Создать проект в среде Snap! и сделать его доступным со страницы продвижения по курсу
- Предложить внешний источник данных для Snap! проекта - Категория:Dataset
- Прописать линейную последовательность операций над данными
- Создать последовательность операций видоизменяющих изображение в Snap!
- Создать статью в категории Рецепты с использованием визуальных блоков
См. Периодическая система химических элементов
https://snap.berkeley.edu/project?username=patarakin&projectname=keys_rule
Концепции программирования
Распространённые языковые конструкции
- Обсудить управляющие конструкции в визуальных языка программирования Scratch - Scratch/Управление
- Сравнение конструкций в различных языках высокого уровня
- Примеры использования конструкций для симуляции паттернов в категории Категория:HowTo
Сравнение концепций программирования
Стандартные типы данных
Структуры данных
Среды выращивания данных и анализа данных
Импорт и экспорт данных
Функциональное программирование
- Языки функционального программирования общего назначения
{{#ask: [[Category:Язык программирования]] [[Назначение языка::Язык общего назначения]] [[Programming paradigm::Функциональное программирование]] | ?Description }}
Description | |
---|---|
Clojure | Clojure является функциональным языком программирования с поддержкой функций в качестве объектов первого класса (first class objects) и неизменяемыми (за исключением специальных случаев) данными, включая поддержку "ленивых" коллекций данных. Современный диалект Лиспа, язык программирования общего назначения с поддержкой разработки в интерактивном режиме, поощряющий функциональное программирование и упрощающий поддержку многопоточности. Clojure работает на платформах JVM и CLR. Clojure отличает философия «код как данные» (гомоиконность) и развитая система лисп-макросов. |
Fennel | Fennel is a programming language that brings together the speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and macro system. |
GP | Блочный язык общего назначения, который может использоваться не только в образовательных целях |
JavaScript | JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса. |
Lisp | LISP (от англ. LISt Processing language — «язык обработки списков», современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются в виде списков. |
Lua | Lua (лу́а, с порт. — «луна»— скриптовый язык программирования, разработанный в подразделении Tecgraf (Computer Graphics Technology Group) Католического университета Рио-де-Жанейро (Бразилия). Интерпретатор языка является свободно распространяемым, с открытым исходным кодом на языке программирования Си. По идеологии и реализации язык Lua ближе всего к JavaScript, в частности, он также реализует прототипную модель ООП, но отличается паскалеподобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных (массивы, структуры, множества, очереди, списки) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования, включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей. |
Python | Python в русском языке распространено название пито́н) — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Язык является полностью объектно-ориентированным в том плане, что всё является объектами |
Scala | Scala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования. |
Scheme | Scheme — функциональный язык программирования, один из трёх наиболее популярных диалектов Лиспа. Обладает минималистичным дизайном, содержит минимум примитивных конструкций и позволяет выразить всё необходимое путём надстройки над ними. Например, использует всего два механизма организации циклов — хвостовую рекурсию и итеративный подход (в котором используются временные переменные для сохранения промежуточного результата). |
Swift | Язык программирования Swift используют, чтобы писать приложения и программы для устройств Apple: айфонов, айпадов, умных часов, телевизоров, макбуков и стационарных компьютеров с macOS. В iOS-разработке этот язык считается стандартом. |
РЕФАЛ | РЕФАЛ (Рекурсивных функций алгоритмический) — один из старейших функциональных языков программирования, ориентированный на символьные вычисления: обработку символьных строк (например, алгебраические выкладки); перевод с одного языка (искусственного или естественного) на другой; решение проблем, связанных с искусственным интеллектом. Соединяет в себе математическую простоту с практической направленностью на написание больших и сложных программ. |
Создание собственных функций
- https://snap.berkeley.edu/snap/snap.html#present:Username=patarakin&ProjectName=factorial_demo
- Рекурсия и примеры (Фрактал, Треугольник Серпинского, факториал )
Оценка времени выполнения процедуры
Модули и библиотеки (Использование и создание модулей и библиотек)
Как создать собственную библиотеку внутри Snap- Использовать в своём проекте одну из готовых библиотек Snap!
- Сделать краткое описание одной из библиотек Snap! в категории Категория:DigitalTool
- Сделать описание краткое описание внешней библиотеки в категории Категория:DigitalTool - так чтобы можно было показать на площадке digida - см. пример Shiny
Объектно-ориентированное программирование
- Материалы по теме Объектно-ориентированное программирование
- Организовать обмен сообщениями между агентами
Классы и методы
Наследование
Работа с медиа. Программирование игр и программирование внутри игр
Программирование игр
- Образовательные среды создания игр
- Обсудить один из паттернов поведения агентов в цифровых средах Категория:HowTo
- Предложить новое решение реализации паттерна поведения
Паттерн управления при помощи клавиш
Паттерн Превращаться в другого агента
Программирование внутри обучающих игр
- Сделать выборку из материалов в категории Категория:DEG
- Добавить статью в Категорию обучающих игр
- Предложить свойство для статей в Категорию языков программирования
- Предложить свойство для статей в Категорию Scripting_Tutorials
- Собрать и дополнить рецепты Рецепты, которые связаны с созданием игр.
Все статьи из категории рецепты, связанные с Game design
Description | |
---|---|
Advanced Platformer Physics | Как мы имитируем физические свойства внутри Scratch |
Computer graphics in Snap! | Как использовать возможности Snap! для представления понятий компьютерной графики.
|
Dog chases cat and cat chases mouse | Проект внутри которого 3 породы- собака, кошка, мышка |
How to Make a Basic Platformer | Как создать платформер |
How to graph with StarLogo Nova | Как представить графики численности агентов StatLogo Nova - простая лабораторная работа по сбору данных из мира, заселённого травой, кроликами, волками и медведями
![]() |
Movement | Как управлять движением агентов на экране |
Right Mouse Detection | |
Shooting Projectiles | Как стрелять снарядами? (Бросать объекты, клонировать объекты и т.п. действия) |
Switching Between Screens | Как переключаться между различными сценами в Scratch. Скрипт проверяет, совпадает ли переменная экрана с экраном для отображения спрайтов. Если да, то спрайты будут отображаться и делать все, что от них требуется. Если нет, то спрайт останется скрытым и не запустит блоки для того времени, когда он будет открыт. |
The ball gathers the stars | Проект внутри которого 3 породы- мяч, звезды, подарок |
Как использовать клоны в Scratch | Scratch предоставляет увлекательный мир возможностей для создания интерактивных проектов, и одной из самых мощных функций платформы является использование клонов. В этой статье мы погрузимся в мир клонирования и изучим, как этот инструмент может сделать ваши проекты более динамичными, интересными и визуально привлекательными. |
Как копировать поведение агентов в Snap! | Попытка переноса поведения драконов из StarLogo Nova в Snap! |
Как показать информацию об участнике из Scratch сообщества в App Inventor | Программа запросит имя участника (например, mres или patarakin) и соберёт о нем информацию, используя Scratch API:
|
Как редактировать собственный блок в Snap! | Просто щёлкнуть по блоку правой кнопкой мыши и выбрать команду edit и команды откроются в отдельном окне редактора |
Как создавать клоны в Scratch | Создаём клоны в Scratch |
Как создать Викторину в App Inventor | Руководство по созданию Викторины с использованием App Inventor.
Цель Викторины: Ответить правильно на все вопросы. При каждом запуске Викторины пользователь отвечает на вопросы: при правильном ответе выводится результат "Ответ правильный", при неправильном - "Ответ неправильный". Ссылка на проект: https://ai2.appinventor.mit.edu/#5953498929561600 |
Как управлять поведением спрайта в Snap! | Как управлять поведением спрайта клавишами |
Создание игры "Мяч в Руках" в App Inventor | "Мяч в Руках" - захватывающая аркада, где ваша реакция и точность становятся ключом к успеху! Ваш друг, мальчик, в восторге от своего мяча, который бесконтрольно катится вперед-назад. Ваша задача - метко нажимать, чтобы вовремя остановить мяч в момент, когда он окажется рядом с мальчиком. |
Создание игры "Угадай число" в App Inventor | Руководство по созданию игры "Угадай число" с использованием App Inventor.
Цель игры: Угадать загаданное число за минимально возможное количество ходов. При каждом запуске игры случайным образом выбирается число от 1 до 25, которое игрок должен угадать, игроку дается 10 попыток для угадывания числа. Ссылка на проект: https://gallery.appinventor.mit.edu/?galleryid=dbce7297-b99d-474f-af24-8ff1b79140f1 |
Примеры игр в среде Snap!
Description | |
---|---|
Computer graphics in Snap! | Как использовать возможности Snap! для представления понятий компьютерной графики.
|
Dog chases cat and cat chases mouse | Проект внутри которого 3 породы- собака, кошка, мышка |
Movement | Как управлять движением агентов на экране |
Switching Between Screens | Как переключаться между различными сценами в Scratch. Скрипт проверяет, совпадает ли переменная экрана с экраном для отображения спрайтов. Если да, то спрайты будут отображаться и делать все, что от них требуется. Если нет, то спрайт останется скрытым и не запустит блоки для того времени, когда он будет открыт. |
Как редактировать собственный блок в Snap! | Просто щёлкнуть по блоку правой кнопкой мыши и выбрать команду edit и команды откроются в отдельном окне редактора |
Как управлять поведением спрайта в Snap! | Как управлять поведением спрайта клавишами |
Студия группы Интернет-вещей
https://snap.berkeley.edu/collection?username=patarakin&collection=Things_Internet
Описание | Проект |
---|---|
|
Описание | Проект |
---|---|
|
Описание | Проект |
---|---|
|