Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЛеонид Фарколин
1 Лекция 1 Классификация С++
2 Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция 1 Инструкция 2 Инструкция 3 Функция 1 ( Функция 2 ( число, Функция 3 ())) Утверждение 1 Утверждение 2 Вопрос? Утверждение 1 Утверждение 2 Вопрос?
3 Подходы императивной парадигмы Основные – Процедурный подход – Объектно-ориентированный подход Дополнительные – Субъектно-ориентированный подход – Аспектно-ориентированный подход – Событийно-ориентированный подход – Обобщенный подход – И т.п.
4 Процедурный подход Программа состоит из последовательности инструкций, описывающих способ (процедуру) решения задачи посредством изменения переменных. Переменные – адресуемые (по имени или иным способом) области памяти, используемые для доступа к данным. Действие программы – последовательное изменение содержимого памяти для получения результата.
5 Объектно-ориентированный подход Все данные являются объектами Каждый объект имеет независимую память, состоящую из данных и, возможно, других объектов, а также набор методов для их обработки. Действие программы – последовательное взаимодействие объектов, при котором один объект требует, чтобы другой объект выполнил некоторое действие, посредством вызова соответствующего метода.
6 Типизация Переменные имеют тип, определяющий, какие операции применимы к значению и как их интерпретировать. Статическая типизация (имя,тип) (значение) Динамическая типизация (имя) (тип,значение)
7 Классификация С++ Язык С (ANSI C) – императивный процедурный язык со статической типизацией Язык С++ - императивный объектно- ориентированный язык со статической типизацией
8 Обобщенный процедурный язык
9 Виды инструкций Основные инструкции: Объявления переменных Выражения и Присваивание Инструкции ветвления: Метки Безусловные и условные переходы Инструкции группировки: Объявление и вызов функций
10 Объявление переменных Переменная – именованная область данных Константа – переменная, значение которой не может быть изменено Тип переменной определяет, какие операции применимы к значению и как их интерпретировать Объявление переменной – инструкция, связывающая имя переменной с некоторым типом.
11 Выражения и присваивание Выражение – синтаксическая конструкция, состоящая из переменных и операторов (действий над ними). Результат действия этих операторов на переменные называется значением выражения Логическое (условное) выражение, или просто условие – выражение, результатом вычисления которого являются значения «истина» или «ложь» Присваивание – инструкция, записывающая значение выражения в ассоциированную с переменной память
12 Переходы и метки Метка – символьное имя, назначаемое некоторой инструкции Точка входа – метка, начиная с которой исполняется программа Безусловный переход – инструкция, предписывающая продолжить исполнение программы с заданной метки Условный переход – инструкция, предписывающая продолжить исполнение программы с заданной метки, если выполнено некоторое условие
13 Пример: цикл с предусловием Точка входа: Инструкция 1 Инструкция 2 Метка 1: Если условие То переход на метку 2 Инструкция 3 Инструкция 4 Переход на метку 1 Метка 2: Инструкция 5 Инструкция 6... Точка входа: Инструкция 1 Инструкция 2 Метка 1: Если условие То переход на метку 2 Инструкция 3 Инструкция 4 Переход на метку 1 Метка 2: Инструкция 5 Инструкция 6...
14 Функции Функция (или подпрограмма) – именованная последовательность инструкций. Эта последовательность называется телом функции. Вызов функции – инструкция, предписывающая исполнить связанные с функцией инструкции, после чего продолжить исполнение со следующей после вызова инструкции Возврат – инструкция в теле функции, предписывающая продолжить исполнение программы со следующей после вызова функции инструкции
15 Аргументы функции Точка входа функции – метка, соответствующая началу исполнения функции Аргументы функции – необязательные связанные с функцией переменные, значения которых устанавливаются при каждом ее вызове Возвращаемые значения функции – необязательные переменные, значения которых устанавливаются при завершении функции
16 Пример функции функция 1: Инструкция 11 Инструкция возврат точка входа: Инструкция 1 Инструкция 2 Вызов функции 1 Инструкция 3... функция 1: Инструкция 11 Инструкция возврат точка входа: Инструкция 1 Инструкция 2 Вызов функции 1 Инструкция 3...
17 Виды инструкций Основные инструкции: Объявления переменных Выражения и Присваивание Инструкции ветвления: Метки Безусловные и условные переходы Инструкции группировки: Объявление и вызов функций
18 Пример программы на С++ 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 ( 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++
19 Пример программы на С++ 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 ( 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 ; } Объявление переменных
20 Пример программы на С++ 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 ( 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 ; } Вычисление выражений и присваивание
21 Пример программы на С++ 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 ( 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)
22 Точка входа в программу на С++ Без аргументовС аргументами командной строки Без кода возврата С кодом возврата int main () { return 0; } int main () { return 0; } void main ( int argc, char** argv) { } void main ( int argc, char** argv) { } int main ( int argc, char** argv) { return 0 ; } int main ( int argc, char** argv) { return 0 ; } void main () { } void main () { }
23 Пример программы на С++ 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 ( 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 ; } Функции
24 Пример программы на С++ 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 ( 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 ; } Вызов и возврат
25 Пример программы на С++ 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 ( 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 ; } Аргументы и возвращаемые значения функции
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.