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

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


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

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

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

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

Презентация на тему Основы программирования на c++

Содержание

Как обычно
Основы программирования  на C++Массивы, структуры, указатели: начало Как обычно Кое-что упустили: перегрузка функции.Под перегрузкой понимается создание существование функции со сходным именем Забегая вперед: передача аргумента по ссылкеПри передаче аргумента по значению, переданная переменная Примерvoid swap(int &a, int &b){int temp = a;a = b;b = temp;} Массивы Статические массивы ПонятиеМассив - это совокупность переменных одного типа, к которым обращаются с помощью общего Примеры объявлений массиваИнициализация при объявленииint mas[5] = { 228, 1337, 1488, 322, Многомерные массивыТакже можно создавать массивы массивов – многомерные массивыСоздаются массивы по такому Передача массива в функциюВ функцию может передаваться разными способами:int func(int mas[10]);int func(int *mas);int func(int mas[]); Примерint func(int count, int mas[]){int sum = 0;for (int i = 0; ЧТО ЭТО ТАКОЕ, МАТЬ ТВОЮ ЗА НОГУ?int func(int *mas); Указатели ПонятиеУказатель – адресная информация о расположении информационного ресурса, через которую пользователь может Мой внутренний Пикассо не смог выразить графически указатели лучше Пример для разобраться на досуге#include using namespace std;int main(){int var = 10;int *pointer;pointer = &var;cout Результат Указатели при массивах. АДъ#include using namespace std;int main(){int mas[10] = { 1,2,3,4,5,6,7,8,9,0 Результат401 2 3 4 5 6 7 8 9 0 -85899346000F3FE4C 00F3FE50 Динамический массивВ указатели также можно заносить нормальные значения типа указателя, если выделить Пример#include using namespace std;int main(void){setlocale(LC_ALL, При создании динамического массива используется другая конструкция:p = new int[N]; - где #include #include using namespace std;int main(void){srand(time(NULL));int *p; int N; cin >> N; Пример двумерного массива:#include using namespace std;int main(void){int N = 3, M = Тут кое-что упущено. Удаление массивовУказатели занимают память даже выходя за пределы видимости:int Правильный пример:int N = 3, M = 3;int **matrix;matrix = new int*[N];for ЗадачаДан двумерный массив целых чисел. Создать функцию, возвращающую определитель матрицы. Задача коллективнаяОбъявите указатель на массив типа int и выделите память память для Частое употребление массивов - строки Мемчик в конец
Слайды презентации

Слайд 2 Как обычно

Как обычно

Слайд 3 Кое-что упустили: перегрузка функции.
Под перегрузкой понимается создание существование

Кое-что упустили: перегрузка функции.Под перегрузкой понимается создание существование функции со сходным

функции со сходным именем другой функции, но другими аргументами

и/или возвращаемым значением.

int max(int a, int b);
int max(int a, int b, int c);
double max(double a, double b);




Слайд 4 Забегая вперед: передача аргумента по ссылке
При передаче аргумента

Забегая вперед: передача аргумента по ссылкеПри передаче аргумента по значению, переданная

по значению, переданная переменная не изменяется. Для функции создается

копия переменной, таким образом функция никак не влияет на аргумент.
При передаче по ссылке аргумент функцией может изменяться. Таким образом, аргумент может стать выходным параметром. Ссылочный аргумент передает адрес переменной в памяти.
Для создания ссылочной переменной, нужно перед именем поставить амперсанд &

Слайд 5 Пример
void swap(int &a, int &b)
{
int temp = a;
a

Примерvoid swap(int &a, int &b){int temp = a;a = b;b =

= b;
b = temp;
}

int main()
{
int i = 10,

j = 20;
swap(i, j);
cout << i << " " << j << endl;
system("pause");
return 0;
}

Потренируйтесь в передаче значений по ссылке дома. Например, переделайте какие-нибудь функции из домашних работ


Слайд 6 Массивы Статические массивы

Массивы Статические массивы

Слайд 7 Понятие
Массив - это совокупность переменных одного типа, к которым

ПонятиеМассив - это совокупность переменных одного типа, к которым обращаются с помощью

обращаются с помощью общего имени. Доступ к отдельному элементу

массива может осуществляться с помощью индекса.

Конструкция объявления:
тип имя_переменной [размер];
Пример:
int mas[5];

Слайд 8 Примеры объявлений массива
Инициализация при объявлении
int mas[5] = {

Примеры объявлений массиваИнициализация при объявленииint mas[5] = { 228, 1337, 1488,

228, 1337, 1488, 322, 2045 };

Инициализация после объявления
int mas[5];
mas[0]

= 228;
mas[1] = 1337;
mas[2] = 1488;
mas[3] = 322;
mas[4] = 2045;

Слайд 9 Многомерные массивы
Также можно создавать массивы массивов – многомерные

Многомерные массивыТакже можно создавать массивы массивов – многомерные массивыСоздаются массивы по

массивы
Создаются массивы по такому принципу:
int mas[N][M]; - двумерный массив

(матрица)

Слайд 10 Передача массива в функцию
В функцию может передаваться разными

Передача массива в функциюВ функцию может передаваться разными способами:int func(int mas[10]);int func(int *mas);int func(int mas[]);

способами:
int func(int mas[10]);
int func(int *mas);
int func(int mas[]);


Слайд 11 Пример
int func(int count, int mas[])
{
int sum = 0;
for

Примерint func(int count, int mas[]){int sum = 0;for (int i =

(int i = 0; i < count; i++)
sum +=

mas[i];
return sum;
}

int main()
{
int N = 5;
int mas[5] = { 228, 1337, 1488, 322, 2045 };
int sum = func(N, mas);
system("pause");
return 0;
}

Слайд 12 ЧТО ЭТО ТАКОЕ, МАТЬ ТВОЮ ЗА НОГУ?
int func(int

ЧТО ЭТО ТАКОЕ, МАТЬ ТВОЮ ЗА НОГУ?int func(int *mas);

*mas);


Слайд 13 Указатели

Указатели

Слайд 14 Понятие
Указатель – адресная информация о расположении информационного ресурса,

ПонятиеУказатель – адресная информация о расположении информационного ресурса, через которую пользователь

через которую пользователь может обратиться к нему.[1]
В Си определено

понятие указатель как переменная особого вида, содержащая адрес размещения в памяти другой переменной.

Как вы догадались, конструкция такая:
тип_данных *имя_указателя = другая переменная;



[1] Источник - http://ermak.cs.nstu.ru/cprog/html/052.htm


Слайд 15 Мой внутренний Пикассо не смог выразить графически указатели

Мой внутренний Пикассо не смог выразить графически указатели лучше

лучше


Слайд 16 Пример для разобраться на досуге
#include
using namespace std;

int

Пример для разобраться на досуге#include using namespace std;int main(){int var = 10;int *pointer;pointer = &var;cout

main()
{
int var = 10;
int *pointer;
pointer = &var;
cout

<< " " << *pointer << " "<< var <*pointer = 12;
cout << pointer << " " << *pointer << " "<< var <system("pause");
return 0;
}

Слайд 17 Результат

Результат

Слайд 18 Указатели при массивах. АДъ
#include
using namespace std;
int main()
{
int

Указатели при массивах. АДъ#include using namespace std;int main(){int mas[10] = {

mas[10] = { 1,2,3,4,5,6,7,8,9,0 };
int *pointer = mas;
cout

sizeof(mas) << endl;
for (int i = 0; i < sizeof(mas) / sizeof(int) + 1; i++)
cout << *(pointer++) << " ";
pointer = mas;
cout << endl;
for (int i = 0; i < sizeof(mas) / sizeof(int) + 1; i++)
cout << pointer++ << " ";
cout << endl;
system("pause");
return 0;
}

СПРАВКА: функция sizeof возвращает количество байт, выделенных на переменную/тип


Слайд 19 Результат
40
1 2 3 4 5 6 7 8

Результат401 2 3 4 5 6 7 8 9 0 -85899346000F3FE4C

9 0 -858993460
00F3FE4C 00F3FE50 00F3FE54 00F3FE58 00F3FE5C 00F3FE60 00F3FE64

00F3FE68 00F3FE6C 00F3FE70 00F3FE74

Слайд 20 Динамический массив
В указатели также можно заносить нормальные значения

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

типа указателя, если выделить для указателя память
C - стиль:
int

*ptr=(int*) malloc(sizeof(int));
*ptr=4;
free(ptr);

C++ - стиль:
int *ptr=new int(4);
delete ptr;

Слайд 21 Пример
#include
using namespace std;

int main(void)
{
setlocale(LC_ALL, "Russian");
int *p;
p =

Пример#include using namespace std;int main(void){setlocale(LC_ALL,

new int(4);
cout


Слайд 22 При создании динамического массива используется другая конструкция:
p =

При создании динамического массива используется другая конструкция:p = new int[N]; -

new int[N]; - где N – размер массива

Таким образом

можно создавать массивы нужного вам размера во время исполнения программы

Возможно и создание N-мерных динамических массивов.
int N = 3, M = 3;
int **matrix;
matrix = new int*[N];

Слайд 23 #include
#include
using namespace std;
int main(void)
{
srand(time(NULL));
int *p; int

#include #include using namespace std;int main(void){srand(time(NULL));int *p; int N; cin >>

N; cin >> N;
p = new int[N];
for(int i=0;

i p[i] = rand() % 100;
for (int i = 0; i cout << p[i] << " ";
cout << endl;
system("pause");
return 0;
}

Слайд 24 Пример двумерного массива:
#include
using namespace std;
int main(void)
{
int N

Пример двумерного массива:#include using namespace std;int main(void){int N = 3, M

= 3, M = 3;
int **matrix;
matrix = new int*[N];
for

(int i = 0; i < N; i++)
matrix[i] = new int[M];
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
matrix[i][j] = i*N + M;
cout << endl;
system("pause");
return 0;
}

Слайд 25 Тут кое-что упущено. Удаление массивов
Указатели занимают память даже

Тут кое-что упущено. Удаление массивовУказатели занимают память даже выходя за пределы

выходя за пределы видимости:
int *pout;
while (true)
{
int *p = new

int(7);
pout = p;
delete p;
break;
}
cout <<*pout<< endl;
Для этого необходимо удалять занятую указателями память с помощью операции delete

Слайд 26 Правильный пример:
int N = 3, M = 3;
int

Правильный пример:int N = 3, M = 3;int **matrix;matrix = new

**matrix;
matrix = new int*[N];
for (int i = 0; i

< N; i++)
matrix[i] = new int[M];
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
matrix[i][j] = i*N + M;
for (int i = 0; i < M; i++)
delete *matrix;
delete matrix;

Слайд 27 Задача
Дан двумерный массив целых чисел. Создать функцию, возвращающую

ЗадачаДан двумерный массив целых чисел. Создать функцию, возвращающую определитель матрицы.

определитель матрицы.


Слайд 28 Задача коллективная
Объявите указатель на массив типа int и

Задача коллективнаяОбъявите указатель на массив типа int и выделите память память

выделите память память для 12-ти элементов. Необходимо написать функции:
Заполнения

массива
Показа массива
Обмена значений четных и нечетных ячеек массива.

Слайд 29 Частое употребление массивов - строки

Частое употребление массивов - строки

  • Имя файла: osnovy-programmirovaniya-na-c.pptx
  • Количество просмотров: 132
  • Количество скачиваний: 0