Справочник от Автор24
Поделись лекцией за скидку на Автор24

Модульное программирование

  • 👀 407 просмотров
  • 📌 347 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Модульное программирование» pdf
Лекция 10 Модульное программирование Если вы освоили весь предыдущий материал, то вы освоили самые азы программирования на языке Си. Вы знаете, как написать программу, которая решит поставленную задачу. Но как правильно написать программу? Некоторые советы вы получали от меня в течение семестра, но давайте рассмотрим одну из базовых парадигм. Суть модульного программирования в том, что сложная задача разбивается на более простые. Далее, простые задачи, если нужно, разбиваются снова. Когда процесс разбиения заканчивается, их решением занимаются независимые модули. В качестве независимых модулей могут выступать функции или даже целые наборы из данных и функций, которые помещены в отдельный файл, он и называется модулем. Модуль является единицей компиляции, а также единицей проектирования. Для командной разработки это означает обычно, что каждый человек разрабатывает свой модуль, затем они объединяются в единый программный продукт. Вы уже сталкивались с модулями: stdio.h модуль для ввода/вывода информации. Вы подключаете его в том случае, если есть необходимость, например, выводить данные на экран или в файл. Вы также можете разрабатывать собственные модули, и подключать их. В этом и будет задание лабораторной. Структурный стиль программирования — это стиль при котором вы пользуетесь основными структурами кода: линейная, ветвление и цикл. Это самый базовый стиль, вы его использовали, когда писали лабораторные. Но правильное его использование не так очевидно. Вот несколько советов: 1. Выделяйте логически законченную часть кода в отдельную функцию, для ее повторного использования. 2. Выделяйте структуры и функции, которые работают с этими структурами в отдельный модуль (файл) 3. Не создавайте зависимые модули. 4. Не пользуйтесь глобальными переменными без острой необходимости 5. Не используйте goto 6. Не создавайте запутанного кода, смотрите пункт 1. Это простейший стиль, и простейшие советы, но вы могли уже убедиться на себе, что даже таким простейшим советам не всегда получается следовать. Поэтому нужно больше практиковаться, чтобы хорошо овладеть этим стилем. Теперь перейдем к коду. Модули бывают двух типов: основной и неосновной. В основном модуле присутствует функция main, соответственно в остальных ее быть не должно, иначе модули не скомпилируются. (Точка входа должна быть одна) В остальном разницы между модулями нет. Для подключения модуля используется #include "имя-файла.h". Обратите внимание, что используются именно кавычки. В этом случае компилятор будет искать файл в той же папке. С угловыми скобками он будет искать по заранее определенным правилам, зависящим от компилятора и ваш файл вряд ли найдет. Угловые скобки используются только для подключения стандартных библиотек. Теперь поговорим о правильно написанном модуле. Если модуль неосновной, то он разбивается на 2 файла (и это очень важно): на файл интерфейса (объявлений) .h и файл реализации .c. В файле объявлений, как понятно из названия, пишутся только объявления пользовательских типов (структур) и прототипы функций. А в файле реализации — реализация функций. Как это выглядит, написано ниже: module.h #ifndef MODULE_H #define MODULE_H struct Type { int a; int b; }; void Init(struct Type *variable, int a, int b); #endif module.c #include "module.h" void Init(struct Type *variable, int a, int b) { variable->a = a; variable->b = b; } main.c #include #include "module.h" int main() { struct Type a; Init(&a, 0, 0); printf("%d, %d\n", a.a, a.b); } В module.h есть новые строки: #ifndef и #endif. Это условная компиляция. Дело в том, что module.h подключается дважды: в module.c и в main.c. Это излишне. Поэтому небольшой трюк позволит скомпилировать файл module.h лишь однажды. Лабораторная работа №10 Задание 0. Создайте математический модуль, не используя для этого модуль math.h. Реализуйте 6 математических функций, которые вам по силам, и покажите их использование в основном модуле. Задание 1. Разбить предыдущую лабораторную на модули. Задание 2. Аналогично, но с учетом заданий на предыдущую лабораторную. Это задание засчитывается, в случае соблюдения всех 6-ти советов.
«Модульное программирование» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot