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

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


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

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

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

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

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

Содержание

МассивыМассив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом.Особенности:все элементы имеют один типвесь массив имеет одно имявсе элементы расположены в памяти рядомПримеры:список учеников в классеквартиры в домешколы в городеданные о температуре
Программирование  на языке Си Часть II МассивыМассив – это группа однотипных элементов, имеющих общее имя и расположенных в МассивыAмассив215НОМЕР  элемента массива(ИНДЕКС)A[0]A[1]A[2]A[3]A[4]ЗНАЧЕНИЕ элемента массиваA[2]НОМЕР (ИНДЕКС)  элемента массива: 2ЗНАЧЕНИЕ  элемента массива: 15 Объявление массивовЗачем объявлять? определить имя массиваопределить тип массиваопределить число элементоввыделить место в Объявление массивовЕще примеры: int X[10], Y[10]; float zz, A[20];char s[80];С присвоением начальных Что неправильно?    int N = 10; МассивыОбъявление:Ввод с клавиатуры:Поэлементные операции:Вывод на экран:const int N = 5; int A[N], Программа#include #include main(){const int N = 5;int A[N], i; // ввод элементов Задания«4»: Ввести c клавиатуры массив из 5 элементов, найти среднее арифметическое всех Максимальный элементЗадача: найти в массиве максимальный элемент.Алгоритм: Псевдокод:// считаем, что элемент A[0] Максимальный элементmax = A[0]; // пока A[0]– максимальный iMax = 0;for ( Заполнение случайными числамиRAND_MAX – максимальное случайное целое число Целые числа в заданном интервалеЦелые числа в интервале [0,N-1]: Примеры: Целые числа Программа#include #include main(){const int N = 5;int A[N], i, iMax; // заполнить Задания«4»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и Реверс массиваЗадача: переставить элементы массива в обратном порядке (выполнить инверсию).Алгоритм:поменять местами A[0] Как переставить элементы?231Задача: поменять местами содержимое двух чашек.Задача: поменять местами содержимое двух Программаmain(){ const int N = 10; int A[N], i, c; // заполнить Задания«4»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и Циклический сдвигЗадача: сдвинуть элементы массива влево на 1 ячейку, первый элемент становится Программаmain(){ const int N = 10; int A[N], i, c; // заполнить Задания«4»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и
Слайды презентации

Слайд 2 Массивы
Массив – это группа однотипных элементов, имеющих общее

МассивыМассив – это группа однотипных элементов, имеющих общее имя и расположенных

имя и расположенных в памяти рядом.
Особенности:
все элементы имеют один

тип
весь массив имеет одно имя
все элементы расположены в памяти рядом
Примеры:
список учеников в классе
квартиры в доме
школы в городе
данные о температуре воздуха за год

Слайд 3 Массивы
A
массив
2
15
НОМЕР элемента массива
(ИНДЕКС)
A[0]
A[1]
A[2]
A[3]
A[4]
ЗНАЧЕНИЕ элемента массива
A[2]
НОМЕР (ИНДЕКС) элемента массива:

МассивыAмассив215НОМЕР элемента массива(ИНДЕКС)A[0]A[1]A[2]A[3]A[4]ЗНАЧЕНИЕ элемента массиваA[2]НОМЕР (ИНДЕКС) элемента массива: 2ЗНАЧЕНИЕ элемента массива: 15

2
ЗНАЧЕНИЕ элемента массива: 15


Слайд 4 Объявление массивов
Зачем объявлять?
определить имя массива
определить тип массива
определить

Объявление массивовЗачем объявлять? определить имя массиваопределить тип массиваопределить число элементоввыделить место

число элементов
выделить место в памяти
Пример:


Размер через константу:
имя
размер

массива (количество элементов)

тип
элементов


int A [ ];

const int N = 5;

N

int A [ 5 ];


Слайд 5 Объявление массивов
Еще примеры:
int X[10], Y[10];
float zz,

Объявление массивовЕще примеры: int X[10], Y[10]; float zz, A[20];char s[80];С присвоением

A[20];
char s[80];
С присвоением начальных значений:
int A[4] = {

8, -3, 4, 6 };
float B[2] = { 1. };
char C[3] = { 'A', '1', 'Ю' };

остальные нулевые!


Слайд 6 Что неправильно?
int N =

Что неправильно?  int N = 10;  float A[N];const int

10;
float A[N];
const int
int X[4.5];

int A[10];
A[10] = 0;

float X[5];
int n = 1;
X[n-2] = 4.5;
X[n+8] = 12.;

выход за границы массива
(стираются данные в памяти)

int X[4];
X[2] = 4.5;

дробная часть отбрасывается
(ошибки нет)

float B[2] = { 1., 3.8, 5.5 };

int A[2] = { 1, 3.8 };

float


Слайд 7 Массивы
Объявление:
Ввод с клавиатуры:
Поэлементные операции:
Вывод на экран:
const int N

МассивыОбъявление:Ввод с клавиатуры:Поэлементные операции:Вывод на экран:const int N = 5; int

= 5;
int A[N], i;
printf("Введите 5 элементов массива:\n");
for( i=0;

i < N; i++ ) {
printf ("A[%d] = ", i );
scanf ("%d", & A[i] );
}

A[0] =
A[1] =
A[2] =
A[3] =
A[4] =

5
12
34
56
13

for( i=0; i < N; i++ ) A[i] = A[i]*2;

printf("Результат:\n");
for( i=0; i < N; i++ ) printf("%4d", A[i]);

Результат:
10 24 68 112 26


Слайд 8 Программа
#include
#include
main()
{
const int N = 5;
int A[N],

Программа#include #include main(){const int N = 5;int A[N], i; // ввод

i;
// ввод элементов массива
// обработка массива
//

вывод результата
getch();
}

Задача: ввести с клавиатуры массив из 5 элементов, умножить все элементы на 2 и вывести полученный массив на экран.

на предыдущих слайдах


Слайд 9 Задания
«4»: Ввести c клавиатуры массив из 5 элементов,

Задания«4»: Ввести c клавиатуры массив из 5 элементов, найти среднее арифметическое

найти среднее арифметическое всех элементов массива.
Пример:
Введите

пять чисел:
4 15 3 10 14
среднее арифметическое 9.200
«5»: Ввести c клавиатуры массив из 5 элементов, найти минимальный из них.
Пример:
Введите пять чисел:
4 15 3 10 14
минимальный элемент 3

Слайд 10 Максимальный элемент
Задача: найти в массиве максимальный элемент.
Алгоритм:
Псевдокод:
//

Максимальный элементЗадача: найти в массиве максимальный элемент.Алгоритм: Псевдокод:// считаем, что элемент

считаем, что элемент A[0] – максимальный
for ( i=1; i

< N; i++ )
if ( A[i] > максимального )
// запомнить новый максимальный элемент A[i]

Слайд 11 Максимальный элемент
max = A[0]; // пока A[0]– максимальный

Максимальный элементmax = A[0]; // пока A[0]– максимальный iMax = 0;for


iMax = 0;
for ( i=1; i < N; i++

) // проверяем остальные
if ( A[i] > max ) { // нашли новый
max = A[i]; // запомнить A[i]
iMax = i; // запомнить i
}

Дополнение: как найти номер максимального элемента?

По номеру элемента iMax всегда можно найти его значение A[iMax]. Поэтому везде меняем max на A[iMax] и убираем переменную max.

A[iMax]


Слайд 12 Заполнение случайными числами
RAND_MAX – максимальное случайное целое число

Заполнение случайными числамиRAND_MAX – максимальное случайное целое число

(обычно RAND_MAX = 32767)
Случайное целое число в интервале [0,RAND_MAX]
x = rand(); // первое число
x = rand(); // уже другое число
Установить начальное значение последовательности:
srand ( 345 ); // начнем с 345

#include // случайные числа


Слайд 13 Целые числа в заданном интервале

Целые числа в интервале

Целые числа в заданном интервалеЦелые числа в интервале [0,N-1]: Примеры: Целые

[0,N-1]:




Примеры:

Целые числа в интервале [a,b]:
int random(int

N) {
return rand()% N;
}

x = random ( 100 ); // интервал [0,99]
x = random ( z ); // интервал [0,z-1]

x = random ( z ) + a; // интервал [a,z-1+a]
x = random (b – a + 1) + a; // интервал [a,b]


Слайд 14 Программа
#include
#include
main()
{
const int N = 5;
int A[N],

Программа#include #include main(){const int N = 5;int A[N], i, iMax; //

i, iMax;
// заполнить случайными числами [100,150]
// найти

максимальный элемент и его номер
printf("\nМаксимальный элемент A[%d] = %d", iMax, A[iMax]);
getch();
}

на предыдущих слайдах


Слайд 15 Задания
«4»: Заполнить массив из 10 элементов случайными числами

Задания«4»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10]

в интервале [-10..10] и найти в нем максимальный и

минимальный элементы и их номера.
Пример:
Исходный массив:
4 -5 3 10 -4 -6 8 -10 1 0
максимальный a[4]=10
минимальный a[8]=-10
«5»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10] и найти в нем два максимальных элемента и их номера.
Пример:
Исходный массив:
4 -5 3 10 -4 -6 8 -10 1 0
максимальные a[4]=10, a[7]=8

Слайд 16 Реверс массива
Задача: переставить элементы массива в обратном порядке

Реверс массиваЗадача: переставить элементы массива в обратном порядке (выполнить инверсию).Алгоритм:поменять местами

(выполнить инверсию).
Алгоритм:
поменять местами A[0] и A[N-1], A[1] и A[N-2],


Псевдокод:

for ( i = 0; i < N; i++ )
// поменять местами A[i] и A[N-1-i]

сумма индексов N-1


Слайд 17 Как переставить элементы?
2
3
1
Задача: поменять местами содержимое двух чашек.
Задача:

Как переставить элементы?231Задача: поменять местами содержимое двух чашек.Задача: поменять местами содержимое

поменять местами содержимое двух ячеек памяти.
4
6
?
4
6
4
x
y
c
c = x;
x =

y;
y = c;

x = y;
y = x;

3

2

1


Слайд 18 Программа
main()
{
const int N = 10;
int A[N],

Программаmain(){ const int N = 10; int A[N], i, c; //

i, c;
// заполнить массив
// вывести исходный

массив
for ( i = 0; i < N/2; i++ ) {
c = A[i];
A[i] = A[N-1-i];
A[N-1-i] = c;
}
// вывести полученный массив
}

Слайд 19 Задания
«4»: Заполнить массив из 10 элементов случайными числами

Задания«4»: Заполнить массив из 10 элементов случайными числами в интервале [-10..10]

в интервале [-10..10] и выполнить инверсию отдельно для 1-ой

и 2-ой половин массива.
Пример:
Исходный массив:
4 -5 3 10 -4 -6 8 -10 1 0
Результат:
-4 10 3 -5 4 0 1 -10 8 -6
«5»: Заполнить массив из 12 элементов случайными числами в интервале [-12..12] и выполнить инверсию для каждой трети массива.
Пример:
Исходный массив:
4 -5 3 10 -4 -6 8 -10 1 0 5 7
Результат:
10 3 -5 4 -10 8 -6 -4 7 5 0 1

Слайд 20 Циклический сдвиг
Задача: сдвинуть элементы массива влево на 1

Циклический сдвигЗадача: сдвинуть элементы массива влево на 1 ячейку, первый элемент

ячейку, первый элемент становится на место последнего.
Алгоритм:
A[0]=A[1]; A[1]=A[2];… A[N-2]=A[N-1];
Цикл:
for

( i = 0; i < N-1; i ++) A[i] = A[i+1];

почему не N?


Слайд 21 Программа
main()
{
const int N = 10;
int A[N],

Программаmain(){ const int N = 10; int A[N], i, c; //

i, c;
// заполнить массив
// вывести исходный массив

c = A[0];
for ( i = 0; i < N-1; i ++)
A[i] = A[i+1];
A[N-1] = c;
// вывести полученный массив
}

  • Имя файла: programmirovanie-na-yazyke-si.pptx
  • Количество просмотров: 151
  • Количество скачиваний: 0