- Учебник: «Информатика», Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В.
- Тема: § 12. Алгоритмы с ветвящейся структурой
- 06.10.2020
- 972
- 18
![«Информатика», Семакин И.Г., Залогова Л.А., Русаков С.В., Шестакова Л.В.](https://cdn-main.infourok.ru/is04/02db/0010f2ca-c92de1a1-108x138.jpg)
Шевченко Ольга Викторовна учитель информатики
Учебное занятие «Вставка и удаление элементов массива»
Предмет: Информатика и ИКТ.
Класс: 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 класс
По новой программе и учебнику под редакцией А.Ю.Лазебниковой, В.С. Басюка. проф уровень
Курс повышения квалификации
Курс повышения квалификации
36 ч. — 180 ч.
Курс повышения квалификации
36 ч. — 180 ч.
Курс повышения квалификации
72 ч. — 180 ч.
Еще материалы по этой теме
Смотреть
Рабочие листы
к вашим урокам
Скачать
Разработка урока, рассчитанного на два урока информатики в 10 информационно - технологическом профильном классе.
Замена переменных в массиве на примере сравнения замены в одномерном массиве и двумерном массивах в программировании на языке Паскаль.
Этот урок комбинированный. На первом уроке рассматривается замена элементов в различных массивах, а на втором уроке отрабатывается в ходе решения задач по данной теме и выполнения самостоятельной работы по рассматриваемой теме урока.
На данных урока возможно применение среды программирования. И этот момент дает хороший результат.
6 977 849 материалов в базе
Вам будут доступны для скачивания все 159 237 материалов из нашего маркетплейса.
Мини-курс
3 ч.
Мини-курс
3 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.