🗊 Презентация Основы программирования. Функции С/С++

Нажмите для полного просмотра!
Основы программирования. Функции С/С++, слайд №1 Основы программирования. Функции С/С++, слайд №2 Основы программирования. Функции С/С++, слайд №3 Основы программирования. Функции С/С++, слайд №4 Основы программирования. Функции С/С++, слайд №5 Основы программирования. Функции С/С++, слайд №6 Основы программирования. Функции С/С++, слайд №7 Основы программирования. Функции С/С++, слайд №8 Основы программирования. Функции С/С++, слайд №9 Основы программирования. Функции С/С++, слайд №10 Основы программирования. Функции С/С++, слайд №11 Основы программирования. Функции С/С++, слайд №12 Основы программирования. Функции С/С++, слайд №13 Основы программирования. Функции С/С++, слайд №14 Основы программирования. Функции С/С++, слайд №15 Основы программирования. Функции С/С++, слайд №16 Основы программирования. Функции С/С++, слайд №17 Основы программирования. Функции С/С++, слайд №18 Основы программирования. Функции С/С++, слайд №19

Вы можете ознакомиться и скачать презентацию на тему Основы программирования. Функции С/С++. Доклад-сообщение содержит 19 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Основы программирования Функции С/С++
Описание слайда:
Основы программирования Функции С/С++

Слайд 2


Описание и вызов функции Формат объявления функции: тип_возвр имя(тип1, тип2,…); тип_возвр – тип возвращаемого значения, имя – имя функции, тип1,...
Описание слайда:
Описание и вызов функции Формат объявления функции: тип_возвр имя(тип1, тип2,…); тип_возвр – тип возвращаемого значения, имя – имя функции, тип1, тип2,… – типы формальных параметров функции Формат определения функции: тип_возвр имя(тип1 форм_п1, тип2 форм_п2,…) { тело функции; } форм_п1, форм_п2,… – формальные параметры Вызов функции: имя(факт_п1, факт_п2,…) факт_п1, факт_п2,… - фактические параметры, значения которых передаются в функцию

Слайд 3


Формальные и фактические параметры Формальные параметры – это внутренние входные переменные функции. Они создаются при вызове функции перед началом...
Описание слайда:
Формальные и фактические параметры Формальные параметры – это внутренние входные переменные функции. Они создаются при вызове функции перед началом ее работы, получают значения от фактических параметров, видны только в теле функции и удаляются при выходе из функции. Число параметров при определении и вызове функции должно быть одинаковым. Фактическим параметром может быть константа, переменная или выражение такого же типа, как у соответствующего формального, или приводимого к нему (например, константа int для параметра типа double). Передача параметров в С (не С++) всегда производится по значению, т.е. формальные параметры получают копии значений фактических параметров.

Слайд 4


Возвращаемое значение функции Тип возвращаемого значения – это любой тип С/С++ или специальный пустой тип void. В последнем случае считается, что...
Описание слайда:
Возвращаемое значение функции Тип возвращаемого значения – это любой тип С/С++ или специальный пустой тип void. В последнем случае считается, что функция не возвращает значение (аналог процедуры в Паскале). Выход из функции осуществляет оператор: return значение; (return; для возвращаемого типа void) он должен стоять везде, где возможен этот выход, чтобы функция обязательно возвращала значение. Значение – это константа, переменная или выражение возвращаемого типа или приводимого к нему по умолчанию. Результатом вызова функции является именно это значение, поэтому вызов может стоять в выражениях в правой части присваиваний, в операторах вывода и т.д.

Слайд 5


Пример: возведение числа в целую неотрицательную степень double power(double x, int p) { double res; int i; if (p < 0) return 0; for (res = 1, i = 1;...
Описание слайда:
Пример: возведение числа в целую неотрицательную степень double power(double x, int p) { double res; int i; if (p < 0) return 0; for (res = 1, i = 1; i

Слайд 6


Что происходит в памяти Переменные и параметры обеих функций – локальные, они создаются в стеке main power (1) power (2) i res res z i i x p p x x
Описание слайда:
Что происходит в памяти Переменные и параметры обеих функций – локальные, они создаются в стеке main power (1) power (2) i res res z i i x p p x x

Слайд 7


Обмен значениями - ошибка void swap(int a, int b) { int c = a; a = b; b = c; } void main(…) { int x = 3, y = 18; swap(x, y); } main swap (вход) swap...
Описание слайда:
Обмен значениями - ошибка void swap(int a, int b) { int c = a; a = b; b = c; } void main(…) { int x = 3, y = 18; swap(x, y); } main swap (вход) swap (выход) x a a y b b

Слайд 8


Обмен значениями через указатели void swap(int *a, int *b) { int c = *a; *a = *b; *b = c; } void main(…) { int x = 3, y = 18; swap(&x, &y); } main...
Описание слайда:
Обмен значениями через указатели void swap(int *a, int *b) { int c = *a; *a = *b; *b = c; } void main(…) { int x = 3, y = 18; swap(&x, &y); } main swap main после swap x a x y b y

Слайд 9


Передача параметров по ссылке В С++ возможен еще один способ передачи параметров в функцию – по ссылке. Ссылка – это скрытый указатель, который...
Описание слайда:
Передача параметров по ссылке В С++ возможен еще один способ передачи параметров в функцию – по ссылке. Ссылка – это скрытый указатель, который используется, как другое имя передаваемой переменной. Поэтому фактическими параметрами, которые передаются в функцию по ссылке, могут быть только переменные. void swap(int &a, int &b) { int c = a; a = b; b = c; } void main(…) { int x = 3, y = 18; swap(x, y); }

Слайд 10


Передача одномерного массива Если в функцию передается одномерный массив, то он никогда не дублируется: в качестве параметра передается указатель с...
Описание слайда:
Передача одномерного массива Если в функцию передается одномерный массив, то он никогда не дублируется: в качестве параметра передается указатель с адресом начала массива (статического или динамического). Кроме того, как правило, в функцию необходимо передать и текущую длину массива. Эквивалентные способы описания заголовка функции, которая получает вещественный массив длины n: int func(double *arr, int n); int func(double arr[], int n); int func(double arr[1000], int n);

Слайд 11


Функция вычисления минимума в массиве double getmin(double *x, int n) { int i; double minval; minval = x[0]; for (i = 1; i < n; i++) if (minval >...
Описание слайда:
Функция вычисления минимума в массиве double getmin(double *x, int n) { int i; double minval; minval = x[0]; for (i = 1; i < n; i++) if (minval > x[i]) minval = x[i]; return minval; } void main(…) { double z, a[100], *b; int k; cin >> k; b = new double[k]; … // заполнение массивов a и b z = getmin(a, 100); cout

Слайд 12


Передача двумерного массива При передаче в функцию двумерного статического массива необходимо явно указать в соответствующем параметре число...
Описание слайда:
Передача двумерного массива При передаче в функцию двумерного статического массива необходимо явно указать в соответствующем параметре число элементов в строке. Это связано с тем, что такой массив является, фактически «массивом массивов фиксированной длины», поэтому и функция может обрабатывать только матрицы с одинаковым числом столбцов. Кроме того, в функцию нужно непосредственно передавать количество строк и столбцов. Примеры эквивалентных заголовков: int func(int arr[][8], int nrow, int ncol); int func(int (*arr)[8], int nrow, int ncol);

Слайд 13


Функция для вывода матрицы void prinstat(int x[][4], int nrow, int ncol) { int i, j; for (i = 0; i < nrow; i++) { for (j = 0; j < ncol; j++) cout
Описание слайда:
Функция для вывода матрицы void prinstat(int x[][4], int nrow, int ncol) { int i, j; for (i = 0; i < nrow; i++) { for (j = 0; j < ncol; j++) cout

Слайд 14


Передача матрицы как одномерного массива В статическом двумерном массиве строки располагаются в памяти последовательно. Массив с n строками и m...
Описание слайда:
Передача матрицы как одномерного массива В статическом двумерном массиве строки располагаются в памяти последовательно. Массив с n строками и m столбцами – это n*m последовательных элементов, которые можно рассматривать как одномерный массив длины n*m. Поэтому функцию для работы с матрицей можно построить по-другому: в качестве формальных параметров задать одномерный массив, а также число строк и столбцов матрицы в теле функции изменить индексацию на одномерную при вызове функции передавать ей не матрицу, а адрес ее начального элемента

Слайд 15


Вывод матрицы как одномерного массива void prin1dim(int *x, int nrow, int ncol) { int i, j; for (i = 0; i < nrow; i++) { for (j = 0; j < ncol; j++)...
Описание слайда:
Вывод матрицы как одномерного массива void prin1dim(int *x, int nrow, int ncol) { int i, j; for (i = 0; i < nrow; i++) { for (j = 0; j < ncol; j++) cout

Слайд 16


Передача динамического массива Двумерный динамический массив фактически является самоопределенным: двойной указатель (имя массива) хранит адрес...
Описание слайда:
Передача динамического массива Двумерный динамический массив фактически является самоопределенным: двойной указатель (имя массива) хранит адрес массива указателей на строки каждый элемент последнего массива является указателем на одномерный массив (строку). Поэтому в функцию надо передать просто имя массива, число строк и столбцов. В теле функции нужно использовать обычную двойную индексацию.

Слайд 17


Вывод двумерного динамического массива void prindyn(int **x, int nrow, int ncol) { int i, j; for (i = 0; i < nrow; i++) { for (j = 0; j < ncol; j++)...
Описание слайда:
Вывод двумерного динамического массива void prindyn(int **x, int nrow, int ncol) { int i, j; for (i = 0; i < nrow; i++) { for (j = 0; j < ncol; j++) cout > m; a = new int* [n]; for (i = 0; i < n; i++) a[i] = new int [m]; … prindyn(a, n, m); }

Слайд 18


Координаты минимума в матрице void mincoor(double **x, int nrow, int ncol, int *rmin, int *cmin) { int i, j, rm = 0, cm = 0; for (i = 0; i < nrow;...
Описание слайда:
Координаты минимума в матрице void mincoor(double **x, int nrow, int ncol, int *rmin, int *cmin) { int i, j, rm = 0, cm = 0; for (i = 0; i < nrow; i++) for (j = 0; j < ncol; j++) if (x[rm][cm] > x[i][j]) { rm = i; cm = j; } *rmin = rm; *cmin = cm; } void main(…) { double **a; int rmin, cmin, nrow, ncol; … mincoor(a, nrow, ncol, &rmin, &cmin); cout

Слайд 19


Координаты минимума в матрице void mincoor(double **x, int nrow, int ncol, int &rmin, int &cmin) { int i, j; rmin = cmin = 0; for (i = 0; i < nrow;...
Описание слайда:
Координаты минимума в матрице void mincoor(double **x, int nrow, int ncol, int &rmin, int &cmin) { int i, j; rmin = cmin = 0; for (i = 0; i < nrow; i++) for (j = 0; j < ncol; j++) if (x[rmin][cmin] > x[i][j]) { rmin = i; cmin = j; } } void main(…) { double **a; int rmin, cmin, nrow, ncol; … mincoor(a, nrow, ncol, rmin, cmin); cout



Похожие презентации
Mypresentation.ru
Загрузить презентацию