- •Структурно-функціональна організація апаратного та програмного забезпечення обчислювачів.
- •1.4 Структура аом
- •1.5 Структура гом
- •Системи машинних команд процесорів, формати даних і способи кодування команд і даних.
- •Способи організації доступу до даних та методи адресування команд і даних.
- •1.4 Організація підсистеми пам’яті комп’ютера.
- •1.5 Способи організації взаємодії апаратного забезпечення із системним програмним забезпеченням.
- •1.6 Взаємодія комп’ютера із зовнішніми пристроями.
- •Елементна база комп’ютерів.
- •2.2 Архітектура мп 80486, Pentium, мп adsp.
- •Базовая архитектура процессоров adsp-21xx
- •2.3 Архітектура процесора 80с51.
- •2.4 Risc-процесори ті їх архітектура.
- •2.5 Адресний простір. Способи адресації операндів.
- •2.6 Оперативна пам’ять: архітектура та принципи управління.
- •2.7 Система переривань та їх характеристики.
- •2.8 Динамічний розподіл пам’яті. Організація віртуальної пам’яті.
- •3.1 Склад системного програмного забезпечення.
- •3.2 Класифікація операційних систем.
- •Особенности алгоритмов управления ресурсами
- •Особенности аппаратных платформ
- •Особенности областей использования
- •Особенности методов построения
- •3.3 Різновиди мультизадачності в операційних системах.
- •3.4 Процеси та потоки в операційних системах.
- •Реальний та захищений режими адресації.
- •Особенности процессора 80286
- •Особенности процессоров 80386 — 80486
- •Страничная организация памяти
- •Описание
- •Использование
- •Структура адресного пространства ibm pc в реальном режиме Основная область памяти
- •Дополнительная область памяти
- •3.6 Оперативна пам’ять в мультизадачному режимі.
- •Алгоритми заміщення сегментів та сторінок у віртуальній пам’яті.
- •Структура жорсткого диску.
- •Vfat и длинные имена файлов
- •Файлова система hpfs.
- •Файлова система ntfs.
- •Керування процесами у операційних системах, їх стани та переходи. Управление процессами
- •Состояние процессов
- •Контекст и дескриптор процесса
- •Алгоритмы планирования процессов
- •Вытесняющие и невытесняющие алгоритмы планирования
- •3.11 Основні режими введення-виведення.
- •3.12 Оптимізація роботи з жорстким диском.
- •4.1 Структура системних областей пам’яті (ms-dos).
- •4.2 Програмування дискової підсистеми комп’ютера (mbr, Partition Table, fat12/16/32).
- •4.3 Програмування відеосистеми комп’ютера (cga, ega, vga).
- •4.4 Особливості програмування текстового та графічного режимів відеоадаптера.
- •4.5 Робота з маніпулятором миші (ms-dos, ms-Windows).
- •4.6 Обробка переривань.
- •4.1. Таблица векторов прерываний
- •4.2. Маскирование прерываний
- •4.4. Особенности обработки аппаратных прерываний
- •4.8 Ініціалізація dll-бібліотек, динамічний експорт та імпорт функцій у середовищі Microsoft Windows. Бібліотеки динамічної компоновки. Ініціалізація dll.
- •2.23.1. Статическая и динамическая компоновка
- •Експорт та імпорт функцій при використанні dll-бібліотек.
- •5.1 Системні та локальні шини, основні характеристики.
- •5.2 Шини з комутацією ланцюгів та комутацією пакетів. Розщеплення транзакцій.
- •5.3 Шини Firewire (ieee 1394), pci, pci-e, основні характеристики.
- •Особенности ieee - 1394
- •Шини pci основні характеристики.
- •ШиниPci-е, основні характеристики.
- •5.4 Стандарт ieee 1284 – 1994, фізичний та електричний інтерфейси.
- •5.6 Характеристики сучасних жорстких дисків.
- •5.7 Інтерфейси жорстких дисків в ibm pc, їх особливості.
- •5.8 Характеристики сучасних принтерів, сканерів.
- •5.9 Структура та принцип роботи сучасних модемів.
- •5.10 Основні характеристики джерел безперервного живлення.
- •6.1 Архітектура і стандартизація комп’ютерних мереж.
- •6.2 Лінії зв’язку: класифікація, характеристики, типи кабелів.
- •6.3 Методи кодування даних у комп’ютерних мережах.
- •6.4 Технології канального рівня tcp/ip та їх специфікації. Стек протоколов tcp/ip История и перспективы стека tcp/ip
- •Структура стека tcp/ip. Краткая характеристика протоколов
- •6.5 Мережеве обладнання: класифікація, функції.
- •Параметры сетевого адаптера
- •Функции и характеристики сетевых адаптеров
- •Классификация сетевых адаптеров
- •6.6 Протоколи локальних мереж: tcp, udp, iPv4, iPv6 та ін.
- •36. Протоколи транспортного рівня tcp и udp (загальна характеристика, порти)
- •37. Протокол транспортного рівня udp
- •Адресация iPv4
- •Синтаксис адреса iPv4
- •Типы адресов iPv4
- •Индивидуальные адреса iPv4
- •Групповые адреса iPv4
- •Широковещательные адреса iPv4
- •История создания
- •Исчерпание iPv4 адресов в 2011 году
- •Тестирование протокола
- •Внедрение протокола
- •Сравнение с iPv4
- •Автоконфигурация
- •Метки потоков
- •Механизмы безопасности
- •Основы адресации iPv6
- •Типы Unicast адресов
- •Формат пакета
- •Нотация
- •Зарезервированные адреса iPv6
- •6.7 Адресація в комп’ютерних мережах.
- •Ip адресация, классы ip адресов и значение маски подсети
- •Для чего нужны ip адреса?
- •Структура ip адреса
- •Разделение ip адреса на сетевую и узловую части
- •Классы ip адресов и маски подсети по умолчанию
- •Классовая и бесклассовая адресация
- •Назначение маски подсети
- •Публичные и частные ip-адреса
- •Адреса одноадресных, широковещательных и многоадресных рассылок
- •Одноадресная рассылка
- •Широковещательная рассылка
- •Многоадресная рассылка
- •Сравнение протоколов ip версии 4 (iPv4) и ip версии 6 (iPv6)
- •6.8 Об’єктивні характеристики комп’ютерних мереж.
- •6.9 Схема ip-маршрутизації.
- •6.10 Фрагментація ip-пакетів. Фрагментация ip-пакетов
- •6.11 Служби dns та dhcp.
- •Ключевые характеристики dns
- •Дополнительные возможности
- •Терминология и принципы работы
- •Рекурсия
- •Обратный dns-запрос
- •Записи dns
- •6.12 Протоколи маршрутизації. Протоколы маршрутизации
- •Віртуальні приватні мережі.
- •Уровни реализации
- •Структура vpn
- •Классификация vpn
- •По степени защищенности используемой среды
- •По способу реализации
- •По назначению
- •По типу протокола
- •По уровню сетевого протокола
- •6.14 Засоби забезпечення надійності функціонування та захисту комп’ютерних мереж.
- •7.1 Основи мови програмування Java.
- •7.2 Проміжне програмне забезпечення розподілених комп’ютерних систем. Архітектура rpc (Remote Procedure Calls).
- •7.3 Технологія rmi (Remote Method Invocation).
- •24. Java rmi Достоинства и недостатки Java rmi
- •7.4 Технологія corba .
- •7.5 Сервлет-технологія Java.
- •7.6 Сторінки jsp. Теги та вбудовані об’єкти jsp.
- •26. Теги и встроенные объекты jsp:
- •7.7 Технологія jms. Моделі jms-повідомлень.
- •Введение
- •Архитектура jms
- •Первое знакомство
- •Модель сообщений jms
- •Поля заголовка
- •Свойства (properties) сообщений
- •Уведомления сообщений
- •Интерфейс Message
- •Выборка сообщений
- •Доступ к отправленным сообщениям
- •Изменение полученного сообщения
- •Тело сообщения
- •7.8 Основи мови xml.
- •7.9 Протокол soap. Структура soap – документа.
- •1.4. Операторы
- •1.4.1. Оператор выражение
- •1.4.2. Пустой оператор
- •1.4.3. Составной оператор
- •1.4.4. Оператор if
- •1.4.5. Оператор switch
- •1.4.6. Оператор break
- •1.4.7. Оператор for
- •1.4.8. Оператор while
- •1.4.9. Оператор do while
- •1.4.10. Оператор continue
- •1.4.11. Оператор return
- •1.4.12. Оператор goto
- •8.2 Одновимірні та багатовимірні масиви. Покажчики. Масиви динамічної пам’яті.
- •8.3 Структури, об’єднання, бітові поля структур та об’єднань.
- •Объявление битовых полей
- •Доступ к элементам структур с битовыми полями
- •Размещение битовых полей в памяти
- •Призначення функції. Опис, визначення, виклик функції. Передача даних за значенням та за покажчиком.
- •Функції з параметрами, що замовчуються, зі зміними параметрами
- •8.5 Перевантаження функцій. Шаблони функцій. Покажчики на функції. Перевантажені функції, шаблони функцій.
- •8.6 Функції роботи з файлами. Введення/виведення даних різного типу у файл/з файлу.
- •Int fprintf(file *fp, char *format [,аргумент]…);
- •Int fscanf(file *fp, char *format [,указатель]…);
- •Визначення класу. Конструктор, перевантажені конструктори, деструктор.
- •8.8 Статичні члени класу. Дружні функції класу. Перевантаження операцій.
- •18 Ооп. Поняття дружніх функціїй. Різниця між дружньою функцією - членом класу та не членом класу.
- •19 Ооп. Поняття перевантаження операцій. Правила її використання.
- •8.9 Успадкування класів. Множинне успадкування.
- •9.1 Векторні, паралельні, конвеєрні системи.
- •9.2 Основні характеристики паралельних алгоритмів: ступінь паралелізму, прискорення, ефективність. Закон Амдала.
- •Математическое выражение
- •Иллюстрация
- •Идейное значение
- •9.3 Метод логарифмічного здвоєння та рекурсивного подвоєння.
- •9.4 Методи паралельного множення матриць. §34. Алгоритм умножения матриц
- •9.5 Стандарт mpi, основні функції для організації паралельних програм: ініціалізації та завершення паралельної програми, визначення рангу процесу, визначення загального числа процесів.
- •9.6 Функції двохточкового обміну.
- •9.7 Функції колективного обміну: розподілення, широкомовної розсилки, збору, зведення, сканування.
- •10.1 Архітектура субд. Функції субд.
- •2.1. Основные функции субд
- •2.1.1. Непосредственное управление данными во внешней памяти
- •2.1.2. Управление буферами оперативной памяти
- •2.1.3. Управление транзакциями
- •2.1.4. Журнализация
- •2.1.5. Поддержка языков бд
- •10.2 Реляційна модель та її характеристики.
- •10.3 Потенційні, первинні та зовнішні ключі.
- •10.4 Цілісність реляційних даних. Целостность реляционных данных
- •10.5 Операції реляційної алгебри.
- •10.6 Основні поняття sql: прості запити, склеювання таблиць; умови відбору рядків таблиць; агрегатні функції, запити з групуванням, складні запити. Sql. Простые запросы
- •Агрегатные функции, группировка данных
- •Запрос с группировкой
- •Пояснения
- •Сложные запросы
- •Объединение таблиц
- •Имена таблиц и столбцов
- •Создание обьединения
- •Объединение таблиц через справочную целостность
- •Объединения таблиц по равенству значений в столбцах и другие виды объединений
- •Объединение более двух таблиц
- •Объединение таблицы с собой псевдонимы
- •10.7 Інфологічна, логічна або концептуальна модель даних. Основные этапы проектирования баз данных Концептуальное (инфологическое) проектирование
- •Логическое (даталогическое) проектирование
- •Физическое проектирование
- •10.8 Функціональні залежності. 1, 2 та 3 нормальні форми відношень.
- •8 Нормалізація відношень. 1 та 2 нормальні форми.
- •9 Нормалізація відношень. 3 нормальна форма та нормальна форма Бойса-Кодда. Навести приклади
- •Нормальные формы er-диаграмм
- •Первая нормальная форма er-диаграммы
- •Вторая нормальная форма er-диаграммы
- •Третья нормальная форма er-диаграммы
- •Семантическая модель Entity-Relationship (Сущность-Связь)
- •Основные понятия er-модели
- •Уникальные идентификаторы типов сущности
- •Нормальные формы er-диаграмм
- •Первая нормальная форма er-диаграммы
- •Вторая нормальная форма er-диаграммы
- •Третья нормальная форма er-диаграммы
- •10.9 Багатозначні залежності та залежності з’єднання. 4 та 5 нормальні форми відношень.
- •9.3. Зависимости проекции/соединения и пятая нормальная форма
- •9.3.2. Зависимость проекции/соединения
- •9.3.3. Аномалии, вызываемые наличием зависимости проекции/соединения
- •9.3.4. Устранение аномалий обновления в 3-декомпозиции
- •2.5.5. Пятая нормальная форма
- •4.5. Нормальные формы
- •10.10 Проектування бд методом сутність-зв’язок. Er-діаграми. Моделирование методом "сущность-связь" Основные понятия модели "сущность-связь"
- •Графическая нотация модели: диаграммы "сущность-связь"
- •Нормализация модели "сущность-связь"
- •11.1 Властивості інформації. Класифікація загроз інформації.
- •11.2 Рівні захисту інформації в комп’ютерних мережах.
- •11.3 Законодавчий рівень захисту інформації.
- •11.4 Криптографічний захист інформації.
- •11.5 Стандарти симетричного шифрування даних.
- •11.6 Системи ідентифікації та аутентифікації користувачів.
- •11.7 Парольна система. Вимоги до паролів.
- •11.8 Методи та засоби захисту від віддалених мережевих атак.
1.4.12. Оператор goto
Использование оператора безусловного перехода goto в практике программирования на языке СИ настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их модификаций.
Формат этого оператора следующий:
goto имя-метки;
...
имя-метки: оператор;
Оператор goto передает управление на оператор, помеченный меткой имя-метки. Помеченный оператор должен находиться в той же функции, что и оператор goto, а используемая метка должна быть уникальной, т.е. одно имя-метки не может быть использовано для разных операторов программы. Имя-метки - это идентификатор.
Любой оператор в составном операторе может иметь свою метку. Используя оператор goto, можно передавать управление внутрь составного оператора. Но нужно быть осторожным при входе в составной оператор, содержащий объявления переменных с инициализацией, так как объявления располагаются перед выполняемыми операторами и значения объявленных переменных при таком переходе будут не определены.
8.2 Одновимірні та багатовимірні масиви. Покажчики. Масиви динамічної пам’яті.
3 С++. Одновимірні масиви даних: визначення, ініціалізація, доступ до елементів масиву. Організація введення-виведення елементів масивів даних.
Массив – совокупность переменных одного типа. В массиве хранятся элементы , которые имеют одно имя и отличаются индексом.
Одномерные массивы:
тип имя_массива [ размер]
где тип- задает тип элементов объявляемого массива. Элементами массива не могут быть функции и элементы типа void.
имя массива - – это идентификатор массива
размер – целочисленное константное выражение в квадратных скобках, задает количество элементов массива.
Массив может определяться следующими способами:
1) числовой константой int a1[10];
2) с помощью const const int M=4;
float b1[M];
float b2[M+2];
3) с помощью директивы define #define N 20:
char c1[N];
Инициализация массива – присвоение начальных значений элементов при определении массива. Элементы массива инициализируются:
1)неявно(поумолчанию). Внутри статические массивы заполняются нулями, а внешние произвольными значениями.
2)явно. Явно массив может инициализироваться двумя способами: полная и неполная инциализация.
Полная инициализация – после определения массива ставится знак «=» и через «,» присваиваются значения элементам массива. int a1[5]={1,2,3,4,5} При полной явной инициализации размер массива можно не указывать. int a2[]={1,2,3,4,5}
Неполная инициализация int a1[]={1,2,3} – остальным элементам присваиваются значение нуля или мусор.
Доступ к элементам массива осуществляется через индексы элементов. При чем перечисление элементов начинается с нуля.
Ввод массивов может осуществляться несколькими способами:
-передача данных в виде параметров командной строки при запуске программы;
-в цикле запрос-ответ, когда программа сама запрашивает значения элементов массивов, а пользователь вводит их с клавиатуры;
-чтение данных массивов из текстовых или бинарных файлов.
Вывод массивов может осуществляться как на экран дисплея, так и в текстовые или бинарные файлы.
4 С++. Багатовимірні масиви даних: визначення, розташування в пам'яті, ініціалізація, доступ до елементів массиву
Многомерный массив – массив массивов ( массив, элементы которого являются массивы)
Определение многомерного массива:
тип имя_массива [n1][n2]….[nk]
где тип- задает тип элементов объявляемого массива. Элементами массива не могут быть функции и элементы типа void.
имя массива - – это идентификатор массива
n1…nk-1 размер – целочисленное константное выражение в квадратных скобках, задает количество в массиве массивов размерности (k-1).
Общее количество элементов: n1*n2*… nk
Пример: int a[2][3]={1,2,3,4,5,6}
for(int i=0;i<2;i++)
for(int j=0;j<3;j++)
cout<<&a[i][j]<<” “<<a[i][j]<<”\n”
На экране: 0x8b10off4 1
0x8b10off4 1
0x8b10off6 2
0x8b10off8 3
0x8b10offA 4
0x8b10offC 5
0x8b10offE 6
Расположение массива в памяти:
Доступ к элементам многомерного массива осуществляется
1) через индексы.
int b[5][3][6]; // массив
b[5][3][6]=100; // последний элемент массива
2) с помощью указателей( разыменование массива)
*(a[1]+2) или *(*(a+1)+2)
Пример: cout<<”a=”<<a; // 0x8b10off4 (1)
cout<<”a[0]=”<<a[0]; // 0x8b10off4 (1)
cout<<”a[1]=”<<a[1]; // 0x8b10offA (4)
cout<<”a[1]=”<<*(а+1); // 0x8b10offA (4)
cout<<”a[1][1]=”<<*(*(a+1)+1); // 0x8b10offC (5)
cout<<”sizeof(a);// 12b
cout<<”sizeof(&a);// 12b
cout<<”sizeof(a[1]);// 6b
cout<<”sizeof(a[1][0]);// 2b
cout<<”sizeof(&a[][0]);// 4b
Инициализация многомерного массива:
1)неявно(поумолчанию). Внутри статические массивы заполняются нулями, а внешние произвольными значениями.
2)явно. Явно массив может инициализироваться двумя способами: полная и неполная инициализация. При явной инициализации допускается не указывать самую левую размерность массива.
Явная полная – int b[2][2]={1,2,3,4};
Int a[2][3]={{1,2,3},{9,10,11}};
При явной полной инициализации можно вводить дополнительные фигурные скобки.
Явная неполная- int a[5][4]={1,2,3};
int k[3][4]={{1,2},{1,2}};
5 С++. Покажчики. Визначення, ініціалізація і операції над покажчиками. Зв'язок масивів та покажчиків.
Указатель – это целая беззнаковая переменная, содержащая адрес памяти какого-либо объекта программы. Указатель может содержать адрес переменной, массива, структуры, другого указателя, функции. Для определения (создания) указателя используется запись:
тип *имя_указателя;
где тип указателя – это тип переменной, адрес которой содержит указатель.
int *ptri; // указатель на переменную типа int.
float *ptrf; // указатель на переменную типа float.
Каждое из этих определений выделяет в памяти ячейки для переменной типа указатель. Размер памяти, занимаемый указателем, можно определить: sizeof(имя_указателя). Например, int sz1=sizeof(ptri); int sz2=sizeof(ptrf);
В общем случае под указатель выделяется 4 байта для модели памяти large (2 байта – сегмент и 2 байта – смещение). Но сам указатель ни на что не указывает. Чтобы далее использовать эти указатели в программе, необходимо присвоить им конкретные значения с помощью операции присвоения, либо путем инициализации.
Указатель можно присваивать следующие значения:
адрес переменной, который можно получить с помощью операции &;
указатель, уже имеющий значение;
явно заданный адрес памяти.
Указатели можно инициализировать:
тип *имя_указателя=инициализирующее выражение;
Фрагмент программы с примерами инициализации:
Пример.
int a=11;int *ptra, *ptrb;
ptra =&a;// указателю присвоили адрес переменной a
ptrb=ptra; //указателю присвоили содержимое указателя ptra
printf("%d %p %p %p %p %p\n",a,&a,ptra,&ptra,ptrb,&ptrb);
char*vb=(char*)0xB8000000;//начальный адрес видеопамяти
printf("vb=%p &vb=%p",vb,&vb); // vb=B800:0000 &vb=8ABF:0FF6
В результате работы этого фрагмента получим:
11 8ADA:0FFE 8ADA:0FFE 8ADA:0FFA 8ADA:0FFE 8ADA:0FF6
vb=B800:0000 &vb=8ABF:0FF6
Указатель очень часто используются для обращения (доступа) к объекту, на который указывает указатель. Этот процесс называют разыменованием и выполняется он с помощью операции разыменования (разадресации) "*". Рассмотрим пример с операцией разыменования:
Пример .
float f=1.3, *pf=&f;
cout<<"pf="<<pf; // pf=0xF9B00FFC
cout<<" *pf="<<*pf; // *pf=1.3
*fp=2.7;
cout<<" f="<<f; // f=2.7
Операция разыменования дает содержимое области памяти, на которую указывает указатель, которое может быть любого типа. Для того, чтобы операции с содержимым были возможны, компилятору необходимо знать его тип. Указатель сдвигается вперед (при прибавлении целого числа N) или назад (при вычитании целого числа N) на соответствующее количество переменных того типа, на который указывает указатель. Значение указателя всегда изменяется на число байтов, равное N*sizeof(*имя_указателя) или N*sizeof(тип_указателя).
Указатели одного типа можно вычитать друг из друга. Разность указателей показывает, сколько переменных соответствующего типа может разместиться между этими указателями.
Складывать два указателя в языке С(С)++ запрещено.
Над указателями можно выполнять следующие операции:
взятие адреса & &ptra;
разыменование * *ptra;
определение размера указателя sizeof(ptra);
преобразование типов (char*)ptra;
присваивание ptra=&a;
сложение и вычитание целых чисел ptra+=3; ptra–=2;
инкремент, декремент ptra++; ptra–-;
вычитание указателей int n=ptra-ptrb;
операции отношения == != > >= < <= ptra>ptrb;.
Рассмотрим некоторые операции над указателями.
Пример .
int a=1,b=7,c;
int *pa=&a, *pb=&b, *pc=&c;
printf("pa=%p pb=%p pc=%p \n",pa,pb,pc);
printf("pa-pb=%d pa-pc=%d ",pa-pb, pa-pc);
Результат:
pa=8B04:0FFE pb=8B04:0FFC bc=8B04:0FFA
pa-pb=1 pa-pc=2
При определении указатель и переменная, на которую он указывает, могут быть определены как
Связь указателей с массивами
Существует связь между массивами и указателями. При определении массива ему выделяется память для всех элементов массива. Но имя массива воспринимается как константный указатель того типа, к которому отнесены элементы массива. Имя массива – это указатель-константа, значением которого служит адрес нулевого элемента массива.
Пример.
int m[]={1,2,3,4};
printf("*m=%d *(m+1)=%d\n",*m,*(m+1));// 1 2
for(int i=8;i<11;i++)
printf("%c",*(str+i));// C++
Если применить операцию sizeof(имя_массива), то результатом будет объем памяти в байтах, выделенный под весь массив. Если применить операцию взять адрес (&имя_массива), то получим адрес начального элемента массива. То есть имя массива ‑ это весь массив, а также адрес нулевого элемента.
Доступ к элементам массива осуществляется с использованием индекса, который является смещением от начала массива, arr[0], arr[1], arr[2]…, а также путем разыменования указателя *arr,*(arr+1),*(arr+2).
При обработке массива для компилятора без разницы, как записано обращение к элементам массива. Например:
int mas[4]={9,8,7,6};
int *pmas=mas;
Так к последнему элементу массива mas можно обратиться следующими способами: mas[3],*(mas+3),*(3+mas), 3[mas]. Эти записи эквивалентны. Можно также использовать указатель pmas: pmas[3],*(pmas+3),*(3+pmas), 3[pmas]. Все эти записи позволяют обратиться к элементу массива: 2[mas].
Динамическим называется массив, размер которого может меняться во время исполнения программы. Для изменения размера динамического массива язык программирования, поддерживающий такие массивы, должен предоставлять встроенную функцию или оператор. Динамические массивы дают возможность более гибкой работы с данными, так как позволяют не прогнозировать хранимые объёмы данных, а регулировать размер массива в соответствии с реально необходимыми объёмами. Обычные, не динамические массивы называют ещё статическими.
[править]Пример объявления динамического массива на языках C/C++
Одномерный динамический массив:
Создаем массив с 10-ю элементами типа int:
int *mas = new int[10];
Получить доступ к значению каждого элемента можно по индексу (порядковый номер):
mas[0] = 2; // присвоили значение 2 нулевому элементу массива mas
mas[1] = 7; // присвоили значение 7 первому элементу массива mas
//... и т.д.
Следовательно, если брать такой подход, то вам понадобится около десяти строк кода, чтобы проинициализировать весь массив. Для того, чтобы этого избежать напишем тоже самое в цикле:
for(int i = 0; i < 10; i++){
cin>>mas[i]; // пользователь вводит значение каждого i-того элемента массива
}
После чего работаем с массивом. Также его можно вывести на экран:
for(int i = 0; i < 10; i++){
cout << mas[i] << endl;
}
Для освобождения из памяти одномерного динамического массива используем оператор delete:
delete []mas;
В случае, если массиву память будет выделена при помощи malloc, то для освобождения такого массива из памяти следует использовать функцию
free(mas);