- •Понятие информации, виды и способы её представления
- •Задачи получения, передачи, преобразования и хранения информации
- •Язык как способ представления и передачи информации
- •Задачи, требующие автоматизированной обработки информации
- •Системы автоматизированной и автоматической обработки информации
- •Назначение и структура операционных систем
- •Исторические этапы автоматизации обработки информации
- •Последовательность обработки прикладных программ
- •Жизненный цикл программного обеспечения
- •Задачи системного программного обеспечения
- •Назначение и последовательность функционирования компиляторов
- •Требования к языкам программирования и их классификация
- •Понятие алгоритма, его основные свойства и способы записи
- •14. Временная и объёмная сложность алгоритма
- •15. Оценки временной сложности алгоритма
- •16. Структура рекурсивных алгоритмов
- •18. Методы доступа к функциям из библиотек и пакетов
- •22. Операции над данными стандартных типов и их старшинство
- •24. Манипуляторы потокового ввода и вывода
- •25. Ссылочные типы данных и их применение
- •27. Структурный тип данных
- •29. Многомерные массивы
- •30. Строки и массивы символов
- •31. Файлы и потоки
- •32. Методы открытия файлов для обмена информацией
- •33. Прямой доступ к отдельным записям в файлах
- •34. Программная реализация алгоритмов линейной структуры
- •35. Программная реализация разветвляющихся алгоритмов
- •36. Реализация циклических алгоритмов с заранее неизвестным количеством повторений
- •37. Реализация циклических алгоритмов с заранее известным количеством повторений
- •39. Предварительное описание функции
- •40. Локальные и глобальные величины программы
- •41. Способы обмена информацией между вызывающей и вызываемой функциями
- •42. Передача функций в качестве параметров функций
- •44. Динамические переменные. Выделение и освобождение памяти при выполнении программы
- •45. Построение списковых (последовательных) структур
- •46. Последовательные, циклические и рекурсивные алгоритмы
- •47. Базовая структура цифровой машины с хранимой программой
- •48. Архитектура и структура команд четырёхадресной машины
- •49. Архитектура и структура команд трёхадресной машины
- •50. Архитектура и структура команд двухадресной машины
- •51. Архитектура и структура команд одноадресной машины
- •52. Классификация устройств памяти систем обработки информации
- •53. Реализация устройств оперативной и долговременной памяти
- •54. Позиционные системы счисления и выполнение арифметических операций
- •55. Представление целых и действительных чисел в позиционных системах счисления
- •56. Связь между системами счисления с основаниями вида 2k
- •57. Перевод целых и действительных чисел из одной позиционной системы в другую
- •58. Прямой, обратный и дополнительный коды
- •59. Нормализованное представление чисел, переполнение, модифицирванные коды
- •60. Алгоритмы сложения и вычитания в дополнительных и обратных кодах
- •61. Алгоритмы умножения в дополнительных и обратных кодах
- •62. Структуры рекурсивных алгоритмов
- •63. Применение рекурсивных алгоритмов
- •64. Оценка сложности рекурсивных алгоритмов
31. Файлы и потоки
Для осуществления операций с файлами предусмотрено три класса: ifstream, ofstream и fstream. Эти классы являются производными, соответственно, от классов istream, ostream и iostream. Поскольку эти последние классы, в свою очередь, являются производными от класса ios, классы файловых потоков наследуют все функциональные возможности своих родителей (перегруженные операции << и >> для встроенных типов, функции и флаги форматирования, манипуляторы и пр.). Для реализации файлового ввода-вывода нужно включить в программу заголовочный файл fstream.h.
Чтобы открыть файл для ввода или вывода, можно использовать вторую форму нужного конструктора
fstream fs("FileName.dat");
Завершив операции ввода-вывода, необходимо закрыть файл, вызвав функцию-член close() с прототипом void close():
ofs.close();
Закрытие файла происходит автоматически при выходе потокового объекта из области существования, когда вызывается деструктор потока.
32. Методы открытия файлов для обмена информацией
Скорее всего, подразумевается вот это:
Режимы открытия и их назначение
Режим открытия |
Назначение |
ios::in |
Открыть файл для чтения |
ios::out |
Открыть файл для записи |
ios::ate |
Начало вывода устанавливается в конец файла |
ios::app |
Открыть файл для добавления в конец |
ios::trunc |
Усечь файл, то есть удалить его содержимое |
ios::binary |
Двоичный режим операций |
А если открывать через функции C, а не C++, то будет вот так:
FILE * fopen ( const char * filename, const char * mode );
r, rb |
Read |
Читать файл |
w, wb |
Write |
Писать в файл. Создаётся пустой файл, либо очищается, если он уже существовал. |
a, ab |
Append |
Писать в конец файла |
r+, r+b |
Read/update |
Читать и писать в файл |
w+, w+b |
Write/update |
Читать и писать в файл. Файл создаётся, если не существует, иначе всё содержимое будет очищено |
a+, a+b |
Append/update |
Читать и писать в конец файла |
Буква b означает чтение бинарных файлов.
33. Прямой доступ к отдельным записям в файлах
Система ввода-вывода С++ позволяет осуществлять произвольный доступ с использованием методов seekg() и seekp(). ifstream &seekg(Смещение, Позиция); ofstream &seekp(Смещение, Позиция); Смещение определяет область значений в пределах файла (long int). Позиция смещения определяется как
Позиция |
Значение |
ios::beg |
Начало файла |
ios::cur |
Текущее положение |
ios::end |
Конец файла |
Всякий раз, когда осуществляются операции ввода или вывода, соответствующий указатель автоматически перемещается. С помощью методов seekg() и seekp() можно получить доступ к файлу в произвольном месте.
34. Программная реализация алгоритмов линейной структуры
Линейные алгоритмы описывают линейный вычислительный процесс, этапы которого выполняются однократно и последовательно один за другим. Он включает последовательное выполнение следующих этапов:
ввод исходных данных в память ЭВМ;
вычисление искомых величин по формулам;
вывод результатов из памяти ЭВМ на информационный носитель, короче ппц совок.
Ну пример сами накатаете. И блок-схему.
