- •Предисловие.
- •1. Основные сведения, необходимые для создания программ на языке c.
- •1.1 Общая характеристика языка c.
- •1.2. Процесс создания исполняемого файла.
- •1.3. Распределение памяти программы.
- •1.4. Основные правила работы с программами.
- •2. Программная имитация электронных схем.
- •3. Описание программы образца.
- •3.1. Подпрограммы общего назначения.
- •3.2. Подпрограммы мехатронного объекта.
- •3.3. Подпрограммы графических примитивов.
- •3.4. Подпрограммы системных сообщений.
- •3.5. Подпрограммы звуковой сигнализации.
- •3.6. Глобальные константы и переменные.
- •4. Тексты исходных файлов программы образца.
- •4.1. Подпрограммы общего назначения.
- •4.2. Подпрограммы мeхатронного объекта.
- •4.3. Подпрограммы графических примитивов.
- •4.4. Подпрограммы системных сообщений.
- •4.5. Подпрограммы звуковой сигнализации.
- •4.6. Глобальные константы и переменные.
- •5. Методические указания к лабораторным работам.
- •6. Задания на выполнение лабораторных работ.
- •6.1. Лабораторная работа 1. Разработка графического отображения титульного листа программы.
- •6.2. Лабораторная работа 2. Разработка логической схемы мехатронного объекта.
- •6.3. Лабораторная работа 3. Разработка графического отображения логической схемы мехатронного объекта.
- •6.4. Лабораторная работа 4. Разработка графического отображения работы логической схемы мехатронного объекта.
- •6.5. Лабораторная работа 5. Разработка средств сигнализации (системные сообщения, звуковая сигнализация, дата, время).
- •7. Варианты лабораторных работ.
- •8. Описание dvd диска
- •Литература.
- •Содержание.
1.4. Основные правила работы с программами.
► изучить листинг исходного текста программы, поставив себя на место написавшего ее ПРОГРАММИСТА:
-
комментарий к заголовку (информацию о назначении программы),
-
входные данные программы,
-
выходные данные программы,
-
разделы программы (Includes, Declarations, Defines, Global variables, Main, Programs),
-
комментарии,
-
структуру программы (линейный режим следования операторов, блоки операторов, условные и безусловные переходы, циклы).
-
вызовы функций,
-
прототипы (декларации, программные интерфейсы, описания) функций (в том числе в текстах, включаемых библиотек типа h),
-
тексты функций,
-
распределение памяти,
-
присвоение переменных;
► изучить листинг исходного текста программы, поставив себя на место ПРЕПРОЦЕССОРА, обрабатывающего инструкции #include, #define,… и создающего из исходного файла на языке C расширенный файл на языке C;
► изучить листинг исходного текста программы, поставив себя на место ТРАНСЛЯТОРА, создающего из расширенного текста на языке C двоичный файл объектного модуля типа obj;
► изучить листинг исходного текста программы, поставив себя на место ЛИНКЕРА (РЕДАКТОРА СВЯЗЕЙ, КОМПОНОВЩИКА), создающего из двоичного файла объектного модуля типа obj двоичный файл исполняемого модуля типа exe;
► изучить листинг исходного текста программы, поставив себя на место ЦЕНТРАЛЬНОГО ПРОЦЕССОРА, обрабатывающего инструкции исполняемого модуля типа exe;
► запустить файл исполняемого модуля типа exe;
► следить за выполнением запущенной программы на экране дисплея, одновременно изучая листинг соответствующего исходного текста;
► исследовать работу применяемых функций, используя соответствующие справочники и HELP системы программирования по схеме:
-
что делает функция, (основной результат работы),
-
заголовок,
-
прототип (декларация, программный интерфейс, описание функции),
-
типы входных и выходных переменных,
-
библиотека (файл типа h или c), содержащая прототип или исходный текст (тело) функции,
-
возможные варианты спецификации формата, типы аргументов, виды печати (если функция осуществляет вывод информации, например, функция printf),
-
тип функции (тип возвращаемого оператором return значения),
-
сопутствующие результаты работы (в частности, какую информацию возвращает оператор return),
-
распределение и классы памяти (automatic, static, register, extern) для хранения входных и выходных переменных функции,
-
обмен информацией между функцией и вызывающей программой (передача значений аргументов, передача адресов аргументов),
-
особые замечания,
-
родственные функции (например, изучая работу функции printf изучить работу функций sprintf, fprintf, vfprintf, vprintf, vsprintf)
-
функции, выполняющие противоположные операции (например, в случае изучения функции printf, осуществляющую вывод информации, изучить также функцию scanf, осуществляющую ввод информации);
► изучить работу управляющих операторов цикла (с предусловием while; с постусловием do-while; с инициализацией, проверкой и обновлением for) и процесс завершения цикла (понятие условие истинно, понятие условие ложно);
► изучить работу управляющего оператора переключатель switch (переключающее выражение, метки case, default);
► изучить работу управляющих операторов ветвления if, if-else, else-if; ► изучить работу управляющих операторов break (прерывание цикла), continue (прерывание текущей итерации цикла и переход к следующей итерации цикла).