Участник:Die Toten Engel/Алгоритмы и структуры данных: различия между версиями

Материал из Поле цифровой дидактики
Метка: ручная отмена
 
(не показаны 23 промежуточные версии этого же участника)
Строка 3: Строка 3:
{{#ask: [[Как заменить символы в строке?]] | format=embedded | embedonly=yes}}
{{#ask: [[Как заменить символы в строке?]] | format=embedded | embedonly=yes}}


Это перечень заданий для курса [[Алгоритмы и структуры данных (syllabus)]]
== Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи ==


* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki
* обмениваться проектами и блоками программ в Snap!
* сравнивать и объединять статьи о языках программирования
* импортировать и экспортировать данные в среду визуального программирования Snap!
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм
* использовать язык dgl и mermaid встраивать диаграммы алгоритмов в вики страницы
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций
* использовать объекты первого класса и лямбда исчисления.
== Обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==
; Примеры задач на внутренние данные
* Подсчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?
* Подсчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?


Строка 32: Строка 16:
{{#ask: [[Category:Person]] [[Environment::R]] | ?Description }}
{{#ask: [[Category:Person]] [[Environment::R]] | ?Description }}


=== Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]] ===
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]  


; (Prolog OR  Ancestors:Prolog)
; (Prolog OR  Ancestors:Prolog)
Строка 45: Строка 29:




* '''Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki'''
=== Внешние данные ===


=== Примеры задач на внешние данные ===
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]  
 
==== Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]] ====
{{#get_web_data:url=http://www.uic.unn.ru/pustyn/data-sets/digida/mortality2.csv
{{#get_web_data:url=http://www.uic.unn.ru/pustyn/data-sets/digida/mortality2.csv
|format=csv with header
|format=csv with header
|filters=Diseases=Teeth and Worms | filters=DEATHS=878
|filters=Diseases=Teeth and Worms |
|data=Year="YEAR",Diseases=DISEASES,Deaths=DEATHS
|data=Year="YEAR",Diseases=DISEASES,Deaths=DEATHS
}}
}}
Строка 67: Строка 49:
|}
|}


== Редактировать, дополнять и объединять статьи о языках программирования ==


* '''Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования'''
* Собери диаграмму на основании данных о возрасте, на который рассчитан язык


== Обмениваться проектами и блоками программ в Snap! ==
{{#ask:[[Category:Язык программирования]] [[Возрастная категория::+]]
|?Возрастная категория
|mainlabel=-
|format=jqplotchart
|charttype=donut
|height= 500
|filling=1
|distribution= yes
|width=90%
|direction=horizontal
|numbersaxislabel=1
|theme=simple
|colorscheme=red,blue,green,#ddd
|chartlegend=ne
}}


=== Ссылка на профиль в сети [[Snap!]] ===
* Собери диаграмму тайм-лайн о языках с определёнными свойствам


===  Пример блока программного кода из среды Snap! ===
; Предки Scratch
 
{{#ask:
=== Пример блока программного кода из среды Scratch ===
[[Category:Язык программирования]] [[Descendants::Scratch]]
 
|format=moderntimeline
; Рассмотрите примеры решений в среде [[Scratch]]
|?launch year
 
|? Ancestors
{{#ask: [[Категория:Scripting Tutorials]] [[Environment::Scratch]] | ?Description | format = table}}
|?Descendants
| background = grey
}}


== Cравнивать и объединять статьи о языках программирования ==
* Собери диаграмму на основании данных о возрасте, на который рассчитан язык
* Собери диаграмму тайм-лайн о языках с определёнными свойствам
* Собери диаграмму на основании назначения языка
* Собери диаграмму на основании назначения языка


Строка 105: Строка 100:
}}
}}


== Импортировать и экспортировать данные в среду визуального программирования Snap! ==
== Создать диаграмму алгоритма, представить реализацию алгоритма на языке высокого уровня ==
* Поиск большего целого числа из 3х


* Импортируйте датасет ([[:Category:Dataset]] ) в свой проект
{{#mermaid:flowchart LR
* Совершите действия по извлечению строк и столбцов, соответствующих определённому критерию. Ограничьте размер итогового датасета 10 строками и разместите его на странице
id1[Получаю \nзначение a]
* Опубликуйте проект с операциями над данными
id2[Получаю \nзначение b]
 
id3[Получаю \nзначение c]
 
id4{a больше b?}
[[Файл:Drugs Corgis script pic.png]]
id5{a больше c?}
 
id6{b больше c?}
== проектировать и программировать линейные и разветвляющиеся структуры алгоритмов ==
id7[Возвращаю a]
* [[Поиск восхождением к вершине]]
id8[Возвращаю b]
*
id9[Возвращаю c]
 
id1 --> id2
== планировать процесс реализации алгоритма при помощи псевдокода и диаграмм ==
id2 --> id3
id3 --> id4
id4 --> |Да| id5
id4 --> |Нет| id6
id5 --> |Да| id7
id5 --> |Нет| id9
id6 --> |Да| id8
id6 --> |Нет| id9


}}


==использовать язык [[graphviz]] и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы ==
<syntaxhighlight lang="python">
a=int(input('Введите a: '))
b=int(input('Введите b: '))
c=int(input('Введите c: '))
if a>b:
    if a>c:
        print(a)
    else:
        print(c)
else:
    if b>c:
        print(b)
    else:
        print(c)
</syntaxhighlight>


== представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования ==
== Процедуры видоизменения данных в среде Snap! ==


== создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных)) ==
* https://snap.berkeley.edu/project?username=dietotenengel&projectname=%d0%9a%d0%b2%d0%b0%d0%b4%d1%80%d0%b0%d1%82%d1%8b


== оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов ==
<snap project="%d0%9a%d0%b2%d0%b0%d0%b4%d1%80%d0%b0%d1%82%d1%8b" user="dietotenengel" />


== использовать [[Рекурсия|рекурсию]] в командах и процедурах, использовать рекурсию при создании собственных функций ==
== Сравнить эффективность выполнения процедур над данными ==


== Создать собственные команды и процедуры, в которых используется рекурсия ==


* https://snap.berkeley.edu/project?username=dietotenengel&projectname=%d0%9a%d0%b2%d0%b0%d0%b4%d1%80%d0%b0%d1%82%d1%8b%2e%d0%a0%d0%b5%d0%ba%d1%83%d1%80%d1%81%d0%b8%d1%8f


== использовать объекты первого класса и лямбда исчисления ==
<snap project="%d0%9a%d0%b2%d0%b0%d0%b4%d1%80%d0%b0%d1%82%d1%8b%2e%d0%a0%d0%b5%d0%ba%d1%83%d1%80%d1%81%d0%b8%d1%8f" user="dietotenengel" />

Текущая версия на 18:49, 21 декабря 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)

Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи

  • Подсчитай внутри вики количество участников из МГПУ Category:UserMGPU?

Количество участников из МГПУ = 320

  • Посчитай число участников, которые указали, что используют язык Scratch ?

Количество участников из МГПУ, которые используют язык Scratch = 34

  • Собери таблицу с описанием писателей Category:Person, которые оказали влияние на язык R
 Description
Smaldino
  • Associate Professor of Cognitive & Information Sciences and faculty in the Quantitative and Systems Biology graduate program at UC Merced, where I am also affiliated with the Center for Analytic Political Engagement and the Center for Interdisciplinary Neuroscience.
  • External Professor at the Santa Fe
WickhamHadley 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)


Внешние данные

  • Размести на странице выборку из датасета, который уже есть в категории Category:Dataset



Год Болезни Число смертей
1657 Teeth and Worms 878
1658 Teeth and Worms 1036
1659 Teeth and Worms 839
1660 Teeth and Worms 1008
1661 Teeth and Worms 1195
1662 Teeth and Worms 1032
1664 Teeth and Worms 1122
1665 Teeth and Worms 2614
1666 Teeth and Worms 715
1669 Teeth and Worms 1463
1670 Teeth and Worms 1470
1671 Teeth and Worms 1079

Редактировать, дополнять и объединять статьи о языках программирования

  • Собери диаграмму на основании данных о возрасте, на который рассчитан язык
Загрузка...
  • Собери диаграмму тайм-лайн о языках с определёнными свойствам
Предки Scratch
  • Собери диаграмму на основании назначения языка
Загрузка...

Создать диаграмму алгоритма, представить реализацию алгоритма на языке высокого уровня

  • Поиск большего целого числа из 3х
 a=int(input('Введите a: '))
 b=int(input('Введите b: '))
 c=int(input('Введите c: '))
 if a>b:
    if a>c:
        print(a)
    else:
        print(c)
 else:
    if b>c:
        print(b)
    else:
        print(c)

Процедуры видоизменения данных в среде Snap!

Сравнить эффективность выполнения процедур над данными

Создать собственные команды и процедуры, в которых используется рекурсия