Содержание
- 2. Методология структурного программирования Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы
- 3. Метод «сверху вниз» Сначала пишется текст основной программы, в котором, вместо каждого связного логического фрагмента текста,
- 4. Функции.Введение С увеличением объема программы становится невозможно удерживать в памяти все детали. Чтобы уменьшить сложность программы,
- 5. Объявление и определение функций Функция – это именованная последовательность описаний и операторов, выполняющая законченное действие, например,
- 6. Любая функция должна быть объявлена и определена. Объявление функции (прототип, заголовок) задает имя функции, тип возвращаемого
- 7. В теле функции должен быть оператор, который возвращает полученное значение функции в точку вызова. Он может
- 8. Список формальных параметров – это те величины, которые требуется передать в функцию. Элементы списка разделяются запятыми.
- 10. Прототипы функций В C++ вы не можете вызвать функцию до объявления самой функции. Все потому, что
- 11. Прототип функции — это функция, в которой отсутствует блок кода (тело функции). В прототипе функции находятся:
- 12. Область видимости переменных Область видимости переменных — это те части программы, в которой пользователь может изменять
- 13. Локальные переменные Переменные, которые используются внутри данной функции, называются локальными. Память для них выделяется в стеке,
- 14. Глобальные переменные Глобальные переменные – это переменные, описанные вне функций. Они видны во всех функциях, где
- 15. Статические переменные Статическая переменная (или еще «переменная со статической продолжительностью») сохраняет свое значение даже после выхода
- 16. Параметры функций Основным способом обмена информацией между вызываемой и вызывающей функциями является механизм параметров. Существует два
- 17. При передаче по адресу в стек заносятся копии адресов параметров, следовательно, у функции появляется доступ к
- 18. Для работы с функцией необходимо выполнить следующие этапы Описание функции (Прототип) Вызов функции Определение функции
- 19. Общая форма определения функции Тип_функции Имя_функции ( [Список_параметров ]) { Операторы; // Тело_функции return [значение]; }
- 20. #include using namespace std; void myfunc( ); // прототип функции myfunc int main( ) // главная
- 21. Передача значений в функцию В функцию можно передать одно или несколько значений. Значение, передаваемое в вызываемую
- 22. #include using namespace std; void box(int length, int width, int height); // прототип функции int main(
- 23. Возврат одного значения из функции Функция может вернуть значение в вызывающий ее код*. Возвращаемое значение указывается
- 24. #include using namespace std; int box(int length, int width, int height); int main( ) { cout
- 25. Необязательные аргументы функций double expnt (double x, unsigned int e = 2); int main( ) {
- 26. Необязательные аргументы функций: возможные ошибки попытка определения двух функций double expnt (double x, unsigned int e
- 27. Указатели и ссылки
- 28. Взаимоотношение имени переменной и её адреса в ОП Текст программы int i = 10; short int
- 29. Тип «указатель» Когда компилятор обрабатывает оператор определения переменной, например int i = 10; он выделяет память
- 30. Описание указателя Указатель – это объект, содержащий адрес начала области памяти, где хранится значение переменной. Так,
- 31. Размер указателя зависит от модели памяти, для VS C++ указатель занимает 4 байта, можно определять указатель
- 32. С указателями можно выполнять следующие операции: - разыменование (*) – получение значения величины, адрес которой хранится
- 33. Пример на применение операции разыменования Это означает, что по адресу переменной в памяти мы переходим к
- 34. Краткие итоги: Для экономии памяти и времени, затрачиваемого на обращение к данным, в программах используют
- 35. Пример сравнения указателей int x=10; int y=10; int *xptr=&x; int *yptr=&y; //сравниваем указатели if (xptr ==
- 36. Пример демонстрация ситуации, когда указатели различных типов указывают на одно и то же место в памяти.
- 37. Ключевые термины Адрес объекта – это адрес области оперативной памяти, по которому хранится объект в соответствии
- 38. Контрольные вопросы Почему указатель не может существовать как самостоятельный тип? С какой целью в программе может
- 39. Тип «ссылка» Ссылки представляют собой синоним имени, указанного при инициализации ссылки. Ссылку можно рассматривать как указатель,
- 40. Правила работы со ссылками Переменная-ссылка должна явно инициализироваться при ее описании, кроме некоторых случаев, когда она
- 41. ПРИМЕР: программа выполняет последовательность описанных выше операций. #include using namespace std; int main( ) { int
- 42. Возврат нескольких значений из функции Для того чтобы и в вызывающей программе и в функции работать
- 43. #include using namespace std; void box(int length, int width, int height, int &vol, int &ar); int
- 44. Резюме: При передаче фактических аргументов по значению в вызываемой функции создаются копии передаваемых значений. Поэтому любые
- 45. Пример передачи параметров по значению #include #include using namespace std; int sqr (int x); int main(void)
- 46. Пример передачи параметров по ссылке #include #include using namespace std; int sqr (int & x); int
- 47. Задача: 1. Написать функцию Power234(A, B, C, D), вычисляющую вторую, третью и четвёртую степени числа А
- 48. Задача: 2. Даны два вектора с координатами {1,-2,0}, {2, 7,-4}. Найти модуль каждого вектора, сумму векторов
- 49. mod_1= sqrt(float(a*a+b*b+c*c));// модуль первого вектора mod_2= sqrt(float(x*x+y*y+z*z));// модуль второго вектора cout cout u=a+x; v=b+y;w= c+z;// определение
- 50. Решение задачи в рамках структурного подхода #include #include using namespace std; void inp_vect(int & a, int
- 51. int main() { int a,b,c, x,y,z, u,v,w; //переменные для координат3-х векторов float mod_1, mod_2, scal_pr; //
- 52. scal_pr=(a*x+b*y+c*z)/(modul(a,b,c)*modul(x,y,z)); // обращение к функции внутри вычисляющего оператора cout system("pause"); return 0; }
- 54. Скачать презентацию