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

Краткая аннотация

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

·  набор слайдов (в формате *.pps - для демонстрации в лекционной аудитории и в формате *.htm - для индивидуального просмотра);

·  вопросы для контроля, тестовые задания по теоретическому материалу, задания, оформленные в виде тетрадей с печатной основой (для каждого учащегося);

·  примеры решения типовых задач с подробными комментариями (в форматах *.pas и *.txt);

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

Привожу пример одного из уроков, разработанных по данной системе.

Цели урока: Формировать у учащихся знания, умения и навыки работы с одномерными массивами.

Задачи урока:

§  Развитие познавательного интереса, логического мышления, усиление познавательной мотивации осознанием ученика своей значимости в образовательном процессе.

§  Повторение и проверка умений учащимися использовать возможности текстового процессора Word.

§  Повышение интереса к изучению информационных технологий.

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

Программное обеспечение: Microsoft Power Point, Borland (Turbo) Pascal.

Литература:

1.  , , Селюн по программированию – М.: Наука, 1998

2.  Начала программирования: Кн. для учащихся: Пер. с лит. / Под ред. . – М.: Просвещение, 1997

3.  Журнал «Информатика и образование» гг.

4.  Я иду на урок информатики: Задачи по программированию. Книга для учителя. – М.: Издательство «Первое сентября», 2002.

5.  Информатика: Учебник. – 3-е перераб. Изд. / Под ред. проф. . – М.: Финансы и статистика, 2000

6.  Конспекты уроков информатики в 9-11 классах: Практикум по программированию / Авт.-сост. . – Волгоград: Учитель, 2005

7.  Курс компьютерной технологии с основами информатики: Уч. пособие для старших классов / О. Ефимова, В. Морозов, Н. Угринович – М.: АСТ»; ABF, 2002.

План урока:

1.  Организационный момент.

2.  Изложение нового материала.

3.  Разбор примера решения задачи.

4.  Закрепление нового материала с помощью тетрадей с печатной основой.

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

Ход урока:

1. Организационный момент.

2. Изложение нового материала.

На предыдущих уроках мы с вами работали только с простыми типами данных. Из элементов простых типов в языке Паскаль можно образовывать составные (структурированные) типы данных, так называемые структуры данных. Основной задачей нашего сегодняшнего урока станет знакомство с одной из таких структур – с массивом.

Массивы бывают одномерными и двухмерными. Но сегодня мы познакомимся только с одномерными массивами. Итак, запишите тему сегодняшнего урока: «Одномерные массивы».

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

Рассмотрим последовательность действительных чисел:

А={1,6; 14,9; -5,0; 8,5; 0,46}.

Здесь А – название последовательности, а к любому элементу последовательности можно обратиться по названию последовательности и его порядковому номеру. Например, если мы хотим обратиться к числу 8,5 то должны указать название последовательности и номер – А4. То, что в математике (да и в обычной жизни) мы называем последовательностью, в программировании будет называться одномерным (или линейным) массивом.

Итак, для обработки данных одного и того же типа в программировании вводится понятие «массив».

Массив – совокупность данных одного типа.

Запишем определение одномерного массива:

Массив, также как и последовательность в математике обозначается именем. Каждый элемент массива обозначается именем массива и индексом.

Количество элементов массива называется его размерностью.

В математике при обращении к элементу индекс заключается в круглые скобки (например А(1), А(2), А(3)…) или указывается ниже имени массива (А1, А2, А3…). В Паскале индекс элемента заключается в квадратные скобки, например А[4].

Если в программе используется массив, то он должен быть описан.

Рассмотрим пример.

Чаще всего массивы обрабатываются в цикле for.

Присвоение значений элементам массива может происходить несколькими способами.

Распечатывать массив можно двумя способами: в строчку через пробел и в столбец.

3. Пример решения задачи.

Разберём пример задачи (в данном случае возможны варианты: учитель может решать задачу с устными комментариями, отображая своё решение на экране с помощью проектора или предложить учащимся самостоятельно разобрать решение, находящееся в папке «Одномерные массивы» и записать в тетрадь пример решения с подробными комментариями).

Пример. Заполнить случайными числами из диапазона от -50 до 50 линейный массив из N целых чисел. Найти максимальное значение и его индекс (первый, если таких значений несколько).

program primer_massiv; {имя программы}

const n=10; {n - размерность массива – постоянная

величина}

type aa=array[1..n] of integer; {задаем тип массива}

var i, max, imax: integer; {описываем переменные

i – порядковый номер элемента,

max – значение максимального элемента,

imax – номер максимального элемента}

a:aa; {описываем массив заданным типом}

begin {начало программы}

randomize; {активизируем процедуру для задания

первого значения в последовательности

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

for i:=1 to n do {открываем цикл для задания и

распечатки массива}

begin {т. к. в цикле более одного оператора,

открываем операторную скобку}

a[i]:=random(100)-50; {заполняем массив псевдослучайными целыми

числами в интервале от -50 до 50}

write(a[i],' '); {распечатываем массив в строчку через

пробел}

end; {закрывающая операторная скобка}

max:=a[1]; {считаем максимальным 1-ый элемент}

imax:=1; {его номер - 1}

for i:=2 to n do {начиная со второго элемента сравниваем}

if a[i]>max then {если очередной элемент больше того,

который в данный момент является максимальным}

begin {тогда}

max:=a[i]; {он становится максимальным}

imax:=i; {запоминаем его номер}

end;

write('maximal”niy element ',max,' nahoditsya na ',imax,' meste'); {ответ}

readln {задержка решения до нажатия Enter}

end. {конец программы}

4. Листы из тетради с печатной основой по теме «Одномерные массивы»

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

1.  Дайте определение одномерного массива.

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

_____________________________________________________________________________

2.  Как описывается одномерный массив?

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________

3.  Что включают в себя понятия номер и значение элемента массива?

______________________________________________________________________________________________________________________________________________________________________________________________________________________________________

4.  Опишите, как организовать вывод линейного массива

В строчку

________________________________________________________________________________________________________________________________________________

В столбец

___________________________________

____________________________________________________________________________________________________________

5.  Опишите способы заполнения массивов.

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________

6.  Напишите фрагент программы для заполнения элементов массива датчиком случайных чисел на интервале:

а) [-50, 100]

__________________________________________________________________________________________________________________________________________________________

б) [-115, 115]

_________________________________________________________________________________________________________________________________________________________

в) [115, 250]

_________________________________________________________________________________________________________________________________________________________

7.  Создайте и распечатайте в строчку одномерный массив следующим образом: A(1) = 1, A(2) = -1, A(3)= 1, A(4) = -1, …, A(N)= -1

_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

8.  Создайте и распечатайте в столбик одномерный массив длиной N, следующим образом: А(1) = 4, А(2) = 6, А(3) = 8, А(4) = 10, …?

_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

9.  Дан массив A(N), сформированный датчиком случайных чисел на интервале (-50; 150). Из элементов массива А, кратных 5, сформировать массив B.

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

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

1.  Найти сумму положительных элементов массива.

2.  Найти сумму всех элементов массива, кратных 5.

3.  Найти сумму всех четных элементов массива, стоящих на четных местах.

4.  Найти сумму первых пяти элементов массива.

5.  Найти сумму элементов с k1 по k2, где k1, k2 вводятся с клавиатуры.

6.  Найти сумму элементов, больших данного числа А.

7.  Найти сумму элементов, принадлежащих промежутку от А до В.

8.  Найти номера всех отрицательных элементов массива (вывести их на экран). Если таких элементов нет, то сообщить об этом.

9.  Найти номера всех элементов с максимальным значением.

10.  Найти количество отрицательных нечетных элементов массива.

11.  Сколько элементов массива превосходят по модулю заданное число А?

12.  Найти все элементы массива, кратные 3 или 5. Сколько их?

13.  Есть ли в данном массиве два соседних положительных элемента? Найти номера первой и последней пары.

14.  Есть ли в данном массиве элемент, равный заданному числу? Если есть, то вывести номер одно из них.

15.  Изменить знак у максимального по модулю элемента массива.

16.  Заменить все четные элементы массива их квадратами, а нечетные – удвоить.

17.  Вычесть из положительных элементов элемент с номером k1, а к отрицательным прибавить элемент k2, нулевые элементы оставить без изменения.

18.  К четным элементам прибавить А, а из элементов с четными номерами вычесть В.

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

20.  Дан первый член геометрической прогрессии и её знаменатель. Найти первые n членов этой прогрессии.

21.  Получить первые n чисел Фибоначчи, - первые два числа равны 1, а каждое следующее сумме двух предыдущих.

22.  Даны два массива. Найти среднее арифметическое элементов каждого и сравнить эти значения.

23.  Дан одномерный массив А, состоящий из 2n элементов. Поменять его половины следующим образом: первый элемент поменять с последним, второй – с предпоследним и т. д.

24.  Дан одномерный массив. Переставить в обратном порядке элементы массива, расположенные между минимальным и максимальным.