- •Информатика как наука. Основные понятия.
- •Понятие информации. Свойства, измерение, обработка.
- •История развития эвм и пк. Принципы фон Неймана.
- •Основные устройства пк, их назначения и характеристики: 1. Микропроцессор. 2. Внутренняя память. 3. Контроллеры и адаптеры. 4. Системная шина. 5. Монитор. 6. Клавиатура.
- •Микропроцессор
- •5. Типы по. Эволюция языков программирования.
- •Понятие алгоритма. Основные свойства. Формы записи. Машина Тьюринга.
- •Системы счисления. Двоичная и 16-ая системы. Правила перевода чисел из одной системы счисления в другую.
- •Двоичная арифметика. Форматы положительных и отрицательных чисел.
- •Типы данных c#. Внутренний формат, распределение памяти.
- •Приоритет операций в выражениях c#. Стандартные операторы консольного ввода-вывода.
- •Организация условных переходов: условный оператор и оператор выбора.
- •Операторы цикла. Понятие составного оператора.
- •Способы сортировки массивов: вставкой, обменом, выбором. Простые сортировки
- •Сортировка простыми вставками
- •Сортировка бинарными вставками
- •Сортировка простым выбором
- •Сортировка простыми обменами
- •Организация функций. Механизм передачи параметров в функцию. Формальные и фактические параметры.
- •Рекурсия функций.
- •Динамическая организация данных. Линейные списки.
- •Характеристики
- •Динамическая организация данных. Двоичные деревья.
- •Основные принципы ооп. Конструкторы и деструкторы.
Организация функций. Механизм передачи параметров в функцию. Формальные и фактические параметры.
Рекурсия функций.
В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная или косвенная рекурсия), например, функция A вызывает функцию B, а функция B — функцию A. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.
Рекурсией программисты на своём мунспике называют вызов функцией самой себя прямо (в теле функции расположен вызов себя) или косвенно (функция вызывает функцию, которая вызывает функцию, которая… и в одной из этих функций расположен вызов самой первой функции). Типичным примером функций, использующих рекурсию, являются вычисление факториала и функция Аккермана. В более общем смысле, включение некоторой сущностью самой себя целиком (см. пример с зеркалами ниже).
Помимо своего матанского и программистского значения, рекурсия — мем, используемый в наших интернетах в основном среди читателей башорга. Более сложный вариант без гиперссылок: «Чтобы понять рекурсию, нужно сперва понять рекурсию».
Динамическая организация данных. Линейные списки.
Если до начала работы с данными невозможно определить, сколько памяти потребуется для их хранения, память следует распределять во время выполнения программы по мере необходимости отдельными блоками. Блоки связываются друг с другом с помощью указателей. Такой способ организации данных называется динамической структурой данных, поскольку она размещается в динамической памяти и ее размер изменяется во время выполнения программы.
Линейный однонаправленный список — это структура данных, состоящая из элементов одного типа, связанных между собой. В информатике линейный список обычно определяется как абстрактный тип данных (АТД), формализующий понятие упорядоченной коллекции данных.
На практике линейные списки обычно реализуются при помощи массивов и связных списков. Иногда термин «список» неформально используется также как синоним понятия «связный список».
К примеру, АТД нетипизированного изменяемого списка может быть определён как набор из конструктора и четырёх основных операций:
операция, проверяющая список на пустоту;
операция добавления объекта в список;
операция определения первого (головного) элемента списка;
операция доступа к списку, состоящему из всех элементов исходного списка, кроме первого.
Характеристики
Длина списка. Количество элементов в списке.
Списки могут быть типизированными или нетипизированными. Если список типизирован, то тип его элементов задан, и все его элементы должны иметь типы, совместимые с заданным типом элементов списка. Обычно списки, реализованные при помощи массивов, являются типизированными.
Список может быть сортированным или несортированным
В зависимости от реализации может быть возможен произвольный доступ к элементам списка.
Динамическая организация данных. Двоичные деревья.
Если до начала работы с данными невозможно определить, сколько памяти потребуется для их хранения, память следует распределять во время выполнения программы по мере необходимости отдельными блоками. Блоки связываются друг с другом с помощью указателей. Такой способ организации данных называется динамической структурой данных, поскольку она размещается в динамической памяти и ее размер изменяется во время выполнения программы.
Бинарное дерево - это иерархическая динамическая структура данных, состоящая из узлов и соединяющих их дуг. В каждый узел, кроме одного, ведет ровно одна дуга. Этот единственный узел называется корнем дерева.
С каждой вершиной дерева связывается конечное число отдельных деревьев, называемых поддеревьями. На рисунке изображено дерево, в узлах которого располагаются символы: