- •Вопросы к экзамену по дисциплине «программирование технических средств»
- •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
62 Работа с файлами. Чтение и запись данных в файл. Посимвольный и построчный ввод-вывод
Запись - чтение информации
Все действия по чтению-записи данных в файл можно разделить на три группы: операции посимвольного ввода-вывода; операции построчного ввода-вывода; операции ввода-вывода по блокам.
Рассмотрим основные функции, применяемые в каждой из указанных трех групп операций.
Посимвольный ввод-вывод
В функциях посимвольного ввода-вывода происходит прием одного символа из файла или передача одного символа в файл: int fgetc(FILE *f) - считывает и возвращает символ из файла f;
int fputc(int ch, FILE *f) - записывает в файл f код ch символа.
Построчный ввод-вывод
В функциях построчного ввода-вывода происходит перенос из файла или в файл строк символов:
int fgets (char *S, int m, FILE *f) - чтение из файла f в строку S m байт;
int fputs (char *S, FILE *f) - запись в файл f строки S до тех пор, пока не встретится '\0', который в файл не
переносится и на символ '\n' не заменяется.
63 Работа с файлами. Чтение и запись данных в файл. Блоковый ввод-вывод
Блоковый ввод-вывод
В функциях блокового ввода-вывода работа происходит с целыми
блоками информации:
int fread (void *p, int size, int n, FILE *f)
- считывает n блоков по size байт каждый из файла f в область памяти с указателем p (не-
обходимо заранее отвести память под считываемый блок);
int fwrite (void *p, int size, int n, FILE *f)
- записывает n блоков по size байт каждый из области памяти с указателем p в файл f.
64 Работа с файлами. Чтение и запись данных в файл. Форматированный ввод-вывод
Форматированный ввод-вывод производится функциями:
int fscanf (FILE *f, char *формат, список адресов объектов)
- считывает из файла f информацию для объектов в соответствии с указанными форматами;
int fprintf (FILE *f, char *формат, список объектов)
- записывает в файл f объекты, указанные в списке в соответствии с форматами.
Данные функции аналогичны функциям scanf и printf, рассмотренным раньше, только добавлен параметр – указатель на файл.
65 Работа с файлами. Указатель текущей позиции в файле, его перемещение к нужной позиции.
Чтобы переместить указатель текущей позиции файла в новое положение, можно воспользоваться одним из следующих методов класса CFile - Seek, SeekToBegin, SeekToEnd. В состав класса CFile также входят методы, позволяющие установить и изменить длину файла, - GetLength, SetLength.При открытии файла указатель текущей позиции файла находится в самом начале файла. Когда порция данных прочитана или записана, то указатель текущей позиции перемещается в сторону конца файла и указывает на данные, которые будут читаться или записываться очередной операцией чтения или записи в файл.Чтобы переместить указатель текущей позиции файла в любое место, можно воспользоваться универсальным методом Seek. Он позволяет переместить указатель на определенное число байт относительно начала, конца или текущей позиции указателя. Чтобы переместить указатель в начало или конец файла, наиболее удобно использовать специальные методы. Метод SeekToBegin перемещает указатель в начало файла, а метод SeekToEnd - в его конец.
66 Графический режим. Функции черчения и заполнения. (arc, bar, bar3d, circle, drawpoly, ellipse, fillellipse, fillpoly, line, lineto, pieslice, rectangle, sector, setlinestyle, setfillstyle)
Черчение:
arc |
Чертит дугу окружности. |
circle |
Чертит окружность. |
drawpoly |
Чертит контур многоугольника. |
ellipse |
Чертит эллиптическую дугу. |
getarccoords |
Возврашает координаты последнего вызова arc или ellipse. |
getaspectratio |
Возвращает коэффициент сжатия для текущего графического режима. |
getlinesettings |
Возвращает текущий стиль линии, шаблон линии и толщину линии. |
line |
Чертит линию из (x0,y0) в (x1,y1). |
linerel |
Чертит линию в точку, задаваемую относительным расстоянием от текущей позиции (CP). |
lineto |
Чертит линию из текущей позиции (CP) в (x,y). |
moveto |
Перемещает текущую позицию (CP) в (x,y). |
moverel |
Перемещает текущую позицию (CP) на относительное расстояние. |
rectangle |
Рисует прямоугольник. |
setaspectratio |
Изменяет коэффициент сжатия по умолчанию. |
setlinestyle |
Устанавливает ширину и стиль текущей линии. |
