Учебно-методическое пособие для студентов 1 курса отделений «Преподавание в начальных классах»

Вид материалаУчебно-методическое пособие

Содержание


Пояснительная записка.
Понятие массивов чисел в языке программирования Бейсик.
В языке программирования Бейсик массив представляет собой упорядоченную совокупность однотипных элементов.
Оператор DIM задает размер используемого массива.
Ввод с клавиатуры.
С использованием датчиков случайных чисел RND(1)
2.2 Алгоритмы и программы обработки массивов.
Упорядоченным по возрастанию называется такой массив, каждый последующий элемент которого больше предыдущего.
Повышение доступности алгоритмов для обработки массивов
I Вариант
II Вариант
IV Вариант
V Вариант
VI Вариант
Подобный материал:
Саратовский областной социально-педагогический колледж


Табличные величины. Массивы чисел

Учебно-методическое пособие для студентов 1 курса отделений «Преподавание в начальных классах» и «Дошкольное воспитание»


Выполнила:

преподаватель информатики СОСПК Старостина О.В.

Рецензент:

преподаватель информатики СОСПК

Попова Е.И.


Саратов, 2006 год

Краткая аннотация к работе.

Данная работа составлена в помощь студентам 1 курса социально-педагогического колледжа, изучающим дисциплину «Информатика». В работе рассмотрены вопросы программирования на алгоритмическом языке Бейсик по теме "Табличные величины. Массивы чисел". Приведены примеры и даны задания для самостоятельной работы студентов.

Пояснительная записка.

В основу учебно-методического пособия положены материалы, которые неоднократно использовались на уроках дисциплины «Информатика» при изучении темы "Табличные величины. Массивы чисел". Основная цель учебно-методического пособия - помочь студентам в освоении программного материала данной темы.


План работы.
  1. Часть I

Теоретические аспекты в изучении темы "Табличные величины. Массивы чисел на Бейсике"

1.1. Общее понятие табличных величин.

1.2. Понятие массивов чисел в языке программирования Бейсик. Изложение основного материала.

2. Часть II

Программирование с использованием числовых массивов

2.1 Способы заполнения массива

2.2 Программы обработки массивов.

2.3 Повышение доступности алгоритмов для обработки массивов на примере алгоритма УПОРЯДОЧЕНИЕ.
  1. Приложение

Задания для самостоятельной работы студентов.

  1. Часть I

Теоретические аспекты в изучении темы

"Табличные величины. Массивы чисел"

1.1. Общее понятие табличных величин.

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

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

4

7

8

9

12

1 2 3 4 5

Эта линейная таблица содержит 5 элементов, имеющих целый тип: 4, 7, 8, 9, 12. Элементу 4 соответствует индекс 1, элементу 7 - индекс 2 и т.д.

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




1

2

3

4

5

6

1

-5

7

18

23

13

5

2

8

10

11

47

-3

14

3

19

45

6.9

-2

7

6.23

4

0

34

-12

4

-7.89

-8

Чтобы указать элемент прямоугольной таблицы, надо использовать не один индекс, а два: первым указывается номер строки, вторым - номер столбца, на пересечении которых находится элемент. Например, в приведенной таблице числу 34 соответствует два индекса - 4 (номер строки) и 2 (номер столбца).

Тип элементов данной таблицы - вещественный.


  1. Понятие массивов чисел в языке программирования Бейсик.

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

Любая таблица представляет собой массив, состоящий из элементов данной таблицы, имеющих порядковые номера и одинаковый тип.

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

Элементами массива могут быть либо только числовые величины, либо только символьные величины. Если элементами массива являются числовые величины, то такой массив называют числовым.

Наглядно такие массивы можно представить в виде одномерной или двумерной таблицы.



Так же как и переменная, массив имеет имя - идентификатор, но кроме этого каждый элемент массива имеет индекс. Индекс показывает конкретный элемент массива (ячейку таблицы). Обращение к элементам массива производится с указанием имени массива и индекса. Например, пусть задан одномерный массив В, состоящий из 10 элементов. Тогда

В(7) - седьмой элемент массива В,

В(1) - первый элемент массива В

и т.д.

Аналогично с двумерными массивами:

С(1,3) - элемент 1 строки 3 столбца массива С,

С(2,5) - элемент 2 строки 5 столбца массива С

и т.д.

С элементами массива можно выполнять все те же действия, что и с простыми переменными.

При использовании массивов ЭВМ должна отвести для них место в памяти. Эта операция производится специальным оператором DIM (DIMENTION - размер).

Оператор DIM задает размер используемого массива. Размер массива должен быть задан до использования его элементов.

Общий вид оператора DIM:

DIM A(10), B(20), C(3,4)...,

где А, В, С - имя массива, числа в скобках (10), (20), (3,4) - соответствующие размеры массивов, указывающие максимальное число элементов в них.

Например, данный оператор DIM задает три массива:

массив А из десяти элементов,

массив В из двадцати элементов,

двумерный массив С - 3 строки по 4 элемента.

Если указать индекс массива, превышающий его размер, то это приведет к ошибке. Например, А(12) - элемента с таким номером в массиве А не существует. Обычно размерность массива задается в самом начале программы.


2. Часть II

Программирование с использованием числовых массивов

2.1 Способы заполнения массива

Чтобы работать с массивом, необходимо знать все его элементы.

Для задания элементов массива используют несколько способов. Перечислим 2 наиболее часто встречающиеся для одномерного числового массива.
  1. Ввод с клавиатуры.

INPUT "Введите количество элементов массива N"; N

PRINT "Введите элементы массива"

DIM A( N )

FOR I = 1 TO N

PRINT "A"; I; "=";

INPUT A( I )

NEXT I

Этот способ задания массива используют для работы с конкретными элементами, вводимыми с клавиатуры при помощи оператора INPUT в процессе выполнения программы.
  1. С использованием датчиков случайных чисел RND(1):

INPUT "Введите количество элементов массива N"; N

DIM A(N)

FOR I=1 TO N

A(I)=RND(1)*(H-L+1)+L

PRINT "A("; I ; ")="; A(I)

NEXT I

В этом случае массив будет заполнять сама ЭВМ. Элементы массива будут числами от L до H. Данный способ часто используется при отладке программ, когда не важны значения элементов массива и нет необходимости вводить их с клавиатуры каждый раз при запуске программы.

2.2 Алгоритмы и программы обработки массивов.

Используя массивы, очень удобно обрабатывать различные данные - сортировать, заменять одни данные на другие, находить наибольшее и наименьшее значения, упорядочивать данные и т.д.

Приведем несколько примеров алгоритмов и программ, обрабатывающих массивы:

Пример 1

Задание : найти минимальный элемент в заданном одномерном числовом массиве.

Прежде чем составить программу нахождения минимального элемента массива, составим алгоритм для решения этой задачи.

1 шаг. Задать массив и его элементы с помощью оператора INPUT (1 способ задания массива).

2 шаг. Примем первый элемент массива за наименьший, обозначим его М.

3 шаг. Сравним второй элемент с М.

4 шаг. Если он будет меньше М, то М присвоим значение второго элемента.

Повторим 3 и 4 шаги для оставшихся элементов массива.

5 шаг. Выведем значение минимального элемента на экран.

Теперь по этому алгоритму составим программу на языке Бейсик.

5 REM Программа1. Нахождение минимального элемента одномерного

числового массива

10 INPUT "Введите количество элементов массива N"; N ' вводим количество

элементов массива

20 PRINT "Введите элементы массива"

30 DIM A( N ) ' массив А из N элементов

40 FOR I = 1 TO N 'меняем индекс I от 1 до N

50 PRINT "A"; I; "=";

60 INPUT A( I ) ' ввод элементов массива

70 NEXT I 'следующий элемент

80 M=A(1) ' пусть наименьший элемент М равен первому элементу А(1)

90 FOR I=2 TO N 'перебираем индексы со 2 по N

100 IF A(I)
минимального М, то ему присваивают значение М.

110 NEXT I 'следующий элемент

120 PRINT "Наименьшее значение"; M ' вывод наименьшего значения на

экран

130 END ' конец программы


Пример 2.

Задание: Проверить, является ли одномерный числовой массив упорядоченным по возрастанию.

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

Сначала необходимо задать элементы массива. Поскольку нам не важны их значения, то для заполнения массива можно использовать датчик случайных чисел RND(1) (2 способ заполнения массива).

Если предыдущий элемент имеет индекс I, то последующий элемент будет иметь индекс I+1. Следовательно, если массив упорядочен по возрастанию, то для всех индексов I должно выполняться следующее неравенство:

А(I)<А(I+1), т. е. каждый последующий элемент массива больше предыдущего.

Чтобы просмотреть все элементы массива А(N) и не выйти за его размеры, индекс I будем менять от 1 до (N-1).

Если встретится значение I, для которого A(I)>A(I+1), то, следовательно, массив упорядоченным по возрастанию не является. В противном случае массив будет упорядоченным по возрастанию. Итак, запишем пошаговое выполнение алгоритма.

1 шаг. Зададим массив А(N). Для заполнения используем датчик случайных чисел RND(1) (2 способ заполнения массива).

2 шаг. Возьмем первые два числа - A(1) и A(2). Сравним их.

3 шаг. Если А(1)>A(2), то выведем на экран сообщение, что массив не упорядочен.

4 шаг. Если это неравенство не выполняется, то переходим к сравнению следующей пары чисел - А(2) и А(3).

И так далее до последней пары А(N-1) и A((N-1) +1)=A(N)

5 шаг. Если неравенство A(I)>A(I+1) не выполняется ни для каких значений I, то массив упорядочен по возрастанию.

6 шаг. Вывод ответа на экран: массив упорядочен по возрастанию.

5 REM Программа 2. Проверить, является ли массив упорядоченным по возрастанию

10 INPUT "Введите количество элементов массива N"; N ' ввод количества

элементов массива

20 DIM A(N) ' массив А, состоящий из N элементов

30 FOR I=1 TO N

40 A(I)=RND(1)*101 ' задаем элементы массива с помощью функции

RND(1). Элементами будут числа от 1 до 100

50 PRINT "A("; I ; ")="; A(I) ' вывод элементов массива на экран

60 NEXT I ' следующий элемент

70 FOR I=1 TO N-1 ' перебираем элементы массива от 1-го до (N-1)

80 IF A(I)>A(I+1) THEN 120 'если не упорядочен, то переходим на 120

строку программы

90 NEXT I ‘ следующий элемент массива

100 PRINT "Массив упорядочен по возрастанию"

110 END ' конец программы

120 PRINT "Массив не упорядочен по возрастанию"

Пример 3.

Задание: В числовом одномерном массиве заменить все элементы, меньшие 50 на ноль.

Составим алгоритм.

1 шаг. Зададим элементы массива. Поскольку нам не важны их значения, то, как и во 2 примере, для заполнения массива можно использовать датчик случайных чисел RND(1).

2 шаг. Будем перебирать все элементы массива в цикле и если элемент будет меньше 50, то заменим его нулем.

3 шаг. Вывод массива, полученного после замены элементов, меньших 50 нулем, на экран.

5 REM Программа 3. Замена элементов массива, меньших 50, нулем

10 INPUT "Введите количество элементов массива N"; N ' ввод количества

элементов массива

20 DIM A(N) ' массив А, состоящий из N элементов

30 FOR I=1 TO N

40 A(I)=RND(1)*101 ' задаем элементы массива с помощью функции

RND(1). Элементами будут числа от 1 до 100

50 PRINT "A("; I ; ")="; A(I) ' вывод элементов массива на экран

60 NEXT I ' следующий элемент

70 FOR I=1 TO N 'индекс меняем от 1 до N

80 IF A(I)<50 THEN A(I)=0 'если элемент с номером I< 50, то присвоить ему

значение, равное 0.

90 NEXT I 'следующий элемент

100 FOR I=1 TO N

110 PRINT "A("; I ; ")="; A(I) ' вывод элементов полученного массива на

экран

120 NEXT I ' следующий элемент

130 END ' конец программы.

  1. Повышение доступности алгоритмов для обработки массивов

на примере алгоритма УПОРЯДОЧЕНИЕ.

Задача упорядочения одномерного числового массива является одной из сложных задач в курсе ОИВТ. Для того, чтобы алгоритм решения данной задачи и построение программы были более доступными для осмысления студентами, предлагается следующая методика решения этого вопроса.

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

Пусть дан некоторый массив.

i 1 2 3 4 5

A(i) -2 7 4 0 -5

Применяя идею упорядочения, учащиеся преобразуют данный массив в следующий:

i 1 2 3 4 5

A(i) -5 -2 0 4 7

Выполняемые действия они описывают примерно так: "Взяли наибольшее число 7 и поставили его на последнее место, из оставшихся чисел взяли наибольшее - 4 и поставили его на предпоследнее место и т.д.".

Но данные действия еще не являются командами алгоритма.

Надо задать наводящий вопрос: "Когда вы поместили 7 на последнее место, где оказался элемент, находившийся на последнем месте?"

Это помогает студентам уточнить ответ: для упорядочения массива надо поменять местами его наибольший элемент и последний, затем наибольший элемент из всех, кроме последнего, поменять местами с предпоследним и т.д. Таким образом, для построения алгоритма упорядочения одномерного числового массива надо знать, как поменять местами два его элемента. Теперь подведем студентов к пониманию того, что для обмена местами элементов массива надо знать их номера. Для этого зададим такой вопрос: наибольший элемент массива равен 7; с помощью каких команд возможен обмен местами этого элемента с последним? И тут выясняется, что неизвестно, на какое место следует поставить последний элемент массива, так как не указан номер наибольшего элемента; приходим к выводу, что надо еще уметь находить номер наибольшего элемента.

В итоге возникает такой план решения задачи упорядочения числового массива:
  1. решить подзадачу 1: построить программу определения номера наибольшего элемента массива;
  2. решить подзадачу 2: построить программу обмена местами двух элементов массива: максимального элемента и последнего.
  3. решить основную задачу упорядочения по возрастанию, используя результаты решения подзадач 1 и 2.

Рассмотрим методику реализации выше изложенного алгоритма для построения программы упорядочения одномерного массива по возрастанию.
  1. Студентам дается задание построить программу для нахождения номера максимального элемента одномерного числового массива по алгоритму:

1 шаг. Задать массив и его элементы.

2 шаг. Найти максимальный элемент массива, определить его номер.

3 шаг. Вывод номера максимального элемента массива.


10 REM Программа 4. Нахождение номера максимального элемента

массива

20 CLS

30 INPUT "Введите количество элементов массива N"; N

40 PRINT "Введите элементы массива"

50 DIM A( N )

60 FOR I = 1 TO N

70 PRINT "A"; I; "=";

80 INPUT A( I )

90 NEXT I

Задали числовой массив с помощью оператора INPUT.

100 MAX = A( 1 ) ' первый элемент массива взяли за максимальный

110 K = 1 ' номер первого(максимального) элемента массива

120 FOR I = 2 TO N ' перебираем все элементы массива со второго до последнего

130 IF A( I ) >= MAX THEN MAX = A( I ): K = I ' если какой-либо элемент массива больше избранного максимального, то максимальным будет уже он и его номер будет являться номером максимального элемента массива

140 NEXT I ' следующее значение параметра I

150 PRINT "Номер максимального элемента массива=";K ' вывод на экран номера максимального элемента

160 END ' конец программы

Здесь не требуется выводить сам максимальный элемент, необходимо знать лишь его номер.

Затем переходим ко второму этапу решения задачи.
  1. Составим программу обмена местами максимального и последнего элемента массива.

Предлагается сначала составить программу обмена двух конкретных элементов массива местами.

Необходимо сначала разработать алгоритм такого обмена.

Для примера возьмем любой массив

I

1

2

3

4

5

6

A(I)

2

5

4

7

10

3


Зададим студентам задание поменять местами последний и предпоследний элементы массива. Чаще всего студенты предлагают такой алгоритм обмена: возьмем последний элемент А(6) и приравняем его к предпоследнему элементу A(5), а элемент A(5) приравняем к элементу A(6). Программа реализации данного алгоритма такова:

10 REM Программа5. Обмен элементов массива

20 CLS

Привычным способом студенты задают массив.

30 INPUT "Введите количество элементов массива N"; N

40 PRINT "Введите элементы массива"

50 DIM A( N )

60 FOR I = 1 TO N

70 PRINT "A"; I; "=";

80 INPUT A( I )

90 NEXT I

Затем осуществляют обмен.

100 A(6)=A(5)

110 A(5)=A(6)

И выводят полученный массив на экран

120 FOR I = 1 TO N

130 PRINT A( I )

140 NEXT I

150 END

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

Почему? Здесь целесообразно задать студентам следующий вопрос: когда мы пятому элементу присваиваем значение шестого, чему равен шестой элемент? Шестой элемент мы уже приравняли пятому предыдущей строкой с номером 100. Отсюда и результат программы - абсолютно равные последний и предпоследний элементы.

В данной программе вариант обмена 6 и 5 элементов, предложенный строками 100 и 110 является ошибочным.

Как быть?

Этот процесс обмена осуществим путем ввода некоторой промежуточной переменной P, которой мы присвоим значение шестого элемента. Таким образом, обмен будет выглядеть так:

100 P=A( 6 )

105 A(6)=A(5)

110 A(5)=P

Заменяя первоначальные строки программы на правильные, студенты получают нужный результат.

100 A(6)=A(5) 100 P=A( 6 )

110 A(5)=A(6) 105 A(6)=A(5)

110 A(5)=P

10 REM Программа 5. Обмен элементов массива

20 CLS

30 INPUT "Введите количество элементов массива N"; N

40 PRINT "Введите элементы массива"

50 DIM A( N )

60 FOR I = 1 TO N

70 PRINT "A"; I; "=";

80 INPUT A( I )

90 NEXT I

100 P=A( 6 )

105 A(6)=A(5)

110 A(5)=P

120 FOR I = 1 TO N

130 PRINT A( I )

140 NEXT I

150 END

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

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

10 REM Программа 6 Обмен максимального и последнего элемента

массива

20 CLS

30 INPUT "Введите количество элементов массива N"; N

40 PRINT "Введите элементы массива"

50 DIM A( N )

60 FOR I = 1 TO N

70 PRINT "A"; I; "=";

80 INPUT A( I )

90 NEXT I

100 MAX = A( 1 ) ' первый элемент массива взяли за максимальный

110 K = 1 ' номер первого(максимального) элемента массива

120 FOR I = 2 TO N ' перебираем все элементы массива со второго до

последнего

130 IF A( I ) >= MAX THEN MAX = A( I ): K = I

140 NEXT I ' следующее значение параметра I

150 PRINT "Номер максимального элемента массива=";K

Дополним эту программу строками из Программы 5 по обмену, но уже нужных нам элементов- максимального и последнего.

160 P = A( N ) ' промежуточной переменной P присваиваем значение последнего элемента массива

170 A( N ) = A( K ) ' последнему элементу присваиваем значение максимального элемента массива с номером K

180 A( K ) = P ' на место максимального элемента массива ставим последний.

Выведем получившийся массив на экран:

190 FOR I = 1 TO N

200 PRINT A( I )

210 NEXT I

220 END' конец программы

Проверим работу данной программы для конкретного числового массива.

Пусть задан следующий массив

I

1

2

3

4

5

A(I)

2

3

7

5

1

В результате работы нашей программы по обмену максимального элемента с последним, получим массив:

I

1

2

3

4

5

A(I)

2

3

1

5

7

В этом случае номер максимального элемента массива K=3, А(К) - максимальный элемент массива поменялся местами с элементом А(5).

Таким образом мы реализовали первые два пункта нашего алгоритма. Но массив еще не упорядочен.

Дальше нужно действовать подобным же образом для всех элементов массива, исключая последний, который уже стоит на своем месте. То есть программа повторяется, но уже не для N элементов, а для N-1 элемента (в программе N нужно будет заменить на N-1). Тогда мы найдем номер максимального из оставшихся элементов массива и поменяем его местами с последним (тоже из оставшихся). Затем все то же самое для N-2 элементов и так далее, пока не закончатся элементы массива.

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

10 REM Программа 7 Упорядочение по возрастанию элементов

одномерного числового массива

20 CLS

30 PRINT "Введите элементы массива"

40 N=4

50 DIM A(N)

60 FOR i = 1 TO 4

70 PRINT "A"; i; "=";

80 INPUT A( i )

90 NEXT i

100 REM первый блок (меняем местами максимальный и последний элемент)

110 MAX = A(1)

120 K = 1

130 FOR i = 2 TO N

140 IF A( i ) >= MAX THEN MAX = A( i ): K = i

150 NEXT i

160 P = A(N)

170 A(N) = A(K)

180 A(K) = P

190 FOR i = 1 TO N

200 PRINT A( i )

210 NEXT i

220 REM второй блок (меняем местами максимальный из трех первых и

предпоследний элемент)

230 MAX = A( 1 )

240 K = 1

250 FOR i = 2 TO N - 1

260 IF A( i ) >= MAX THEN MAX = A( i ): K = i

270 NEXT i

280 P = A( N - 1 )

290 A( N - 1 ) = A( K )

300 A( K ) = P

310 PRINT "во втором блоке получили массив"

320 FOR i = 1 TO N

330 PRINT A( i )

340 NEXT i

350 REM третий блок (меняем местами максимальный из двух первых оставшихся со вторым оставшимся элементом массива)

360 MAX = A( 1 )

370 K = 1

380 FOR i = 2 TO N - 2

390 IF A( i ) >= MAX THEN MAX = A( i ): K = i

400 NEXT i

410 P = A( N - 2 )

420 A( N - 2 ) = A( K )

430 A( K ) = P

440 PRINT "в третьем блоке получили массив"

450 FOR i = 1 TO N

460 PRINT A( i )

470 NEXT i

480 END

В результате выполнения данной программы массив упорядочен по возрастанию.

На этом этапе работы над программой нужно задать студентам вопросы:

1. Сколько блоков мы сделали для массива с 4 элементами?
  1. Чем отличаются блоки в программе?

Ответ очевиден: для массива с 4 элементами программа включает 3 почти одинаковых блока. Их отличие в том, что сначала все действия выполнялись для N=4 элементов, затем для N-1=3, затем N-2=2 элементов массива.

Целесообразнее повторяющиеся программные блоки вводить при помощи цикла.

Для задания параметра цикла выберем переменную S. В этом случае N будет начальное значение цикла, 2- конечное, шаг цикла будет равняться-1. Таким образом, в Программе 6, вводим цикл с переменной S.

Готовая программа будет выглядеть так:

10 REM Программа 8 Упорядочение по возрастанию

20 CLS

30 INPUT "Введите количество элементов массива N"; N

40 PRINT "Введите элементы массива"

50 DIM A(N)

60 FOR i = 1 TO N

70 PRINT "A"; i; "=";

80 INPUT A( i )

90 NEXT i

100 FOR S = N TO 2 STEP -1

110 MAX = A( 1 )

120 K = 1

130 FOR i = 2 TO S

140 IF A( i ) >= MAX THEN MAX = A( i ): K = i

150 NEXT i

160 P = A( S )

170 A( S ) = A( K )

180 A( K ) = P

190 NEXT S

200 FOR i = 1 TO N

210 PRINT A( i )

220 NEXT i

230 END

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

Для закрепления и проверки знаний учащихся предлагается выполнить задание: используя программу УПОРЯДОЧЕНИЕ по возрастанию значений элементов массива составить однотипную программу УПОРЯДОЧЕНИЕ по убыванию. Задание было дано 3 группам студентов.

Результаты приведены в таблице.

Подгруппы

1 подгруппа

2 подгруппа

3 подгруппа

"5"

"4"

"3"

"2"

"5"

"4"

"3"

"2"

"5"

"4"

"3"

"2"

4

3

3

0

6

2

2

0

3

4

3

0

Средний балл

4,1

4,4

4


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




Данные, представленные в таблице, свидетельствуют о значительном преимуществе хороших и отличных оценок как результата знаний у студентов, понимания студентами алгоритма и программы УПОРЯДОЧЕНИЕ.

Завершить изучение темы предлагается разработанными вариантами заданий для самостоятельной работы студентов. Варианты заданий даны в Приложении.


Заключение


Основные выводы работы

Таким образом, методика изложения учебного материала темы "Числовые массивы", расчленения сложной задачи построения алгоритма и программы упорядочения элементов массива на более простые задачи, их реализация на языке Бейсик в предложенной последовательности являются эффективными способами повышения доступности изучаемого материала.


Литература.

  1. «Изучение основ информатики и вычислительной техники», Авербух А.В., М. «Просвещение», 1992 г.
  2. «Алгоритмы и программы на Бейсике», Гринчишин Я. Т., М. «Просвещение», 1998 г.
  3. «Основы информатики и вычислительной техники», Заварыкин В.М., Житомирский В. Г., Москва «Просвещение», 1998 г.
  4. «Бейсик - это просто», Геворкян Г. Х., М. «Радиосвязь», 1989 г.
  5. "Основы информатики и вычислительной техники", Кушниренко А.Г., Лебедев Г.В., Сворень Р.А., М., "Просвещение", 1991 г.
  6. Журнал "Информатика и образование", № 5, 1987 г.



Приложение

Задания для самостоятельной работы студентов.

В данном приложении предложены задания 6 вариантов по 3 задания в каждом для самостоятельной работы студентов.

I Вариант

1. Составить программу для подсчета нулевых элементов одномерного числового массива, и вывести их номера.

REM Программа для подсчета нулевых элементов массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

S = 0

PRINT "Номера нулевых элементов массива:"

FOR i = 1 TO N

IF A( i ) = 0 THEN S = S + 1

IF A( i ) = 0 THEN PRINT i

NEXT i

PRINT "Количество нулевых элементов массива ="; S

END


2. Найти сумму всех элементов массива.

REM Программа для подсчета суммы всех элементов массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

S = 0

FOR i = 1 TO N

S = S + A( i )

NEXT i

PRINT "Сумма всех элементов массива ="; S

END

3. Найти максимальный элемент массива, вывести его номер.

REM Программа для нахождения максимального элемента массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

MAX = A( 1 )

K=1

FOR i = 2 TO N

IF A( i ) >= MAX THEN MAX = A( i ): K=i

NEXT i

PRINT "Максимальный элемент массива ="; MAX

PRINT "Номер максимального элемента массива-"; K

END


II Вариант

1. Составить программу для подсчета положительных элементов массива. Вывести их номера.

REM Программа для подсчета положительных элементов массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

S = 0

PRINT "Номера положительных элементов массива:"

FOR i = 1 TO N

IF A( i ) > 0 THEN S = S + 1

IF A( i ) > 0 THEN PRINT i

NEXT i

PRINT "Количество положительных элементов массива ="; S

END


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

REM Программа для подсчета произведения всех ненулевых элементов массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

P = 1

FOR i = 1 TO N

IF A( i ) <> 0 THEN P = P * A( i )

NEXT i

PRINT "Произведение всех ненулевых элементов массива ="; P

END

3. Найти наименьший элемент массива, вывести его номер.

REM Программа для нахождения минимального элемента массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

Min = A( 1 )

K=1

FOR i = 1 TO N

IF A( i ) <= Min THEN Min = A( i ): K=i

NEXT i

PRINT "Минимальный элемент массива ="; Min

PRINT "Номер минимального элемента массива-"; K

END


III Вариант

1. Составить программу для подсчета отрицательных элементов массива.

REM Программа для подсчета отрицательных элементов массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

S = 0

PRINT "Номера отрицательных элементов массива:"

FOR i = 1 TO N

IF A( i ) < 0 THEN S = S + 1

IF A( i ) < 0 THEN PRINT i

NEXT i

PRINT "Количество отрицательных элементов массива ="; S

END

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

REM Программа для подсчета суммы положительных элементов массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

S = 0

FOR i = 1 TO N

IF A( i ) > 0 THEN S = S + A( i )

NEXT i

PRINT "Сумма положительных элементов массива ="; S

END

3. Литерной переменной присвоить "да", если номер максимального элемента больше заданного числа (это число запрашивается), иначе вывести на экран "нет".

REM Программа ( литерной переменной присвоить "да", если номер

REM максимального элемента больше заданного числа ( запрашивается )... )

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

INPUT "Введите число"; T

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

MAX = A( 1 )

K=1

FOR i = 2 TO N

IF A( i ) >= MAX THEN MAX = A( i ): K=i

NEXT i

IF K > T THEN B$ = "ДА" ELSE B$ = "НЕТ"

PRINT MAX, B$

END

IV Вариант

1. Составить программу для замены дробных элементов массива на их целые части. Вывести их номера.

REM Программа для замены дробных элементов массива на их целые части.

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A( "; i; " )=";

INPUT A( i )

NEXT i

FOR i = 1 TO N

IF A( i ) > 0 THEN A( i ) = INT( A( i ) )

IF A( i ) < 0 THEN A( i ) = INT( A( i ) ) + 1

NEXT i

FOR i = 1 TO N

PRINT "A ( "; i; " )="; A( i )

NEXT i

END

2. Найти сумму максимального и минимального элементов массива.

REM Программа для нахождения суммы максимального и минимального элемента массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

MAX = A( 1 )

FOR i = 1 TO N

IF A( i ) >= MAX THEN MAX = A( i )

NEXT i

PRINT "Максимальный элемент массива ="; MAX

MIN = A( 1 )

FOR i = 1 TO N

IF A( i ) <= MIN THEN MIN = A( i )

NEXT

PRINT "Минимальный элемент массива="; MIN

S = MAX + MIN

PRINT "Сумма максимального и минимального элементов массива="; S

END

3. Составить программу для обнуления элементов массива, стоящих на четных местах.

REM Программа для обнуления элементов массива, стоящих на четных местах

CLS

INPUT "Введите размерность массива"; N

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

FOR i = 0 TO N STEP 2

A( i ) = 0

NEXT i

FOR i = 1 TO N

PRINT "A( "; i; " )="; A( i )

NEXT

END


V Вариант

1. Проверить, является ли одномерный числовой массив упорядоченным по убыванию.

REM Программа для определения упорядоченности по убыванию

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

FOR i=1 TO N

IF A(x)
NEXT i

PRINT "Массив упорядочен по убыванию"

END

120 PRINT "Массив не упорядочен по убыванию"


2. В одномерном числовом массиве заменить все элементы большие 70 на - 10.

REM Программа для замены всех элементов, больших 70 на 10

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

FOR i=1 TO N

IF A( i )>70 THEN A( i )=10

NEXT i

FOR i=1 TO N

PRINT A( i ) 'вывод массива на экран

NEXT i

END

3. Вычислить в одномерном числовом массиве суммы положительных и отрицательных элементов.


REM Программа для подсчета суммы положительных и отрицательных

REM элементов массива

CLS

INPUT "Введите размерность массива"; N

DIM A(N)

PRINT "Введите элементы массива"

FOR I = 1 TO N

PRINT "A("; I; ") =";

INPUT A( I )

NEXT I

S1 = 0

S2 = 0

FOR I = 1 TO N

IF A( I ) > 0 THEN S1 = S1 + A( I )

IF A( I ) < 0 THEN S2 = S2 + A( I )

NEXT I

PRINT "Сумма положительных элементов массива ="; S1

PRINT "Сумма отрицательных элементов массива="; S2

END


VI Вариант
  1. Определить сумму положительных элементов квадратной матрицы (двумерного массива с одинаковым количеством строк и столбцов).

REM Сумма положительных элементов квадратной матрицы

CLS

INPUT "Введите размерность массива"; N

DIM A( N, N )

FOR X = 1 TO N

FOR Y = 1 TO N

PRINT "A( "; X; ","; Y; " )";

INPUT A( X, Y )

NEXT Y

NEXT X

S = 0

FOR X = 1 TO N

FOR Y = 1 TO N

IF A( X, Y ) > 0 THEN S = S + A( X, Y )

NEXT Y

NEXT X

PRINT S

END

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

REM Программа для нахождения произведения максимального и минимального элемента массива

CLS

INPUT "Введите размерность массива"; N

DIM A( N)

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

MAX = A( 1 )

FOR i = 2 TO N

IF A( i ) >= MAX THEN MAX = A( i )

NEXT i

PRINT "Максимальный элемент массива ="; MAX

MIN = A( 1 )

FOR i = 2 TO N

IF A( i ) <= MIN THEN MIN = A( i )

NEXT i

PRINT "Минимальный элемент массива="; MIN

P = MAX * MIN

PRINT "Произведение максимального и минимального элементов массива="; P

END

3. Составить программу, заменяющую все элементы массива, стоящие на нечетных местах, на 100.

REM Программа для замены элементов массива, стоящих на нечетных местах

CLS

INPUT "Введите размерность массива"; N

PRINT "Введите элементы массива"

FOR i = 1 TO N

PRINT "A("; i; ") =";

INPUT A( i )

NEXT i

FOR i = 1 TO N STEP 2

A( i ) = 100

NEXT i

FOR i = 1 TO N

PRINT "A( "; i; " )="; A( i )

NEXT

END