Чоп Алексей Владимирович

 

 

 

Чоп Алексей Владимирович, первая квалификационная категория,
учитель информатики МОУ «Ванаварская средняя общеобразовательная школа»

 

 

 

 

Открытый урок информатики

Тема урока: Работа с элементами одномерного массива: вставка, удаление и перемещение элементов.

Цель урока:

  • формировать и развивать предметные и ключевые компетенции;
  • расширять представление о зоне применения одномерных массивов;
  • повышать культуру написания программ;
  • прививать навыки структурирования программы;
  • развивать логическое мышление;
  • развивать коммуникативные навыки.

Задачи урока:
развитие предметных компетенций:

  • прививать необходимость детально анализировать условие задачи;
  • развивать навыки оперирования понятиями «массив», «размерность массива», «элемент», «индекс элемента», «текущий элемент»;
  • учить определять необходимость сдвига элементов вправо и влево,
  • отрабатывать навыки составления программ с удалением, вставкой и перемещением элементов одномерного массива;

развитие ключевых компетенций:

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

Материалы и оборудование урока:

  • автоматизированные рабочие места учеников;
  • технологические карты для учащихся (модули);
  • карточки с заданиями для работы в группах.

Тип урока: урок получения новых знаний и навыков.

Технология обучения: модульная.

План урока:

  1. Организационный момент.
  2. Актуализация опорных знаний.
  3. Работа в группах.
  4. Эстетическая пауза.
  5. Закрепление изученного материала.
  6. Физкультминутка.
  7. Дополнительные задания.
  8. Домашнее задание.
  9. Подведение итогов урока.
  10. Рефлексия.

Ход урока

1.  Организационный момент.
Учитель. Мы продолжаем изучение способов работы с элементами одномерных массивов. Сегодня мы рассмотрим задачи:

  • на удаление элементов из одномерного массива;
  • на вставку элементов в одномерный массив;
  • на перемещение элементов массива.

2.  Актуализация опорных знаний.
Фронтальный опрос.

  • Дайте определение массива.
  • Что такое размерность массива?
  • Что такое индекс элемента массива?
  • Как в разделе var описывается массив? (А: array[1. .n]  of integer;)
  • Учитель. Один из учащихся приготовил для нас все переводы слова array. Он поможет нам разобраться с вопросом о том, почему именно слово arrayприменяется для описания массива в разделе var. (Демонстрируется слайд с переводами слова array.)

    Какие задачи на одномерные массивы мы умеем решать? (Суммирование элементов массива; нахождение произведения элементов; нахождение количества элементов; нахождение минимального (максимального) элемента и его индекса; обмен местами элементов массива.)

    Ребята называют задачи, затем на доске четверо учащихся записывают предложенные учителем фрагменты программ.
    Суммирование положительных элементов массива:
    s:=0;
    for  i:=1 to n do
    if  a[i]>0  then  s:=s+a[i];
    Поиск количест ва четных элементов массива:
    k:=0;
    for i:=l to n do
    if a[i] mod 2=0  then  k:=k+l;
    Поиск минимального элемента массива и его номера:
    min:=a[l] ;
    for  i:=l   to n do
    if  a[i]<=min then
    begin
    min:=a[i];
    t:=i;
     end;
    Обмен местами двух элементов массива с номерами k1 и k2 с помощью третьей переменной t:
    t:=a[kl];
    a[kl]:=a[k2];
    a[k2]:=t.

    На экран проецируются задания на работу с элементами массива.

    Задание 1 (ЕГЭ А6).
    Дан фрагмент программы, обрабатывающий массив А из п элементов (известно, что в массиве имеются положительные элементы):
    S:=0;
    k:=0;
    for  i:=l to n do
    if A[i]>0 then
    begin
    S:=S+A[i];
    k:=k+l;
    end;
    S:=S/k.

    Чему будет равно значение переменной Sпосле выполнения данного алгоритма?
    A) Среднему значению всех элементов массива А
    Б) Среднему значению положительных элементов массива А
    B) Количеству положительных элементов массива А
    Г) Значению последнего положительного элемента
    Номер ответа: Б.

    Задание 2 (ЕГЭ А6).
    В программе описан одномерный массив с целочисленными элементами с индексами от 0 до 10. Представлен фрагмент программы, в котором значения элементов сначала задаются, а затем меняются:
    for  i:=0  to  10  do
    A[i]:=i+l;
    for  i:=l  to 10 do
    A[i]:=A[i-l];

    Как меняются элементы этого массива?

    А) Все элементы, кроме последнего, сдвигаются на элемент вправо

    Б) Все элементы, кроме первого, сдвигаются на один элемент влево

    В) Все элементы окажутся равными 1

    Г)  Все элементы окажутся равными своему индексу

    Номер ответа: В.

    3. Работа в группах
    Каждой группе выдается карточка и предлагается выполнить задание для следующих данных:

    1

    -4

    6

    56

    0

    -6

    4

    23

    8

    9

    Ученики

    • отвечают на поставленные в задании вопросы;
    • пишут программу для решения поставленной задачи и заносят ее в модуль (см. приложение).

    Задание для группы 1.
    Удаление элементов из массива.
    Задан одномерный массив размера 10. Необходимо удалить его третий элемент.

    1. Сколько элементов в массиве? (10.)
    2. Сколько элементов станет в массиве после удаления третьего элемента? (9.)
    3. Что должно произойти с элементами с первого по второй? (Они не должны измениться.)
    4. Какой элемент должен быть помещен на третье место? (На третье место должен быть помещен четвертый элемент исходного массива.)
    5. На четвертое? На пятое? (На четвертое место пятый. На пятое — шестой.)
    6. Какую закономерность вы можете указать? (На текущее место в массиве должен быть помещен элемент, следующий за текущим, из исходного массива.)
    7. Элементы с какими индексами останутся неизменными, а с какими — будут изменены? (Неизменными останутся элементы, с индексами 1 и 2, а остальные элементы должны измениться.)
    8. Начиная с какого индекса элементы должны перемещаться? (Начиная с четвертого.)
    9. Необходимо перемещать элементы вправо или влево? (Перемещаться элементы должны влево.)

    10) Какой элемент должен быть перемещен на место элемента A[i]? (A[i] :=A[i+1].)
    for i:=3  to  9  do
    A[i]:=A[i+l].

    Задание для группы 2. Вставка элементов в массив.
    Задан одномерный массив размера 10. Необходимо вставить число 5 после третьего элемента.

    1. Сколько элементов в массиве? (10.)
    2. Сколько элементов станет в массиве в результате вставки числа 5 после третьего элемента? (11.)
    3. Какой индекс будет у вставленного элемента? (4.)
    4. Что должно произойти с элементами с первого по третий? (Эти элементы не должны измениться.)
    5. Какой элемент должен быть помещен на пятое место? (На пятое место должен переместиться четвертый элемент.)
    6. На шестое? На седьмое? (На шестое пятый. На седьмое — шестой.)
    7. Какую закономерность вы можете указать? (Элементы сдвигаются вправо.)
    8. Элементы с какими индексами останутся неизменными, а с какими будут изменены? (Неизменными останутся элементы с индексами 1—3, на четвертое место помещается число 5, а изменяются все остальные.)
    9. Начиная с какого индекса элементы должны перемещаться? (Перемещаться должны элементы с четвертого.)
    10. Необходимо перемещать элементы вправо или влево? (Вправо.)
    11. Если на четвертое место поместить пятерку, что произойдет с тем элементом, который находился до этого на четвертом месте? (Его значение потеряется.)
    12. Перемещение лучше начать с четвертого или с последнего элемента? (С последнего.)
    13. Какой элемент должен быть перемещен на место элемента A[i]? (A[i] :=A[i — 1].)

    for  i:=11  downto 5 do
    A[i]:=A[i-l];
    A[4]:=5.

    Задание для группы 3. Перемещение элементов в массиве.
    Задан одномерный массив размера 10. Осуществить перемещение элементов массива следующим образом: последний элемент записать на место первого, при этом сдвинув первый, второй, ..., предпоследний элементы на одну позицию вправо.

    1. Сколько элементов в массиве? (10.)
    2. Изменится ли количество элементов в массиве после перемещения? (Нет.)
    3. Какой элемент должен оказаться на месте первого? На месте второго? На месте третьего? (Десятый. Первый. Второй.)
    4. Можно ли последний элемент сразу поместить на место первого? Что станет в этом случае с первым элементом? (Нет. Его значение будет потеряно.)
    5. Можно ли сначала переместить поочередно все элементы вправо, начиная с первого, а затем последний элемент поместить на место первого? Что станет в этом случае с последним элементом? (Нет. Его значение будет утеряно.)
    6. Можно ли этого избежать, заведя дополнительную переменную? (Да. В дополнительную переменную можно поместить значение последнего элемента. Затем переместить элементы с девятого до первого вправо. Далее на первое место поместить значение десятого элемента из дополнительной переменной.)

    t:=A[10];
    for  i:=10  downto  2  do
    A[i]:=A[i-l];
    A[l]:=t.

    4. Эстетическая пауза.
    Демонстрируется слайд-шоу с видами озер под звуки воды.

    5. Закрепление изученного материала

    Задача 1.
    В одномерном массиве удалить максимальный элемент.
    Решение.
    program zadachal;
    const n=10;
    var
    A: array[l..n] of integer;
    max, i, k: integer;
    begin
    randomize;
    for i:=l to n do
    A[i]:= -20+random(60);
    for i:=l to n do
    write(A[i]:4);
    writeln;
    max:=A[1];
    for i:=l to n do
    if A[i]>=max then
    begin
    max:=A[i] ;
    k:=i;
    end;
    for i:=k to 9 do
    A[i]:=A[i+l];
    for i:=l to n-1 do
    write(A[i]:4);
    writeln;
    end.

    Задача 2.
    В одномерном массиве вставить после минимального элемента число 10.
    Решение.
    program zadacha2;
    const n=10;
    var
    A: array[l..n+1] of integer;
    min, i, k: integer;
    begin
    randomize;
    for i:=l to n do
    A[i]:=-20+random(60);
    for i:=l to n do
    write(A[i]:4);
    writeln;
    min:=A[l];
    for i:=l to n do
           if A[i]<=min then
    begin
    min:=A[i];
    k:=i;
    end;
    for i:=n+l  downto k+2 do
    A[i]:=A[i-l];
    A[k+1]:=10;
    for i:=l to n+1 do
    write(A[i]:4);
    writeln;
     end.

    Задача 3.
    Дан одномерный массив из четного количества элементов. Поменять местами первый элемент со вторым, третий с четвертым и т. д.
    Решение.
    program zadacha3;
    conet n=10;
    var
    A: array[1..П] of integer;
    t, i: integer;
    begin
    randomize;
    for i:=l to n do
    A[i]:=-20+random(60);
    for i:=l to n do
    write(A[i]:4);
    writeln;
    for i:=l to n do
    begin
    t:=A[i];
    A[i]:=A[i+l];
    A[i+1]:=t;
    i:=i+l;
    end;
    for  i:=l  to n do
    write(A[i]:4);
     writeln;
     end.

    6. Физкультминутка 

    7. Дополнительные задания

    Задача 4.
    В одномерном массиве вставить число 100 перед первым отрицательным элементом.
    Решение.
    program zadacha4;
    const n=10;
    var

    A: array[1..n+1] of integer;
    i, k: integer;
    begin
    randomize;
    for i:=l to n do
    A[i]:=-20+random(60);
     for i:=l to n do
    if A[i]<0 then
    begin
    k:=i;
    i:=n;
    end;
     for i:=n+l downto k+1 do
    A[i]:=A[i-l];
    A[k]:=100;
     for  i:=l   to n+1  do
    write(A[i]:4);
    writeln;
    end.

    Задача 5.
    Удалить из массива все элементы, стоящие перед максимальным элементом.
    Решение.
    program zadacha5;
    const n=10;
    var
    A: array[l..n] of integer;
    max, i, k: integer;
    begin
    randomize;
    for i:=l to n do
    A[i]:=-20+random(60);
    max:=A[1];
    for i:=l to n do
    if A[i]>=max then
     begin
    max:=A[i];
    k:=i;
     end;
    for i:=l to n-k+1 do
    A[i]:=A[i+k-l];
    for i:=l to n-k+1 do
    write(A[i]:4);
    writeln;
    end.

    8. Домашнее задание
    Задание. Изменить порядок элементов на противоположный между максимальным и минимальным элементами в одномерном массиве.

    9. Подведение итогов урока
    Учитель. Какие базовые задачи мы с вами сегодня решали? (Удаление, вставка и перемещение элементов одномерного массива.) Эти задачи помогут нам на следующих занятиях рассмотреть алгоритм сортировки массива.

    10. Рефлексия
    Учитель. В модуле в последнем столбце напротив каждого задания поставьте знаки:
    « + » — все усвоено;
    «−» — не усвоено;
    «?» — есть вопросы (напишите, какие именно).

    __________________________________________________________________________________________________________________

    Приложение

    Модуль для урока
    Тема урока: Работа с элементами одномерного массива: вставка, удаление, перемещение.
    ФИО, класс____________________________________________________

    п/п

    Задача

    Программа

    + − ?

    1

    Базовые задачи на удаление, вставку и перемещение элементов одномерного массива

     

    Удаление элементов из массива. Задан одномерный массив размера 10. Необходимо удалить его третий элемент

     

     

     

    Вставка элементов в массив. Задан одномерный массив размера 10. Необходимо вставить число 5 после третьего элемента

     

     

     

    Перемещение элементов массива. Задан одномерный массив размера 10. Осуществить перемещение элементов массива следующим образом: последний элемент записать на место первого, при этом сдвинув первый, второй, ..., предпоследний элементы на одну позицию вправо

     

     

    2

    Решение задач

     

    Задача 1. В одномерном массиве удалить максимальный элемент

     

     

     

    Задача 2. В одномерном массиве вставить после минимального элемента число 10

     

     

     

    Задача 3. Дан одномерный массив из четного количества элементов. Поменять местами первый элемент со вторым, третий с четвертым и т. д.

     

     

    3

    Дополнительные задачи

     

    Задача 4. В одномерном массиве вставить число 100 перед первым отрицательным элементом

     

     

     

    Задача 5. Удалить из массива все элементы, стоящие перед максимальным элементом

     

     

    4

    Домашнее задание
    Задание. Изменить порядок элементов на противоположный между максимальным и минимальным элементами в одномерном массиве

     

    вернуться на страницу Фестиваль педагогических идей в Эвенкии

    на страницу Год учителя



  © Управление образования Администрации ЭМР
2006-2016
Россия, 648000, Красноярский край, Эвенкийский МР, п.Тура, ул.Советская, 2.
телефон: (39170) 31-253. E-mail:  FarkovaTI@tura.evenkya.ru