Скачать презентацию Лекция 1 Классификация С Парадигмы программирования Скачать презентацию Лекция 1 Классификация С Парадигмы программирования

Lection1_Classification.pptx

  • Количество слайдов: 25

Лекция 1 Классификация С++ Лекция 1 Классификация С++

Парадигмы программирования • Императивная Инструкция 1 Инструкция 2 Инструкция 3 • Функциональная Функция 1 Парадигмы программирования • Императивная Инструкция 1 Инструкция 2 Инструкция 3 • Функциональная Функция 1 ( Функция 2 ( число, Функция 3 ())) • Декларативная (логическая) Утверждение 1 Утверждение 2 Вопрос?

Подходы императивной парадигмы • Основные – Процедурный подход – Объектно-ориентированный подход • Дополнительные – Подходы императивной парадигмы • Основные – Процедурный подход – Объектно-ориентированный подход • Дополнительные – Субъектно-ориентированный подход – Аспектно-ориентированный подход – Событийно-ориентированный подход – Обобщенный подход – И т. п.

Процедурный подход • Программа состоит из последовательности инструкций, описывающих способ (процедуру) решения задачи посредством Процедурный подход • Программа состоит из последовательности инструкций, описывающих способ (процедуру) решения задачи посредством изменения переменных. • Переменные – адресуемые (по имени или иным способом) области памяти, используемые для доступа к данным. • Действие программы – последовательное изменение содержимого памяти для получения результата.

Объектно-ориентированный подход • Все данные являются объектами • Каждый объект имеет независимую память, состоящую Объектно-ориентированный подход • Все данные являются объектами • Каждый объект имеет независимую память, состоящую из данных и, возможно, других объектов, а также набор методов для их обработки. • Действие программы – последовательное взаимодействие объектов, при котором один объект требует, чтобы другой объект выполнил некоторое действие, посредством вызова соответствующего метода.

Типизация Переменные имеют тип, определяющий, какие операции применимы к значению и как их интерпретировать. Типизация Переменные имеют тип, определяющий, какие операции применимы к значению и как их интерпретировать. • Статическая типизация (имя, тип) → (значение) • Динамическая типизация (имя) → (тип, значение)

Классификация С++ • Язык С (ANSI C) – императивный процедурный язык со статической типизацией Классификация С++ • Язык С (ANSI C) – императивный процедурный язык со статической типизацией • Язык С++ - императивный объектноориентированный язык со статической типизацией

Обобщенный процедурный язык Инструкция 1 Инструкция 2 Инструкция 3. . . Инструкция N Обобщенный процедурный язык Инструкция 1 Инструкция 2 Инструкция 3. . . Инструкция N

Виды инструкций Основные инструкции: • Объявления переменных • Выражения и Присваивание Инструкции ветвления: • Виды инструкций Основные инструкции: • Объявления переменных • Выражения и Присваивание Инструкции ветвления: • Метки • Безусловные и условные переходы Инструкции группировки: • Объявление и вызов функций

Объявление переменных Переменная – именованная область данных Константа – переменная, значение которой не может Объявление переменных Переменная – именованная область данных Константа – переменная, значение которой не может быть изменено Тип переменной определяет, какие операции применимы к значению и как их интерпретировать Объявление переменной – инструкция, связывающая имя переменной с некоторым типом.

Выражения и присваивание Выражение – синтаксическая конструкция, состоящая из переменных и операторов (действий над Выражения и присваивание Выражение – синтаксическая конструкция, состоящая из переменных и операторов (действий над ними). Результат действия этих операторов на переменные называется значением выражения Логическое (условное) выражение, или просто условие – выражение, результатом вычисления которого являются значения «истина» или «ложь» Присваивание – инструкция, записывающая значение выражения в ассоциированную с переменной память

Переходы и метки Метка – символьное имя, назначаемое некоторой инструкции Точка входа – метка, Переходы и метки Метка – символьное имя, назначаемое некоторой инструкции Точка входа – метка, начиная с которой исполняется программа Безусловный переход – инструкция, предписывающая продолжить исполнение программы с заданной метки Условный переход – инструкция, предписывающая продолжить исполнение программы с заданной метки, если выполнено некоторое условие

Пример: цикл с предусловием Точка входа: Инструкция 1 Инструкция 2 Метка 1: Если условие Пример: цикл с предусловием Точка входа: Инструкция 1 Инструкция 2 Метка 1: Если условие То переход на метку 2 Инструкция 3 Инструкция 4 Переход на метку 1 Метка 2: Инструкция 5 Инструкция 6. . .

Функции Функция (или подпрограмма) – именованная последовательность инструкций. Эта последовательность называется телом функции. Вызов Функции Функция (или подпрограмма) – именованная последовательность инструкций. Эта последовательность называется телом функции. Вызов функции – инструкция, предписывающая исполнить связанные с функцией инструкции, после чего продолжить исполнение со следующей после вызова инструкции Возврат – инструкция в теле функции, предписывающая продолжить исполнение программы со следующей после вызова функции инструкции

Аргументы функции Точка входа функции – метка, соответствующая началу исполнения функции Аргументы функции – Аргументы функции Точка входа функции – метка, соответствующая началу исполнения функции Аргументы функции – необязательные связанные с функцией переменные, значения которых устанавливаются при каждом ее вызове Возвращаемые значения функции – необязательные переменные, значения которых устанавливаются при завершении функции

Пример функции функция 1: Инструкция 11 Инструкция 12. . . возврат точка входа: Инструкция Пример функции функция 1: Инструкция 11 Инструкция 12. . . возврат точка входа: Инструкция 1 Инструкция 2 Вызов функции 1 Инструкция 3. . .

Виды инструкций Основные инструкции: • Объявления переменных • Выражения и Присваивание Инструкции ветвления: • Виды инструкций Основные инструкции: • Объявления переменных • Выражения и Присваивание Инструкции ветвления: • Метки • Безусловные и условные переходы Инструкции группировки: • Объявление и вызов функций

Пример программы на С++ float max ( float a, float b ) { if Пример программы на С++ float max ( float a, float b ) { if ( a > b ) return a ; return b ; } int main () { float a ; a = 0. 1 ; float b = 3. 2 ; // calculate result float result = max( a, b ); return 0 ; } Программа на C++

Пример программы на С++ float max ( float a, float b ) { if Пример программы на С++ float max ( float a, float b ) { if ( a > b ) return a ; return b ; } int main () { float a ; a = 0. 1 ; float b = 3. 2 ; // calculate result float result = max( a, b ); return 0 ; } Объявление переменных

Пример программы на С++ float max ( float a, float b ) { if Пример программы на С++ float max ( float a, float b ) { if ( a > b ) return a ; return b ; } int main () { float a ; a = 0. 1 ; float b = 3. 2 ; // calculate result float result = max( a, b ); return 0 ; } Вычисление выражений и присваивание

Пример программы на С++ float max ( float a, float b ) { if Пример программы на С++ float max ( float a, float b ) { if ( a > b ) return a ; return b ; } int main () { float a ; a = 0. 1 ; float b = 3. 2 ; // calculate result float result = max( a, b ); return 0 ; } Точка входа (совпадает с неявной точкой входа в функцию main)

Точка входа в программу на С++ Без аргументов Без кода возврата С кодом возврата Точка входа в программу на С++ Без аргументов Без кода возврата С кодом возврата С аргументами командной строки void main () { } void main ( int argc, char** argv) { } int main () { return 0; } int main ( int argc, char** argv) { return 0 ; }

Пример программы на С++ float max ( float a, float b ) { if Пример программы на С++ float max ( float a, float b ) { if ( a > b ) return a ; return b ; } int main () { float a ; a = 0. 1 ; float b = 3. 2 ; // calculate result float result = max( a, b ); return 0 ; } Функции

Пример программы на С++ float max ( float a, float b ) { if Пример программы на С++ float max ( float a, float b ) { if ( a > b ) return a ; return b ; } int main () { float a ; a = 0. 1 ; float b = 3. 2 ; // calculate result float result = max( a, b ); return 0 ; } Вызов и возврат

Пример программы на С++ float max ( float a, float b ) { if Пример программы на С++ float max ( float a, float b ) { if ( a > b ) return a ; return b ; } int main () { float a ; a = 0. 1 ; float b = 3. 2 ; // calculate result float result = max( a, b ); return 0 ; } Аргументы и возвращаемые значения функции