Главная / Информатика / Конспект урока на тему «Вставка и удаление элементов массива» 10 класс

Конспект урока на тему «Вставка и удаление элементов массива» 10 класс

Название документа Kyldasheva_pismo.doc

Автор: Кулдашева Елена Викторовна.

Должность: учитель информатики и ИКТ.

Квалификационная категория: первая.

Образовательное учреждение: МАОУ «СОШ № 33 с УИОП»

Белгородская обл., г. Старый Оскол.

E-mail: tigric74@mail.ru

Web сайт: http://sh33.oskoluno.ru/index.php/

Название документа Kyldasheva_yrok.doc

Тема урока: «Вставка и удаление элементов массива».

Предмет: Информатика и ИКТ.

Класс: 10 (профиль).

Ключевые слова: информатика, практическая работа, программирование, массивы, вставка, удаление элементов.

Тип урока: практическая работа.

Оборудование: Раздаточный материал; персональные компьютеры.

Литература:

  1. Попов В.Б. Turbo Pascal для школьников: Учебн. пособие - 3-е доп. изд. – М.: Финансы и статистика, 2004, - 528 с.: ил.

  2. Семашко Г.Л., Салтыков А.И. «Программирование на языке паскаль», М: «Наука», 1993 г.

  3. Фаронов В.В. «Turbo Pascal 7.0. Начальный курс», М: «Нолидж», 1997 г.

Цель работы:

  • разобрать принципы вставки и удаления элементов в одномерных и двумерных массивах,

  • закрепить полученные знания, путем решения задач.

Время выполнения: 2 урока.

Ход урока.

I. Удаление элементов из массива.

Одномерный массив

Двумерный массив

Постановка задачи:

Дан массив A(N). Удалить элемент, расположенный на месте k.

Дан массив B(N,M). Удалить столбец с номером k. (аналогично для удаления строки)

Описание способа удаления:

Сдвинуть весь «хвост» массива, начиная с элемента с номером k+1, на одну позицию влево, т.е. выполняя операцию: ai=ai+1, где i = k, k+1, …, N-1

Полученный массив будет содержать N-1 элемент.

Сдвинуть все столбцы, начиная с k+1 по m на одну позицию влево, выполнив операции:

Для j от 1 до m-1 делать

Перебрать все строки с 1 по n, выполнив

ai,j=ai,j+1

В новом массиве будет M-1 столбец.

Пример:

Дано: 3 5 7 8 9 N=5, k=2

Операции: a2:=a3; a3:=a4; a4:=a5

Итог: 3 7 8 9

Дано: N=3, M=4, k=2 Операции: Результат:

1 5 2 7 a1,2:=a1,3; a1,3:=a1,4;

1 2 7

8 4 3 5 a2,2:=a2,3; a2,3:=a2,4;

8 3 5

0 9 1 4 a3,2:=a3,3;a3,3:=a3,4;

0 1 4

Программа

Program pr1;

Uses crt;

Var a:array [1..100] of integer;

n, k, i:byte;

Begin

Clrscr;

Randomize;

Writeln(‘Введите количество элементов’);

Readln(n);

Writeln(‘Введите № удаляемого элемента’);

Readln(k);

{формирование массива случайным образом}

For i:=1 to n do begin

a[i]:=random(101)-50;

write(a[i]:4)

end;

writeln;

{удаление заданного элемента}

For i:=k to n-1 do

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

{вывод итогового массива}

For i:=1 to n-1 do

write(a[i]:4);

readln

end.


program pr2;

uses crt;

var b:array[1..100,1..100] of real; i,j,m,n,k:byte;

begin

clrscr; randomize;

writeln('Введите кол-во строк и столбцов');

readln(n,m);

writeln('Введитеудаляемого столбца');

readln(k);

for i:=1 to n do begin {формируем массив}

for j:=1 to m do begin

b[i,j]:=51*random-25;

write(b[i,j]:8:2)

end; writeln

end;

for j:=k to m-1 do {удаляем k-ый столбец}

for i:=1 to n do

b[i,j]:=b[i,j+1];

writeln;

{выводим полученный массив}

for i:=1 to n do begin

for j:=1 to m-1 do begin

write(b[i,j]:8:2)

end;

writeln

end;

readln end.

Задачи для самостоятельного решения:

  1. В одномерном массиве A(N) найти min элемент и удалить его.

  2. В двумерном массиве B(N,M) удалить строку с номером k. При этом выполнить проверку: не превышает ли значение k количества строк массива B.

II. Вставка (включение) элементов в массив.

Одномерный массив

Двумерный массив

Постановка задачи:

Дан массив A(N). Включить на k место в этом массиве элемент, равный m.

Дан массив B(N,M). Добавить столбец с номером k. Элементы нового столбца равны элементам массива C(N).(аналогично для добавления строки)

Описание способа удаления:

Перед включением заданного элемента в массив, необходимо раздвинуть этот массив, т.е. передвинуть «хвост» массива вправо на одну позицию, т.е. выполняя операцию: ai+1=ai, где i = N, N-1, …, k. Перемещение элементов массива начинаем с конца, в противном случае весь хвост массива заполнится k-ым элементом.

Размер массива увеличится до N+1 элемента.

Сдвинуть все столбцы, начиная с m по k на одну позицию вправо, выполнив операции:

для j от m до k делать

Перебрать все строки с 1 по n, выполнив

ai,j+1=ai,j

Затем в i=1-ой по n строках ai,k:=ci

В новом массиве будет M-1 столбец.

Важно: при добавлении столбца (строки) в двумерный массив, элементы этого столбца (строки) берутся из дополнительного одномерного массива размером = кол-ву строк двумерного массива (=кол-ву столбцов) либо вводятся с клавиатуры.

Пример:

Дано: 3 8 7 6 5 N=5, k=2, m=4

Операции: a6:=a5=5; a5:=a4=6; a4:=a3=7; a3:=a2=8

a2:=m=4

Итог: 3 4 8 7 6 5

Дано: N=3, M=4, k=3 Операции: Результат:

C(N)={6,8,2} a1,5:=a1,4; a1,4:=a1,3;

1 5 6 2 7

1 5 2 7 a2,5:=a2,4; a2,4:=a2,3;

8 4 8 3 5

8 4 3 5 a3,5:=a3,4; a3,4:=a3,3;

0 9 2 1 4

0 9 1 4

Программа

Program pr3;

Uses crt;

Var a:array [1..100] of integer;

n,k,i:byte; m:integer;

Begin

Clrscr;

Randomize;

Writeln('Введите количество элементов');

Readln(n);

Writeln('Введитевключаемого элемента');

Readln(k);

Writeln('Введите значение включаемого эл-та');

Readln(m);

{формируем массив}

For i:=1 to n do begin

a[i]:=random(101)-50;

write(a[i]:4)

end; writeln;

{раздвигаем эл-ты массива}

For i:=n downto k do

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

{заносим новый эл-т на k-ую позицию}

a[k]:=m;

{выводим получившийся массив}

For i:=1 to n+1 do

write(a[i]:4);

readln

end.

program pr4;

uses crt;

var b:array[1..100,1..100] of real; i,j,m,n,k:byte;

c:array[1..100] of real;

begin

clrscr; randomize;

writeln('Введите кол-во строк и столбцов');

readln(n,m);

writeln('Введите № добавляемого столбца');

readln(k);

for i:=1 to n do begin {формируем исходный массив}

for j:=1 to m do begin

b[i,j]:=51*random-25;

write(b[i,j]:8:2)

end;writeln;end;writeln;

for i:=1 to n do begin {форм. массив доб-го столбца}

c[i]:=51*random-25; write(c[i]:8:2)

end; writeln; writeln;

for j:=m downto k do {раздвигаем столбцы}

for i:=1 to n do

b[i,j+1]:=b[i,j];

for i:=1 to n do {добавляем столбец}

b[i,k]:=c[i];

writeln;

for i:=1 to n do begin {выводим полученный массив}

for j:=1 to m+1 do begin

write(b[i,j]:8:2)

end; writeln

end; readln end.

Задачи для самостоятельного решения:

  1. В одномерном массиве A(N) найти max элемент и вставить за ним элемент равный 2*max.

  2. В двумерном массиве B(N,M) вставить k-ую строку элементов массива C(M). При этом выполнить проверку: не превышает ли значение k количества строк массива B.

Конспект урока на тему «Вставка и удаление элементов массива» 10 класс
  • Информатика
Описание:


Тип урока: практическая работа.

Оборудование: раздаточный материал; персональные компьютеры.

Цели урока:

  • разобрать принципы вставки и удаления элементов в одномерных и двумерных массивах,
  • закрепить полученные знания, путем решения задач.

Время выполнения: 2 урока.

Ход урока

I. Удаление элементов из массива.

kl_1.png
kl_2.png

Задачи для самостоятельного решения:

  1. В одномерном массиве A(N) найти min элемент и удалить его.
  2. В двумерном массиве B(N,M) удалить строку с номером k. При этом выполнить проверку: не превышает ли значение k количества строк массива B.

II. Вставка (включение) элементов в массив.

kl_3.png
kl_4.png
kl_5.png

Задачи для самостоятельного решения:

  1. В одномерном массиве A(N) найти max элемент и вставить за ним элемент равный 2*max.
  2. В двумерном массиве B(N,M) вставить k-ую строку элементов массива C(M). При этом выполнить проверку: не превышает ли значение k количества строк массива B.




Литература:

  1. Попов В.Б. Turbo Pascal для школьников: Учебн. пособие - 3-е доп. изд. – М.: Финансы и статистика, 2004, - 528 с.: ил.
  2. Семашко Г.Л., Салтыков А.И. «Программирование на языке паскаль», М: «Наука», 1993 г.
  3. Фаронов В.В. «Turbo Pascal 7.0. Начальный курс», М: «Нолидж», 1997 г.
Автор Кулдашева Елена Викторовна
Дата добавления 26.08.2012
Раздел Информатика
Подраздел
Просмотров 4381
Номер материала 558
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓