Презентация на тему: Программирование на языке С++

Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
План занятия
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
Программирование на языке С++
1/30
Средняя оценка: 4.8/5 (всего оценок: 55)
Код скопирован в буфер обмена
Скачать (156 Кб)
1

Первый слайд презентации: Программирование на языке С++

Занятие 3

Изображение слайда
2

Слайд 2

#include < iostream > using namespace std; i nt main () { int n; cin >> n; for( int i =0; i <n; i ++){ cout << “Hello!” << endl ; } system (“pause”); return 0; }

Изображение слайда
3

Слайд 3

#include < iostream > using namespace std; i nt main () { int n; cin >> n; for( int i =0; i <n; i ++){ cout << n << endl ; } system (“pause”); return 0; }

Изображение слайда
4

Слайд 4

#include < iostream > #include < cmath > using namespace std; i nt main () { int n; cin >> n; for( int i =1; i <=n; i ++){ cout << pow ( i, 3) << endl ; } system (“pause”); return 0; }

Изображение слайда
5

Слайд 5

#include < iostream > using namespace std; i nt main () { int n, k=0; cin >> n; while(n>0){ k++; n=n/10; } cout << k; system (“pause”); return 0; }

Изображение слайда
6

Слайд 6

#include < iostream > using namespace std; i nt main () { int n, sum=0; cin >> n; while(n>0){ sum=sum+n%10; n=n/10; } cout << summ ; system (“pause”); return 0; }

Изображение слайда
7

Слайд 7

#include < iostream > using namespace std; i nt main () { int k=0; for ( int i =1000; i <=9999; i ++){ if(i%25==7 && i%30==17){ cout << i << endl ; k++ } } cout << k; system (“pause”); return 0; }

Изображение слайда
8

Слайд 8

#include < iostream > using namespace std; i nt main () { int n, k=0; cin >> n; for ( int i =2; i <=n-1; i ++){ if( n%i ==0){ k++; } } cout << k; system (“pause”); return 0; }

Изображение слайда
9

Слайд 9: План занятия

Статические массивы Алгоритмы обработки массивов Сортировка методом пузырька

Изображение слайда
10

Слайд 10

Что такое массив? 10 Массив – это группа переменных одного типа, расположенных в памяти рядом (в соседних ячейках) и имеющих общее имя. Каждая ячейка в массиве имеет уникальный номер ( индекс). Надо : Как ввести 10000 переменных? ? выделять память записывать данные в нужную ячейку читать данные из ячейки

Изображение слайда
11

Слайд 11

Выделение памяти (объявление) 11 int A[ 5 ]; double V[ 8 ]; bool L[ 10 ]; char S[ 80 ]; Массив = таблица ! ! число элементов const int N = 10 ; int A[ N ] ; размер через константу Зачем? ? Элементы нумеруются с нуля! ! A[0], A[1], A[2], A[3], A[4]

Изображение слайда
12

Слайд 12

Обращение к элементу массива 12 5 10 15 20 25 0 1 2 3 4 A массив 2 15 НОМЕР элемента массива (ИНДЕКС) A[ 0 ] A[ 1 ] A[ 2 ] A[ 3 ] A[ 4 ] ЗНАЧЕНИЕ элемента массива A[2] НОМЕР (ИНДЕКС) элемента массива : 2 ЗНАЧЕНИЕ элемента массива : 1 5

Изображение слайда
13

Слайд 13

Как обработать все элементы массива? 13 Объявление : Обработка : const int N = 5 ; int A[N]; // обработать A[0] // обработать A[1] // обработать A[2] // обработать A[3] // обработать A[4] 1) если N велико (1000, 1000000)? 2) при изменении N программа не должна меняться! ?

Изображение слайда
14

Слайд 14

Как обработать все элементы массива? 14 Обработка с переменной: i = 0 ; // обработать A[ i ] i ++; // обработать A[ i ] i ++; // обработать A[ i ] i ++; // обработать A[ i ] i ++; // обработать A[ i ] i ++; Обработка в цикле: i = 0 ; while ( i < N ) { // обработать A[ i ] i ++; } Цикл с переменной: for( i = 0; i < N; i ++ ) { // обработать A[ i ] }

Изображение слайда
15

Слайд 15

Заполнение массива 15 main() { const int N = 10 ; int A[N]; int i ; for ( i = 0 ; i < N; i ++ ) A[ i ] = i * i ; } Чему равен A[9] ? ?

Изображение слайда
16

Слайд 16

Ввод с клавиатуры и вывод на экран 16 Объявление: Ввод с клавиатуры: Вывод на экран: const int N = 10 ; int A[N]; for ( i = 0 ; i < N; i ++ ) { cout << "A[" << i << "]=" ; cin >> A[ i ]; } A[ 0 ] = A[ 1 ] = A[ 2 ] = A[ 3 ] = A[ 4 ] = 5 12 34 56 13 cout >> " Массив A:\n" ; for ( i = 0 ; i < N; i ++ ) cout << A[ i ] << " " ; Зачем пробел? ?

Изображение слайда
17

Слайд 17

Заполнение случайными числами 17 for ( i = 0 ; i < N; i ++ ) { A[ i ] = a + rand()% (b - a + 1 ); cout << A[ i ] << " " ; } Задача. Заполнить массив (псевдо)случайными целыми числами в диапазоне от 20 до 100.

Изображение слайда
18

Слайд 18

Перебор элементов 18 Общая схема: for ( i = 0 ; i < N; i ++ ) { ... // сделать что-то с A[ i ] } Подсчёт нужных элементов: Задача. В массиве записаны данные о росте баскетболистов. Сколько из них имеет рост больше 180 см, но меньше 190 см? count = 0 ; for ( i = 0 ; i < N; i ++ ) if ( 180 < A[ i ] && A[ i ] < 190 ) count ++;

Изображение слайда
19

Слайд 19

Перебор элементов 19 Среднее арифметическое: int count, sum; count = 0 ; sum = 0 ; for ( i = 0 ; i < N; i ++ ) if ( 180 < A[ i ] && A[ i ] < 190 ) { count ++; sum += A[ i ]; } cout << ( float )sum / count; среднее арифметическое Зачем float ? ?

Изображение слайда
20

Слайд 20

Задачи 20 « A »: Заполните массив случайными числами в интервале [0,100] и найдите среднее арифметическое его значений. Пример : Массив: 1 2 3 4 5 Среднее арифметическое 3.000 « B »: Заполните массив случайными числами в интервале [0,100] и подсчитайте отдельно среднее значение всех элементов, которые <50, и среднее значение всех элементов, которые ≥50. Пример : Массив: 3 2 52 4 60 Ср. арифм. элементов [0,50): 3.000 Ср. арифм. элементов [50,100 ] : 56.000

Изображение слайда
21

Слайд 21

Поиск в массиве 21 nX = -1 ; for ( i = 0 ; i < N; i++ ) if ( A[i] == X ) { nX = i; break ; } if ( nX >= 0 ) cout << "A[" << nX << "]=" << X; else cout << " Не нашли! " ; Вариант с досрочным выходом: break ; досрочный выход из цикла

Изображение слайда
22

Слайд 22

Задачи 22 « A »: Заполните массив случайными числами в интервале [0,5]. Введите число X и найдите все значения, равные X. Пример : Массив: 1 2 3 1 2 Что ищем: 2 Нашли: A[2]=2, A[5]=2 Пример : Массив: 1 2 3 1 2 Что ищем: 6 Ничего не нашли.

Изображение слайда
23

Слайд 23

Задачи 23 « B »: Заполните массив случайными числами в интервале [0,5]. Определить, есть ли в нем элементы с одинаковыми значениями, стоящие рядом. Пример : Массив: 1 2 3 3 2 1 Есть: 3 Пример : Массив: 1 2 3 4 2 1 Нет

Изображение слайда
24

Слайд 24

Максимальный элемент 24 M = A[ 0 ]; for ( i = 1 ; i < N; i ++ ) if ( A[ i ]> M ) M = A[ i ]; cout << M; M = A[ 0 ]; nMax = 0 ; for ( i = 1 ; i < N; i ++ ) if ( A[ i ] > M ) { M = A[ i ]; nMax = i ; } cout << "A[" << nMax << "]=" << M; nMax = 0 ; nMax = i ; Что можно улучшить? ? Как найти его номер? ?

Изображение слайда
25

Слайд 25

Максимальный элемент и его номер 25 По номеру элемента можно найти значение! ! nMax = 0 ; for ( i = 1 ; i < N; i ++ ) if ( A[ i ] > A[ nMax ] ) nMax = i ; cout << "A[" << nMax << "]=" << ; A[nMax] A[nMax]

Изображение слайда
26

Слайд 26

Задачи 26 « A »: Заполнить массив случайными числами и найти минимальный и максимальный элементы массива и их номера. Пример : Массив: 1 2 3 4 5 Минимальный элемент: A[1]=1 Максимальный элемент: A[5]=5 « B »: Заполнить массив случайными числами и найти два максимальных элемента массива и их номера. Пример : Массив: 5 5 3 4 1 Максимальный элемент: A[1]=5 Второй максимум: A[2]=5

Изображение слайда
27

Слайд 27

Что такое сортировка? 27 Сортировка – это расстановка элементов массива в заданном порядке. …по возрастанию, убыванию, последней цифре, сумме делителей, по алфавиту, … Алгоритмы: простые и понятные, но неэффективные для больших массивов метод пузырька метод выбора сложные, но эффективные «быстрая сортировка» ( QuickSort ) сортировка «кучей» ( HeapSort ) сортировка слиянием ( MergeSort ) пирамидальная сортировка время работы N

Изображение слайда
28

Слайд 28

Метод пузырька (сортировка обменами) 28 Идея: пузырек воздуха в стакане воды поднимается со дна вверх. Для массивов – самый маленький («легкий» элемент перемещается вверх ( «всплывает» ). 4 5 2 1 3 4 5 2 1 3 4 5 1 2 3 1 4 5 2 3 сравниваем два соседних элемента; если они стоят «неправильно», меняем их местами за 1 проход по массиву один элемент (самый маленький) становится на свое место 1-й проход : 4 1 5 2 3

Изображение слайда
29

Слайд 29

Метод пузырька 29 1 4 5 2 3 1 4 5 2 3 1 4 2 5 3 2-й проход : 3-й проход : 1 2 4 5 3 1 2 3 4 5 1 2 4 5 3 4 -й проход : 1 2 3 4 5 1 2 3 4 5 1 2 4 3 5 Для сортировки массива из N элементов нужен N -1 проход (достаточно поставить на свои места N-1 элементов). !

Изображение слайда
30

Последний слайд презентации: Программирование на языке С++

Метод пузырька 30 for ( i = 0 ; i < N- 1 ; i++ ) for ( j = N- 2 ; j >= i ; j-- ) if ( A [ j ] > A [ j + 1 ] ) { // поменять местами A[ j ] и A[j+1] } i Как написать метод «камня»? ?

Изображение слайда