
- •Информация в материальном мире. Данные. Носители данных. Операции с данными.
- •Кодирование данных двоичным кодом. Кодирование целых и действительных чисел. Перевод десятичного числа в двоичную систему.
- •6. Файлы и файловая структура. Единицы измерения данных. Единицы хранения данных.
- •9. Методы классификации компьютеров. По назначению, по уровню специализации, по типоразмерам, по совместимости.
- •11. Классификация служебных программных средств
- •12.Устройство персонального компьютера. Базовая аппаратная конфигурация
- •Внутренние устройства системного блока.
- •Системы, расположенные на материнской плате. Оперативная память. Принцип работы. Характеристики. Процессор. Принцип работы. Связь с остальными устройствами пк. Системы команд cisc, risc.
- •16. Микросхема пзу и система bios.
- •21. Устройства вывода данных. Их характеристики, принципы работы.
- •23. Системный блок пк. Варианты исполнения.
- •24.Монитор. Принципы работы. Размеры. Частота обновления кадров.
- •Клавиатура. Принцип действия. Состав клавиатуры. Определение alt-кодов произвольных символов. Настройка клавиатуры.
- •Мышь. Принцип действия. Чувствительность.
- •30. Дисководы оптических дисков. Виды, емкость, характеристики.
- •35. Энергонезависимая память cmos.
- •36.Шинные интерфейсы материнской платы.
- •37. Периферийные устройства пк. Устройства ввода графической информации. Основные параметры.
- •39. Устройства хранения данных.
- •42. Организация файловой системы. Наименьшая единица хранения данных. Наименьшая единица адресации к данным. Системы fat32 и ntfs. Сравнение эффективности их работы.
- •47. Обеспечение взаимодействия с аппаратным обеспечением. Принцип динамического распределения ресурсов ос.
- •48.Обслуживание компьютера. Средства проверки, сжатия дисков. Средства управления виртуальной памятью. Средства кеширования дисков
- •Ввод – вывод данных, комментарии. Структура программы.
- •51. Критерии качества программ.
- •52. Условный оператор. Логические операторы. Синтаксис условной инструкции if-else. Вложенные условные инструкции. Пример программы попадания точки с координатами (X,y) в одну из четвертей плоскости.
- •59. Цикл while с постусловием. Синтаксис. Различие в выполнении с оператором while с предусловием.
- •60.Бесконечные циклы
- •61. Оператор for – бесконечный цикл.
- •62. Оператор for – пустой цикл. Цикл for без тела цикла
- •69. Динамическое распределение памяти. Указатели. Создание указателей. Выделение памяти.
- •71. Функции. Объявление функций. Передача массива в качестве параметра.
- •73. Объявление функции. Передача имен функций и указателей через список аргументов.
- •74.Передача массива в качестве параметра.
- •75. Передача указателей на массивы через список аргументов.
71. Функции. Объявление функций. Передача массива в качестве параметра.
Функции — одна из самых важных компонентов языка C++.
• Любая функция имеет тип, также, как и любая переменная.
• Функция может возвращать значение, тип которого в большинстве случаев аналогично типу самой функции.
• Если функция не возвращает никакого значения, то она должна иметь тип void (такие функции иногда называют процедурами)
• При объявлении функции, после ее типа должно находиться имя функции и две круглые скобки — открывающая и закрывающая, внутри которых могут находиться один или несколько аргументов функции, которых также может не быть вообще.
• после списка аргументов функции ставится открывающая фигурная скобка, после которой находится само тело функции.
• В конце тела функции обязательно ставится закрывающая фигурная скобка.
Функции очень сильно облегчают работу программисту и намного повышают читаемость и понятность кода, в том числе и для самого разработчика.
Пример построения функции
#include <iostream>
using namespace std;
void function_name ()
{
std::cout << "Hello, world" << std::endl;
}
int main()
{
function_name(); // Вызов функции
return 0;
}
Перед вами тривиальная программа, Hello, world, только реализованная с использованием функций.
Если мы хотим вывести «Hello, world» где-то еще, нам просто нужно вызвать соответствующую функцию. В данном случае это делается так: function_name();. Вызов функции имеет вид имени функции с последующими круглыми скобками. Эти скобки могут быть пустыми, если функция не имеет аргументов. Если же аргументы в самой функции есть, их необходимо указать в круглых скобках.
Когда массив используется в качестве аргумента функции, передается только адрес массива, а не копия всего массива. При вызове функции с именем массива в функцию передается указатель на первый элемент массива. (Надо помнить, что в С имена массивов без индекса - это указатели на первый элемент массива.) Параметр должен иметь тип, совместимый с указателем. Имеется три способа объявления параметра, предназначенного для получения указателя на массив. Важно понять, что при использовании массива в качестве аргумента функции происходит передача в функцию его адреса. Это означает, что код внутри функции действует и может изменять настоящее значение массива, используемого при вызове.
73. Объявление функции. Передача имен функций и указателей через список аргументов.
Функцию можно рассматривать как операцию, определенную пользователем. В общем случае она задается своим именем. Вызов функции может обрабатываться двумя разными способами.
Если она объявлена встроенной (inline), то компилятор подставляет в точку вызова ее тело. Во всех остальных случаях происходит нормальный вызов, который приводит к передаче управления ей, а активный в этот момент процесс на время приостанавливается. Объявление функции состоит из типа возвращаемого значения, имени и списка параметров. Вместе эти три элемента составляют прототип. Объявление может появиться в файле несколько раз. Объявления лучше всего помещать в заголовочные файлы, которые могут включаться всюду, где необходимо вызвать функцию. Таким образом, все файлы используют одно общее объявление. Если его необходимо модифицировать, изменения будут локализованы.
В объявлении функции описывается ее интерфейс. Он содержит все данные о том, какую информацию должна получать функция (список параметров) и какую информацию она возвращает. Для пользователей важны только эти данные, поскольку лишь они фигурируют в точке вызова. Интерфейс помещается в заголовочный файл.
Функции используют память из стека программы. Каждому параметру функции отводится место в данной области, причем его размер определяется типом параметра. При вызове функции память инициализируется значениями фактических аргументов. Стандартным способом передачи аргументов является копирование их значений, т.е. передача по значению. При этом способе функция не получает доступа к реальным объектам, являющихся ее аргументами. Вместо этого она получает в стеке локальные копии этих объектов. Изменение значений копий никак не отражается на значениях самих объектов. Локальные копии теряются при выходе из функции. Значения аргументов при передаче по значению не меняются. Однако такой способ передачи аргументов может не устраивать нас в следующих случаях:
передача большого объекта типа класса. Временные и пространственные расходы на размещение и копирование такого объекта могут оказаться неприемлемыми для реальной программы;
иногда значения аргументов должны быть модифицированы внутри функции.