
Вопросы к экзамену 16 группы.
Алгоритмы и их свойства. Представление алгоритмов.
структура программы и типы данных.
Основы программирования. Операторы.
Структурированные типы данных. Массивы.
Структурированные типы данных. Динамические массивы.
Этапы составления программы. Структурное программирование.
Структурированные типы данных. Строки.
Структурированные типы данных. Структуры (Struct).
Структурированные типы данных. Файлы.
Технологий программирования. Ошибки, тестирование.
Подпрограммы. Входные и выходные данные. Виды параметров.
Подпрограммы. Рекурсия.
Динамические структуры данных. Однонаправленный список.
Динамические структуры данных. Стек и очередь.
Динамические структуры данных. Бинарное дерево.
Объектно-ориентированное программирование. Определения. Классы.
Объектно-ориентированное программирование. Инкапуляция. Наследование. Полиморфизм.
Объектно-ориентированное программирование. Виды взаимодействия классов.
1 Алгоритмы и их свойства. Представление алгоритмов
Алгоритм – некая четкая система инструкция для исполнителя, которая приводит к решению задачи.
В качестве исполнителя может выступать и человек, и машина.
Каждый алгоритм должен обладать следующими свойствами: 1. дискретность
Алгоритм должен быть разбит на отдельные шаги, представляющие собой четкие, законченные действия.
2. понятность
При составлении алгоритма необходимо знать систему команд исполнителя и пользоваться только ими.
Системой команд исполнителя называется совокупность команд, которые могут быть выполнены исполнителем.
3.определенность
Каждое предписание алгоритма или его команда должны быть однозначно истолкованы и при одних и тех же исходных данных приводить к одним и тем же результатам.
4. массовость
Возможность алгоритма решать не одну конкретную задачу, а целый класс однотипных задач.
5. Результативность.
При точном выполнения команд алгоритма процесс должен завершиться за конечное число шагов и иметь конкретный результат.
Представление алгоритмов:
словесное в виде слов человеческого языка, исполнитель – человек
графическое блок-схемы
в виде последовательности шагов строгая инструкция, избранные слова человеческой речи, обозначающее определенные действия... (алгоритмический язык, к примеру и просто более жесткая инструкция, чем в 1) )
на языке программирования
в виде таблицы
Структура программы и типы данных
Программа с++ представляет собой проект, состоящий из файлов.
Текст программы содержится в исходных файлах, которые компилируются независимо друг от друга, а затем объединяются построителем (спец.прога) в единый исполнительный файл.
Заголовочные файлы .h содержат только информацию о (описание).
Файлы реализации .cpp содержат сами коды программ.
Основная структурная единица – функция (подпрограмма), фрагмент программы, который может вызываться из других программ.
При вызове функции передаются аргументы, которые могут быть использованы в теле функции.
Самое простое определение функции имеет формат:
имя ([параметры])
{
операторы, составляющие тело функции;
}
Каждый оператор заканчивается точкой с запятой.
Команды могут начинаться с любой позиции.
Для улучшения восприятия можно вставлять в программу пустые строки.
Одна из функций должна иметь имя main. Эта функция является главной функцией программы. Выполнение программы начинается с пер
вого оператора главной функции.
В общем виде:
#include <подключенные библиотеки>
using namespace <используемое поле имен>
int main()
{
операторы главной функции;
}
Типы данных
Обрабатываемые данные в программе делятся на переменные, константы, литералы (последние не имеют имени и представлены только своим значением)
Каждая структура программы имеет свое имя - идентификатор. Он состоит из букв, цифр или _, но без . пробелов и др. спецсимволов. Начинается имя только с буквы.
каждый тип данных характеризуется:
длиной участка памяти, который занимает переменная
областью допустимых значений
областью допустимых операций
Базовые типы языка C++
char символьный -128..127 1Байт в памяти
unsigned char беззнаковый символьный 0..255 1Б
int целый -32868..32676 2 или 4 Б
short int (short) короткий целый -32768..32767 2Б
long int (long) длинный целый (такой же, как long) -2147483648..2147483847 4Б
float длинный с плавающей точкой -3.4Е-38..3.4Е+38 4Б
double с плавающей точкой двойной точности -1.7Е-308..1.7Е+308 8Б
bool логический тип true (1) или false (0)
void пустое, функция не возвращает значение
Основы программирования. Операторы
Каждый оператор (команда) в C++ состоит из: операндов, знаков операций и скобок
операнды задают данные для вычислений
знаки операций – последовательность действий
скобки – приоритеты операций
операндами обычно являются переменные, которые представляют собой область данных, где хранится информация определенного типа.
Переменные могут быть временными (создаются и удаляются внутри подпрограммы) и постоянными (могут быть использованы в любом месте программы).
Операции в зависимости от количества операндов, с которыми они исполняются, могут быть:
унарными -1- i++
бинарными -2- a+b, сравнение, логические связки
тернарными -3-
Операторы в свою очередь подразделяются в зависимости от выполняемого действия.
Оператор выражения
a*=(b+c); f(a);
оператор ветвления if
разделяет вычисление на 2 ветви в зависимости от определенного условия
if (a<b)
{...;}
else
{...;}
переключатель switch
разделяет вычисление на несколько ветвлений
switch (x)//x может быть только целочисленным
{case 0: y=x*x;
case 1: y=x-1;
default: y=0;//если не выполнились все case (этакое иначе)
}
оператор цикла while используется, когда неизвестно количество повторений, повторяется до тех пор, пока условие верно
с предусловием
while (x>0)
{x--;}
с постусловием
do
{x--;}
while (x>0)
выполнится хотя бы 1 раз
оператор цикла с параметром for повторится определенное количество раз
for (int i=0; i>3; i++)
{cout<<i;}
выведет 0-2, т.е. выполнится 3 раза
оператор goto
переход к произвольному мету программы
goto метка;
метка: оператор;
оператор break
выход из цикла
while (x>0)
{x--;
if (x==0) break;
}
оператор continue
переход цикла на следующий круг досрочно
оператор return
возврат из функции с отдачей значения