Skip to content

Latest commit

 

History

History

7.3

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Домашнее задание к занятию «Язык программирования С. Часть 2»

Цель задания

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

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

Такой опыт поможет в программировании для большинства современных семейств промышленных контроллеров в среде разработки, использующей C/C++, SCL (ST по IEC 61131-3) и подобные структурированные языки программирования.

В результате выполнения задания вы сможете:

  • попрактиковаться в использовании массивов — их создании, заполнении и обращении к их элементам;
  • применить циклы для обработки массивов — это один из типовых подходов к работе с массивами;
  • написать и изучить работу классических алгоритмов — сортировки, поиска экстремумов и среднего значения.

Чеклист готовности к домашнему заданию

Для выполнения задания нужно пройти по ссылке на страницу создания нового проекта для платы Arduino Uno.


Инструкция к заданию

  1. Подключите в симуляторе к плате Arduino необходимые компоненты и настройте их, если нужно.
  2. Напишите код согласно заданию.
  3. Проверьте корректность работы проекта.
  4. Для проверки домашнего задания отправьте ссылку на сайт-симулятор с вашим рабочим проектом в личном кабинете.
  5. Любые вопросы по решению задач задавайте в чате учебной группы.
Подсказка, как сохранить проект и получить уникальную ссылку (доступна по клику).
  1. Нажмите «Save a copy» — выпадающий список рядом с кнопкой «Save» и с дискетой.
  2. Ваш проект будет сохранён, как новый, а в адресной строке браузера будет строка вида https://wokwi.com/projects/335536327066911316 (пример).
  3. Важно, чтобы у адресной строки был адрес с множеством цифр на конце.
  4. Теперь сохранение изменений в текущем проекте можно производить нажатием на кнопку «Save». Сохранить текущий проект, как новый, можно только через «Save a copy».
  5. Перед отправкой ссылки на проект преподавателю не забудьте проверить, что ссылка работает, открыв её в новом окне браузера.

Инструменты и дополнительные материалы для выполнения задания

  1. Справочный материал по командам Arduino.
  2. Справочник по языку Wiring/С для Arduino.
  3. Страница создания проекта для платы Arduino Uno.
  4. Статья о среднем арифметическом.
  5. Статья о сортировке пузырьком.

Задание 1

В эмуляторе Wokwi, используя микроконтроллер платы Arduino Uno:

  1. Напишите три функции:
  • fMin — возвращает значение минимального из элементов целочисленного массива-аргумента;
  • fMax — возвращает значение максимального из элементов целочисленного массива-аргумента;
  • fAvg — возвращает значение типа float вычисленного среднего арифметического элементов целочисленного массива-аргумента.
  1. Создайте целочисленный массив из 10 элементов, заполните его числами: 10, 7, 0, 13, 1, 24, 17, 19, 44, 3.
  2. Реализуйте вывод исходного массива в монитор порта.
  3. Осуществите последовательный вызов функций с выводом результирующих значений на монитор порта.
  4. Программа должна иметь комментарии.

Задание 2* (необязательное)

В эмуляторе Wokwi, используя микроконтроллер платы Arduino Uno:

  1. Создайте целочисленный массив из 10 элементов, заполните его числами: 10, 7, 0, 13, 1, 24, 17, 19, 44, 3.
  2. Напишите алгоритм сортировки простыми обменами (сортировки пузырьком).
  3. В результате выполнения программы на монитор порта должны быть выведены данные:
  • исходный массив;
  • массив промежуточных значений на каждой итерации сортировки;
  • количество итераций, потребовавшихся для получения результата;
  • результирующий массив.
  1. Программа должна иметь комментарии.

Правила приёма работы

Отправлена ссылка на рабочий проект на сайте онлайн-симулятора в личном кабинете студента.


Критерии оценки

Зачёт ставится, если созданный проект соответствует критериям:

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

Работа направляется на доработку, если:

  • задание выполнено частично или не выполнено;
  • в логике выполнения задания есть противоречия, существенные недостатки;
  • нарушена методология.