- •Цели программирования.
- •Уровни языков программирования. Языки ассемблера (история возникновения, отличительные особенности, пример языков).
- •Уровни языков программирования. Языки высокого уровня (история возникновения, отличительные особенности, пример языков).
- •Методы реализации программ. Компиляция (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •Методы реализации программ. Интерпретация (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •Методы реализации программ. Смешанная реализация (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •Методы реализации программ. Трансляция (схема получения результата из исходного кода, преимущества и недостатки, сравнительная таблица).
- •Жизненный цикл программного продукта.
- •Этапы решения задач на эвм.
- •Критерии качества программ.
- •Способы записи алгоритма. Блок-схемы.
- •Способы записи алгоритма. Псевдокод.
- •Способы записи алгоритма. Сравнение различных подходов. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- •Высоконадежная память:
- •Принципы типизации данных.
- •Иерархия простых типов данных.
- •Стандартные типы данных. Таблица характеристик. Особенности выбора типа
- •Правила приведения типов.
- •Оператор sizeof.
- •Константы. Специальные символы. Квалификатор const.
- •Область видимости переменных.
- •Операторы управления областью видимости.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- •Понятие ассоциативности, приоритета, размерности. Таблица приоритета операций.
- •Арифметические операции.
- •Логические операции (краткая схема вычислений).
- •Побитовые операции (таблицы истинности).
- •Структурное программирование: историческая справка.
- •Принципы структурного программирования.
- •Структурное программирование: три базовые конструкции.
- •Основные операторы.
- •Пустой оператор.
- •Оператор присваивания (синтаксис, логика работы, полная и сокращённая форма, порядок выполнения, контекст вычисления, пример).
- •Условный оператор (полная и краткая формы, неоднозначность условного оператора).
- •Составной оператор (синтаксис, логика работы, пример).
- •Неоднозначность условного оператора.
- •Связь между несколькими условными операторами и сложными логическими выражениями.
- •Оператор выбора (синтаксис, логика работы, пример).
- •Ссылки (понятие, способы применения).
- •Подпрограммы (синтаксис, виды подпрограмм, контекст, пример).
- •Оператор return.
- •Прототипы функций (понятие, назначение, способы применения).
- •Библиотеки функций. Оператор #include.
- •Создание пользовательских библиотек.
- •Способы передачи параметров в функции.
- •Способы передачи значения из одной функции в другую.
- •Рекурсия (понятие, правила написания рекурсивных подпрограмм, прямая и обратная и косвенная рекурсии).
- •Параметры по-умолчанию.
- •Перегрузка функций.
- •Перегрузка операторов.
- •Шаблоны функций.
- •Разрешение неоднозначностей при вызове функций.
- •Одномерные массивы (объявление, индексация, хранение в памяти, сортировка). Пример: поиск второго наибольшего по величине значения в массиве.
- •Типовые алгоритмы обработки массивов.
- •77. Указатели (назначение, синтаксис, операции).
- •78. Различие между указателями и ссылками.
- •79. Динамическая память (выделение и освобождение памяти под переменные, одномерные массивы, двумерные массивы).
- •80. Тип данных «массив массивов».
- •81. Представление строк в языках программирования. Достоинства и недостатки различных представлений (отличие ‘a’ от “a”).
- •82. Основные алгоритмы обработки строк.
- •Функции классификации Функции преобразования
- •85. Файлы (понятие, текстовые и двоичные файлы, структурированные и неструктурированные, операции, основные библиотеки для работы с файлами).
- •86. Потоковый ввод-вывод. Библиотека потокового ввода-вывода.
- •88. Файловый ввод-вывод. Стандартная библиотека ввода-вывода.,
- •90. Типовые алгоритмы обработки файлов.
- •92. Создание простых бд с помощью массива структур.
- •93. Списки (определение, типовые операции, использование).
- •94. Создание простых бд с помощью списков.
80. Тип данных «массив массивов».
Выделение памяти. Синтаксис:
<тип данных массива>**<имя массива>= new *<тип элементов>[кол-во элементов];
ЦИКЛ ОТ «0» ДО «кол-во строк»
<тип данных массива>*<имя массива>= new <тип элементов>[кол-во элементов];
Удаление выделенной памяти . Синтаксис:
ЦИКЛ ОТ «0» ДО «кол-во строк»
delete []<имя массива>[индекс элементов]; \\ индекс строк
delete []<имя массива>;
Пример:
…
int **a=new *int[10]; \\ выделение памяти под массив 10 на 5
for (int i=0;i<10;i++)
int*a[i]=new int[5];
for (int i=0;i<10;i++) \\ обработка массива – обнуление элементов
for (int j;j<5;j++)
a[i][j]=0;
for (int i=0;i<10;i++) \\ удаление выделенной памяти
delete []a[i];
delete []a;
…
81. Представление строк в языках программирования. Достоинства и недостатки различных представлений (отличие ‘a’ от “a”).
В разных языках программирования строки представляются по-разному. В большинстве языков для представления строк используются отдельные типы. В некоторых языках программирования отдельный тип не предусмотрен поэтому они представляются как массив символов. Каждый символ имеет свой код в таблице ASCII.
Отличие ‘ A‘ от “A” : в ‘ ‘ указывается одиночный символ типа char. А в “ “ может указываться целая строка.
82. Основные алгоритмы обработки строк.
1. Нахождение длины строки
В с++ это можно реализовать циклом While. Пока символ строки не будет равен ‘\0’ накапливать счётчик, после вывести результат накопления
2. Нахождения кол-ва символов в строке
Аналогично поиску кол-во символов только с добавлением условия на поиск чего то определённого
3.Нахождения кол-ва слов в строке
Опять же как в п.1 только с поиском символа пробел ‘ ‘ и так же накапливать счётчик.
4. Найти самое длинное\короткое слово в строке.
Аналогично п.3 только с заведением переменных, которые будут запоминать длину слова сравнивать её с остальными и записывать его, после чего выводить результат на экран
5. Удаление символов из строки
Например можно при нахождении нужного символа перезаписывать данную строчку со сдвигом на 1 символ влево вплоть до этого символа, а можно завести 2 строчку в которую записывать все символы кроме ненужных и выводить уже её.
6. Удаление слов из строки.
Аналогично п.5 только работая со словами.
83. Основные функции стандартной библиотеки <cctype>.
Функции классификации Функции преобразования
#include <ctype.h> #include <ctype.h>
int isalnum(int c); int tolower(int c);
int isalpha(int c); int toupper(int c);
int isblank(int c);
int iscntrl(int c); Функции для изменения регистра букв
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
Эти функции проверяют, является ли аргумент буквой или цифрой, пробелом или табуляцией, управляющим символом, десятичным числом, печатным символом (кроме пробела), символом в нижнем регистре, печатным символом (в том числе пробелом), пробелом, символом в верхнем регистре или шестнадцатиричным числом.
84. Основные функции стандартной библиотеки <cstring>.
strcpy() –копирование в строку, возвращает строку
char * strcpy ( char * destination, const char * source );
strcmp() – сравнение строк, возвращает число : 0-равны, >0 – первая строка длинее второй и наоборот если <0.
int strcmp ( const char * str1, const char * str2 );
strcat() – прибавление к строке.
char * strcat ( char * destination, const char * source );