🗊Презентация Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C)

Нажмите для полного просмотра!
Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №1Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №2Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №3Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №4Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №5Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №6Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №7Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №8Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №9Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №10Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №11Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №12Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №13Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №14Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №15Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №16Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №17Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №18Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №19Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №20Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №21Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №22Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №23Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №24Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №25Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №26Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №27Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №28Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №29Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №30Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №31Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №32Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №33Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №34Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №35Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №36Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №37Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №38Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №39Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №40Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №41Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №42Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №43Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №44Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №45Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №46Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №47Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №48Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №49Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №50

Содержание

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

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


Слайд 1





Составные типы в языке С
Массивы 

Лекция 9
Иллюстративный материал к лекциям по алгоритмизации и программированию 
            
 Автор Саблина Н.Г. 			2016 г.
Описание слайда:
Составные типы в языке С Массивы Лекция 9 Иллюстративный материал к лекциям по алгоритмизации и программированию Автор Саблина Н.Г. 2016 г.

Слайд 2





Содержание
Описание слайда:
Содержание

Слайд 3





Составные типы в языке С
По способу организации и типу компонентов в составных типах выделяют:
регулярные типы (массивы);
комбинированные типы (структуры);
файловый тип (файлы);
объектные типы (классы).
Описание слайда:
Составные типы в языке С По способу организации и типу компонентов в составных типах выделяют: регулярные типы (массивы); комбинированные типы (структуры); файловый тип (файлы); объектные типы (классы).

Слайд 4





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

Слайд 5





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

Слайд 6





Описание массива
При описании массива необходимо указать: 
тип элементов;
имя массива;
размерность массива.
Общая форма описания массива: 
тип имя_массива [размер1][размер2]…;
Описание слайда:
Описание массива При описании массива необходимо указать: тип элементов; имя массива; размерность массива. Общая форма описания массива: тип имя_массива [размер1][размер2]…;

Слайд 7





Одномерные массивы
При описании одномерного массива в скобках указывается только один индекс, определяющий количество элементов в массиве. 
Например:
int   vect[10],   S1[50];
float   A[5],   B[25];
Описаны: 
два целочисленных массива:  vect, содержащий 10 элементов,  S1, содержащий 50 элементов;
два массива действительных чисел A и B, содержащие 5 и 25 элементов соответственно.
Описание слайда:
Одномерные массивы При описании одномерного массива в скобках указывается только один индекс, определяющий количество элементов в массиве. Например: int vect[10], S1[50]; float A[5], B[25]; Описаны: два целочисленных массива: vect, содержащий 10 элементов, S1, содержащий 50 элементов; два массива действительных чисел A и B, содержащие 5 и 25 элементов соответственно.

Слайд 8





Описание массива с инициализацией
При описании можно инициализировать элементы массива заданными значениями. 
Например:
		int   D[5]={23, 45, 32, 12, 88}; 
		float Z[4]={0.25,   67.89,    1.1,   -34.5};
		char C[3]={‘М’, ’И’, ’Р’};
Описание слайда:
Описание массива с инициализацией При описании можно инициализировать элементы массива заданными значениями. Например: int D[5]={23, 45, 32, 12, 88}; float Z[4]={0.25, 67.89, 1.1, -34.5}; char C[3]={‘М’, ’И’, ’Р’};

Слайд 9





Псевдодинамическое описание массива
Для записи количества элементов в массиве удобно использовать именованные константы.
Например:
const  N=10, M=5;
int      vest  [N];
float   mas [M];
Описание слайда:
Псевдодинамическое описание массива Для записи количества элементов в массиве удобно использовать именованные константы. Например: const N=10, M=5; int vest [N]; float mas [M];

Слайд 10





Индексы элементов массива
Для обращения к отдельному элементу массива указывают имя массива и в квадратных скобках индекс (порядковый номер) этого элемента в массиве. 
Элементы в массиве нумеруются, начиная с нуля, т.е. 
индекс первого элемента равен 0,  
индекс последнего элемента – на единицу меньше размера массива.
Описание слайда:
Индексы элементов массива Для обращения к отдельному элементу массива указывают имя массива и в квадратных скобках индекс (порядковый номер) этого элемента в массиве. Элементы в массиве нумеруются, начиная с нуля, т.е. индекс первого элемента равен 0, индекс последнего элемента – на единицу меньше размера массива.

Слайд 11





Индексы элементов массива 
В качестве индексов могут выступать 
числовые константы
переменные  
произвольные выражения целого типа
int   vect[20];
int   i=2;
vect [5]=45;
vect [i]=45;
vect [(i+1)*2]=5-i+1;
Описание слайда:
Индексы элементов массива В качестве индексов могут выступать числовые константы переменные произвольные выражения целого типа int vect[20]; int i=2; vect [5]=45; vect [i]=45; vect [(i+1)*2]=5-i+1;

Слайд 12





Размещение массивов в памяти
Под массив выделяется непрерывное место в оперативной памяти. 
Это позволяет рассматривать массив как структуру произвольного (прямого) доступа, т.е. можно обращаться к любому элементу массива по его индексу i, не просматривая при этом предыдущие i-1 элемент.
Описание слайда:
Размещение массивов в памяти Под массив выделяется непрерывное место в оперативной памяти. Это позволяет рассматривать массив как структуру произвольного (прямого) доступа, т.е. можно обращаться к любому элементу массива по его индексу i, не просматривая при этом предыдущие i-1 элемент.

Слайд 13





Размещение массивов в памяти
Описание слайда:
Размещение массивов в памяти

Слайд 14





Определение адреса элемента массива в памяти
Зная порядковый номер элемента в массиве (его индекс) и тип элементов, можно легко определить адрес i-го элемента:
Адр i = Адр начала массива + i* длина типа эл-тов;
Объем памяти, занимаемой одномерным массивом: 
Кол-во байт=<размер типа эл-тов>*<кол-во эл.>
Описание слайда:
Определение адреса элемента массива в памяти Зная порядковый номер элемента в массиве (его индекс) и тип элементов, можно легко определить адрес i-го элемента: Адр i = Адр начала массива + i* длина типа эл-тов; Объем памяти, занимаемой одномерным массивом: Кол-во байт=<размер типа эл-тов>*<кол-во эл.>

Слайд 15





Обработка массивов – в циклах
Если нужно произвести какие-либо действия с каждым элементом массива, то используют циклы.
Например:
const   N=10;  int    A [N], i; 
// заполнение массива значениями  с клавиатуры
for (i=0; i<N; i++) scanf (“%d”, &A[i]); 
// вывод на экран значений элементов массива 
for (i=0; i<N; i++) printf (“%d ”, A[i]); 
// обнуление элементов массива 
for (i=0; i<N; i++) A[i]=0;
Описание слайда:
Обработка массивов – в циклах Если нужно произвести какие-либо действия с каждым элементом массива, то используют циклы. Например: const N=10; int A [N], i; // заполнение массива значениями с клавиатуры for (i=0; i<N; i++) scanf (“%d”, &A[i]); // вывод на экран значений элементов массива for (i=0; i<N; i++) printf (“%d ”, A[i]); // обнуление элементов массива for (i=0; i<N; i++) A[i]=0;

Слайд 16





Обработка массивов. 
Пример 1 (1)
	Имеется одномерный массив, содержащий 15 случайных целых чисел. 
	Найти среднее значение элементов этого массива
Описание слайда:
Обработка массивов. Пример 1 (1) Имеется одномерный массив, содержащий 15 случайных целых чисел. Найти среднее значение элементов этого массива

Слайд 17





Обработка массивов. 
Пример 1 (2)
2. Метод решения
Выделим подзадачи:
Заполнить массив 
Вывести его на экран
Вычислить среднее
Описание слайда:
Обработка массивов. Пример 1 (2) 2. Метод решения Выделим подзадачи: Заполнить массив Вывести его на экран Вычислить среднее

Слайд 18





Датчики случайных чисел
В Си имеются два датчика случайных чисел: 
с параметром. 
без параметра
Датчик  случайных  чисел  с  параметром – это функция random. 
возвращает целые случайные числа  в интервале от 0 до параметр-1.
0 ≤ random(n) ≤  n-1
Датчик случайных чисел без параметра – функция rand(), 
возвращет целые положительные числа  в интервале от 0 до RAND_MAX
0 ≤ rand() ≤ RAND_MAX
Значение константы RAND_MAX определяет максимально возможное целое число (типа int). Если тип  int имеет длину 2 байта, то RAND_MAX=32767
Описание слайда:
Датчики случайных чисел В Си имеются два датчика случайных чисел: с параметром. без параметра Датчик случайных чисел с параметром – это функция random. возвращает целые случайные числа в интервале от 0 до параметр-1. 0 ≤ random(n) ≤ n-1 Датчик случайных чисел без параметра – функция rand(), возвращет целые положительные числа в интервале от 0 до RAND_MAX 0 ≤ rand() ≤ RAND_MAX Значение константы RAND_MAX определяет максимально возможное целое число (типа int). Если тип int имеет длину 2 байта, то RAND_MAX=32767

Слайд 19





Обработка массивов. 
Пример 1 (3)
3. Схема алгоритма
Описание слайда:
Обработка массивов. Пример 1 (3) 3. Схема алгоритма

Слайд 20


Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №20
Описание слайда:

Слайд 21





4. Текст программы
4. Текст программы
#include <stdio.h>
#include <stdlib.h>
 main()
{
int  Sum=0,  a[15];
float Sredn;
//заставка
printf  ("\nПрограмма вычисления среднего элементов 
одномерного массива\n");
//заполнение массива
  for ( int i=0; i<15; i++)   a[i]=random(101);
Описание слайда:
4. Текст программы 4. Текст программы #include <stdio.h> #include <stdlib.h> main() { int Sum=0, a[15]; float Sredn; //заставка printf ("\nПрограмма вычисления среднего элементов одномерного массива\n"); //заполнение массива for ( int i=0; i<15; i++) a[i]=random(101);

Слайд 22






//вывод массива на экран
printf ("\nИсходный массив случайных чисел\n");
 for (i=0; i<15; i++)   printf ("%d  ", a[i] );
//вычисление суммы элементов массива
  for (i=0; i<15;   i++)   Sum+=a[i];
//вычисление среднего элементов массива
Sredn=Sum/15.0;
//вывод результата
printf ("\nСреднее значение = %f\n", Sredn);
return 0;
 }
Описание слайда:
//вывод массива на экран printf ("\nИсходный массив случайных чисел\n"); for (i=0; i<15; i++) printf ("%d ", a[i] ); //вычисление суммы элементов массива for (i=0; i<15; i++) Sum+=a[i]; //вычисление среднего элементов массива Sredn=Sum/15.0; //вывод результата printf ("\nСреднее значение = %f\n", Sredn); return 0; }

Слайд 23





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

Слайд 24





Представление двумерного массива 
	Двумерный массив int a[3][4] можно представить в виде таблицы
Описание слайда:
Представление двумерного массива Двумерный массив int a[3][4] можно представить в виде таблицы

Слайд 25





Выделение памяти под матрицу
Колич.байт =размер типа данных *колич. строк *колич. столбцов
В памяти компьютера массив располагается непрерывно по строкам, т. е.
а[0][0], a[0][1], a[0][2], a[0][3], а[1][0], а[1][1], а[1][2], а[1][3], а[2][0], ..., а[2][3].
Описание слайда:
Выделение памяти под матрицу Колич.байт =размер типа данных *колич. строк *колич. столбцов В памяти компьютера массив располагается непрерывно по строкам, т. е. а[0][0], a[0][1], a[0][2], a[0][3], а[1][0], а[1][1], а[1][2], а[1][3], а[2][0], ..., а[2][3].

Слайд 26





Пример описания
 двумерных массивов
const N=4, M=5;
int A[N][M], B[N][N];
float X[10][5], Y[M][N];
Обращение к элементам матрицы:
A[0][3]=8;   X[1][2]=0.678;
B[2][0]= A[0][3]*2;
Y[2][1]=Y[2][2]=5.5;
Описание слайда:
Пример описания двумерных массивов const N=4, M=5; int A[N][M], B[N][N]; float X[10][5], Y[M][N]; Обращение к элементам матрицы: A[0][3]=8; X[1][2]=0.678; B[2][0]= A[0][3]*2; Y[2][1]=Y[2][2]=5.5;

Слайд 27





Примеры работы с матрицами (1)
Для однородной обработки каждого элемента матрицы используют вложенные циклы. Например,
//заполнение матрицы с помощью датчика случайных чисел
for (int i=0; i<N; i++) 		//цикл по строкам
	for ( int j=0; j<M ; j++)  	//цикл внутри строки  по столбцам
		A[i][j]=random (50); 
//вывод  матрицы на экран
for ( i=0; i<M; i++)		 //цикл по строкам
	{ for ( j=0; j<N ; j++)  		//цикл внутри строки  по столбцам
		printf  (“%5.1f “,Y[i][j] );
		printf  (“\n “ ); 		// переход на новую строку
	}
Описание слайда:
Примеры работы с матрицами (1) Для однородной обработки каждого элемента матрицы используют вложенные циклы. Например, //заполнение матрицы с помощью датчика случайных чисел for (int i=0; i<N; i++) //цикл по строкам for ( int j=0; j<M ; j++) //цикл внутри строки по столбцам A[i][j]=random (50); //вывод матрицы на экран for ( i=0; i<M; i++) //цикл по строкам { for ( j=0; j<N ; j++) //цикл внутри строки по столбцам printf (“%5.1f “,Y[i][j] ); printf (“\n “ ); // переход на новую строку }

Слайд 28


Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №28
Описание слайда:

Слайд 29


Составные типы в языке С. Одномерные массивы. Двумерные массивы (язык C), слайд №29
Описание слайда:

Слайд 30





Примеры работы с матрицами (2)
const M=6, N=5;
float Y[M][N];
int B[N][N];

//обнуление матрицы 
for ( i=0; i<M; i++) 		//цикл по строкам
	for (  j=0; j<N ; j++)  	//цикл внутри строки  по столбцам
		Y[i][j]=0.0; 

// заполнение единичной матрицы: 
// элементы главной диагонали равны 1, 
// все остальные элементы - 0 
for ( i=0; i<N; i++) 		//цикл по строкам
	for ( j=0; j<N ; j++)  	//цикл внутри строки  по столбцам
		if (i==j) B[i][j]=1; else B[i][j]=0;
Описание слайда:
Примеры работы с матрицами (2) const M=6, N=5; float Y[M][N]; int B[N][N]; //обнуление матрицы for ( i=0; i<M; i++) //цикл по строкам for ( j=0; j<N ; j++) //цикл внутри строки по столбцам Y[i][j]=0.0; // заполнение единичной матрицы: // элементы главной диагонали равны 1, // все остальные элементы - 0 for ( i=0; i<N; i++) //цикл по строкам for ( j=0; j<N ; j++) //цикл внутри строки по столбцам if (i==j) B[i][j]=1; else B[i][j]=0;

Слайд 31





Пример 2. Поиск максимального.
Постановка задачи.
Имеется  одномерный массив, содержащий 20 натуральных случайных чисел. Найти элемент массива, содержащий максимальное число.
Постановка задачи
Исходными данными для этой задачи является массив натуральных случайных чисел (формируется в ходе выполнения программы).
Выходными данными является номер (k) максимального элемента в массиве и само значение этого элемента (все выводится на экран монитора).
Описание слайда:
Пример 2. Поиск максимального. Постановка задачи. Имеется одномерный массив, содержащий 20 натуральных случайных чисел. Найти элемент массива, содержащий максимальное число. Постановка задачи Исходными данными для этой задачи является массив натуральных случайных чисел (формируется в ходе выполнения программы). Выходными данными является номер (k) максимального элемента в массиве и само значение этого элемента (все выводится на экран монитора).

Слайд 32





Пример 2. Поиск максимального
Метод решения.
	Метод решения
В первую очередь необходимо заполнить массив натуральными числами с помощью датчика случайных чисел. 
В заполненном массиве будем производить попарное сравнение элементов массива, каждый раз запоминая номер большего элемента.
Описание слайда:
Пример 2. Поиск максимального Метод решения. Метод решения В первую очередь необходимо заполнить массив натуральными числами с помощью датчика случайных чисел. В заполненном массиве будем производить попарное сравнение элементов массива, каждый раз запоминая номер большего элемента.

Слайд 33





Пример 2. Поиск максимального
Метод решения.
Например: сравниваем первый и второй элементы. 
Пусть первый оказался больше второго, запомним его номер в переменной k. Далее сравниваем этот больший элемент с третьим  элементом. Снова запоминаем номер большего элемента и т.д. до последнего элемента. 
В результате по окончании процесса сравнения переменная k будет содержать номер максимального элемента данного массива.
Описание слайда:
Пример 2. Поиск максимального Метод решения. Например: сравниваем первый и второй элементы. Пусть первый оказался больше второго, запомним его номер в переменной k. Далее сравниваем этот больший элемент с третьим элементом. Снова запоминаем номер большего элемента и т.д. до последнего элемента. В результате по окончании процесса сравнения переменная k будет содержать номер максимального элемента данного массива.

Слайд 34





Пример 2. Поиск максимального.
Блок-схема.
Описание слайда:
Пример 2. Поиск максимального. Блок-схема.

Слайд 35





Пример 2. Поиск максимального.
Блок-схема.
Описание слайда:
Пример 2. Поиск максимального. Блок-схема.

Слайд 36





Пример 2. Поиск максимального.
Текст программы.
#include <stdio.h>
#include <stdlib.h>
int main()
{ 
int  k,  a[20];
 
printf("\nПрограмма для поиска максимального элемента в массиве\n");
 //заполнение массива
  for (int i=0; i<20; i++)   a[i]=rand();
 
//вывод массива на экран
printf("\nИсходный массив случайных чисел\n\n");
for (i=0; i<20; i++)   printf("%d  ", a[i] );
Описание слайда:
Пример 2. Поиск максимального. Текст программы. #include <stdio.h> #include <stdlib.h> int main() { int k, a[20];   printf("\nПрограмма для поиска максимального элемента в массиве\n"); //заполнение массива for (int i=0; i<20; i++) a[i]=rand();   //вывод массива на экран printf("\nИсходный массив случайных чисел\n\n"); for (i=0; i<20; i++) printf("%d ", a[i] );

Слайд 37





Пример 2. Поиск максимального.
Текст программы.
//поиск максимального элемента
k=0;
for (i=1; i<20; i++)   if (a[i]>a[k]) k=i;
//вывод результатов
printf("\n\n Максимальный элемент a[%d]=%d", k, a[k]);
return 0;
 }
Описание слайда:
Пример 2. Поиск максимального. Текст программы. //поиск максимального элемента k=0; for (i=1; i<20; i++) if (a[i]>a[k]) k=i; //вывод результатов printf("\n\n Максимальный элемент a[%d]=%d", k, a[k]); return 0; }

Слайд 38





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

Слайд 39





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

Слайд 40





Пример 3. Сортировка массива по убыванию. Метод решения
После этой перестановки просмотрим оставшуюся часть массива, начиная со второго до 20, и снова выберем максимальный элемент. Поместим его на второе место в массиве, поменяв местами со вторым элементом. 
Снова просмотрим оставшуюся часть массива, начиная с третьего элемента, и т.д. до конца. В итоге получим массив, упорядоченный по убыванию значений элементов.
Упорядочение массива по возрастанию значений элементов выполняется аналогично, только при каждом просмотре ищется не максимальный, а минимальный элемент.
Описание слайда:
Пример 3. Сортировка массива по убыванию. Метод решения После этой перестановки просмотрим оставшуюся часть массива, начиная со второго до 20, и снова выберем максимальный элемент. Поместим его на второе место в массиве, поменяв местами со вторым элементом. Снова просмотрим оставшуюся часть массива, начиная с третьего элемента, и т.д. до конца. В итоге получим массив, упорядоченный по убыванию значений элементов. Упорядочение массива по возрастанию значений элементов выполняется аналогично, только при каждом просмотре ищется не максимальный, а минимальный элемент.

Слайд 41





Пример 3. Сортировка массива по убыванию. Блок-схема.
Описание слайда:
Пример 3. Сортировка массива по убыванию. Блок-схема.

Слайд 42





Пример 3. Сортировка массива по убыванию. Блок-схема.
Описание слайда:
Пример 3. Сортировка массива по убыванию. Блок-схема.

Слайд 43





Пример 3. Сортировка массива по убыванию. Блок-схема.
Описание слайда:
Пример 3. Сортировка массива по убыванию. Блок-схема.

Слайд 44





Пример 3. Сортировка массива по убыванию. Текст программы.
#include <stdio.h>
#include <stdlib.h>
 
main(){
int buf, k, a[20];
printf("\n Сортировка массива по убыванию \n");
//заполнение массива
  for (int i=0; i<20; i++)   a[i]=random(100);
Описание слайда:
Пример 3. Сортировка массива по убыванию. Текст программы. #include <stdio.h> #include <stdlib.h>   main(){ int buf, k, a[20]; printf("\n Сортировка массива по убыванию \n"); //заполнение массива for (int i=0; i<20; i++) a[i]=random(100);

Слайд 45





Пример 3. Сортировка массива по убыванию. Текст программы.
//вывод массива на экран
printf("\n Исходный массив случайных чисел \n\n");
for (i=0; i<20; i++)   printf ("%d  ", a[i] );
//сортировка
for (int j=0; j<19; j++)
     {
	k=j;
	//поиск максимального элемента
	for (i=j+1; i<20; i++) if (a[i]>a[k]) k=i;
	// перестановка элементов
	buf=a[j];
	a[j]=a[k];
	a[k]=buf;
      }
Описание слайда:
Пример 3. Сортировка массива по убыванию. Текст программы. //вывод массива на экран printf("\n Исходный массив случайных чисел \n\n"); for (i=0; i<20; i++) printf ("%d ", a[i] ); //сортировка for (int j=0; j<19; j++) { k=j; //поиск максимального элемента for (i=j+1; i<20; i++) if (a[i]>a[k]) k=i; // перестановка элементов buf=a[j]; a[j]=a[k]; a[k]=buf; }

Слайд 46





Пример 3. Сортировка массива по убыванию. Текст программы.
//вывод отсортированного массива на экран
printf ("\n\n Упорядоченный массив случайных чисел \n\n");
for (i=0; i<20; i++)   printf("%d ", a[i] );
return 0;
 }
Описание слайда:
Пример 3. Сортировка массива по убыванию. Текст программы. //вывод отсортированного массива на экран printf ("\n\n Упорядоченный массив случайных чисел \n\n"); for (i=0; i<20; i++) printf("%d ", a[i] ); return 0; }

Слайд 47






 

Итоги
Рассмотренные вопросы:



Составные типы в языке С
Одномерные массивы
Двумерные массивы
Описание массивов
Доступ к отдельным элементам массива
Описание слайда:
Итоги Рассмотренные вопросы: Составные типы в языке С Одномерные массивы Двумерные массивы Описание массивов Доступ к отдельным элементам массива

Слайд 48






 

Определение 
некоторых понятий



Динамическая память – объекты, память для которых распределяется  при вхождении в блок и высвобождается при выходе из блока.
Статическая память- объекты, жизненный цикл которых продолжается от запуска программы до ее завершения, и которые инициализируются до запуска программы.
Тип массива- тип объекта, состоящий из нескольких однотипных объектов, называемых элементами массива.
Упорядоченная последовательность- последовательность, упорядоченная по предикату таким образом, что ее элементы, расположенные ранее любого фиксированного элемента, упорядочены до него.
Описание слайда:
Определение некоторых понятий Динамическая память – объекты, память для которых распределяется при вхождении в блок и высвобождается при выходе из блока. Статическая память- объекты, жизненный цикл которых продолжается от запуска программы до ее завершения, и которые инициализируются до запуска программы. Тип массива- тип объекта, состоящий из нескольких однотипных объектов, называемых элементами массива. Упорядоченная последовательность- последовательность, упорядоченная по предикату таким образом, что ее элементы, расположенные ранее любого фиксированного элемента, упорядочены до него.

Слайд 49






 


Библиографический список




Подбельский В.В. Язык СИ++. Учебное пособие. М.: Финансы и статистика, 2003. – 560 с.
Павловская Т.А. C/C++. Программирование на языке высокого уровня: учебник для студентов вузов, обучающихся по направлению "Информатика и вычисл. техника" СПб.: Питер, 2005. - 461 с.
Березин Б.И. Начальный курс C и C++ / Б.И. Березин, С.Б. Березин. - М.: ДИАЛОГ-МИФИ, 2001. - 288 с
Каширин И.Ю., Новичков В.С. От С к С++. Учебное пособие для вузов. – М.: Горячая линия – Телеком, 2005. – 334 с.
Описание слайда:
Библиографический список Подбельский В.В. Язык СИ++. Учебное пособие. М.: Финансы и статистика, 2003. – 560 с. Павловская Т.А. C/C++. Программирование на языке высокого уровня: учебник для студентов вузов, обучающихся по направлению "Информатика и вычисл. техника" СПб.: Питер, 2005. - 461 с. Березин Б.И. Начальный курс C и C++ / Б.И. Березин, С.Б. Березин. - М.: ДИАЛОГ-МИФИ, 2001. - 288 с Каширин И.Ю., Новичков В.С. От С к С++. Учебное пособие для вузов. – М.: Горячая линия – Телеком, 2005. – 334 с.

Слайд 50






                                                                           Автор:
                                                                           Саблина Наталья Григорьевна
                                                                          Ст. преподаватель 
                                                                           каф. РТС УрФУ
Описание слайда:
Автор: Саблина Наталья Григорьевна Ст. преподаватель каф. РТС УрФУ



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