<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; визуальное программирование</title>
	<atom:link href="http://web.snauka.ru/issues/tag/vizualnoe-programmirovanie/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 17 Apr 2026 07:29:22 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Использование современных информационных технологий в обучении студентов, специализирующихся по направлению «Информатика и вычислительная техника», различным парадигмам программирования</title>
		<link>https://web.snauka.ru/issues/2015/03/47345</link>
		<comments>https://web.snauka.ru/issues/2015/03/47345#comments</comments>
		<pubDate>Sat, 28 Mar 2015 02:04:09 +0000</pubDate>
		<dc:creator>Волченков Николай Геннадьевич</dc:creator>
				<category><![CDATA[01.00.00 ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[cloud services]]></category>
		<category><![CDATA[cross-language interface]]></category>
		<category><![CDATA[declarative programming]]></category>
		<category><![CDATA[distance learning methods]]></category>
		<category><![CDATA[imperative programming]]></category>
		<category><![CDATA[logic programming language Prolog]]></category>
		<category><![CDATA[programming paradigm]]></category>
		<category><![CDATA[visual programming language Visual Basic]]></category>
		<category><![CDATA[«облачный» сервис]]></category>
		<category><![CDATA[визуальное программирование]]></category>
		<category><![CDATA[декларативное программирование]]></category>
		<category><![CDATA[дистанционные методы обучения]]></category>
		<category><![CDATA[императивное программирование]]></category>
		<category><![CDATA[логическое программирование]]></category>
		<category><![CDATA[межъязыковый интерфейс]]></category>
		<category><![CDATA[парадигма программирования]]></category>
		<category><![CDATA[язык Prolog]]></category>
		<category><![CDATA[язык Visual Basic]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=47345</guid>
		<description><![CDATA[Введение Автор в течение последних 15 лет параллельно читает студентам, специализирующимся по направлению «Информатика и вычислительная техника», ряд курсов по тематикам: (1) «Информатика: Алгоритмизация и программирование» (традиционное императивное программирование, офисное программирование, языки Visual Basic и VBA); а также (2) «Логическое программирование» (нетрадиционное декларативное программирование, язык Пролог). Курсы тематики (1) предназначены студентам первого курса бакалавриата ряда [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Введение</strong></p>
<p><span>Автор в течение последних 15 лет параллельно читает студентам, специализирующимся по направлению «Информатика и вычислительная техника», ряд курсов по тематикам: (1) «Информатика: Алгоритмизация и программирование» (традиционное императивное программирование, офисное программирование, языки Visual Basic и VBA); а также (2) «Логическое программирование» (нетрадиционное декларативное программирование, язык Пролог).<br />
</span></p>
<p><span>Курсы тематики (1) предназначены студентам первого курса бакалавриата ряда кафедр Национального исследовательского ядерного университета (НИЯУ МИФИ); курс тематики (2) предназначен студентам 4-го курса бакалавриата (а также первого курса магистратуры) одной из кафедр того же университета.<br />
</span></p>
<p><span>По указанным курсам автор постоянно расширяет использование современных информационных технологий. Первые два раздела статьи посвящены именно этому вопросу.<br />
</span></p>
<p><span>Третий раздел статьи посвящен проблеме обучения не одной (как правило, императивной) парадигме программирования, а нескольким, по крайней мере, двум парадигмам: императивной и декларативной. Эти парадигмы программирования, проповедуемые двумя указанными выше тематиками, принципиально отличаются друг от друга.<br />
</span></p>
<p><span>Императивная парадигма считается более традиционной, возникла на заре программирования более 60 лет тому назад. Она проповедует алгоритмический подход к написанию программы на том или ином языке программирования императивного типа: во главу угла ставится принцип «как», а не «что», то есть, принцип составления подробной инструкции того, какие стандартные действия надо выполнить интерпретатору языка программирования императивного типа, чтобы решить задачу.<br />
</span></p>
<p><span>Декларативная парадигма, возникшая на 2 десятилетия позже императивной, напротив, во главу угла ставит принцип «что», а не «как», то есть, принцип составления точного формального описания желаемого результата и исходного множества средств, которые могут понадобиться для его получения. Интерпретатор языка декларативного программирования берёт на себя автоматический выбор необходимых для решения задачи средств и последовательность их применения.<br />
</span></p>
<p><span>Разумеется, цели и задачи курсов двух указанных тематик существенно и принципиально отличаются друг от друга. По указанным двум тематикам автором многие годы читались лекции, проводились практические занятия и были опубликованы многочисленные учебные пособия, в частности [1], [2] и [3], что дает ему право говорить о значительном методическом опыте их преподавания.<br />
</span></p>
<p><span>В настоящее время методика преподавания курсов указанных выше направлений претерпела существенные изменения в связи с появлением новых возможностей современных информационных технологий. В частности, имеются в виду дистанционные методы, «облачная» технология, использование интерфейса образовательных подсистем и языков программирования. Автор пришел к выводу о возможности успешного применения разработанной им единой методики преподавания курсов, относящихся к различным по своей сути тематикам, перечисленным выше.<br />
</span></p>
<p><strong>Дистанционные методы общения преподавателя со студентами в ходе выполнения самостоятельных (домашних) заданий</strong></p>
<p><span>Объективными предпосылками перехода к «безбумажной» технологии общения со студентами, выполняющими домашние задания по программированию, послужило то обстоятельство, что каждый (без исключения) студент в настоящее время имеет возможность использовать интернет и электронную почту в общении с преподавателем практически, в режиме «онлайн». Кроме того, студенты обеспечиваются возможностью использовать среду программирования для отладки программ и получения результатов.<br />
</span></p>
<p><span>В частности, в курсе «Логическое программирование» студенты используют лицензионный продукт: компилятор языка Prolog фирмы LPA [4]. (Лицензия предоставлена фирмой автору данной статьи для ограниченного использования этого продукта в учебных целях.) Студенты имеют возможность «мгновенного» (по прямой ссылке) скачивания архива с указанным продуктом с «облачного» сервиса «Диск», на который он загружается преподавателем в начале семестра. Примечательно, что для использования данного сервиса студенту нет необходимости иметь собственный почтовый ящик на поисковом портале (например, Google или Яндекс) – почта на этом портале должна быть лишь у преподавателя. Этот же сервис позволяет студентам скачивать, во-первых, варианты домашних заданий и, во-вторых, примеры решения типичных задач в виде интерпретируемых программных кодов. Также в виде интерпретируемых кодов студенты представляют отлаженные программы – результаты решений задач – и высылают их по электронной почте преподавателю. В случае затруднений при решении задач, студенты по запросу получают от преподавателя консультации в режиме «онлайн».<br />
</span></p>
<p><span>Более чем 10-летний опыт (а последние 3 года, с использования упомянутого выше «облачного» сервиса) применения данной «безбумажной» технологии общения со студентами показал ее высокую эффективность.<br />
</span></p>
<p><strong>Широкое использование «облачного» сервиса «Яндекс-диск» для оперативного доступа студентов к учебно-методическим материалам изучаемых курсов</strong></p>
<p><span>Главным и важнейшим для студентов учебно-методическим материалом (УММ) при изучении курсов рассматриваемых направлений, по мнению автора, являются конспекты лекций и материалы семинарских и лабораторных занятий. В настоящее время в университете, где преподает автор, созданы благоприятные условия для чтения лекций и проведения практических занятий (в том числе, по информатике и программированию) с компьютерной демонстрацией презентаций на больших экранах в аудиториях. (Компьютер встроен в рабочий стол преподавателя.)<br />
</span></p>
<p><span>По каждой лекции и по каждому практическому занятию каждого курса автор подготовил презентацию (файл офисного приложения MS Power Point), которую он демонстрирует в ходе чтения лекции и проведения практического занятия. Это относится как к курсам «Информатика» и «Программирование» (для подготовки бакалавров), так и к курсу «Логическое программирование» (для подготовки магистров). В первом случае, практические занятия – это лабораторные работы по программированию на языке VBA для офисного приложения MS Excel. Во втором случае, это семинарские занятия по декларативному программированию на Прологе, а также самостоятельная работа студентов с использованием упомянутого выше компилятора языка Prolog фирмы LPA.<br />
</span></p>
<p><span>Разумеется, проведение занятия не должно ограничиваться указанной демонстрацией презентаций на экране – следует тщательно сохранять обратную связь преподавателя с аудиторией, инициируя студентов задавать вопросы по материалу на слайде и отвечая на эти вопросы – иногда, с помощью доски и мела.<br />
</span></p>
<p><span>Все указанные выше презентации автор разместил на сервисе «Яндекс-диск» в формате PDF с тем, чтобы они были доступны для дополнительного изучения студентами по прямым ссылкам, даже если студент не обладает офисным приложением MS Power Point. Адрес соответствующего файла в формате PDF на сервисе «Яндекс-диск» преподаватель оглашает в конце каждого занятия.<br />
</span></p>
<p><span>«Облачный» сервис «Диск» (в частности, «Яндекс-диск») используется автором и для упрощения студентам процесса подготовки к прохождению заключительной аттестации. По прямым ссылкам студент имеет возможность скачать файлы формата PDF с формулировками задач, подобных тем, которые предлагаются на зачете, а также с методическими рекомендациями их решений.<br />
</span></p>
<p><strong>Демонстрация на примерах межъязыкового интерфейса расширения возможностей программ, требующих как декларативного, так и императивного подхода</strong></p>
<p><span>На младших курсах университетского образования при изучении программирования студенты, как правило, осваивают какой-либо императивный язык программирования. На завершающем этапе образования им может быть предложен для изучения один из языков другой, менее традиционной декларативной парадигмы. Автор считает, что для эффективного усвоения различий парадигм и полезности каждой из них целесообразно продемонстрировать студентам создание и демонстрацию программных проектов, в которых минимальными, доступными для усвоения средствами реализовано совместное использование (взаимодействие, интерфейс) языков с различными парадигмами.<br />
</span></p>
<p><span> В качестве примеров рассмотрим интерфейс декларативного языка логического программирования Пролог и императивного визуального языка программирования Visual Basic. В частности, будет рассмотрен интерфейс Пролога и языков группы Visual Basic (VB-6; VB-2010 – и более поздних версий на платформе .NET; VBA for Microsoft Office).<br />
</span></p>
<p><span>Польза и смысл указанного интерфейса заключается в том, что Пролог, как язык декларативного программирования, ориентирован, в основном, на символьную обработку данных и не обладает в достаточной степени инструментами визуализации, которыми в достаточной степени обладает Visual Basic.<br />
</span></p>
<p><strong>Интерфейс различных версий языка Visual Basic и языка логического программирования Пролог</strong></p>
<p><span>До появления современных версий языка Visual Basic на платформах .NET автор преподавал основы программирования на языке Visual Basic 6 [1] – более ранней, «классической», версии. (Следует отметить, что она стала основой языка офисных приложений VBA многих, в том числе, и всех современных версий.) Студентам, освоившим этот визуальный императивный язык программирования, впоследствии (через несколько семестров) было предложено изучить основы логического программирования на языке Пролог в рамках семестрового курса «Логическое программирование». Завершающей фазой изучения данного курса явилось выполнение задания по реализации интерфейса освоенного ранее языка Visual Basic и Пролога. За основу была взята одна из первых попыток автора статьи напрямую «связать» язык Visual Basic 6 с хорошо развитыми средствами визуализации (в частности, графики) и язык символьной обработки декларативного типа Пролог – для решения известной задачи «о греко-латинском (эйлеровом) квадрате» [6].<br />
</span></p>
<p><span>Для визуализации результатов работы программы на Прологе было спроектировано Windows-приложение в интегрированной среде разработки на языке Visual Basic 6.<br />
</span></p>
<p><span>Очевидно, что студенты, изучающие логическое программирование и, в частности, алгоритмы полного перебора на языке Пролог, получают в своё распоряжение хорошее средство визуализации решений, которые получаются в виде текстового файла. Именно текстовые файлы позволяют обмениваться данными программами на языке Visual Basic и Пролог.<br />
</span></p>
<p><span>Пример результата работы указанного приложения показан на рисунке 1.<br />
</span></p>
<p style="text-align: center; margin-left: 56pt;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/021815_1306_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center; margin-left: 56pt;"><span>Рисунок 1 – Окно приложения «Греко-латинский квадрат», спроектированного на языке Visual Basic 6.0 (2000 г.)<br />
</span></p>
<p><span>Исходные данные – размерность квадрата (в данном случае, 5) и номер решения (в данном случае, 1) вводится в виде (N,K) в текстовое поле. После щелчка команды меню Input эти данные записываются в текстовый файл, который становится доступным программе на Прологе. Эта программа может быть запущена с помощью интерпретатора этого языка следующей командой меню: Res. После щелчка команды меню Res («получить результат») запускается программа Пролог-интерпретатора и компилируется программа, которая формирует результат своей работы в виде другого текстового файла. Записи этого файла – строки матрицы. Они высвечиваются в поле списка справа на экранной форме. Одновременно, результат представляется в наглядном графическом виде (в графическом поле слева на экранной форме) – естественно, с помощью процедур программы на языке Visual Basic, использующих графику.<br />
</span></p>
<p><span>Итак, изучение интерфейса двух указанных языков с принципиально различными парадигмами легко воспринимается студентами в процессе изучения курса «Логическое программирование» («ЛП») на 4-м курсе бакалавриата кафедры Кибернетики НИЯУ МИФИ по следующим причинам. С одной стороны, к этому времени студентам уже достаточно хорошо известны принципы и приемы программирования на императивном языке (в данном случае, на языке Visual Basic 6). С другой стороны, изучение первой половины курса «ЛП» позволяет студентам освоить приемы программирования на Прологе переборных алгоритмов, а также использование встроенных предикатов Пролога для записи общих данных, которыми обмениваются программы на Прологе и Бейсике.<br />
</span></p>
<p><span>Спустя 10 лет, в 2010 году, для той же задаче о греко-латинском квадрате (без какого-либо изменения программы на Прологе) был реализован интерфейс языка Visual Basic на платформе .NET фирмы Microsoft [2] (в данном случае, языка Visual Basic 2010) и языка логического программирования Пролог. Была использована та же версия базисного языка Пролог, реализованного фирмой LPA [4]. Несущественные изменения были сделаны лишь в той части программы на VB-2010, которые обеспечивали вызов программы на Прологе.<br />
</span></p>
<p><span>В данной статье автор представляет другой пример: интерфейс языка Visual Basic на платформе .NET (языка VB 2010) и языка Пролог фирмы LPA – для демонстрации программы синтаксического анализа на основе встроенного в Пролог механизма DCG [3, с.242 – 261].<br />
</span></p>
<p><span>Окно Window-приложения, спроектированного на языке Visual Basic 2010, с демонстрацией работы программы синтаксического анализа на Прологе показано на рисунке 2.<br />
</span></p>
<p><img class="aligncenter" src="https://web.snauka.ru/wp-content/uploads/2015/02/021815_1306_4.png" alt="" /></p>
<p style="text-align: center; margin-left: 56pt;"><span>Рисунок 2 – Окно приложения «Синтаксический анализ языка с помощью механизма DCG», спроектированного на языке Visual Basic 2010<br />
</span></p>
<p><span>Ценным качеством данного приложения является то, что программа на Прологе, реализующая синтаксический анализатор (в данном случае, анализатор языка {a<sup>n</sup>b<sup>n</sup>c<sup>n</sup>}), целиком загружается в текстовое поле экранной формы. В левое нижнее поле пользователь записывает анализируемую цепочку. В правом нижнем поле появляется полученный Прологом результат. Очевидно, студенту предоставляется достаточно широкий простор для проведения различных экспериментов с данным приложением.<br />
</span></p>
<p><strong>Интерфейс языка VBA (Visual Basic for Applications) и языка логического программирования Пролог</strong></p>
<p style="text-align: justify;">Уже на младших курсах при изучении основ информатики студенты, как правило, осваивают и элементы программирования макрокоманд (макросов) на языке VBA [7].</p>
<p style="text-align: justify;">При решении некоторых задач, возникающих в офисном программировании, иногда возникает необходимость решать не только вычислительные задачи, но и задачи символьной обработки. Рассмотрим два следующих примера.</p>
<p style="text-align: justify;"><span>Первый пример – это создание макроса для офисного приложения Microsoft Excel 2010 (или более поздних версий), который решает задачу перевода записи числа из цифровой формы в словесную форму (в так называемую «пропись»). Примеры записей чисел в той и другой форме представлены на рисунке 3.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/021815_1306_5.png" alt="" /></p>
<p style="text-align: center; margin-left: 56pt;"><span>Рисунок 3 – Лист книги MS Excel 2010 с результатом работы программы на Прологе – переводом записи числа из цифровой формы в форму «прописи» – и наоборот<br />
</span></p>
<p style="text-align: justify;"><span>Макрос на языке VBA, вызывающий Пролог-программу, для данного приложения практически не отличается от программного модуля, который был создан для описанного выше примера о греко-латинском квадрате.<br />
</span></p>
<p style="text-align: justify;"><span>Второй пример – это проведение так называемых частичных вычислений. В данном случае, автор имеет в виду упрощение символьного выражения, которое может получиться, например, в результате символьного дифференцирования – задачи, которая идеально демонстрирует возможности Пролога как логического языка символьной обработки.<br />
</span></p>
<p style="text-align: justify;"><span>Например, при дифференцировании программой на Прологе арифметического выражения ln(a / x) + 5 * x ^ 4 + 4 * x ^ 3 + 3 * x ^ 2 + 2 * x + a, получается следующее выражение: a * (-1 * x ^ (-1 &#8211; 1) * 1) * (a / x) ^ -1 + 5 * (4 * x ^ (4 &#8211; 1) * 1) + 4 * (3 * x ^ (3 &#8211; 1) * 1) + 3 * (2 * x ^ (2 &#8211; 1) * 1) + 2 * 1 + 0.<br />
</span></p>
<p style="text-align: justify;"><span>Такое выражение явно нуждается в упрощении. Один из путей упрощения – частичное вычисление выражения.<br />
</span></p>
<p style="text-align: justify;"><span>Здесь демонстрируется реализация работы программы частичного вычисления на Прологе, которая вызывается из приложения MS Excel (2007, 2010) с помощью макроса, написанного на языке VBA for Excel. Фрагмент листа книги Excel может быть таким, как показано на рисунке 4.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/021815_1306_6.png" alt="" /></p>
<p style="text-align: center; margin-left: 56pt;"><span>Рисунок 4 – Лист книги MS Excel 2010 с результатом работы программы на Прологе – частичным вычислением арифметического выражения<br />
</span></p>
<p style="text-align: justify;"><span>На рисунке 5 показана экранная форма, вызываемая, например, щелчком кнопки, установленной непосредственно на листе книги Excel, как показано на рисунке 4.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2015/02/021815_1306_7.png" alt="" /></p>
<p style="text-align: center; margin-left: 56pt;"><span>Рисунок 5 – Вызываемая с листа книги MS Excel 2010 пользовательская форма для проведения частичного вычисления<br />
</span></p>
<p style="text-align: justify;"><span>На данной форме установлены командные кнопки, позволяющие (1) загрузить и показать пользователю данного приложения программу на Прологе; (2) ввести и загрузить арифметическое выражение и (3) вызвать и запустить программу на Прологе, упрощающую это выражение (производящую его частичное вычисление).<br />
</span></p>
<p style="text-align: justify;"><span>Отметим, что из текста программы на Прологе, показанного в окне формы на рисунке 5, можно увидеть, что исходное (вычисляемое) выражение берётся Прологом из текстового файла <strong>string.txt</strong>, куда оно было записано после щелчка командной кнопки «Загрузить исходное арифметическое выражение» (процедура-событие <strong>CommandButton_Click</strong> на языке VBA). Результат частичных вычислений, выполненных Прологом, помещается в текстовый файл <strong>struct.txt</strong> тоже Прологом. Перемещение записей результата из файла <strong>struct.txt</strong> в правое нижнее поле на форме выполняется снова процедурой на языке VBA.<br />
</span></p>
<p style="text-align: justify;"><span>Интерфейс двух языков программирования в данном примере (как и во всех предыдущих) проявляется в полной мере.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;"><strong>Заключение<br />
</strong></span></p>
<p style="text-align: justify;"><span>Представляется целесообразным и плодотворным расширение использования в процессе преподавания программирования студентам технических вузов таких современных и эффективных технологий как дистанционный оперативный обмен условиями задач по программированию, а также оперативный обмен учебными материалами с помощью «облачных» сервисов. Кроме того, представляется разумным с точки зрения расширения кругозора обучение студентов языкам с принципиально различными парадигмами. Рассмотренные в статье примеры позволяют сделать вывод о целесообразности включения в процесс преподавания программирования студентам, обучающимся по направлению «Информационные технологии», обучение проектирования взаимодействия (интерфейса) языков с различными парадигмами. В частности, плодотворного интерфейса языков декларативного и императивного стилей. Например, логического языка Пролог и визуального языка Visual Basic.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2015/03/47345/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка мобильного приложения «Поиск предметов»</title>
		<link>https://web.snauka.ru/issues/2026/03/104313</link>
		<comments>https://web.snauka.ru/issues/2026/03/104313#comments</comments>
		<pubDate>Fri, 13 Mar 2026 12:33:59 +0000</pubDate>
		<dc:creator>Яковлев Юлиан Юрьевич</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[hidden object game]]></category>
		<category><![CDATA[ImageSprite]]></category>
		<category><![CDATA[low-code]]></category>
		<category><![CDATA[MIT App Inventor]]></category>
		<category><![CDATA[визуальное программирование]]></category>
		<category><![CDATA[жанр «поиск предметов»]]></category>
		<category><![CDATA[мобильная разработка]]></category>
		<category><![CDATA[обучение программированию]]></category>
		<category><![CDATA[педагогика]]></category>
		<category><![CDATA[создание игр]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2026/03/104313</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович Уфимский университет науки и технологий Нефтекамский филиал Кандидат физико-математических наук, преподаватель Современные технологии открывают широкие возможности для быстрого прототипирования и создания мобильных приложений без глубокого знания синтаксиса языков программирования. Платформа MIT App Inventor 2, разработанная Массачусетским технологическим институтом, позволяет любому пользователю, включая детей и педагогов, создавать полноценные приложения для операционной [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><span><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em></span><em>Уфимский университет науки и технологий Нефтекамский филиал<br />
</em><em>Кандидат физико-математических наук, преподаватель</em></p>
<p style="text-align: justify;"><span>Современные технологии открывают широкие возможности для быстрого прототипирования и создания мобильных приложений без глубокого знания синтаксиса языков программирования. Платформа MIT App Inventor 2, разработанная Массачусетским технологическим институтом, позволяет любому пользователю, включая детей и педагогов, создавать полноценные приложения для операционной системы Android с помощью интуитивно понятного визуального интерфейса и блочного программирования.<br />
</span></p>
<p style="text-align: justify;"><span>Игры жанра «Поиск предметов» (Hidden Object) являются отличным выбором для первого проекта. Они развивают внимательность, имеют простую механику и позволяют на практике освоить ключевые концепции разработки: обработку событий (нажатий), работу с графическими объектами (спрайтами) и управление логикой с помощью списков и условий.<br />
</span></p>
<p style="text-align: justify;"><span>Прежде чем приступить к разработке, необходимо определить механику будущей игры. Проект «Поиск предметов» будет функционировать следующим образом: на игровом экране (холсте) расположены несколько графических объектов. В верхней части экрана отображается текстовое задание — название предмета, который требуется найти (рисунок 1). При нажатии на верный объект он исчезает, а задание меняется на следующее. Игра завершается победным уведомлением, когда все предметы найдены.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2026/03/031326_1229_1.jpg" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 1. Демонстрация игры<br />
</span></p>
<p style="text-align: justify;"><span>Проектирование внешнего вида приложения осуществляется в режиме Designer. Первым делом создаем новый проект, дав ему название, например, GAME. После этого можно приступать к наполнению экрана компонентами.<br />
</span></p>
<p style="text-align: justify;"><span>Сначала загрузим все необходимые изображения. Для этого в правой части экрана, в панели Media, нажимаем кнопку загрузки и выбираем файлы с картинками на нашем компьютере.<br />
</span></p>
<p style="text-align: justify;"><span>Затем из раздела Drawing and Animation перетащим на экран компонент Canvas. Это будет игровое поле. В свойствах холста укажем его ширину и высоту, например, 320 на 505 пикселей, и установим фоновую картинку через пункт BackgroundImage.<br />
</span></p>
<p style="text-align: justify;"><span>Далее добавим на холст компоненты ImageSprite. Их количество должно соответствовать числу предметов, которые предстоит искать. Для каждого спрайта выберем своё изображение в поле Picture, отрегулируем размеры и расположим их в разных местах холста. Очень важно дать каждому спрайту уникальное имя в панели компонентов, например ItemBanana или ItemBook. Это сильно упростит дальнейшее программирование.<br />
</span></p>
<p style="text-align: justify;"><span>Теперь добавим элементы управления. Из раздела User Interface возьмем компонент Label. Он будет показывать игроку, какой предмет нужно найти. Рядом разместим кнопку Button для перезапуска игры. Также добавим компонент Notifier. Он понадобится для вывода сообщения о победе, когда все предметы будут найдены.<br />
</span></p>
<p style="text-align: justify;"><span>Для наглядности ниже на рисунке 2 представлена рабочая область с размещенными компонентами:<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2026/03/031326_1229_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 2. Размещение компонентов<br />
</span></p>
<p style="text-align: justify;"><span>Основная работа по созданию механики игры ведется в режиме Blocks, где логика собирается из визуальных блоков-пазлов.<br />
</span></p>
<p style="text-align: justify;"><span>Для хранения списка предметов и отслеживания прогресса создаются две глобальные переменные: Предметы (список) и Индекс (число). При запуске экрана (Screen1.Initialize) список Предметы заполняется именами спрайтов в том виде, как они были названы, а переменная Индекс устанавливается в 1 (рисунок 3). Текст надписи Label устанавливается равным первому элементу списка, указывая игроку цель.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2026/03/031326_1229_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 3. Начальная настройка игры: создание списка предметов и вывод первого задания<br />
</span></p>
<p style="text-align: justify;"><span>Далее переходим к обработке нажатий на спрайты. Для каждого спрайта создается обработчик события Click. Внутри него реализуется проверка: если имя нажатого спрайта совпадает с текущим элементом списка, то есть с элементом под номером Индекс, выполняются следующие действия. Данный спрайт становится невидимым. Переменная Индекс увеличивается на 1. Текст подсказки обновляется на новый элемент списка. Также выполняется проверка на окончание игры. Если Индекс превышает длину списка, срабатывает компонент Notifier с сообщением о победе (рисунок 4).<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2026/03/031326_1229_4.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span>Рисунок 4. Программирование реакции на правильный выбор<br />
</span></p>
<p style="text-align: justify;"><span>Для кнопки перезапуска создается обработчик клика, который возвращает переменную Индекс к значению 1, делает все спрайты снова видимыми и обновляет текст задания.<br />
</span></p>
<p style="text-align: justify;"><span>Финальным этапом является проверка работоспособности. MIT App Inventor предоставляет удобный инструмент для live-тестирования через приложение MIT AI2 Companion. Достаточно подключиться по QR-коду через меню Connect, и приложение будет работать на смартфоне, мгновенно отражая все изменения в коде.<br />
</span></p>
<p style="text-align: justify;"><span>После завершения отладки через меню Build создается установочный APK-файл, готовый к распространению и установке на любые устройства под управлением Android.<br />
</span></p>
<p style="text-align: left;"><span><strong>Заключение<br />
</strong></span></p>
<p style="text-align: justify;"><span>В ходе работы было создано функционирующее мобильное приложение в жанре «Поиск предметов» с использованием инструмента низкого кода MIT App Inventor 2. Проект продемонстрировал легкость освоения базовых принципов разработки под Android, таких как работа с графикой, управление событиями и структурами данных. Данное руководство может быть использовано в образовательных целях для вовлечения учащихся в мир IT и развития алгоритмического мышления.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2026/03/104313/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка обучающего мобильного приложения «Головные уборы мира» с использованием MIT App Inventor</title>
		<link>https://web.snauka.ru/issues/2026/04/104473</link>
		<comments>https://web.snauka.ru/issues/2026/04/104473#comments</comments>
		<pubDate>Fri, 10 Apr 2026 08:41:27 +0000</pubDate>
		<dc:creator>Миннегалиев Тагир Рифатович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[MIT App Inventor]]></category>
		<category><![CDATA[визуальное программирование]]></category>
		<category><![CDATA[головные уборы]]></category>
		<category><![CDATA[интерактивность]]></category>
		<category><![CDATA[мобильное приложение]]></category>
		<category><![CDATA[обучение]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2026/04/104473</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Современные цифровые технологии активно внедряются в образовательный процесс, делая обучение более наглядным и интерактивным. Одним из эффективных подходов является использование игровых элементов, которые способствуют лучшему усвоению материала. В рамках данной работы было разработано мобильное приложение, направленное на изучение названий головных уборов на английском языке. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="background: white;"><span style="color: black;">Современные цифровые технологии активно внедряются в образовательный процесс, делая обучение более наглядным и интерактивным. Одним из эффективных подходов является использование игровых элементов, которые способствуют лучшему усвоению материала. В рамках данной работы было разработано мобильное приложение, направленное на изучение названий головных уборов на английском языке.<br />
</span></p>
<p style="background: white; text-align: left;"><span style="color: black;">Разработка осуществлялась в среде MIT App Inventor — визуальной платформе, позволяющей создавать мобильные приложения с помощью блоков без написания традиционного программного кода. Работа начинается с создания нового проекта и перехода в основной интерфейс, где осуществляется проектирование приложения.</span></p>
<p style="text-align: center; background: white;"><span style="color: black;"><img src="https://web.snauka.ru/wp-content/uploads/2026/04/041026_0836_1.png" alt="" /><br />
</span></p>
<p style="text-align: center; background: white;"><span style="color: black;"><em>Рисунок 1. Создание проекта и интерфейса приложения<br />
</em></span></p>
<p style="background: white; text-align: left;"><span style="color: black;">На этапе проектирования пользовательского интерфейса в разделе «User Interface» добавляется текстовый элемент Label, предназначенный для отображения названия текущего объекта. Далее используется компонент Canvas, который выполняет роль игрового поля, на котором будут размещаться изображения головных уборов.</span></p>
<p style="background: white; text-align: center;"><span style="color: black;"><img src="https://web.snauka.ru/wp-content/uploads/2026/04/041026_0836_2.png" alt="" /><br />
</span></p>
<p style="text-align: center; background: white;"><span style="color: black;"><em>Рисунок 2<br />
</em></span></p>
<p style="background: white;"><span style="color: black;">Для визуального наполнения приложения подготавливаются изображения различных головных уборов, таких как шляпа, кепка, берет, каска и другие. Все изображения загружаются в раздел Media и размещаются на холсте с помощью компонентов ImageSprite. Каждому объекту задаётся уникальное положение на экране.<br />
</span></p>
<p style="background: white; text-align: left;"><span style="color: black;">Для повышения интерактивности в приложение добавляются звуковые эффекты. Один звук воспроизводится при правильном выборе, другой — при ошибке. Это позволяет пользователю сразу получать обратную связь.</span></p>
<p style="background: white; text-align: center;"><span style="color: black;"><img src="https://web.snauka.ru/wp-content/uploads/2026/04/041026_0836_3.png" alt="" /><br />
</span></p>
<p style="background: white; text-align: center;"><span style="color: black;"><em>Рисунок 3<br />
</em></span></p>
<p style="background: white;"><span style="color: black;">После завершения работы с интерфейсом осуществляется переход в режим Blocks, где реализуется логика приложения. Создаётся список, содержащий названия всех головных уборов, а также переменная, отвечающая за текущий элемент, который должен найти пользователь.<br />
</span></p>
<p style="text-align: center; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2026/04/041026_0836_4.png" alt="" /><span style="color: black;"><strong><br />
</strong></span></p>
<p style="text-align: center; background: white;"><span style="color: black;"><em>Рисунок 4<br />
</em></span></p>
<p style="background: white; text-align: left;"><span style="color: black;">При запуске приложения (событие Screen.Initialize) на экран выводится первое слово из списка. Пользователь должен найти соответствующий объект среди изображений на экране. При нажатии на элемент происходит проверка: если выбранный объект соответствует текущему слову, происходит переход к следующему элементу, иначе воспроизводится сигнал ошибки.</span></p>
<p style="background: white; text-align: center;"><span style="color: black;"><img src="https://web.snauka.ru/wp-content/uploads/2026/04/041026_0836_5.png" alt="" /><br />
</span></p>
<p style="text-align: center; background: white;"><span style="color: black;"><em>Рисунок 5<br />
</em></span></p>
<p style="background: white;"><span style="color: black;">Логика обработки нажатий реализуется для каждого графического объекта отдельно, что обеспечивает корректную работу приложения и последовательное прохождение всех элементов списка.<br />
</span></p>
<p style="background: white; text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2026/04/041026_0836_6.png" alt="" /><span style="color: black;"><br />
</span></p>
<p style="text-align: center; background: white;"><span style="color: black;"><em>Рисунок 6<br />
</em></span></p>
<p style="background: white;"><span style="color: black;">После завершения разработки выполняется сборка приложения. С помощью функции Build генерируется установочный файл, который можно загрузить на мобильное устройство. Тестирование показывает, что приложение корректно отображает изображения, обрабатывает действия пользователя и обеспечивает обратную связь.<br />
</span></p>
<p style="text-align: center; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2026/04/041026_0836_7.png" alt="" /><span style="color: black;"><strong><br />
</strong></span></p>
<p style="text-align: center; background: white;"><span style="color: black;"><em>Рисунок 7<br />
</em></span></p>
<p style="background: white;"><span style="color: black;">В результате выполненной работы было создано обучающее мобильное приложение, позволяющее изучать названия головных уборов в игровой форме. Использование MIT App Inventor позволило реализовать проект без глубоких знаний программирования, что делает данный инструмент доступным для широкого круга пользователей.<br />
</span></p>
<p style="background: white;"><span style="color: black;">Разработанное приложение может быть использовано в образовательных целях, а также служить основой для создания более сложных интерактивных систем обучения.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2026/04/104473/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
