Разделы презентаций


АЛГОхитрости-2 Массивы

Содержание

АЛГОхитростиТиповые алгоритмические приёмы с массивамиОдномерные массивы. Считывание содержимого массиваСчитывание – вывод на экран, в файл, на печать содержимого массива – реализуется обычно с использованием простого цикла ДЛЯ начиная с первого элемента

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

Слайд 1


Считывание содержимого одномерного массива.
Сумма элементов одномерного массива.
Среднее

значение элементов одномерного массива.
Наибольший (наименьший) элемент одномерного массива.
Диапазон

значений элементов одномерного массива.
Определение является число палиндромом.
Работа с приращениями нескольких массивов в одном цикле: a[i++], b[j++], с[k++], g[f--].
Ввод и вывод содержимого двумерного массива.
Сумма элементов двумерного массива.

АЛГОхитрости
Типовые алгоритмические приёмы работы с массивами

И+ПРГ

Считывание содержимого одномерного массива. Сумма элементов одномерного массива. Среднее значение элементов одномерного массива. Наибольший (наименьший) элемент

Слайд 2


АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Одномерные массивы. Считывание содержимого массива

Считывание –

вывод на экран, в файл, на печать содержимого массива –

реализуется обычно с использованием простого цикла ДЛЯ начиная с первого элемента до конца массива. Max – размерность массива.

И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы с массивамиОдномерные массивы. Считывание содержимого массиваСчитывание – вывод на экран, в файл, на печать

Слайд 3

АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Одномерные массивы. Сумма элементов массива

Все элементы

массива целых чисел Mas суммируются в переменную S, которая затем

выводится на экран. Max – размерность массива.

И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы с массивамиОдномерные массивы. Сумма элементов массиваВсе элементы массива целых чисел Mas суммируются в переменную

Слайд 4

АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Одномерные массивы. Среднее значение элементов массива

Для

определения среднего значения элементов массива сначала вычисляется их сумма и

потом делится на количество элементов. Max – размерность массива. MMid– среднее значение.

И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы с массивамиОдномерные массивы. Среднее значение элементов массиваДля определения среднего значения элементов массива сначала вычисляется

Слайд 5


АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Одномерные массивы. Наибольший (наименьший) элемент массива

Определение

наибольшего элемента массива начинается с помещения значения первого элемента массива

в переменную Maximum (Minimum), затем значение этой переменной поочерёдно сравнивается со всеми элементами массива и если находится большее (меньшее) значение в элементе массива, то оно заменяет значение переменной. Max – размерность массива.

И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы с массивамиОдномерные массивы. Наибольший (наименьший) элемент массиваОпределение наибольшего элемента массива начинается с помещения значения

Слайд 6Задание: Введите с клавиатуры одномерный массив из 6 элементов, найдите

и выведите на печать минимальный элемент массива
C
Pascal
Program min_elem_array;
(*Поиск мин. элем.

целочисленного массива*)
Const
MS=6; (* размер массива  *)
Var
а : array [1..MS] of integer;
min, i : integer; (* min – мин. элем. массива*)
Begin
Write (' Введите элементы массива - ');
Writeln (MS,' – целые числа одной строке через пробел и нажмите Enter');
Write ('-> ');
For i:=1 to MS do
Read (a[i]);
min := a[1]; (* назначаем первый
введённый элемент min*)
(* Сравниваем остальные элементы с мин.*)
for i:=2 to MS do
if a[i] < min then min := a[i];
WriteLn ('Мин. элемент массива = ', min);
End.

// Поиск минимального элемента массива
#include
#define MS 6 //размер массива
void main ()
{
int a[MS]; // одномерный массив
int min, i; // min – минимальный элем. массива
printf ("\n Введите элементы массива – ");
printf ("%i", MS);
printf (" целых чисел в одной строке \n через пробел и нажмите Enter -> ");
for (i = 0; i < MS; i++)
scanf ("%i", &a[i]);
min = a[0]; // назнач. мин. первый элем. массива
// Сравниваем остальные элементы с мин.
for (i = 0; i < MS; i++)
if (a[i] < min) min=a[i];
printf ("Минимальный элемент массива");
printf ("= %i ", min);
}

Элементы ЯПВУ

МАССИВЫ

Практическое занятие

И+ПРГ


Слайд 7


АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Одномерные массивы. Диапазон значений элементов массива

Определяются

наименьший и наибольший элементы массива, они являются границами диапазона значений

элементов массива.

И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы с массивамиОдномерные массивы. Диапазон значений элементов массиваОпределяются наименьший и наибольший элементы массива, они являются

Слайд 8


АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Определить является ли введённое число

палиндромом
И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы с массивами Определить является ли введённое число палиндромомИ+ПРГ

Слайд 9


АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Определить является ли введённое число

палиндромом
Program CyclePalindrom;
{Определить палиндром ли введённое число}

Var n,m,i,j : integer; P: array [1..5] of integer;
Begin
Write ('Введите целое число (до 32 767) n=');
ReadLn (n);
m:=n;
i:=0;
While (M <> 0) do
Begin
inc(i);
P[i] := m Mod 10;
m := m Div 10;
End;
write ('Число ',n);
for j:=1 to (i div 2) do
if (P[j] <> P[i])
Then
begin Write (' НЕ ' ); break; end
Else dec(i);
Writeln (' палиндром');
End.

// Определить палиндром ли введенное число
#include
#define SZ 5
main() {
int n, m, i=0, j, P[SZ];
printf("\nВведите целое число (до 32 767) n=");
scanf("%D", &n);
m=n;
while(m!=0)
{ P[i] = m % 10; m = (int) m / 10; i++; }
printf("Число %d", n);
for (j=0; j <= (int)i/2; j++)
if (P[j] != P[i-1])
{
printf(" НЕ ");
break;
}
else i--;
printf(" палиндром");
return 0;
}

И+ПРГ

// Вариант цикла проверки на палиндром
for (j=0; j <= (int)i/2; j++, i--)
if (P[j] != P[i-1])
{
printf(" НЕ ");
break;
}
else continue;

АЛГОхитростиТиповые алгоритмические приёмы с массивами Определить является ли введённое число палиндромомProgram CyclePalindrom;    {Определить палиндром

Слайд 10АЛГОхитрости
Типовые алгоритмические приёмы работы с массивами
Одномерные массивы. Слияние двух упорядоченных

массивов в третий упорядоченный. Max – размерность массива.

И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы работы с массивамиОдномерные массивы. Слияние двух упорядоченных массивов в третий упорядоченный. Max – размерность

Слайд 11C
МАССИВЫ
Pascal
Практическое занятие
Слить два упорядоченных по возрастанию массива целых чисел

введённых с клавиатуры в один упорядоченный по возрастанию и вывести

новый массив на печать.

#include
#include
#define SZ 5 //Размер исходных массивов
void main() {
int a[SZ], b[SZ]; // исходные массивы
int c[SZ*2]; // массив-результат
int k,i,m; // индексы массивов a, b и c
printf ("Слияние двух упорядоченных массивов в один,\n");
printf ("ввод элементов через пробел, завершение: Enter\n");
printf ("\nВведите первый массив %i -> ", SZ);
for (k=0; kprintf ("Введите второй массив %i -> ", SZ);
for (i=0; i k=i=m=0;
do { if (a[k] < b[i]) c[m++] = a[k++];
else if (a[k] > b[i]) c[m++] = b[i++];
else { c[m++] = a[k++]; c[m++] = b[i++]; } }
while ((k < SZ) && (i < SZ));
while (k < SZ) /*есть элем. массива А не переписанные в С*/
c[m++] = a[k++];
while (i < SZ) /* есть элементы B не переписанные в С */
c[m++] = b[i++];
printf("Массив-результат: \n");
for (i=0; i<2*SZ; i++) printf ("%i ", c[i]);
printf("\nДля завершения работы нажмите Enter\n");
getch(); }

Program MasSplit;
const SZ= 5; {Размер исходных массивов}
var k,L,m : integer; { индексы массивов a, b и c }
a, b : array[1..SZ] of integer; { исходные массивы }
c : array[1..2*SZ] of integer; { массив-результат }
i: integer; { индекс цикла вывода массива-результата }
Begin WriteLn ('Слияние двух массивов в один');
WriteLn ('элементы массива вводите через пробел, завершение: Enter'); WriteLn ('Введите первый массив -> ', SZ);
for k:=1 to SZ-1 do Read (a[k]); ReadLn (a[SZ]);
WriteLN ('Введите второй массив -> ', SZ);
for L=1 to SZ-1 do Read (b[L]); ReadLn (b[SZ]);
k:=1; L:=1; m:=1;
repeat if a[k] < b[L] then
begin c[m] := a[k]; m:=m+1; k:=k+1; end
else if a[k] > b[L] then
begin c[m] := b[L]; m:=m+1; L:=L+1; end else
begin c[m]:=a[k]; c[m+1]:=b[l]; k:=k+1; L:=L+1;m := m+1; end;
until (k>SZ) or (L>SZ); (*один из 2-х массивов переписан в С*)
while k<=SZ do (* есть элементы А не переписанные в С *)
begin c[m] := a[k]; k := k+1;m := m+1; end;
while l <= SZ do (* есть элементы B не переписанные в С *)
begin c[m]:=b[L]; L := L+1; m := m+1; end;
WriteLn ('Массив-результат'); for i:=1 to 2*SZ do Write (c[i],' ');
WriteLn; WriteLn('Для завершения работы нажмите Enter.');
ReadLn;
End.

И+ПРГ

АЛГОхитрости


Слайд 12


АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Двумерные массивы. Считывание содержимого массива

Считывание –

вывод на экран, в файл, на печать содержимого массива –

реализуется обычно с использованием циклов ДЛЯ начиная с первого элемента до конца массива. Первый индекс (i) определяет номер строки, второй индекс (j) – номер столбца. Max_i – количество строк массива, Max_j – количество столбцов.

Для смещения по каждому индексу массива выделяется отдельный цикл. Циклы вложены один в другой.
Внешний цикл (по индексу - i) смещается по строкам (выбирает строку) и передает управление внутреннему циклу.
Внутренний цикл (по индексу - j) смещается по столбцам – выбира-ет в текущей строке ячейку, соответствующую столбцу массива (таблицы).
Затем управление возвращается внешнему циклу, происходит переход к следующей строке массива.
И так пока не прочитается весь массив.

И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы с массивамиДвумерные массивы. Считывание содержимого массиваСчитывание – вывод на экран, в файл, на печать

Слайд 13


Двумерные массивы. Загрузка содержимого массива с клавиатуры и вывод его

на экран (пример вывода двумерного массива на экран)

// Заполнение двумерного

массива

#include
// Количество строк массива
#define SIZE_i 5
// Количество столбцов массива
#define SIZE_j 5

void main ()
{
int a[SIZE_i][SIZE_j]; // Двумерный массив
int i, j; // индексы массива
printf("\nВведите элементы массива\n");


см. продолжение

Продолжение
// Ввод элементов массива с клавиатуры

printf("После ввода числа - Enter\n");
for (i=0; i for (j=0; j {
printf ("a[%i][%i] = ",i,j);
scanf ("%i",&a[i][j]);
}

// Вывод массива на экран
for (i=0; i {
for (j=0; j printf("%4i \n",a[i][j]);
printf("\n");
}
}

C / С++

Массивы


И+ПРГ

АЛГОхитрости
Типовые алгоритмические приёмы с массивами

Двумерные массивы. Загрузка содержимого массива с клавиатуры и вывод его на экран (пример вывода двумерного массива на

Слайд 14


Двумерные массивы. Загрузка содержимого массива двумерных матриц (2x2) с клавиатуры

и вывод его на экран


Массивы
И+ПРГ
Pascal
Program Matrica;
Const
N=2;

(* Количество строк массива *)
M=2; (* Количество столбцов массива *)
K=2; (* Размерность матрицы *)
Type
(* Тип данных – двумерный массив *)
Matr=array [1..N,1..M] of integer;
Var
(* массив двумерных матриц*)
x : array [1..K]of Matr;
i,j,p : integer; (* индексы массивов *)
Begin
(* Загрузка данных *)
writeln ( 'Ввод данных в массив
двумерных матриц ');
for i:=1 to K do
for j:=1 to N do
for p:=1 to M do
write ('X[', i,',', j,',‘,p'] = ');
readln (x[i,j,p]);
см. продолжение

Продолжение

(* Вывод на экран *)
for i:=1 to K do
begin
writeln(i,'-я матрица');
for j:=1 to N do
begin
for p:=1 to M do
write (x[i,j,p],' ');
writeln;
end;
end;
writeln(‘Для выхода из программы
нажмите, пожалуйста, Enter’);
readln;
end.

АЛГОхитрости
Типовые алгоритмические приёмы с массивами

Двумерные массивы. Загрузка содержимого массива двумерных матриц (2x2) с клавиатуры и вывод его на экранМассивыИ+ПРГ PascalProgram Matrica;Const

Слайд 15

АЛГОхитрости
Типовые алгоритмические приёмы с массивами
Двумерные массивы. Сумма элементов массива

Все элементы

массива целых чисел Mas суммируются в переменную S. Max_i и

Max_j – размерность векторов массива.

И+ПРГ

АЛГОхитростиТиповые алгоритмические приёмы с массивамиДвумерные массивы. Сумма элементов массиваВсе элементы массива целых чисел Mas суммируются в переменную

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

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

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

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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