Участник:Die Toten Engel/Алгоритмы и структуры данных: различия между версиями
Материал из Поле цифровой дидактики
Метка: ручная отмена |
|||
Строка 1: | Строка 1: | ||
Работы по дисциплине Алгоритмы и структуры данных | Работы по дисциплине Алгоритмы и структуры данных | ||
== | {{#ask: [[Как заменить символы в строке?]] | format=embedded | embedonly=yes}} | ||
Это перечень заданий для курса [[Алгоритмы и структуры данных (syllabus)]] | |||
* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki | |||
* обмениваться проектами и блоками программ в Snap! | |||
* сравнивать и объединять статьи о языках программирования | |||
* импортировать и экспортировать данные в среду визуального программирования Snap! | |||
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов; | |||
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм | |||
* использовать язык dgl и mermaid встраивать диаграммы алгоритмов в вики страницы | |||
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования | |||
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных)) | |||
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов | |||
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций | |||
* использовать объекты первого класса и лямбда исчисления. | |||
== | == Обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki == | ||
== | ; Примеры задач на внутренние данные | ||
* Подсчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]? | |||
Количество участников из МГПУ = {{#ask: [[Category:UserMGPU]] | format = count}} | |||
* Посчитай число участников, которые указали, что используют язык Scratch ? | |||
Количество участников из МГПУ, которые используют язык Scratch = | |||
{{#ask: [[Category:UserMGPU]] [[Environment::Scratch]] | format = count}} | |||
* Собери таблицу с описанием писателей [[:Category:Person]], которые оказали влияние на язык [[R]] | |||
{{#ask: [[Category:Person]] [[Environment::R]] | ?Description }} | |||
=== Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]] === | |||
; (Prolog OR Ancestors:Prolog) | |||
{{#ask: | |||
[[Category:Язык программирования]] [[Ancestors::Prolog]] OR [[Prolog]] | |||
|format=moderntimeline | |||
|?launch year | |||
|? Ancestors | |||
|?Descendants | |||
| background = grey | |||
}} | |||
* '''Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki''' | |||
=== Примеры задач на внешние данные === | |||
==== Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]] ==== | |||
{{#get_web_data:url=http://www.uic.unn.ru/pustyn/data-sets/digida/mortality2.csv | |||
|format=csv with header | |||
|filters=Diseases=Teeth and Worms | filters=DEATHS=878 | |||
|data=Year="YEAR",Diseases=DISEASES,Deaths=DEATHS | |||
}} | |||
---- | |||
{| class="wikitable sortable" | |||
! Год | |||
! Болезни | |||
! Число смертей {{#for_external_table:<nowiki/> | |||
{{!}}- | |||
{{!}} {{{Year}}} | |||
{{!}} {{{Diseases}}} | |||
{{!}} {{{Deaths}}} }} | |||
|} | |||
* '''Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования''' | |||
== Обмениваться проектами и блоками программ в Snap! == | |||
=== Ссылка на профиль в сети [[Snap!]] === | |||
=== Пример блока программного кода из среды Snap! === | |||
=== Пример блока программного кода из среды Scratch === | |||
; Рассмотрите примеры решений в среде [[Scratch]] | |||
{{#ask: [[Категория:Scripting Tutorials]] [[Environment::Scratch]] | ?Description | format = table}} | |||
== Cравнивать и объединять статьи о языках программирования == | |||
* Собери диаграмму на основании данных о возрасте, на который рассчитан язык | |||
* Собери диаграмму тайм-лайн о языках с определёнными свойствам | |||
* Собери диаграмму на основании назначения языка | |||
{{#ask:[[Category:Язык программирования]] | |||
|?Назначение языка | |||
|mainlabel=- | |||
|format=jqplotchart | |||
|charttype=donut | |||
|height= 500 | |||
|filling=1 | |||
|distribution= yes | |||
|min = 7 | |||
|width=90% | |||
|direction=horizontal | |||
|numbersaxislabel=1 | |||
|theme=simple | |||
|colorscheme=red,blue,green,#ddd | |||
|chartlegend=ne | |||
}} | |||
== Импортировать и экспортировать данные в среду визуального программирования Snap! == | |||
* Импортируйте датасет ([[:Category:Dataset]] ) в свой проект | |||
* Совершите действия по извлечению строк и столбцов, соответствующих определённому критерию. Ограничьте размер итогового датасета 10 строками и разместите его на странице | |||
* Опубликуйте проект с операциями над данными | |||
[[Файл:Drugs Corgis script pic.png]] | |||
== проектировать и программировать линейные и разветвляющиеся структуры алгоритмов == | |||
* [[Поиск восхождением к вершине]] | |||
* | |||
== планировать процесс реализации алгоритма при помощи псевдокода и диаграмм == | |||
==использовать язык [[graphviz]] и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы == | |||
== представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования == | |||
== создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных)) == | |||
== оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов == | |||
== использовать [[Рекурсия|рекурсию]] в командах и процедурах, использовать рекурсию при создании собственных функций == | |||
== использовать объекты первого класса и лямбда исчисления == |
Версия 20:40, 17 декабря 2023
Работы по дисциплине Алгоритмы и структуры данных
Описание | Дана строка. Необходимо заменить все символы "а" на "о". |
---|---|
Область знаний | Информатика, Образование |
Область использования (ISTE) | Computational Thinker |
Возрастная категория | 16
|
Поясняющее видео | |
Близкие рецепту понятия | |
Среды и средства для приготовления рецепта: | Python, Snap! |
a=input('Введите строку: ')
b=''
for i in range (len(a)):
if a[i]=='a':
b=b+'o'
elif a[i]=='A':
b=b+'O'
elif a[i]=='а':
b=b+'о'
elif a[i]=='А':
b=b+'О'
else:
b=b+a[i]
print(b)
Это перечень заданий для курса Алгоритмы и структуры данных (syllabus)
- обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki
- обмениваться проектами и блоками программ в Snap!
- сравнивать и объединять статьи о языках программирования
- импортировать и экспортировать данные в среду визуального программирования Snap!
- проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;
- планировать процесс реализации алгоритма при помощи псевдокода и диаграмм
- использовать язык dgl и mermaid встраивать диаграммы алгоритмов в вики страницы
- представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования
- создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))
- оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов
- использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций
- использовать объекты первого класса и лямбда исчисления.
Обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki
- Примеры задач на внутренние данные
- Подсчитай внутри вики количество участников из МГПУ Category:UserMGPU?
Количество участников из МГПУ = 323
- Посчитай число участников, которые указали, что используют язык Scratch ?
Количество участников из МГПУ, которые используют язык Scratch = 34
- Собери таблицу с описанием писателей Category:Person, которые оказали влияние на язык R
Description | |
---|---|
Smaldino |
|
Wickham | Hadley Wickham - разработчик библиотек и автор книг по R, Shiny и анализу данных. His work includes the data visualisation system ggplot2 and the tidyverse, a collection of R packages for data science based on the concept of tidy data. |
Собери тайм-лайн с языками, ведущими свое происхождение от языка Prolog
- (Prolog OR Ancestors
- Prolog)
- Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki
Примеры задач на внешние данные
Размести на странице выборку из датасета, который уже есть в категории Category:Dataset
Год | Болезни | Число смертей |
---|---|---|
1657 | Teeth and Worms | 878 |
- Добавь новый датасет в Category:Dataset и предложи вариант его использования
Обмениваться проектами и блоками программ в Snap!
Ссылка на профиль в сети Snap!
Пример блока программного кода из среды Snap!
Пример блока программного кода из среды Scratch
- Рассмотрите примеры решений в среде Scratch
Description | |
---|---|
3D Wireframes | Как создать 3D каркас |
Additional Keys | Как создавать и использовать комбинации дополнительных клавиш? |
Advanced Platformer Physics | Как мы имитируем физические свойства внутри Scratch |
Advanced Platformer Tutorial | Как создать продвинутый платформер |
Creating a Quiz | Как создать квиз - викторину из вопросов и ответов. |
Heap | Как использовать кучу? - Куча (структура данных) |
How to Create a Slideshow | Как создать слайд-шоу - советы по организации |
How to Keep Score in a Game | Как хранить результаты (очки) в игре |
How to Make a Basic Platformer | Как создать платформер |
How to Make a Basic Shooter | Как создать проект игры "стрелялки" и какие блоги и конструкции используются для построения игр такого типа. |
How to Make a Clicker Game | Руководство по созданию игр типа clicker-game |
How to Make a Tower Defense Game | Как сделать игру по защите города |
How to Move Sprites with the Arrow Keys | Как управлять спрайтами при помощи клавиш клавиатуры - в блочных языках реализуется через связку нажатия определённой клавиши и поворотом в |
How to Move a Sprite in a Spiral | Как организовать движение агента по спирали |
Movement | Как управлять движением агентов на экране |
Non-Euclidean Game Tutorial | Код решений, которые используются при создании игр типа «Неевклидова игра». «Неевклидова игра» — это то, что разработчики игр часто называют игрой, в которой мировое пространство не работает так, как работает реальный мир. Например, размещение огромной комнаты в небольшом пространстве или подъем по лестнице опускает игрока на уровень ниже. Возможности безграничны. |
Object Attraction | Как имитировать притяжение объектов друг к другу? |
Pathfinding | Поиск пути (англ. Pathfinding) — термин в информатике и искусственном интеллекте, который означает определение компьютерной программой наилучшего, оптимального маршрута между двумя точками. |
Removing an Item from a List (by value) | Как удалить элемент из списка по значению этого элемента, а не по его индексу? В статье рассматривается пример на Scratch |
Shooting Projectiles | Как стрелять снарядами? (Бросать объекты, клонировать объекты и т.п. действия) |
Switching Between Screens | Как переключаться между различными сценами в Scratch. Скрипт проверяет, совпадает ли переменная экрана с экраном для отображения спрайтов. Если да, то спрайты будут отображаться и делать все, что от них требуется. Если нет, то спрайт останется скрытым и не запустит блоки для того времени, когда он будет открыт. |
The ball gathers the stars | Проект внутри которого 3 породы- мяч, звезды, подарок |
The cowboy cat | С помощью этого скрипта случайным образом выбираются два числа от 0 до 10, после чего кот просит их перемножить и написать полученный ответ. Если ответ верный, кот произносит один набор фраз и подпрыгивает, снимая шляпу. Если ответ введен неверный, то произносит другую фразу и озвучивает правильный ответ. |
Using Clones for Particle Effects | Как создать эффект частиц с помощью клонов? |
Использовать данные МЭШ для моделирования поведения учителей | При изучении языков высокого уровня хотелось бы опираться на реальные ситуации, которые происходят с учителями. Эти ситуации описываются и моделируются в различных языках. Мы взяли несколько сред многоагентного моделирования, где агенты симулируют поведение учителей, и скрестили эти языки с данными, которые были извлечены из МЭШ.
|
Как использовать Scratch API | Как использовать внешний API в средах визуального программирования |
Как использовать визуальные блоки на вики страницах | Благодаря специальному расширению в вики можно использовать текстовые блоки для представления программ на языке Scratch и Snap! |
Как использовать облачные данные в Scratch | Способ использования облачных данных, которые хранятся на сервере (Игровые очки, сравнение результатов) |
Как оценить Scratch проект | Как оценить Scratch проект при помощи автоматического анализа кода проекта при помощи Dr.Scratch |
Как перевести Scratch в Snap! | Для того, чтобы перевести Scratch в Snap! нужно воспользоваться программой https://snapinator.github.io/#
|
Как получить изображение Scratch блоков | В ряде случаев для публикации материалов необходимо получить изображение блоков Scratch в виде графических файлов. Приложение https://scratchblocks.github.io/ позволяет получить блоки в формате png svg |
Как получить список случайных значений | В общем случае создаём исходно пустой список и добавляем в него указанное число чисел, находящихся в указанном интервале. Для Snap!
Список случайных чисел из %сколько от %min до %max |
Как собрать данные об отношениях участника в сети Scratch | У нас есть возможность обратиться к Scratch API и запросить информацию о тех, на кого подписался данный участник сообщества. И есть возможность запросить информацию о тех, кто подписался на данного участника |
Как создавать клоны в Scratch | Создаём клоны в Scratch |
Как управлять поведением агентов на основании их пространственных характеристик | Распространённая в играх и моделях ситуация, когда агента должен совершать действия на основании того, где он находится, кто находится с ним рядом и т.п. |
Какие есть функции для списков? | В различных языках программирования достаточно часто встречаются задачи обработки списков. В этой статье собраны функции для списков |
Организовать взаимодействие персонажей | В искусственном мире есть несколько акторов-персонажей и мы хотим, чтобы они взаимодействовали между собой
Каждый персонаж, который создали участники нашей команды, в начале истории будет прятаться и вставать в угол, где он колобка не учует. Появляться зверь этот зверь будет только тогда, когда его позовут - т.е. когда он получит сообщение. Например, медведь будет реагировать на сообщение “Приходи, медведь”. Общая схема обмена сообщениями выглядит следующим образом:
|
Организовать обмен сообщениями между агентами | Как организовать обмен сообщениями между агентами? И в Scratch и в Snap! действует театральная метафора, когда персонажи могут обмениваться сообщениями и реагировать на сообщения. При этом в Scratch сообщения рассылаются всем, а в Snap! есть возможность указать адресата сообщения |
Посчитать и сохранить значение | Посчитать и сохранить значение/ У нас есть множество зверей и все они собираются как-то взаимодействовать с колобком. И нам нужно, чтобы звери набрасывались на колобка не все сразу с криком “Я тебя съем”, а делали это по очереди. Как организовать эту очередь? |
Сортировка вставками | Сортировка вставками (англ. Insertion sort) — алгоритм сортировки, в котором элементы входной последовательности просматриваются по одному, и каждый новый поступивший элемент размещается в подходящее место среди ранее упорядоченных элементов. Вычислительная сложность 0(n2) |
Сортировка пузырьком | Сортиро́вка простыми обменами, сортировка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Метод сортировки обменами лежит в основе некоторых более совершенных алгоритмов, таких как шейкерная сортировка, пирамидальная сортировка и быстрая сортировка. |
Cравнивать и объединять статьи о языках программирования
- Собери диаграмму на основании данных о возрасте, на который рассчитан язык
- Собери диаграмму тайм-лайн о языках с определёнными свойствам
- Собери диаграмму на основании назначения языка
Загрузка...
Импортировать и экспортировать данные в среду визуального программирования Snap!
- Импортируйте датасет (Category:Dataset ) в свой проект
- Совершите действия по извлечению строк и столбцов, соответствующих определённому критерию. Ограничьте размер итогового датасета 10 строками и разместите его на странице
- Опубликуйте проект с операциями над данными