Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Массивы. Функции

Содержание

Целое числоОбласти памяти соответствует имя переменной (в данном случае а) Оперативная памятьint a;4 байта
Владимир, 2012Массивы. ФункцииПрограммированиеЛекция № 4Кафедра бизнес-информатики ИЭМ ВлГУ Целое числоОбласти памяти соответствует имя переменной (в данном случае а) Оперативная памятьint a;4 байта Как представить вектор Массив – это конечная именованная последовательность однотипных величин.Размерность массива – количество его Индекс элемента массива – это его номерИндексация элементов в С++ идет с Значения элементов массива пишутся в фигурных скобкахПопытка вывода неинициализированных элементов вызовет ошибку В списке инициализации можно задать не все элементы, а несколько первых, в Допустимо не задавать размерность массива, в этом случае память будет выделена по Для доступа к элементам массива используются квадратные скобки:// d[0]=1.5, d[1]=2.5, d[2]=0double d[3]={1.5,2.5}; Как представить матрицу? В виде массива массивовСинтаксис объявления N-мерного массива:тип имя[размерность1][размерность2]…[размерностьN];int a[4][5]; 1 способ: Каждая строка заключается в свои фигурные скобки (можно не указывать Программа ищет номер строки двумерного массива, в которой больше всего нулей: const for (i = 0; i printf( Пример (подсчет суммы элементов массива): int a[][N]={1,2,3,4};int sum[N]={};for (int i = 0; Оператор break прекращает выполнение ближайшего внешнего для него оператора цикла. const int Оператор continue передает управление на ближайшую внешнюю проверку условия продолжения цикла.const int const int M=3, N=2;int a[M][N] = {{1,2}, {3,4}, {5,6}};int sum = 0;for ФункцииФункции используются для наведения порядка в хаосе алгоритмов. Бьорн Страуструп Функция — это именованная последовательность описаний и операторов, выполняющая какое-либо законченное действие.Синоним: Любая программа на C++ состоит из функций, одна из которых должна иметь Синонимы: прототип, заголовок, сигнатураЗадается имя функции, тип возвращаемого значения, типы параметров (можно Задается имя функции, тип возвращаемого значения, типы параметров (с именами), тело функции Может быть любым, кроме массива и функцииЕсли функция не возвращает значения, указывается Список параметров определяет величины, которые требуется передать в функцию при ее вызове. Для вызова функции в простейшем случае нужно указать ее имя, за которым Параметры, перечисленные в заголовке, называются формальными параметрами:int sum (int a, int b);// int sum(int a, int b); // объявление функции int _tmain(int argc, _TCHAR* argv[]){	int Возможность избежать дублирования кодаУпрощение структуры программПовышение степени абстракции программВозможность создавать библиотеки часто Керниган Б., Ритчи Д. Язык программирования Си. – СПб.: «Невский диалект», 2001.
Слайды презентации

Слайд 2 Целое число





Области памяти соответствует имя переменной (в данном

Целое числоОбласти памяти соответствует имя переменной (в данном случае а) Оперативная памятьint a;4 байта

случае а)

Оперативная память
int a;
4 байта


Слайд 3 Как представить вектор

Как представить вектор      ?Почему эта форма

?


Почему эта форма записи

плоха?

Вектор может иметь большую размерность
Необходимо иметь механизм для выполнения однообразных действий с элементами вектора


int a1 = 5, a2 = 3, a3 = 4;


Слайд 4 Массив – это конечная именованная последовательность однотипных величин.
Размерность

Массив – это конечная именованная последовательность однотипных величин.Размерность массива – количество

массива – количество его элементов.
Синтаксис:
тип имя[размерность];


int a[3];
float b[5];
char

c[15];

Массив


Слайд 5 Индекс элемента массива – это его номер
Индексация элементов

Индекс элемента массива – это его номерИндексация элементов в С++ идет

в С++ идет с нуля

int a[3]; // массив целых
//

элементы: a[0], a[1], a[2]

Индексация

a

a[0]

a[1]

a[2]


Слайд 6 Значения элементов массива пишутся в фигурных скобках


Попытка вывода

Значения элементов массива пишутся в фигурных скобкахПопытка вывода неинициализированных элементов вызовет

неинициализированных элементов вызовет ошибку времени исполнения
int a[3];
cout

a[2]; // ошибка!




int a[3]={5,3,4};
// a[0]=5, a[1]=3, a[2]=4

Инициализация


Слайд 7 В списке инициализации можно задать не все элементы,

В списке инициализации можно задать не все элементы, а несколько первых,

а несколько первых, в остальные будут записаны нули:


Заполнить массив

нулями можно так:
int с[10]={};




int b[5]={1,2,3};
// b[0]=1, b[1]=2, b[2]=3, b[3]=0, b[4]=0

Инициализация


Слайд 8 Допустимо не задавать размерность массива, в этом случае

Допустимо не задавать размерность массива, в этом случае память будет выделена

память будет выделена по числу элементов в списке инициализации:


Выделение

памяти происходит на этапе компиляции, поэтому размерность задается константой или константным выражением
const int M=5, N = 3;
int a[M*N]; // массив из 15 целых




double d[]={1.5,2.5,3.5};
// d[0]=1.5, d[1]=2.5, d[2]=3.5

Инициализация


Слайд 9 Для доступа к элементам массива используются квадратные скобки:

//

Для доступа к элементам массива используются квадратные скобки:// d[0]=1.5, d[1]=2.5, d[2]=0double

d[0]=1.5, d[1]=2.5, d[2]=0
double d[3]={1.5,2.5};
d[2]=3.5; // d[2]=3.5
double sum =

0; // переменная для хранения суммы
for (int i = 0; i < 3; i++) sum += d[i];
cout << "Сумма: « << sum << endl;
// Сумма: 7,5






Доступ к элементам массива


Слайд 10 Как представить матрицу? В виде массива массивов
Синтаксис объявления

Как представить матрицу? В виде массива массивовСинтаксис объявления N-мерного массива:тип имя[размерность1][размерность2]…[размерностьN];int

N-мерного массива:
тип имя[размерность1][размерность2]…[размерностьN];
int a[4][5]; // массив из 4 элементов,

каждый // из кот. является массивом из 5 эл-в








Многомерные массивы


Слайд 11 1 способ: Каждая строка заключается в свои фигурные

1 способ: Каждая строка заключается в свои фигурные скобки (можно не

скобки (можно не указывать число строк)
int mass2 [][2] =

{ {1, 1}, {0, 2}, {1, 0} };
2 способ: Все элементы указываются в одних фигурных скобках, массив инициализируется построчно:
int mass2 [3][2] = {1, 1, 0, 2, 1, 0};
// mass2[0][0]=1, mass2[0][1]=1
// mass2[1][0]=0, mass2[1][1]=2
// mass2[2][0]=1, mass2[2][1]=2








Двумерный массив: инициализация


Слайд 12 Программа ищет номер строки двумерного массива, в которой

Программа ищет номер строки двумерного массива, в которой больше всего нулей:

больше всего нулей:
const int M = 4, N

= 5; // размерности массива
int b[M][N]; // описание массива
int i, j; // счетчики циклов
for (i = 0; i for (j = 0; j // номер искомой строки,
// максимальное количество нулей
int istr = -1, max_count = 0;


Пример работы с двумерным массивом


Слайд 13 for (i = 0; i

for (i = 0; i

массива по строкам
int count = 0;
for (j = 0;

j if ( b[i][j] == 0) count++;
if ( count > max_count)
{
istr = i ; max_count = count;
}// if
}// for





Пример работы с двумерным массивом


Слайд 14 printf("Исходный массив:\n");
for (i = 0; i

printf(

= 0; j

;
}
if (istr == -1)
printf("Нулевых элементов нет");
else printf("Hoмep строки: %d", istr + 1 );





Пример работы с двумерным массивом


Слайд 15 Пример (подсчет суммы элементов массива):

int a[][N]={1,2,3,4};
int sum[N]={};
for

Пример (подсчет суммы элементов массива): int a[][N]={1,2,3,4};int sum[N]={};for (int i =

(int i = 0; i < N; i++)
{
for (int

j = 0; j < N; j++) sum[i]+=a[i][j]; // for2
cout << "Сумма элементов " << i+1 << "-й строки равна " << sum[i] << endl;
} // for1





Вложенные циклы


Слайд 16 Оператор break прекращает выполнение ближайшего внешнего для него

Оператор break прекращает выполнение ближайшего внешнего для него оператора цикла. const

оператора цикла.
const int M=3, N=2;
int a[M][N] = {{0,2},

{3,0}, {5,6}};
int sum = 0;
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
if (a[i][j]==0) break;
sum += a[i][j];
}
}
cout << sum << endl;





Оператор break

Результат: 14


Слайд 17 Оператор continue передает управление на ближайшую внешнюю проверку

Оператор continue передает управление на ближайшую внешнюю проверку условия продолжения цикла.const

условия продолжения цикла.

const int M=3, N=2;
int a[M][N] = {{0,2},

{3,0}, {5,6}};
int sum = 0;
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
if (a[i][j]==0) continue;
sum += a[i][j];
}
}
cout << sum << endl;





Оператор continue

Результат: 16


Слайд 18 const int M=3, N=2;
int a[M][N] = {{1,2}, {3,4},

const int M=3, N=2;int a[M][N] = {{1,2}, {3,4}, {5,6}};int sum =

{5,6}};
int sum = 0;
for (int i = 0; i

< M; i++)
{
int p = 1, j;
for (j = 0; j < N; j++)
{
if (a[i][j]==0) break;
p *= a[i][j];
}
if (j < N-1) continue;
sum += p;
}
cout << sum << endl;





Пример

Результат: 44


Слайд 19 Функции
Функции используются
для наведения порядка в хаосе алгоритмов.

ФункцииФункции используются для наведения порядка в хаосе алгоритмов. Бьорн Страуструп


Бьорн Страуструп


Слайд 20 Функция — это именованная последовательность описаний и операторов,

Функция — это именованная последовательность описаний и операторов, выполняющая какое-либо законченное

выполняющая какое-либо законченное действие.
Синоним: метод

f(x, y)= x *

y – математическая функция

Принимает значения параметров (x и y)
Возвращает результат (произведение)



Функция


Слайд 21 Любая программа на C++ состоит из функций, одна

Любая программа на C++ состоит из функций, одна из которых должна

из которых должна иметь имя main (с нее начинается

выполнение программы).

Функция начинает выполняться в момент вызова.

Любая функция должна быть объявлена и определена.



Функция


Слайд 22 Синонимы: прототип, заголовок, сигнатура
Задается имя функции, тип возвращаемого

Синонимы: прототип, заголовок, сигнатураЗадается имя функции, тип возвращаемого значения, типы параметров

значения, типы параметров (можно без имен):
тип имя ([тип_пар1, тип_пар2,…,

тип_парN]);

int f1 (int, int);
void f2 (double);
void f3();




Объявление функции


Слайд 23 Задается имя функции, тип возвращаемого значения, типы параметров

Задается имя функции, тип возвращаемого значения, типы параметров (с именами), тело

(с именами), тело функции – последовательность операторов и описаний

в фигурных скобках:

тип имя ([тип_пар1, тип_пар2,…, тип_парN])
{ тело функции; }

int sum (int a, int b)
{
return (a+b);
}



Определение функции


Слайд 24 Может быть любым, кроме массива и функции

Если функция

Может быть любым, кроме массива и функцииЕсли функция не возвращает значения,

не возвращает значения, указывается тип void

В теле функции возвращаем

значение с помощью оператора return (если значение не возвращается, return писать не надо)



Тип возвращаемого значения


Слайд 25 Список параметров определяет величины, которые требуется передать в

Список параметров определяет величины, которые требуется передать в функцию при ее

функцию при ее вызове.

Элементы списка параметров разделяются запятыми.



Для каждого параметра, передаваемого в функцию, указывается его тип и имя (в объявлении имена можно опускать).



Список параметров


Слайд 26 Для вызова функции в простейшем случае нужно указать

Для вызова функции в простейшем случае нужно указать ее имя, за

ее имя, за которым в круглых скобках через запятую

перечисляются имена передаваемых аргументов:
sum(3,5);
Если функция возвращает значение, она может входить в состав выражений:
int s = sum(3,5);

Вызов функции


Слайд 27 Параметры, перечисленные в заголовке, называются формальными параметрами:
int sum

Параметры, перечисленные в заголовке, называются формальными параметрами:int sum (int a, int

(int a, int b);
// a и b – формальные

параметры
Параметры, передаваемые при вызове функции, называются фактическими параметрами:
int s = sum(3,5);
// 3 и 5 – фактические параметры



Параметры функции


Слайд 28 int sum(int a, int b); // объявление функции
 
int

int sum(int a, int b); // объявление функции int _tmain(int argc, _TCHAR*

_tmain(int argc, _TCHAR* argv[])
{
int a = 2, b =

3, c, d;
c = sum(a, b); // вызов функции
cin >> d;
cout << sum(c, d); // вызов функции
return 0;
}
int sum(int а, int b) // определение функции
{
return (а + b);
}
 

Пример (вычисление суммы)


Слайд 29 Возможность избежать дублирования кода
Упрощение структуры программ
Повышение степени абстракции

Возможность избежать дублирования кодаУпрощение структуры программПовышение степени абстракции программВозможность создавать библиотеки

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

Преимущества

использования функций

  • Имя файла: massivy-funktsii.pptx
  • Количество просмотров: 118
  • Количество скачиваний: 0