
- •1.Принципиальная схема компьютера. Потоки управления и потоки данных.
- •3. Принципы фон Неймана.
- •4. Создание исполняемых программ в машинных кодах, на Ассемблере и на языках высокого уровня.
- •5. Компиляторы и интерпретаторы, их преимущества и недостатки.
- •6. Классификация программных кодов. Схема создания исполняемого кода.
- •8. Определение и свойства алгоритма. Способы записи алгоритмов.
- •9. Блок-схемы. Основные управляющие структуры блок-схем.
- •10. Технологии программирования. Структурное программирование.
- •17. Операторы присваивания, инкремента и декремента. L-value выражения.
- •18. Условный оператор. Оператор запятая.
- •19. Инструкция-выражение. Инструкции выбора if и switch.
- •20. Инструкции передачи управления..
- •22. Алгоритмы обработки числовых данных (алгоритм Евклида, нахождение всех делителей числа, нахождение простых делителей числа, нахождение простых чисел, чисел Фибоначчи).
- •23. Указатели. Типизированные и безтиповые указатели. Операция разыменования и операция получения адреса.
- •25. Арифметические операции над указателями.
- •26. Проблемы и типичные ошибки при работе с указателями.
- •30. Двумерные и многомерные массивы (алгоритмы обработки матриц).
- •31. Многомерные массивы. Реализация многомерных массивов с помощью указателей.
- •32. Динамическое выделение памяти под одномерные и двумерные массивы.
- •34.Передача массивов в качестве параметров.
- •35. Подпрограммы. Определение и объявление подпрограмм. Процедуры и функции.
- •36.Формальные и фактические параметры. Соответствие типов в формальных и фактических параметрах.
- •38. Механизм работы с модифицируемыми параметрами, использующий указатели.
- •40. Использование ссылочного типа при выходе из подпрограмм. Константные ссылки.
- •41. Побочный эффект подпрограмм, его преимущества и недостатки.
- •42. Рекурсия. Формы рекурсивных подпрограмм. Глубина и текущий уровень рекурсии.
- •43. Зацикливание рекурсивных подпрограмм. Примеры неэффективности рекурсии.
- •44. Перегрузка функций. Ошибки, возникающие при перегрузке функций.
- •45.Указатели на функции. Callback-функции.
- •46. Функция main. Передача параметров в функцию main.
- •47. Директивы препроцессора. Директивы #pragma и #include.
- •48. Директивы #define и #undef. Константы времени компиляции.
- •49. Макросы. Преимущества и недостатки использования макросов.
- •50.Директивы условной компиляции. Страж включения.
- •51. Пространства имён. Работа с пространствами имён. Оператор using. Приоритеты и конфликты имён.
- •52. Строки. Операции над строками.
- •54. Строки string. Функции стандартной библиотеки для обработки строк.
- •55. Основные алгоритмы обработки строк (выделение слова, подстроки, разбиение на слова, поиск символа, поиск слова).Ответ в 53.
- •56. Пользовательские типы данных. Перечислимый тип enum.
- •57. Пользовательские типы данных. Тип struct. Массивы структур.
- •58. Объединения (union). Битовые поля.
- •59. Понятие сложности алгоритма. Оценка сложности с использованием о-символики.
- •60. Алгоритмы сортировки и поиска. Обменные сортировки. Сортировки вставками. Сортировки выбором. Сравнительный анализ методов сортировки.
- •61. Последовательный поиск. Бинарный поиск. Сравнительный анализ методов поиска.
- •62. Файлы. Основные принципы работы с файлами. Механизм чтения данных из файла. Определение конца файла. Открытие и закрытие файлов.
- •63. Текстовые файлы. Создание и обработка. Функции ввода/вывода в стиле с. Ввод-вывод нуль-терминированных строк. Посимвольный ввод-вывод. Форматированный ввод-вывод.
- •66. Исключительные ситуации. Системные и пользовательские исключения. Оператор try …catch. Виды блоков catch. Выброс исключений. И их обработка. Оператор throw.
- •70. Структура данных очередь. Кольцевая очередь. Реализация очереди с использованием списков.
- •71. Структура данных стек. Реализация стека с использованием массива.
- •72. Структура данных стек. Реализация стека с использованием списков.
- •73. Структуры данных. Списки. Типы списков. Представление этих структур в статической и динамической памяти. Обработка однонаправленных и двунаправленных списков. Сборка мусора.
- •75. Реализация линейного однонаправленного списка с использованием массивов.
- •76. Деревья. Обходы деревьев.
- •77. Бинарные поисковые деревья. Определение, концевой обход бпд.
- •78. Поиск и вставка нового элемента в бпд.
- •79.Удаление элемента из бпд.
- •80. Реализация бпд с использованием динамической памяти.
1.Принципиальная схема компьютера. Потоки управления и потоки данных.
Разнообразие современных компьютеров очень велико. Но их структуры основаны на общих логических принципах, позволяющих выделить в любом компьютере следующие главные устройства: память (запоминающее устройство, ЗУ), состоящую из перенумерованных ячеек; процессор, включающий в себя устройство управления (УУ) и арифметико-логическое устройство (АЛУ); устройство ввода; устройство вывода.
Эти устройства соединены каналами связи, по которым передается информация.
Функции памяти: приём информации из других устройств; запоминание информации; выдача информации по запросу в другие устройства машины. Функции процессора: обработка данных по заданной программе путем выполнения арифметических и логических операций; программное управление работой устройств компьютера.
2.
Представление информации в компьютере.
Хранение информации в оперативной и
внешней памяти. Любая
информация (числовая, текстовая, звуковая,
графическая и т.д.) в компьютере
представляется (кодируется) в так
называемой двоичной форме. Как оперативная,
так и внешняя память, где и хранится вся
информация, могут рассматриваться, как
достаточно длинные последовательности
из нулей и единиц. Под внешней памятью
подразумеваются такие носители
информации, как магнитные и оптические
диски, ленты и т.п. Единицей измерения
информации является бит
(BInary
digiT)
-- именно такое количество информации
содержится в ответе на вопрос: нуль или
один? Более крупными единицами измерения
информации являются байт, килобайт
(Kbyte),
мегабайт (Mbyte),
гигабайт (Gbyte)
и терабайт (Tbyte).
Один байт (byte)
состоит из восьми бит, а каждая последующая
величина больше предыдущей в 1024 раза.
Байта достаточно для хранения 256 различных
значений, что позволяет размещать в нем
любой из алфавитно-цифровых символов,
если только мы можем ограничиться
языками с небольшими алфавитами типа
русского или английского. Первые 128
символов (занимающие семь младших бит)
стандартизированы с помощью кодировки
ASCII
(American
Standart
Code
for
Information
Interchange).
Хуже обстоит дело с кодировками русского
текста (символы русского алфавита
расположены во второй половине таблицы
из 256 символов) -- их несколько, а наиболее
распространенные из них сейчас две --
Windows-1251
и KOI8-R.
Оперативная
память
(ОЗУ, англ. RAM, Random Access Memory
— память с произвольным доступом) —
это быстрое запоминающее устройство
не очень большого объёма, непосредственно
связанное с процессором и предназначенное
для записи, считывания и хранения
выполняемых программ и данных,
обрабатываемых этими программами.
Оперативная память используется только
для
временного хранения данных и программ,
так как, когда
машина выключается, все, что находилось
в ОЗУ, пропадает.
Доступ к элементам оперативной памяти
прямой
— это означает, что каждый
байт памяти имеет свой индивидуальный
адрес. Объем
ОЗУ обычно составляет от
32 до 512 Мбайт.
Для несложных административных задач
бывает достаточно и 32 Мбайт ОЗУ, но
сложные задачи компьютерного дизайна
могут потребовать от 512 Мбайт до 2 Гбайт
ОЗУ.Обычно ОЗУ исполняется
из интегральных микросхем памяти SDRAM
(синхронное динамическое ОЗУ). Каждый
информационный бит в SDRAM запоминается
в виде электрического заряда крохотного
конденсатора, образованного в структуре
полупроводникового кристалла. Из-за
токов утечки такие конденсаторы быстро
разряжаются, и их периодически (примерно
каждые 2 миллисекунды) подзаряжают
специальные устройства. Этот процесс
называется регенерацией
памяти
(Refresh Memory). Микросхемы SDRAM имеют ёмкость
16 — 256 Мбит
и более. Они устанавливаются в корпуса
и собираются в модули
памяти.
Внешняя
память (ВЗУ) предназначена для длительного
хранения программ и данных, и целостность
её содержимого не зависит от того,
включен или выключен компьютер.
В отличие от оперативной памяти, внешняя
память не имеет прямой связи с процессором.
Информация от ВЗУ к процессору и наоборот
циркулирует примерно по следующей
цепочке:
В
состав внешней памяти компьютера входят:
накопители
на жёстких
магнитных дисках;
накопители на гибких
магнитных дисках;
накопители на компакт-дисках;
накопители на магнито-оптических
компакт-дисках;
накопители на магнитной
ленте
(стримеры) и др.