
- •Цели программирования
- •Области языков программирования. Научные приложения.
- •Области языков программирования. Коммерческие приложения.
- •Области языков программирования. Искусственный интеллект.
- •Области языков программирования. Системное программирование.
- •Области языков программирования. Языки сценариев.
- •Области языков программирования. Web-программирование.
- •9. Уровни языков программирования. Языки ассемблера(история возникновения, отличительные особенности, пример языков).
- •10. Уровни языков программирования. Языки высокого уровня(история возникновения, отличительные особенности, пример языков).
- •11. Методы реализации программ. Компиляция (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •12. Методы реализации программ. Интерпретация (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •14. Методы реализации программ. Трансляция (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •15. Критерии качества программ:
- •16. Алгоритм:
- •17. Способы записи алгоритма. Блок-схемы.
- •18. Способы записи алгоритма. Псевдокод.
- •19. Способы записи алгоритма. Сравнение различных подходов:
- •22. Концепция памяти
- •23. Принципы типизации данных.
- •24. Иерархия простых типов данных.
- •25. Смотри таблицу в конспектах
- •26. Правила приведения типов.
- •27. Оператор sizeof.
- •28. Переменные (объявление, инициализация, присвоение).
- •29. Константы. Специальные символы. Квалификатор const.
- •30. Область видимости переменных.
- •31. Операторы управления областью видимости.
- •32. Группы операций (особенности записи, таблица приоритетов).
- •37. Структурное программирование: историческая справка.
- •38. Принципы структурного программирования.
- •39. Структурное программирование: три базовые конструкции.
- •40. Основные операторы.
- •Пустой оператор.
- •Оператор присваивания (синтаксис, логика работы, полная и сокращённая форма, порядок выполнения, контекст вычисления, пример).
- •Составной оператор (синтаксис, логика работы, пример).
- •Условный оператор.
- •Неоднозначность условного оператора .
- •Оператор выбора (синтаксис, логика работы, пример)
- •48. Цикл с предусловием.
- •49. Цикл с предусловием.
- •50. Цикл с параметром
- •51. Взаимозаменяемость циклов
- •52. Оператор break
- •53. Оператор continue
- •54. Оператор ?: (синтаксис, логика работы, пример)
- •55. Ссылки (понятие, способы применения).
- •56. Подпрограммы (синтаксис, виды подпрограмм, контекст, пример).
- •57. Оператор return.
- •58. Прототипы функций (понятие, назначение, способы применения).
- •59. Библиотеки функций. Оператор #include.
- •60.Создание пользовательских библиотек
- •61. Способы передачи параметров в функции.
- •Способы передачи значения из одной функции в другую.
- •63. Рекурсия
- •64. Значения по умолчанию.
- •65. Перегрузка функции.
- •66.Перезагрузка операторов.
- •67.Шаблоны функций.
- •68. Разрешение неоднозначности при вызове функций.
- •69. Одномерные массивы (объявление, индексация, хранение в памяти, сортировка).
- •70. Типовые алгоритмы обработки элементов массива.
- •71.Двумерные массивы
- •72. Представление двумерного массива в виде одномерного. Соответствие индексов двумерного и одномерного
- •73. Многомерные массивы (объявление, индексация, хранение в памяти, сортировка). Пример
- •74. Указатели (назначение синтаксис, операции).
- •75. Различие между указателями и ссылками.
- •76. Динамическая память (выделение и освобождение памяти под переменные, одномерные массивы, двумерные массивы).
- •77. Тип данных «Массив массивов»
- •78. Представление строк в языках программирования. Достоинства и недостатки различных представлений (отличие ‘a’ от “a”).
- •Функции библиотеки cstring
- •Макросы
- •Типы данных
- •82. Файлы (понятие, текстовые и двоичные файлы, структурированные и неструктурированные, операции, основные библиотеки для работы с файлами).
- •Файловый ввод-вывод с использованием потоков
- •83. Потоковый ввод-вывод. Библиотека потокового ввода-вывода.
- •85. Файловый ввод-вывод. Стандартная библиотека ввода-вывода
- •87.Типовые алгоритмы обработки файлов
- •89.Создание простых бд с помощью массива структур.
- •90. Списки (определение, типовые операции, использование).
- •91. Создание простых бд с помощью списков.
87.Типовые алгоритмы обработки файлов
88. Структуры (назначение, синтаксис, использование, оператор ->).
Структура — это составной тип данных, который состоит из элементов разных типов.
Синтаксис:
struct part // part-название структуры, выбирается по своему усмотрению
{
int modelnumber; //члены структуры заключены в фигурные скобки и могут иметь //любой тип данных!
String stroka;
}; //точка с запятой является ограничителем определения.
Например:
struct point
{
float x;
float y;
int color;
string name;
};
Теперь, после того, как мы объявили структуру, пора создать ее экземпляр:
point points Обращение к элементу структуры осуществляется через точку:
points.x=0,5;
points.y=1;
cout<<points.name;
И так далее.
Если вы создаете структуры динамически, то обращение к элементу осуществляется через ->:
point *p;
p=new point;
p->x=1;
p->y=2;
Оператор ->, который обычно называют оператором стрелки, состоит из знака "минус", за которым следует знак "больше". Стрелка применяется вместо оператора точки тогда, когда для доступа к члену структуры используется указатель на структуру.
89.Создание простых бд с помощью массива структур.
#include <iostream>
struct ZNAK //название структуры
{char famili[50];
char name[50]; //поля структуры, которые вам нужны.
char zadiak[50];
int data[3];
};
int main()
{
ZNAK a[1000]; /*создание массива структур, т. е. а[1].family=”петров”; и
* а[2].family=”сидоров”; разные вещи, вы работаете с массивом структур как с обычным *массивом, просто учитывая что у вас не просто элементы стандартного типа, а уже *пользовательского! И каждый элемент массива имеет, можно сказать подэлементы.*/ Обращаться *с этими элементами надо как и с обычной переменной.
cout<<a[5]. famili <<endl; //вывод шестого элемента на экран
cout<<a[5]. name <<endl; //как мы видим мы можем любой элемент структуры вывести на
cout<<a[5]. znak <<endl; //экран, достаточно будет указать его индекс и название поля
for(int i=0; i<3; i++) //которое вы хотите вывести.
cout<<a[5]. Data[i]<<”.”;
//С операцией ввода всё идентично, только вместо cout<< используйте cin>>
return 0;
}
В принципе это и есть простая база данных, составленная с помощью массива структур.
90. Списки (определение, типовые операции, использование).
Список - это совокупность объектов, называемых элементами списка, в которой каждый объект содержит информацию о местоположении связанного с ним объекта
Каждый элемент списка представим структурой языка C++ с двумя полями:
• информационное поле, которое в общем случае может содержать произвольное количество полей разных типов. Ясно, что если значением переменной p является ссылка на элемент списка, то присоединяя к обозначению (*p) с помощью точки имя соответствующего поля, можно манипулировать со значением любого поля информационной части;
• ссылка на следующий элемент списка.
Каждую пару будем называть звеном, а ссылки, содержащиеся в каждом из звеньев, будем использовать для соединения звеньев в список. Такой способ представления упорядоченной последовательности звеньев называется сцеплением.
С учетом сказанного, мы можем описать звено списка так:
struct node
{
int data; //Информационный элемент звена списка
node *naxt; // Указатель на следующее звено списка
};
Чтобы иметь возможность оперировать со списком как с единым объектом, введем в употребление статическую ссылочную переменную p\head, которая указывает на первое звено списка и описывается следующим образом:
struct node *head;
Добовление нового элемента
head=new nade; //создание элемента списка
head->data=2; //присвоение значение информационному звену
head->next=new node; //создание второго элемента
head->next->data=8; //присваение второму элементу списка значения
head->next->next=Null; //завершение списка