- •Вопросы к экзамену по дисциплине «программирование технических средств»
- •1 Основные понятия и определения
- •2 В состав базового программного обеспечения входят:
- •3 Программные модули
- •8 Функциональная и модульная декомпозиции
- •9 Операционная система
- •12 В ходе разработки программы должен быть подготовлен следующий графический материал:
- •13 Алфавит языка
- •14 Различают также следующие виды языков программирования:
- •15 Идентификаторы и ключевые слова
- •17 Декларация объектов
- •18 Данные целого типа (int)
- •19 Данные целого типа (int)
- •20 Данные вещественного типа (float, double)
- •21 Преобразование типов (явное и неявное). Приведение типа
- •24 Константы. Целые константы. Константы с плавающей точкой. Символьные константы. Строки.
- •25 Операции, выражения
- •26 Арифметические операции. Аддитивные и мультипликативные операции.
- •28 Условная операция «? :»
- •29 Оператор выбора альтернатив (переключатель)
- •30 Составление циклических алгоритмов. Операторы цикла с предусловием и с постусловием.
- •31 Оператор цикла с предусловием и коррекцией for
- •32 Оператор безусловного перехода goto
- •33 Побитовые логические операции, операции над битами
- •34 Операции сравнения. Логические операции. Унарные операции.
- •35 Операция присваивания. Сокращенная запись операции присваивания.
- •36 Стандартная библиотека языка Си. Математические функции.
- •37 Строки в языке Си. Функции работы со строками.
- •38 Функции ввода информации
- •39 Функции вывода данных
- •40 Управляющая строка функций ввода/вывода.
- •41 Ввод-вывод потоками
- •42 Препроцессор. Директивы #include, #define, #if…
- •43 Одномерные массивы. Инициализация одномерных массивов. Ввод и инициализация массива символов.
- •44 Многомерные массивы
- •45 Структуры. Вложенные структуры
- •46 Массивы структур. Битовые поля
- •47 Объединения. Перечисления
- •48 Указатели. Указатели и адреса объектов. Указатели и массивы.
- •49 Операции с указателями: присваивание адреса, определение значения по адресу, присваивание указателей Операция получения адреса
- •50 Операции с указателями: сложение и вычитание, инкремент и декремент, сравнение указателей
- •51 Работа с динамической памятью. Динамические массивы.
- •52 Операции typedef и sizeof
- •53 Функции. Определение функции, объявление функции и вызов функции. Возвращаемое значение функции.
- •54 Функции. Типы передачи параметров функции (по значению, по адресу, по ссылке).
- •55 Функции. Переменные в качестве параметров функций.
- •56 Функции. Массивы в качестве параметров функций.
- •57 Указатели на функции.
- •58 Перегрузка функций.
- •59 Классы памяти. Области действия объектов
- •60 Работа с файлами. Типы файлов (текстовый и бинарный). Дескриптор файла (“указатель на файл”). Режимы работы с файлами.
- •61 Работа с файлами. Открытие файла в различных режимах и закрытие файла.
- •62 Работа с файлами. Чтение и запись данных в файл. Посимвольный и построчный ввод-вывод
- •63 Работа с файлами. Чтение и запись данных в файл. Блоковый ввод-вывод
- •64 Работа с файлами. Чтение и запись данных в файл. Форматированный ввод-вывод
- •65 Работа с файлами. Указатель текущей позиции в файле, его перемещение к нужной позиции.
- •Заполнение:
- •67 Графический режим. Функции вывода текста, функции управления цветом. (outtext, outtextxy, setbkcolor, setcolor, settextjustify, settextstyle, textheight, textwidth)
- •68 Среды разработки программ для микроконтроллеров. Особенности написания программ для микроконтроллеров и программирования их периферийных устройств.
- •69 Средства записи программ и отладки для микроконтроллеров. Программаторы, симуляторы и внутрисхемные отладчики.
- •70 Интерфейсы программирования и отладки встроенных систем. Интерфейс jtag
14 Различают также следующие виды языков программирования:
Входной язык программирования называется языком высокого уровня по отношению к машинному языку, называемому языком низкого уровня.
Особое место в системе программирования занимают ассемблеры, представляющие собой комплекс, состоящий из входного языка программирования ассемблера и ассемблер-компилятора. Ассемблер представляет собой мнемоническую (условную) запись машинных команд и позволяет получить высокоэффективные программы на машинном языке. Однако его использование требует высокой квалификации программиста и больших затрат времени на составление и отладку программ.
Наиболее распространенными языками программирования являются: Basic, C++, Fortran и др. Тенденции развития – появление языков четвертого поколения типа Visual Basic.
Независимо от используемого языка существует три основных типа программных ошибок:
Синтаксические ошибки, Ошибки времени выполнения, Логические ошибки.
15 Идентификаторы и ключевые слова
Идентификатор (ID) – это имя программного объекта (константы, переменной, метки, типа, функции, модуля и т.д.). В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания; первый символ ID - не цифра; пробелы внутри ID не допускаются. Длина идентификатора определяется версией транслятора и редактора связей (компоновщика). Современная тенденция - снятие ограничений длины идентификатора. При именовании объектов следует придерживаться общепринятых соглашений:
- ID переменной обычно пишется строчными буквами - index, а Index – это ID типа или функции, INDEX – константа;
- идентификатор должен нести смысл, поясняющий назначение объекта в программе, например, birth_date - день рождения, sum - сумма;
- если ID состоит из нескольких слов, как, например, birth_date, то принято либо разделять слова символом подчеркивания, либо писать каждое следующее слово с большой буквы - BirthDate.
В Си прописные и строчные буквы – различные символы.
Идентификаторы Name, NAME, name – различные объекты. Ключевые (зарезервированные) слова не могут быть использованы в качестве идентификаторов.
16 Общая структура программы на языке Си имеет вид
<директивы препроцессора>
<определение типов пользователя – typedef>
<описание прототипов функций>
<определение глобальных переменных>
<функции>
В свою очередь, функции имеют структуру
<класс памяти> <тип> < ID функции> (<список параметров>)
{ - начало функции
код функции
} - конец функции
Рассмотрим кратко основные части общей структуры программ. Перед компиляцией программа обрабатывается препроцессором (прил. 3), который работает под управлением директив. Препроцессорные директивы начинаются символом #, за которым следует наименование директивы, указывающее ее действие. Препроцессор решает ряд задач по предварительной обработке программы, основной из которых является подключение к программе так называемых заголовочных файлов (обычных текстов) с декларацией стандартных библиотечных функций, использующихся в программе. Общий формат ее использования
#include < ID_файла.h>
где h – расширение заголовочных файлов.
Если идентификатор файла заключен в угловые скобки (< >), то поиск данного файла производится в стандартной директории, если - в двойные кавычки (” ”), то поиск файла производится в текущей директории. К наиболее часто используемым библиотекам относятся:
stdio.h - содержит стандартные функции файлового ввода-вывода;
conio.h - функции для работы с консолью (клавиатура, дисплей);
math.h - математические функции. Второе основное назначение препроцессора – обработка макроопределений. Макроподстановка «определить» имеет общий вид
#define < ID > <строка>
Например: #define PI 3.1415927
- в ходе препроцессорной обработки программы идентификатор PI везде будет заменяться значением 3.1415927.
Рассмотрим пример, позволяющий понять простейшие приемы программирования на языке Си:
#include <stdio.h>
void main(void)
{ // Начало функции main
printf(“ Высшая оценка знаний - 10 !”);
} // Окончание функции main
Отличительным признаком функции служат скобки ( ) после ее идентификатора, в которые заключается список параметров. Если параметры отсутствуют, указывают атрибут void - отсутствие значения. Перед ID функции указывается тип возвращаемого ею результата, так как функция
main ничего не возвращает - в качестве результата - void. Код функции представляет собой набор инструкций, каждая из которых оканчивается символом «;». В нашем примере одна инструкция -функция printf, выполняющая вывод данных на экран, в данном случае указанную фразу.
