
- •2. Программа. Обзор существующих парадигм программирования.
- •6. Операторы инкремента и декремента. Побитовые операторы языка
- •7. Операторы присваивания. Условный оператор. Оператор sizeof.
- •12. Инструкции break и continue
- •18.Функция. Объявление и определение функции: назначение,
- •19. Функция. Возврат значения из функции: синтаксис, пример.
- •22. Символьный тип: размер, диапазон. Связь символа и ascii-кода.
- •23.Символьные строки. Null-символ. Ввод и вывод символьных
- •24.Функции работы со строками: назначение, синтаксис, примеры
- •26.Разыменование указателей. Арифметические операции над указателями. Связь указателей и массивов. Примеры.
- •27.Указатели как аргументы функций. Массивы указателей.
- •28.Указатель на константу, константный указатель на переменную,
- •30.Структуры, объединения, перечисления.
1.Алгоритм. Способы записи алгоритмов. Блок-схема. Под алгоритмом понимают постоянное и точное предписание (указание) исполнителю совершить определенную последовательность действий, направленных на достижение указанной цели или решение поставленной задачи. Для записи алгоритмов используют самые разнообразные средства. Выбор средства определяется типом исполняемого алгоритма. Выделяют следующие основные способы записи алгоритмов: - вербальный, когда алгоритм описывается на человеческом языке; - символьный, когда алгоритм описывается с помощью набора символов; - графический, когда алгоритм описывается с помощью набора графических изображений. Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка. Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками.
начал и коне
ввод
действие
усл
2. Программа. Обзор существующих парадигм программирования.
Под программой понимается логически упорядоченная последовательность команд, необходимая для управления компьютером.
это система идей и понятий, определяющих стиль написания компьютерных программ, а также образ мышления программиста.
Объе́ктно-ориенти́рованное, или объектное, программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода.
Функциона́льное программи́рование —парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних.
Структу́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
В соответствии с данной методологией
Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
Декларативное программирование — термин с двумя различными значениями.
Согласно первому определению, программа «декларативна», если она описывает каково́ нечто, а не как его создать. Например, веб-страницы на HTML декларативны, так как они описывают что должна содержать страница, а не как отображать страницу на экране. Согласно второму определению, программа «декларативна», если она написана на исключительно функциональном, логическомили языке программирования с ограничениями.
Императи́вное программи́рование — это парадигма программирования, которая, описывает процесс вычисления в виде инструкций, изменяющих состояние программы. Императивная программа очень похожа на приказы, выражаемые повелительным наклонением в естественных языках, то есть это последовательность команд, которые должен выполнить компьютер.
3. Типы данных языка С++. Объявление переменных в С++.
В Си существует несколько базовых типов:
1)char – единичный байт, который может содержать один символ из допустимого символьного набора;
2)int – целое, обычно отображающее естественное представление целых в машине. Количество байт, отведенных под int, зависит от архитектуры процессора – используется размер, с которым процессору легче работать, а также от используемого компилятора.
3)float – число с плавающей точкой одинарной точности.
4)double – число с плавающей точкой двойной точности.
5)bool – логический. Величины логического типа могут принимать только значения true и false. 0 интерпретируется как false, любое другое значение как true.
6)wchar_t (появился в C++) – расширенный символьный. Предназначен для работы с набором символов, для кодировки которого недостаточно одного байта, например, Unicode. Размер этого типа зависит от реализации и, как правило, соответствует типу short.
7)void. Множество значений этого типа пусто. Он используется для определения возвращаемого значения функции, для указания пустого списка аргументов функции, как базовый тип для указателей и в операции приведения типов.
Все переменные должны быть объявлены раньше, чем будут использоваться. Объявление специфицирует (указывает) тип и содержит список из одной или нескольких переменных этого типа, например:
int a, b, c;
char ch;
В своем объявлении переменная может быть инициализирована (получить начальное значение), например:
int a, b = 3, c;
char ch = '\0';
К любой переменной в объявлении может быть применен квалификатор const для указания того, что ее значение далее не будет изменяться.
const double pi = 3.1415926;
4. Константы в языке С++. Численные, символьные, строковые константы. Целая константа, например, 1234, имеет тип int. Константа типа long завершается буквой l или L, например, 123456789L. Беззнаковые константы заканчивают буквой u или U, а окончание ul или UL обозначает unsigned long.
Если константа начинается с нуля, то мы имеем дело с ее восьмеричным представлением (056), если с 0x или 0Х – константа представлена в шестнадцатеричном виде.
Символьная константа есть целое, записанное в виде символа, обрамленного одиночными кавычками, например, 'u'. Значением символьной константы является численный код символа из набора символов на данной машине (например, '0' в кодировке ASCII представлен числом 48 и не имеет отношения к численному значению 0).
Некоторые символы в символьных и строковых константах записываются с помощью Esc-последовательностей, например, \n – символ перевода строки, \t – символ табуляции, \\ - символ обратной косой черты. Произвольный восьмеричный код можно задать в виде \ooo (трех восьмеричных цифр), а шестнадцатеричный – в виде \0xhh.
Символьная константа '\0' – это символ с нулевым значением, так называемый символ null.
Строковая константа – это нуль или более символов, заключенных в двойные кавычки, например, "Это строковая константа".
5. Арифметические операторы языка С++. Логические операторы и
операторы отношения языка С++. 1)
1)Арифметические операторы. К ним относятся +, -, *, / и оператор деления по модулю % (x % y дает остаток от деления х на y, если x делится на y нацело, результатом будет нуль). Бинарные операторы + и – имеют одинаковый приоритет, который меньше приоритета *, / и %, который, в свою очередь, ниже приоритета унарных операторов + и -. Арифметические операции одного приоритета выполняются слева направо.
2)Операторы отношения и логические операторы. Операторами отношения являются >, >=, <, <=. Все они имеют одинаковый приоритет. Сразу за ними идет приоритет операторов сравнения == и !=. Операторы отношения имеют более низкий приоритет, чем арифметические операторы.
Логические операторы – это && (AND) и || (OR). При их использовании нужно иметь в виду одну интересную особенность. Их операнды вычисляются слева направо, и вычисления прекращаются, когда становится известной истинность или ложность результата (то есть если x = 1, y = 0, то при вычислении x||y значение y не будет участвовать в вычислении результата). Приоритет && выше, чем у ||, но их приоритеты ниже, чем приоритет операторов отношения и равенства. Унарный оператор ! преобразует ненулевой операнд в 0, а нуль в 1.