Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час)


НазваниеУрок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час)
ТипУрок
Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы (1 час).

Цель урока: систематизация и развитие знаний по использованию массивов в программах на Паскале.

Примерный ход урока:

  1. Необходимо выяснить, насколько внимательно учащиеся поработали с материалом параграфа 2.2.9 учебника, как усвоили особенности описания и применения массивов. Можно подготовить презентацию с вопросами и заданиями, направленными на закрепление учебного материала, включая вопросы после параграфа. Например:

    1. Для чего в программах применяются массивы?

    2. Как вы определите регулярный тип данных?

    3. Из описаний левого столбца Табл.1 выберите те, которые соответствуют правилам описания массива. Прокомментируйте неверные описания. Для каждого правильного описания сообщите, сколько элементов массива может быть задействовано и сколько памяти необходимо для хранения значений массива.

    4. Сопоставьте правильные описания массивов и обращения к отдельным элементам массива, записанным в правом столбце:

Таблица 1.




Var A: array [-10..8] of char;


А[‘8’]:=-5




Var А: array [char] of -10..8;


A[Y]:=’Y’




Var А: array [byte] of real;


А[80]:=Pi




Var А: array [real] of char;


A[‘B’][0]:=’C’




Var А: array[‘A’..’Z’] of array [-10..8] of char;

А[-8]:=’*’




Var А: array [X,Y,Z] of char;

А[8]:=’5’

Также можно добавить в таблицу задание выбрать верные (неверные) обращения к элементам массива и т.п.

    1. Массив А содержит следующие значения: -9.2, 6, -5.3, 8.

В программе необходимо элементы массива A скопировать в массив B. Какими операциями это возможно осуществить? Как должны быть описаны массивы А, В?

    1. Запишите команды вывода массива А (из задания 5 ) на экран.

  1. Проанализировать выполнение домашнего задания – упр. №5. Выясните, как учащиеся вводят элементы массива. В данной задаче предпочтительнее было задать константу N– длину вектора, а не вводить 50 элементов с клавиатуры. Обязательно обратите внимание учащихся на необходимость выполнения команды S:=0, где S – переменная для получения суммы квадратов координат вектора.

  2. Реализуйте с учащимися ввод значений элементов массива из файла. При этом следует посчитать количество введённых элементов. Для организации цикла используется структура:

While not eof(F) do {пока не достигнут конец файла}

Begin

Read(F, z[i]), ,,,{считывается значение элемента массива и выполняются необходимые команды}

End;

Домашнее задание: повторить материал параграфа 2.2.9, упр. №.6, 7.
Урок 23. Тема урока: Массивы в языке Паскаль. Одномерные и двумерные массивы (1 час).

Цель урока: систематизация и развитие знаний по применению массивов.

Примерный ход урока:

  1. Проверить домашнее задание, выяснить, какие трудности испытывали учащиеся при его выполнении.

  2. Обсудите особенности описания и формирования многомерных массивов. Для актуализации знаний можно воспользоваться приёмом вопросов-заданий:

  1. Дан массив А: Запишите описание, соответствующее данному массиву, определите, чему будут равны элементы A[2,1], A[1,3].



  1. Запишите команды вывода массива А на экран.

  2. Запишите команды вывода массива А в файл.

  1. Решение упр. №8 фронтально или самостоятельно. Обсудите 2 способа решения задачи: 1) обмен строк с использованием дополнительного одномерного массива 2) поэлементный обмен строк. Какие особенности описания массивов учитывались в каждом способе решения задачи?

Домашнее задание: параграф 2.2.9, задачи №9,10 после параграфа.
Урок 24. Тема урока: Массивы в языке Паскаль. (1 час).

Цель урока: систематизация и развитие знаний по применению массивов.

Примерный ход урока:

  1. Проверить домашнее задание. Пусть один из учащихся представит своё решение, расскажет, какими рассуждениями пользовался для составления алгоритма. Необходимо обратить внимание на то, что элементы из исходного массива В берутся с шагом 3, что соответствует длине строки. Один из вариантов решения в программе N9. Аналогично составляется программа для задания 10.

Program N9;

type mas1=array[1..9]of integer;

var A:array[1..3]of mas1;

B: mas1;

i,j:integer;

begin

for i:=1 to 9 do Readln(B[i]);

for i:=1 to 3 do

begin

for j:=1 to 3 do

begin

A[i,j]:=B[j+3*(i-1)];

Write (A[i,j]:4)

end;

Writeln

end;

end.

Program N10;

type mas1=array[1..16]of integer;

var A:array[1..4]of mas1;

B: mas1; i,j:integer;

begin

for i:=1 to 4 do

begin

for j:=1 to 4 do Read(A[i,j]);

readln

end;

for j:=1 to 4 do

for i:=1 to 4 do

begin

B[i+4*(j-1)]:=a[i,j];

write (B[i+4*(j-1)]:4)

end;

writeln {Запись в текстовый файл учащиеся программируют самостоятельно}

end.

  1. Решить задачи, обратные к №9,10:

  1. Одномерный массив длиной N2 свернуть в двумерный массив по столбцам.

  2. Двумерный массив размерности NxM развернуть в одномерный массив по строкам.

Домашнее задание: параграф 2.2.9, подготовиться к проверочной работе. Решить задачу: Дано число N. Создать двумерный массив NxN, в котором 1-я строка содержит числа от 1 до N, 2-я строка – удвоенные значения первой строки и т.д.
Урок 25. Тема урока: Массивы в языке Паскаль. (1 час).

Цель урока: Проверка усвоения основ теоретических и практических знаний по теме «Массивы».

Примерный ход урока:

  1. Обсудить домашнее задание.

  2. Проверочная работа - проводится в форме теста или работы по решению задач.

Домашнее задание: параграф 2.2.10 (до примера №4), набрать и отладить программы к примерам №1-3.
Уроки 26-31. Тема урока: Типовые задачи обработки массивов. (6 час).

Цель уроков: Систематизация и развитие навыков решения учащимися типовых задач с использованием массивов.

Общие замечания: В программировании выделяются алгоритмы, которые относятся к так называемым стандартным. Они часто используются как самостоятельные программы или как блоки и подпрограммы при решении других задач. К таким алгоритмам относятся: алгоритмы заполнения массивов различными способами, алгоритмы вычисления суммы элементов с конкретным свойством (или их количество), среднего арифметического элементов с конкретным свойством, поиска минимального (максимального) элементов (или их индексов), поиска заданного значения прямым перебором и методом половинного деления, алгоритмы удаления элемента с заданным значением, вставка значения на заданную позицию, упорядочения элементов по возрастанию (убыванию). Учащиеся должны владеть устойчивыми навыками программирования этих алгоритмов, распознавать их и применять при решении более сложных задач. В компьютерном практикуме УМК курса достаточно разноуровневых задач на достижение этой цели, удовлетворение познавательных потребностей каждого ученика.

В следующих методических рекомендациях обсуждаются вопросы и задачи, на которые необходимо обратить особое внимание учащихся. Целесообразно провести зачёт по усвоению учащимися стандартных алгоритмов обработки массивов и их применению.

Некоторые рекомендации и задания по теме «обработка массивов»:

  1. Создание элементов массива с помощью датчика случайных чисел. Предложите учащимся обобщить выражение для формирования элементов массива в интервале от –а до а или от а до в (где a, в- целые (затем вещественные) числа).

  2. Заполнение двумерных массивов случайными числами и построчный вывод на экран.

  3. Заполнение частично или полностью двумерных массивов с использованием значений индексов (как в примере 2 параграфа).

  4. При работе с квадратными матрицами (двумерными массивами) учащиеся должны выявить и знать отличие элементов главной диагонали (номер строки I = номер столбца J), нижней треугольной части (I>J), верхней треугольной части(I

  5. При вычислении суммы, количества элементов с заданным свойством необходимо инициализировать соответствующие переменные.

  6. Если массив применяется в качестве параметра подпрограммы, должен быть объявлен идентификатор соответствующего типа (см. пример 3 параграфа 2.2.10).

  7. Для отладки программы, в которой исходный массив не должен изменяться, можно применять описание массива в виде типизированной константы. Например:

Const A:array[1..6] of integer=(5, -2,6,4,0,-4). В скобках должно быть столько элементов, сколько объявлено в индексном типе.

  1. При удалении элементов с заданным значением из одномерного массива необходимо помнить, что в цикле FOR параметр изменяется автоматически, поэтому поиск элемента, подлежащего удалению, следует выполнять «с конца», с использованием цикла FOR…downto или с использованием циклов с предусловием или постусловием. Например:

Program Udalenie;

type mas1=array[1..50]of integer;

var A:mas1;

i,k,n:integer;

procedure Delmas(var A:mas1;k:integer);

var i:integer;

begin

for i:=k to n-1 do a[i]:=a[i+1];

a[n]:=0;

n:=n-1

end;

begin

Readln(n); {вводится количество элементов массива}

for i:=1 to n do

begin

a[i]:=random(10); write (a[i]:4)

end;

writeln;

writeln('введите значение, которое следует удалить'); Readln(K);

for i:=n downto 1 do

if А[i]=k then

Delmas(A,i);

for i:=1 to n do write (a[i]:4);

writeln

end.

  1. Решение задания № 5 после параграфа 2.2.10 следует выполнять без использования сортировки, так как сортировка значительно увеличивает сложность алгоритма. (Целесообразно провести с учащимися исследование на зависимость количества выполняемых операций от размерностей массивов). Прежде чем приступить к составлению алгоритма, необходимо проанализировать принцип формирования нового массива на конкретных примерах. При этом рекомендуем обратить внимание учащихся на следующие моменты:

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

  • Значения индексов массивов изменяются независимо друг от друга,

  • Один из массивов может «закончиться» раньше другого.

Для удобства отладки программы следует воспользоваться константами. Решение может быть следующим:

const n=6;

type mas1=array[1..n]of integer;

const A:mas1=(-5,1,3,7,10,15); B:mas1=(-7,-1,4,5,18,25);

var i,k,j:integer; C: array[1..n*2]of integer;

begin

i:=1; {индекс элемента в массиве А}

k:=1; {индекс элемента в массиве В}

J:=0; {индекс элемента в массиве С}

While (i<=n) and (k<=n)do

begin

J:=J+1;

if A[i]
Then

begin

C[J]:=A[i];

i:=i+1

end

else

begin

C[J]:=B[k];

k:=k+1

end;

end;

If i<=n then

for k:=i to n do

begin

J:=J+1;

C[J]:=A[k]

end;

If k<=n then

for i:=k to n do

begin J:=J+1;

C[J]:=B[i]

end;

for i:=1 to 2*n do write (C[i]:3);

end.

Следует обсудить с учащимися модификацию программы для использования массивов, имеющих разную длину.

  1. Эффективной формой занятий является семинар-практикум по представлению и обсуждению разработанных учащимися программ из практикума. Данная форма занятия способствует пониманию учебного материала, расширения спектра решаемых задач (учащиеся за один урок решают сразу несколько задач), развитию навыков аргументации, критического и аналитического мышления. При проведении такого занятия следует остановиться на задачах, которые также можно отнести к «типовым»: перенос элементов с заданным значением из одного массива в другой (№15, 19,20), изменение порядка следования элементов (№10, 16, 21). Важно обсудить применение алгоритмов поиска минимального-максимального элементов при разработке других программ.

  2. При решении задач с двумерными массивами следует добиваться понимания представления массива в памяти компьютера, развивать и закреплять умение работать со строками двумерного массива как с отдельными структурными переменными (например, при обмене строк).




Похожие:

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconЛабораторная работа №1 (одномерные массивы) 27
Лабораторная работа №6 (статические массивы, знакомство с графическим режимом. Возможно будет изменена) 49

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconЛекция 12 Двумерные массивы
Многомерные массивы задаются указанием каждого измерения в квадратных скобках, например, оператор

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconДвумерные массивы
Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Их можно представить в виде прямоугольной...

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconОдномерные и двумерные массивы (таблицы) Массив
Массив — это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются...

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconОдномерные и двумерные массивы Раздел описания типов
В разделе описания типов пользователь может определять свои типы данных, присваивая каждому из них определенный идентификатор. Синтаксис...

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconМетодические материалы к урокам по программированию массивы Преподаватель информатики
Для элемента прямоугольной таблицы должны быть указаны два номера: номер по вертикали (номер строки) и номер по горизонтали (номер...

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconКонспект урока Тема: Задача и загадка
Краткое описание: Технология построения урока – проблемно-диалогическая. Урок предполагает работу в парах

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconУрок технологии в 1 классе, умк «Школа России» Тема урока
Задачи урока: познакомить детей с новым учебником и его специфическими особенностями, рабочей тетрадью, героями; раскрыть содержание...

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconУрок сбо в 9б классе Учитель Круглова А. Н. Тема урока: Как отправить денежный перевод
Ожидаемый результат: предполагается, что к концу урока дети смогут правильно оформить бланк денежного перевода

Урок 22. Тема урока: Массивы в языке Паскаль. Одномерные массивы ( 1 час) iconМассивы в
Целью настоящей работы является изучение методов программирования на java с использованием массивов

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на blankidoc.ru




При копировании материала укажите ссылку © 2024
контакты
blankidoc.ru