Разработка урока по информатике в 10 профильном классе

Предпросмотр материала:

Шевченко Ольга Викторовна учитель информатики

Учебное занятие «Вставка и удаление элементов массива»

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

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

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

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

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

Литература:

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

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

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

Цель работы:

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

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

Время выполнения: 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.

Рефлексия

Обсуждение итогов работы по данной теме в ходе освещения следующих вопросов:

1.     Какая технология используется при удалении элементов массива

2.     Что общего при удалении элементов одномерного и многомерного массива (Аналогичное обсуждение ситуации с добавлением массива).

3.     Подведение итогов – выставление оценок.

Краткое описание материала

Разработка урока по информатике в 10 профильном классе

    DOCX

Файл будет скачан в формате:

    DOCX

Краткое описание материала

Автор материала

Шевченко Ольга Викторовна

учитель информатики

  • На сайте: 11 лет и 2 месяца
  • Всего просмотров: 3680
  • Подписчики: 1
  • Всего материалов: 2
  • 3680
    просмотров
  • 2
    материалов
  • 1
    подписчиков

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

ИИ для создания материалов

Создавайте материалы с ИИ

Если готовые материалы не подошли — помогут нейросети

Конспекты, тесты, презентации, рабочие листы и другие материалы по ФГОС — под ваш урок, класс и цели занятия за пару минут.

Попробовать бесплатно

Выберите инструмент

~100

Нейросети могут ошибаться. Обязательно проверяйте ответы.

Другие материалы

Вам будут интересны эти курсы: