Беспилотники и нейросети. Информатика и программирование. Практикум

Информационные аспекты изучения беспилотных летательных аппаратову(БПЛА) в школе и техникуме

Изучение беспилотных летательных аппаратов (БПЛА) является перспективной и востребованной областью современной образовательной программы, особенно актуальной в условиях развития современных технологий.

В школах и техникумах изучение БПЛА способствует формированию у учащихся современных знаний и компетенций, необходимых для успешного участия в высокотехнологичных отраслях промышленности, науки и военного дела.

Информационные аспекты

1. Учебно – методическое и программное обеспечение.

1)Учебники и пособия:

специализированные учебники и методические пособия, содержащие теоретический материал по основам аэродинамики, теории полета, принципам работы различных типов БПЛА, элементам конструкции и управления.

2)Электронные ресурсы:

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

3)Программное обеспечение:

программное обеспечение для моделирования полетов, проектирования и анализа характеристик БПЛА, позволяющее студентам разрабатывать собственные проекты и проводить виртуальные эксперименты.

2. Практическая подготовка и лабораторные занятия

1)Лабораторные стенды и оборудование:

наборы конструкторов и учебных моделей БПЛА, лаборатории робототехники и авиамоделизма, оснащенные современными средствами диагностики и контроля.

2)Практическое обучение:

проведение практических занятий по сборке, настройке и запуску БПЛА, отработка навыков пилотирования и выполнения полетных заданий, участие в соревнованиях и конкурсах.

3)Проектная деятельность:

выполнение индивидуальных и групповых проектов по созданию собственных моделей БПЛА, разработка программного обеспечения для управления и обработки данных, полученных с помощью дронов.

3. Интеграция междисциплинарных знаний

Математика и физика[2]:

изучение законов механики, аэродинамики, динамики полета, принципов навигации и ориентации в пространстве.

Информатика и программирование[3,4,5]:

1)освоение алгоритмов управления, программирования микроконтроллеров, разработки программного обеспечения для автономных систем управления.

2)робототехника и электроника[1]:

3)основы электроники, конструирования и сборки электронных компонентов, используемых в системах управления БПЛА.

4)геодезия и картография[1]:

5)использование данных GPS/ГЛОНАСС, обработка спутниковых снимков, создание цифровых карт и планов местности.

4. Профессиональная ориентация и карьерные перспективы

Профессиональные компетенции[1]:

1)формирование профессиональных навыков, востребованных в авиационной отрасли, при фото и видеосъемке , сельском хозяйстве, строительстве, спасательных операциях, экологическом мониторинге, военном деле и других сферах.

2)Карьерные возможности и рост:

3)получение квалификаций и сертификатов, подтверждающих уровень подготовки специалистов по эксплуатации и обслуживанию БПЛА, возможность дальнейшего трудоустройства в компаниях, занимающихся разработкой, производством и эксплуатацией беспилотников.

5. Социальная значимость и этика[1]

1.Безопасность полетов: изучение правил безопасности, законодательства, регулирующего эксплуатацию БПЛА, предотвращение аварийных ситуаций и минимизация рисков.

2.Этика и ответственность:

3.Обсуждение вопросов ответственности перед обществом, конфиденциальности личных данных, охраны окружающей среды и культурного наследия при использовании БПЛА.

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

Вопросы информатики и программирования сегодня занимают центральное место в процессе изучения беспилотных летательных аппаратов (БПЛА) в образовательных учреждениях — школах и техникумах. Эти дисциплины обеспечивают фундаментальную основу для понимания принципов функционирования, управления и программирования бортового оборудования и наземных станций управления БПЛА.

Курс практических и лабораторных занятий «Языки программирования и нейросети. Решение задач» направлен на формирование профессиональных компетенций студентов и школьников в области разработки программного обеспечения и решения прикладных задач средствами современных языков программирования (на примере Python и Pascal). Программа курса охватывает основные этапы разработки программного продукта: создание алгоритма, написание программы, её тестирование и отладка, а также применение полученных знаний для реализации типовых задач, включая обработку одномерных и двумерных массивов, решение геометрических задач и программирование циклических структур.

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

Курс включает в себя следующие разделы:

1. Работа с графическим интерфейсом языка программирования – изучение основ взаимодействия с интерфейсами систем программирования и создание простых приложений с использованием визуальных компонентов.

2. Создание алгоритмов и отладка программ линейной структуры – освоение базовых принципов построения последовательных алгоритмов и разработка первых самостоятельных программ.

3. Использование логических высказываний в программах – закрепление знаний о работе с условными операторами и реализация программ с ветвлениями.

3. Создание алгоритмов и отладка программ с использованием логических высказываний.

4. Создание алгоритмов и отладка программ с использованием логических операций.

5. Решение задач по геометрии с помощью программирования – обучение применению математических знаний и навыков программирования для автоматизации вычислений и решений геометрических задач.

6. Программирование циклов и обработка массивов – ознакомление с основными видами циклических конструкций и методами обработки числовых массивов различной размерности.

7. Отладка и тестирование программ на примере решения реальных задач – получение опыта выявления ошибок и исправления дефектов в коде, а также проверка правильности выполнения программ на конкретных примерах.

8. Практическое программирование нейросетей и машинного обучения – знакомство с базовыми концепциями нейросетевых технологий и их применением для решения прикладных задач.

Методы и формы обучения

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

Итоговый результат освоения курса

По завершении курса студент (школьник) должен уметь разрабатывать эффективные алгоритмы, реализовывать их на языках программирования высокого уровня, проводить тестирование и отладку созданных программ, а также понимать базовые принципы работы нейросетевых моделей и использовать их возможности для решения прикладных задач.

Таким образом, курс способствует формированию у студентов фундаментальной базы знаний и навыков, необходимых для успешной профессиональной деятельности в сфере информационных технологий и программирования.

Языки программирования.и нейросети. Решение задач.

1.Работа с графическим интерфейсом языка программирования

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

Давайте такой вопрос зададим нейросети GPTuter (ИИ3):

О системе программирования PascalABC.NET ни слова. А она, например, в колледже при политехническом университете Петра Великого являлась основной. Поэтому с моей стороны следует естественный дополнительный вопрос:

Должен сказать, что я не ожидал получить столь полные и аргументированные ответы на эти вопросы.

Узловые вопросы программирования нейросети, судя по GPTuter представляют неплохо.

Работа с графическим интерфейсом языка программирования Паскаль включает в себя три базовых компонента:

1.1.Работу со Справочником по системе ABC Pascal

1. В окне окне системы ABC Pascal открыть меню Помощь (рис.1).

2. В открывшемся меню выбрать пункт СПРАВКА.

3. В открывшемся окне СПРАВКА (рис.1) работать с его содержанием.

Рис.1. Окна систем программирования Pascal ABC и Справки

1.2. Работа с сайтом «Уроки Pascal ABC для начинающих» (Ссылка на сайт в конце книги)

1.3. Изучение презентации и видео «Паскаль. Обзор»

В основе данных презентации и видео лежит курс обучения программированию на языке Паскаль на базе учебного пособия «Основы алгоритмизации и программирование на языке Паскаль», с 4х главым содержанием.

С презентацией на тему «Пакаль _обзор» для 8 и 9 класса и видео на эту же тему можно познакомиться, воспользовавшись ссылками в конце книги.

2. Создание алгоритмов и отладка программ линейной структуры

Вот теперь перейдем к решению первых задач по программированию на языке Паскаль.

Начнем делать первые шаги и рассмотрим первые 3 простейшие задачи, имеющие линейную структуру алгоритмов их решения. По каждой из задач представлено 2 вида решений:

1.Традиционный (обычный) способ

Программа записана на языке Паскаль, ее реализация оформлена в системе программирования Pascal ABC.NET и приведены пояснения и комментарии.

2.Решение задачи с помощью нейросети

Программа записана на языке Паскаль и приведены пояснения и комментарии

2.1.Решение задач

Задача 1.

Дано: сторона квадрата a. Найти его периметр P = 4*a

1.Традиционное решение (см. рис.2).

Рис.2.Программа на языке Паскаль и ее реализация в системе программирования Pascal ABC.NET.

Смотрим основные моменты по строкам программы:

1) В первой строке у нас идет описание переменных, и на это указывает служебное слово var.

2) Описываем переменные a, P как вещественные (real – вещественный тип данных).

4) Служебное слово begin указывает на начало программы. После него идет описание операторов, которые программа будет выполнять один за другим.

5) Вводим длину стороны квадрата. При этом в строках 5 и 6 выводим на экран информацию о запросе ввода.

6) Вычисляем периметр квадрата по формуле P = 4·a.

7) Выводим результат, выделяя для результата 2 знака после запятой.

8) readln означает ожидание программы до нажания клавиши Enter – после этого программа продолжит свое выполнение.

9) Наконец, служебное слово end с точкой в конце означает завершение программы.

2.Решение задачи с помощью нейросети (рис.3 – 11):

Рис.3.

Рис.4.

Я пытаюсь спровоцировать нейросеть на решение этой задачи и ввожу исходные данные a = 10; a = 12; a = 31.

Рис.5.

Нейросеть восприняла мой запрос, как необходимость модифицировать коды программы.

Рис.6.

Рис.7.

Рис.8.

Я все время требую от GPTutor невозможного: нельзя решить эту задачу на ПК, без предварительной загрузки и отладки программы этой задачи в системе Pascal ABC.NET.

А нейросеть GPTutor при этом еще оправдывается и «чувствует себя виноватой».

И предлагает новые варианты модификации программы этой задачи.

Рис.9.

Рис.10.

Я продолжаю вводить новые исходные данные, с большим интересом ожидая реакции GPTutor.

Рис.11.

Не знаю, как вам, а мне все действия нейросети очень понравились. На основе данной задачи нейросеть GPTutor провела мастер – класс по программированию на языке Паскаль.

Задача 2.

Дано: сторона квадрата a. Найти его площадь S = a^2.

1.Традиционное решение (рис.12)

Рис.12.Программа на языке Паскаль и ее реализация в системе программирования Pascal ABC.NET.

1) Вводим значение переменной a и переходим на следующую строку.

2) Вычисляем площадь квадрата S = a^2 непосредственным умножением. Для вычисления квадрата числа мы могли бы использовать функцию sqr (x).

3) Выводим значение площади с точностью до двух знаков после запятой.

2.Решение задачи с помощью нейросети (рис.13 и 14)

Рис.13.

Рис.14.

Задача 3.

Дан диаметр окружности d. Найти ее длину L = п*d. В качестве значения п использовать 3,14.

1.Традиционное решение (см. рис.15).

Рис.15. Программа на языке Паскаль и ее реализация в системе программирования

Pascal ABC.NET

Здесь нужно сделать небольшой комментарий относительно числа «пи». Как упоминалось в начале, в паскале есть встроенная переменная для обозначения числа «пи»: pi = 3.141592653589793. Поэтому, если бы мы в разделе описания констант не записали pi = 3.14 (строки 1—2 после служебного слова const), то в нашей программе было бы использовано встроенное значение числа «пи» большой точности.

2.Решение задачи с помощью нейросети (рис.16 —17):

Рис.16.

Рис.17.

Реализация решения этих трех задач в программах на языке Паскаль нейросетью GPTutor показывает ее широкие и интересные возможности не только по решению данных задач, но и по обучению и подготовке специалистов на вариантах модификации программ этих задач.

3. Создание алгоритмов и отладка программ с использованием логических высказываний

3.1.Постановка задач

3.2.Решение задач с использованием логических высказываний и операций на языке Паскаль. Результаты

РЕШЕНИЕ:

4.Решение задач с помощью условных операторов на языке Паскаль

4.1.Постановка задач

4.2.Решение задач с помощью условных операторов на языке Паскаль

5.Решение задач по геометрии с помощью Систем Программирования на языках Паскаль и Питон

Сегодня в школах и техникумах на занятиях по изучению систем программирования (СП) все чаще СП на языке Паскаль заменяют СП на языке Питон. В связи с этим, в этой главе на примере 4х задач по геометрии показано, как с этими задачами справляется каждая из этих СП.

5.1.Постановка задач

5.2.Решение задач

5.2.1.Решение задач с помощью системы программирования на языке «Паскаль». Результаты

5.2.2.Решение задач с помощью системы программирования на языке «Питон». Результаты

Ниже представлена программа, которая на языке Питон вычисляет объем и площадь поверхности прямоугольного параллелепипеда, используя заданные длины его рёбер

В результате объем прямоугольного параллепипеда V = 162, а его площадь S = 198.

Ниже представлена программа, которая на языке Питон вычисляет площадь равнобедренной трапеции, используя заданные длины ее сторон.

Таким образом, площадь равнобедренной трапеции при заданных параметрах составляет примерно 27,71.

ОТВЕТЫ

6.Операторы цикла

Операторы цикла используются для вычислений, которые повторяются многократно. В Паскале имеется три вида циклов: цикл с предусловием while, цикл с постусловием repeat и цикл с параметром for.

6.1.Структурные схемы

Циклы с предусловием (на рис.1, левый) и с постусловием (рис.1, правый)

Рис.1.

Формат оператора с предусловием:

while выражение do оператор

Формат оператора с постусловием:

repeat тело цикла until выражение

6.2.Примеры

Программа печати таблицы значений функции sin для аргумента, изменяющегося в заданных пределах с заданным шагом.

program tabl_fun;

var

Xn, Xk: real; {начальное и конечное значения аргумента}

dX: real; {шаг изменения аргумента}

x, y: real; {текущие значения аргумента и функции}

begin

writeln («Введите Xn, Xk, dX»);

readln (Xn, Xk, dX);

writeln (» – — – — – — – — – — – —»); {заголовок таблицы}

writeln (»│ X │ Y │»);

writeln (» – — – — – — – — – — – —»);

x:= Xn; {первое значение аргумента}

while x <= Xk do {заголовок цикла}

begin

y:= sin (x); {вычисление значения функции}

writeln (»│», x:9:2, ‘ │», y:9:2, ‘ │»); {вывод строки таблицы}

x:= x+dX; {переход к следующему значению аргумента}

end;

writeln (» – — – — – — – — – — – —»);

readln;

end.

Программа, вычисляющая квадратный корень вещественного аргумента Х с заданной точностью eps по итерационной формуле:

уn = (yn-1 + x/yn-1) /2,

где yn-1 – предыдущее приближение к корню (в начале вычислений выбирается произвольно), уn – последующее приближение. Процесс вычислений прекращается, когда приближения станут отличаться друг от друга по абсолютной величине менее, чем на величину заданной точности.

program square_root;

var

X, eps, {аргумент и точность}

Yp, Y: real; {предыдущее и последующее приближение}

begin

repeat

writeln («Введите X, eps’);

readln (X, eps);

until (X> 0) and (eps> 0);

Y:= 1;

repeat

Yp:= Y;

Y:= (Yp + X / Yp) / 2;

until abs (Y – Yp) <eps;

writeln («Корень из», Х:6:3, «с точностью», eps:7:5, «равен», Y:9:5);

readln;