- •Понятие алгоритма. Свойства алгоритмов. Основные этапы решения задач
- •1. Формулировка задачи
- •2. Математическая постановка задачи
- •3. Разработка алгоритма
- •4. Написание текста и ввод программы
- •5. Выполнение программы. Поиск и устранение синтаксических ошибок
- •6. Тестирование программы. Поиск и устранение логических ошибок в программе
- •Этапы создания исполняемой программы (загрузочного модуля).
- •Структуры и формы написания программы
- •Внутреннее представление данных
- •Классы памяти
- •Обмен данными через внешние переменные
- •Статические переменные
- •Стандартный ввод/вывод данных через потоки
- •Ввод данных
- •Вывод данных
- •Специфические операции
- •Операции присваивания
- •Некоторые нетрадиционные (унарные) операции
- •Условные выражения
- •Операция условия ?:
- •Выражения (в том числе и условные). Порядок выполнения операций в выражении. Таблица приоритетов.
- •Условный оператор if и его применение при программировании. Сокращенная форма оператора if
- •Полная форма оператора if
- •Множественный выбор else-if
- •Оператор выбора switch и его применение при программировании.
- •Циклические вычислительные процессы
- •Оператор цикла while и его применение при программировании. Цикл while – цикл с предусловием.
- •Оператор цикла do while и его применение при программировании. Цикл do while – цикл с постусловием
- •Оператор цикла for и его применение при программировании. Цикл for – цикл с предусловием
- •Операторы break, goto, continue их применение при программировании. Операторы передачи управления
- •Оператор break
- •Оператор continue
- •Оператор goto
- •Вложенные циклы.
- •Указатели и адреса: описание, инициализация и операции с указателями. Применение указателей при программировании.
- •Статические строки
- •Динамические строки
- •Стандартный цикл обработки строки
- •Одномерные числовые массивы
- •Статические массивы
- •Динамические массивы
- •Динамические матрицы
- •Циклы перебора матрицы
- •Программирование с использованием функций пользователя. Принципы построения функций.
- •Механизм вывода функции
- •Передача значения простого аргумента в функцию. Способы передачи простых данных в функцию
- •Передача в функцию значения аргумента
- •Рекурсивная функция
- •Передача функции в другую функцию через указатель. Параметр функции. Указатель на функцию.
- •Перегрузка функций.
- •Функции с параметрами по умолчанию
- •Шаблоны функций.
- •Формат функции шаблона
- •Механизм шаблона
- •Особенности проекта с функциями-шаблонами
Внутреннее представление данных
Целые данные представляются в ОП набором 0 и 1.
Любое вещественное число может быть представлено как величина в 0÷1*степень 10-ти.
,
где 13965 – мантисса, 3 – порядок.
В ОП определенное количество выделяется под мантиссу и под порядок. Чем больше значащих данных, тем точнее число.
+
Константы в языке С++.
Константа – данное, которое не может быть изменено в процессе выполнения программы. Оно представлено своим значением. Константе может быть присвоено имя двумя способами:
#define PI 3.1415926
Const double PI=3.1415926;
Тип константы определяется внешним видом или задается явно.
Константы делятся на:
Целые
Вещественные
Символьные
Строковые
a) Число без дробной части и без десятичной точки.
В зависимости от системы счисления, целая константа может быть десятичной, восьмеричной и шестнадцатеричной.
Десятичная – последовательность из десятичных цифр от 0 до 9, начинающаяся не с 0.
Восьмеричная - последовательность из восьмеричных цифр от 0 до 7.
Шестнадцатеричная
– цифры от 0 до 9 и(или) буквы от A
до F, начинающаяся с символа
(
.
b) Действительное положительное десятичное число, состоящее из целой части, дробной части и экспоненты (3.895±3). По умолчанию double.
c) Печатная символьная константа – одна буква/цифра/знак пунктуации/специальный символ в апострофе (‘a’ ; ’;’ ; ‘#’ ; ‘7’).
Непечатная – изображаются с помощью управляющих кодов(‘\n’ ; ‘\r’ ; ‘\\’).
Значение любого символа – целое число – код символа по таблице кодировки.
d) 0 или более символов, заключенные в двойные кавычки(“Язык Си” ; “ abc\n\n 56” ;
‘Строка\очень длинная’)
При помещении строки в ОП, в конец строки помещается специальный символ признака конца строки(‘\0’=0)
+
Переменные языка С++. Классы памяти и объявление переменных.
Переменная – данное, которое может быть изменено в процессе выполнения программы. Она характеризуется именем, значением, адресом и типом. Имя может состоять из маленьких и заглавных латинских букв, не содержит пробелов.
Значение – то данное, которое находится в ОП, выделенной под переменную в конкретный момент времени.
Адрес – уникальная характеристика каждого байта. Адрес переменной – адрес первого байта ОП, выделенного под переменную.
Тип - количество байт, выделенного под переменную, внутреннее представление данного памяти, множество значений и операции и функции, применимые к данным.
Каждая переменная в программе должна быть объявлена, т.е. ей присваивается тип с помощью оператора объявления типа.
Синтаксис: ИмяТипа ИмяПеременной;
В одном операторе можно объявить несколько переменных одного типа, разделяя их имена запятыми.
Можно присвоить ей первоначальное значение (инициализировать) с помощью константы того же типа.
Неинициализированные переменные содержат мусор.
Пример объявления переменных: int a, b=0; char simv=’f’; char name[20]=”Ivan”;
Классы памяти
int a;
void func( int a, …)
{
…
}
// внешняя переменная маскируется
int main(void)
{
int a;
func(a);
…
{
int a;
…
}
…
}
Любая переменная или функция относится к какому-либо классу памяти. Класс памяти задается по умолчанию местом объявления переменной в программе или явно, с помощью ключевого слова, которое пишется в начале оператора объявления типа. Класс памяти определяет время жизни и область действия переменной.
Время жизни – время выполнения программы, когда переменная сохраняет свое значение в оперативной памяти.
Область действия –часть программы, где переменная доступна по имени.
Класс памяти |
Как объявить? |
Область действия |
Время жизни |
Обнуление |
Extern Глобальная внешняя |
По умолчанию Вне функции |
Вся программа |
Вся программа |
+
|
Auto Автоматическая локальная |
В блоке |
Блок |
Блок |
- |
Register (рекомендованная) |
В блоке |
Блок |
Блок |
-
|
Static Внешняя статическая |
Все функции со словом static |
Файл |
Вся программа |
+ |
Static Локальная статическая |
В блоке со словом static |
Блок |
Вся программа |
+ |
