СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Решение типовых задач обработки одномерных массивов

Категория: Информатика

Нажмите, чтобы узнать подробности

Приводятся решение типовых задач по одномерным массивам.

Просмотр содержимого документа
«Решение типовых задач обработки одномерных массивов»

Задача №1 Типовые задачи обработки одномерных числовых массивов

Задача №1

Типовые задачи обработки одномерных числовых массивов

Удаление из массива k-го элемента со сдвигом всех расположенных справа от него элементов на одну позицию влево

Удаление из массива k-го элемента со сдвигом всех расположенных справа от него элементов на одну позицию влево

Исходный массив 12 3  0 23 5 7 13 7 7 45 8 2 1 k N N-1 k+1 Конечный массив 12  3 0 23 7 13 7 7 45 8 2 1

Исходный массив

12

3

0

23

5

7

13

7

7

45

8

2

1

k

N

N-1

k+1

Конечный массив

12

3

0

23

7

13

7

7

45

8

2

1

 const n=10; var i,k :integer;  a:array[1..n] of integer;  begin  for i:=1 to n do  read(a[i]);  write(‘введите номер элемента, который хотите удалить');  read(k);  for i:=k to n-1 do  a[i]:=a[i+1];  for i:=1 to n-1 do  write(a[i]);  end.

const n=10;

var i,k :integer;

a:array[1..n] of integer;

begin

for i:=1 to n do

read(a[i]);

write(‘введите номер элемента, который хотите удалить');

read(k);

for i:=k to n-1 do

a[i]:=a[i+1];

for i:=1 to n-1 do

write(a[i]);

end.

Задача №2 Вставка в массив заданного числа на k-ое место со сдвигом k-го, (k+1)-го, (k+2)-го и т.д. элементов на одну позицию вправо

Задача №2

Вставка в массив заданного числа на k-ое место со сдвигом k-го, (k+1)-го, (k+2)-го и т.д. элементов на одну позицию вправо

Исходный массив 12  3 0 23 7 13 7 7 45 8 2 1 k k+1 N-1 N Конечный массив 12 3  0 23 5 7 13 7 7 45 8 2

Исходный массив

12

3

0

23

7

13

7

7

45

8

2

1

k

k+1

N-1

N

Конечный массив

12

3

0

23

5

7

13

7

7

45

8

2

 const n=10; var i,k,b :integer;  a:array[1..n] of integer;  begin  for i:=1 to n do  read(a[i]);  write('введите номер места на которое вы хотите вставить элемент');  read(k);  write('введие элемент, который вы хотите вставить');  read(b);  for i:=n downto k+1 do  a[i]:=a[i-1];  a[k]:=b;  for i:=1 to n do  write(a[i]);  end.

const n=10;

var i,k,b :integer;

a:array[1..n] of integer;

begin

for i:=1 to n do

read(a[i]);

write('введите номер места на которое вы хотите вставить элемент');

read(k);

write('введие элемент, который вы хотите вставить');

read(b);

for i:=n downto k+1 do

a[i]:=a[i-1];

a[k]:=b;

for i:=1 to n do

write(a[i]);

end.

Задача №3 Циклическое перемещение элементов массива влево

Задача №3

Циклическое перемещение элементов массива влево

Исходный массив Вспомогательная:=a[1] 12  3 0 23 5 7 13 7 7 45 8 2 1 1 N N-1 a[n]:= Вспомогательная Конечный массив 3 0 23 5 7 13 7 7 45 8 2 1 12

Исходный массив

Вспомогательная:=a[1]

12

3

0

23

5

7

13

7

7

45

8

2

1

1

N

N-1

a[n]:= Вспомогательная

Конечный массив

3

0

23

5

7

13

7

7

45

8

2

1

12

 const n=10; var i,vspomog :integer;  a:array[1..n] of integer;  begin  for i:=1 to n do  read(a[i]);  vspomog:=a[1];  for i:=1 to n-1 do  a[i]:=a[i+1];  a[n]:=vspomog;  for i:=1 to n do  write(a[i]);  end.

const n=10;

var i,vspomog :integer;

a:array[1..n] of integer;

begin

for i:=1 to n do

read(a[i]);

vspomog:=a[1];

for i:=1 to n-1 do

a[i]:=a[i+1];

a[n]:=vspomog;

for i:=1 to n do

write(a[i]);

end.

Задача №4 Циклическое перемещение элементов массива вправо

Задача №4

Циклическое перемещение элементов массива вправо

Исходный массив Вспомогательная:=a[n] 12 3  0 23 5 7 13 7 7 45 8 2 1 2 N-1 N A[1]:= Вспомогательная Конечный массив 1 12 3 0 23 5 7 13 7 7 45 8 2

Исходный массив

Вспомогательная:=a[n]

12

3

0

23

5

7

13

7

7

45

8

2

1

2

N-1

N

A[1]:= Вспомогательная

Конечный массив

1

12

3

0

23

5

7

13

7

7

45

8

2

 const n=10; var i,vspomog :integer;  a:array[1..n] of integer;  begin  for i:=1 to n do  read(a[i]);  vspomog:=a[n];  for i:=n downto 2 do  a[i]:=a[i-1];  a[1]:=vspomog;  for i:=1 to n do  write(a[i]);  end.

const n=10;

var i,vspomog :integer;

a:array[1..n] of integer;

begin

for i:=1 to n do

read(a[i]);

vspomog:=a[n];

for i:=n downto 2 do

a[i]:=a[i-1];

a[1]:=vspomog;

for i:=1 to n do

write(a[i]);

end.

Проверка массива на упорядочность по неубыванию (определение, верно ли, что каждый его элемент, начиная со второго, не меньше предыдущего)

Проверка массива на упорядочность по неубыванию (определение, верно ли, что каждый его элемент, начиная со второго, не меньше предыдущего)

 const n=10; var i :integer;  a:array[1..n] of integer;  begin  for i:=1 to n do  read(a[i]);  i:=1;  repeat  i:=i+1;  until (a[i]=n);  write(i,n);  if i end.

const n=10;

var i :integer;

a:array[1..n] of integer;

begin

for i:=1 to n do

read(a[i]);

i:=1;

repeat

i:=i+1;

until (a[i]=n);

write(i,n);

if i

end.