Инфоурок Информатика КонспектыКонспект урока по теме "Двумерные массивы"

Конспект урока по теме "Двумерные массивы"

Скачать материал

Выберите документ из архива для просмотра:

Выбранный для просмотра документ урок-лекция Двумерные массивы.doc

Тема:

 «Обработка элементов двумерного массива.

Решение задач с двумерными массивами на языке QBasic»

Тип урока: комбинированный.

Технология: личностно-ориентированная.

Цели урока:

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

2.     стимулирование интереса учащихся к данной теме и предмету в целом;

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

4.     развитие мышления, умения применять полученные знания при решении задач различной направленности.

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

  • Воспитательная - развитие познавательного интереса, логического мышления.
  • Учебная - совершенствование навыков составления программ на языке программирования Basic для ЭВМ;
  • Развивающая - развитие алгоритмического мышления, памяти, внимательности.

Оборудование: ПК, интерактивная доска.

Программное обеспечение: средство мультимедиа PowerPoint, язык программирования QBasic.

ПЛАН УРОКА

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

2.     Актуализация знаний по теме, повторение.

3.     Решение задач с двумерными массивами.

4.     Проверка знаний в виде самостоятельной работы .

5.     Подведение итогов урока. Домашнее задание

 

 

 

 

ХОД УРОКА

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

Приветствие учащихся, ознакомление учащихся с целями и задачами урока.

2. Актуализация знаний по теме, повторение

Вопросы:

1.     Чем двумерный массив отличается от одномерного?

2.     Что означает запись: а) А(2,3); б) В(I,J)=5; в) В (G,N) при G=5, N=4.

3.     Сколько элементов содержит массив А(4,7). Как находится количество элементов в двумерном массиве?

4.     Что такое матрица?

5.     Какая матрица называется квадратной? Прямоугольной?

6.     Каким признаком обладают элементы матрицы, принадлежащие главной диагонали?

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

Положение элемента в двумерном массиве определяется двумя индексами. Они разделяются запятой.

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

При появлении отрицательного значения индекса вызывает сообщение об ошибке.

Описание двумерного массива

Для определения двумерного массива в программе используется тот же оператор DIM, только при определении размера необходимо указать два индекса - количество строк и столбцов:

DIM A(5,7)

Данное описание предполагает, что в массиве с именем А будет 5 строк и 7 столбцов.

 

 

Обращение к элементам массива

При обращении к элементу двумерного массива необходимо указывать два индекса: номер строки и номер столбца.

 

 

Дан массив А

57

34

56

21

44

88

90

11

91

45

88

92

0

37

73

67

85

16

42

30

22

65

92

49

64

27

82

19

62

37

99

10

35

21

11

1)   Какая размерность данного массива (5*7)

2)   Найдите элемент А(4,3), А(5,7)

3)   Найдите А(3,1)+А(2,6)

4)   Найдите А(6,4)*А(5,4)

 

Ввод, вывод элементов двумерного массива

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

For i=a to b

For k=c to d

:

Next k

Next i

 

 

 

 

Дана программа

10 CLS

20 INPUT "введите через запятую число  строк и столбцов ";N,M

30 DIM A(N,M)

40 FOR I=1 TO N

50 FOR J=1 TO M

60 PRINT"введите элемент А(";I;J;")=";

70  INPUT A(I,J)

80 NEXT J

90 NEXT I

100 FOR I=1 TO N

110 FOR J=1 TO M

120 PRINT A(I,J);

130 NEXT J

140 PRINT

150 NEXT I

160 END     

 

ответьте на вопросы:

1)   Как называется массив в предложенной программе?

2)    Сколько строк, столбцов в данном массиве?

3)    Каким способом заполнен массив?

4)    Назовите номера строк или строки, в которых вводятся элементы массива?

5)    Назовите номера строк или строки, в которых выводятся элементы массива на экран?

 

 

 

 

 

 

 

 

3. Обработка элементов двумерного массива

1. Удаление строки из массива.

90 REM УДАЛЕНИЕ СТРОКИ

100 N=N-1

105 INPUT “ВВЕДИТЕ НОМЕР УДАЛ СТРОКИ”;K

110 FOR I=K TO N

120 FOR J=1 TO N

130 B(I,J)=B(I+1,J)

140 NEXT J

150 NEXT I

 

2. Включение строки в массив.

90 REM ВКЛЮЧЕНИЕ СТРОКИ В МАССИВ

100 FOR I=N TO K STEP –1

110 FOR J=1 TO M

120 B(I+1,J)=B(I,J)

130 NEXT J

140 NEXT I

150 FOR J=1 TO M

160 A(K,J)=C(J)

170 Next J

180 N=N+1

 

3. Перестановка строк матрицы.

(с использованием вспомогательной переменной Р перестановка осуществляется во всех столбцах двух строк)

90 REM ПЕРЕСТАНОВКА СТРОК

100 FOR  K=1 TO M

110 P=A(I,K): A(I,K)=(J,K):A(J,K)=P

120 NEXT K

4. Поиск минимального( максимального) элемента в массиве.

Для двухмерного массива алгоритм аналогичный, но нужно для каждой строки просматривать элементы всех столбцов(что требует двойного цикла) и запомнить два индекса: номер строки (K) и номер столбца (L).

90 REM ПОИСК МИНИМАЛЬНОГО ЭЛЕМЕНТА МАССИВА

100 P=A(1,1) : K=1:L=1

110 FOR I=1 TO N

120 FOR J=1 TO M

130 IF P<=A(I,J) GOTO 150

140 P=A(I,J) : K=I:L=J

150 NEXT J

160 NEXT I

4. Закрепление пройденной темы. Решение задачи.

Задача 1. Напишите программу формирования и вывода двумерного массива произвольного размера так, чтобы в четных строках стояли 1, а в нечетных элементы задавались случайным образом из интервала (0,10).

CLS

Randomize Timer

Dim A(10,10)

For k=1 to 10

For m=1 to 10

If k mod 2=0 then A(k,m)=1 else A(k,m)=int(rnd*10)

Next m

Next k

For k=1 to 10

For m=1 to 10

Print A(k,m);

Next m

Print

Next k

end

 

Задача 2. Двумерный массив В(5,6) задан четными элементами случайным образом из интервала (-10,10). Включите на место третьей строки строку, состоящую из 1.  выведите на экран оба массива.

CLS

RANDOMIZE TIMER

DIM B(5,6)

FOR I=1 TO 5

FOR J=1 TO 5

B(I,J)=INT(RND*20-10)

? B(I,J);

NEXTJ

?

NEXT I

D(6,6)

FOR I=5 TO 3 STEP –1

FOR J=1 TO 5

B(I+1,J)=B(I,J)

NEXT J

NEXT I

FOR J=1 TO 5

D(3,J)=1

Next J

FOR I=1 TO 5

FOR J=1 TO 5

? D(I,J);

NEXT J

?

NEXT I

 

Задача 3. В двумерном массиве произвольных чисел В(4,7) взаимно поменять местами 2-й и 5-й столбцы. Вывести исходный масссив и массив, полученный после перестановок.

CLS

RANDOMIZE TIMER

DIM B(4,7)

DIM A(4,7)

FOR I=1 TO 4

FOR J=1 TO 7

B(I,J)=INT(RND*10)

? B(I,J)

A(I,J)=B(I,J)

NEXT J

?

NEXT I

FOR I=1 TO 4

P=A(I,2):A(I,2)=A(I,5): A(I,5)=P

NEXT I

FOR I=1 TO 4

FOR J=1 TO 7

? A(I,J);

NEXT J

?

NEXT I

 

 

 

 

 

 

Задача 4   В двумерном массиве произвольных чисел А(10,10) найти наибольший элемент главной диагонали.

CLS

RANDOMIZE TIMER

DIM A(10,10)

FOR I=1 TO 10

FOR J=1 TO 10

A(I,J)=INT(RND*10)

NEXT J

NEXT I

MAX=A(1,1)

B(10)

FOR I=1 TO 10

FOR J=1 TO 10

IF I=J THEN B(I)=A(I,J)

NEXT J,I

FOR I=2 TO 10

IF MAX>B(I) THEN MAX=MAX ELSE MAX=B(I)

NEXT I

? “MAX=”;MAX

 

Дополнительно (если останется время)

Задача 2. Напишите программу формирования и вывода массива размером (6*9), каждые 3 последовательных элемента в строке которого составлены по следующему правилу:

  • 1-й - числу введенному с клавиатуры
  • 2-й - удвоенному индексу строки
  • 3-й - случайному однозначному числу

Dim A(6,9)

For k=1 to 6

For m=1 to 9 step 3

Input "введите 1 элемент массива";A(k,m)

A(k,m+1)=2*k

A(k,m+2)=int(rnd(1)*10)

Next m

Next k

For k=1 to 6

For m=1 to 9

Print A(k);

Next m:Print

Next k

 

Задача 2. Составьте программу формирования одномерного массива из максимальных элементов строк двумерного массива, заданного датчиком случайных чисел.

CLS

Dim A(10,10),B(10)

For k=1 to 10: for m=1 to 10

A(k,m)=int(rnd(1)*100)

Print A(k,m);: Next m: Print: Next k

For k=1 to 10: min=A(k,1)

For m=1 to 10

If A(k,m)<min then min=A(k,m)

Next m

B(k)=min:Next k

For k=1 to 10

Print B(k)

Next k

 

 

Задача 3. Напишите программу, которая заполняет первую строку массива размером 2*5 фамилиями врачей, а вторую их специальностями. Определите и выведите по запросу с клавиатуры фамилию нужного специалиста.

 

Dim A$(2,5)

Data Иванов, Петров, Сидорова, Кулаков, Ильин

Data окулист, педиатр, стоматолог, кардиолог, лор

For m=1 to 2

For n=1 to 5

Read A$(m,n)

Print A$(m,n)

Next n

Print

Next m

Input "Введите специальность врача" F$

For m1 to 5

If A$(2,m)=F$ then Print A$(1,m)

Next m

 

 

 

 

4. Самостоятельная работа.

5. Подведение итогов. Домашнее задание

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

Задача 2. В таблице А(3,3) случайных чисел найти разницу между наибольшими и наименьшими числами.

Задача 3. Дан массив D(12,15). Удалить из данного массива 10 строку.

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Конспект урока по теме "Двумерные массивы""

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Бизнер-тренер

Получите профессию

Секретарь-администратор

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Получите профессию

Экскурсовод (гид)

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 672 048 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 28.11.2016 841
    • RAR 15.2 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Аникина Елена Николаевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Аникина Елена Николаевна
    Аникина Елена Николаевна
    • На сайте: 8 лет и 11 месяцев
    • Подписчики: 0
    • Всего просмотров: 6939
    • Всего материалов: 7

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Секретарь-администратор

Секретарь-администратор (делопроизводитель)

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Информационные системы и технологии: теория и методика преподавания в профессиональном образовании

Преподаватель информационных систем и технологий

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Этот курс уже прошли 14 человек

Курс повышения квалификации

Использование компьютерных технологий в процессе обучения информатике в условиях реализации ФГОС

36 ч. — 144 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 137 человек из 45 регионов
  • Этот курс уже прошли 1 303 человека

Курс профессиональной переподготовки

Информатика: теория и методика преподавания в профессиональном образовании

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

300/600 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 49 человек из 22 регионов
  • Этот курс уже прошли 152 человека

Мини-курс

Развитие коммуникации и речи у детей раннего возраста

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 30 человек из 16 регионов
  • Этот курс уже прошли 20 человек

Мини-курс

Спортивная подготовка: теория и практика

3 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Особенности психологической помощи детям

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 585 человек из 74 регионов
  • Этот курс уже прошли 251 человек