Методическая разработка урока "Способы формирования одномерных массивов" 9 класс

МОУ «Гимназия №5 г. Сергиева Посада»
Методическая разработка
уроков по теме
«Способы формирования
одномерных массивов»
Учитель: Шпак Н. П.
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
2
Тема «Способы формирования одномерных массивов» рассматривается при
изучении темы «Массивы» в курсе углублённого изучения информатики в 9-х
гимназических классах или как отдельная тема в 10-х классах физико-математического
профиля.
На изучение данной темы отводится 7 часов. Количество часов можно сократить
путём объединения уроков. Предусмотрено, проведение двух практических работ с целью
закрепления изученного материала и проверки умения учащихся применять на практике
полученные знания. Материал практической работы №2 составлен с учётом
индивидуальных особенностей учащихся и носит дифференцированный характер. Каждое
задание оценивается по баллам. Текущий контроль знаний предусматривает проведение
обзорных и самостоятельной работы. Итоговый контроль знаний осуществляется путём
проведения контрольной работы.
Тематическое планирование темы.
урока
Тема
Кол-во часов
1.
Формирование одномерных массивов по
формуле.
1
2.
Формирование одномерных массивов из
значений функции.
Практическая работа №1.
1
3.
Формирование одномерных массивов способом
«из массива в массив».
Самостоятельная работа.
1
4.
Формирование одномерных массивов с помощью
генератора случайных чисел.
1
5.
Работа с несколькими одномерными массивами.
Практическая работа № 2.
1
6.
Решение задач повышенной сложности.
1
7.
Контрольная работа
1
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
3
Урок №1 «Формирование одномерных массивов по формуле».
Цель: рассмотреть способ формирования одномерных массивов по формуле.
Ход урока.
I. Актуализация опорных знаний.
1. Что такое массив? Какой массив называется одномерным?
2. Для чего используются одномерные массивы? Как они описываются?
3. Как в программе использовать значение конкретного элемента одномерного массива?
4. Как называется номер элемента одномерного массива?
5. Как можно заполнить одномерный массив?
II. Изучение нового материала..
Под термином «сформировать массив» мы понимаем приём, посредством которого
значения элементов располагаются в памяти компьютера. При этом для значений
элементов массива могут быть заданы некоторые условия. Рассмотрим процесс
формирования одномерных массивов, значения элементов которого заданы с помощью
формулы.
Задача №1. Создать и распечатать в строчку одномерный массив следующим образом:
А(1)=1, А(2)= –1,А(3)=1, А(4)= –1, А(5)=1, А(7)= –1, А(8)=1…, А(N)= 1.
Решение
Input “N”; N
DIM A(N)
A(1)=1
FOR I=2 TO N
A(I)=A(I-1)*(-1)
NEXT I
FOR I=1 TO N
?A(I),
PRINT
NEXT I
Задача №2. Создать и распечатать столбиком одномерный массив: 4,6,8,10,12….
Решение
Input “N”; N
DIM A(N)
A(1)=4
FOR I=2 TO N
A(I)=A(I-1)+2
NEXT I
FOR I=1 TO N
?A(I)
NEXT I
Задача №3. Создать и распечатать в строчку одномерный массив следующим образом:
А(1)= – 4, А(2)= 5,А(3)= –6, А(4)= 7, А(5)= –8, А(7)= 9…
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
4
Решение
Input “N”; N
DIM A(N)
A(1)= 4
FOR I= 2 TO N
IF IMOD2=0 THEN A(I)=(ABS(A(I-1))+1) ELSE A(I)=A(I-2)-2
NEXT I
FOR I=1 TO N
?A(I),
PRINT
NEXT I
Задача №4. Сформировать одномерный массив А из 9-ти элементов, каждые три
последовательных элемента которого составлены по правилу:
1-й эл. равен числу введённому с клавиатуры;
2-й эл. равен текущему индексу;
3-й эл. равен сумме двух предыдущих элементов.
Полученный массив вывести на экран.
Решение
Input “N”; N
DIM A(N)
FOR I= 1 TO N STEP 3
INPUT A(I)
A(I+1)=I
A(I+2)= A(I)+ A(I+1)
NEXT I
FOR I=1 TO N
?A(I)
NEXT I
III. Закрепление.
(что не успели д/з)
Задача 5. Сформировать одномерный массив А из 12-ти элементов, каждые три
последовательных элемента которого составлены по правилу:
1-й эл. равен квадрату числа введённому с клавиатуры;
2-й эл. равен предыдущему индексу;
3-й эл. равен разности двух предыдущих элементов.
Решение
Input “N”; N
DIM A(N)
FOR I= 1 TO N STEP 3
INPUT A(I)
A(I)= A(I)^2
A(I+1)=I-1
A(I+2)= A(I+1) - A(I)
NEXT I
FOR I=1 TO N
?A(I)
NEXT I
Формирование каждого третьего элемента
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
5
Задача 6. Сформировать одномерный массив А, состоящий из N элементов, каждый из
которых начиная со второго на два меньше предыдущего. Первый элемент массива задать
с клавиатуры.
Решение
¦CLS
¦INPUT "ввести кол-во элементов массива"; n
¦DIM a (n)
¦INPUT "ввести первый элемент массива"; m
¦a(1) = m
¦FOR i = 2 TO n
¦a(i) = a(i - 1) - 2
¦NEXT i
¦FOR i = 1 TO n
¦PRINT a(i)
¦NEXT i
Задача №7*. Заполнить одномерный массив двадцатью первыми натуральными числами,
делящимися нацело на 13 и на 17 и большими 300.
Решение
¦CLS
¦DIM a(20)
¦r = 0
¦1 INPUT "ввести число"; m
¦IF (m MOD 13 = 0 OR m MOD 17 = 0) AND m > 300 THEN r = r + 1: a(r) = m
¦IF r = 20 THEN 2 ELSE 1
¦2 FOR i = 1 TO r
¦PRINT a(i)
¦NEXT i
Задача №8*. Дано трёхзначное число N. Заполнить массив его цифрами, расположенными
в обратном порядке (первый элемент равен последней цифре, второй - предпоследней и
т.д.)
Решение
¦CLS
¦1 INPUT n
¦IF n <> FIX(n) OR n > 1000 OR n < 100 THEN 1
¦a = n MOD 10: f(1) = a
¦b = (n \ 10) MOD 10: f(2) = b
¦c = n \ 100: f(3) = c
¦FOR i = 1 TO 3
¦PRINT f(i),
¦NEXT i
IV. Домашнее задание.
Задача 9. Сформировать одномерный массив А, состоящий из N элементов, каждый из
которых начиная со второго в три раза больше предыдущего. Первый элемент массива
равен - 90.
V. Итог урока.
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
6
Урок №2 «Формирование одномерных массивов из значений
функции».
Цель: рассмотреть способ формирования одномерных массивов
из значений функции;
из значений функции по условию;
закрепить полученные навыки в ходе выполнения практической работы.
Ход урока.
I. Проверка д/з
Задача 9. Сформировать одномерный массив А, состоящий из N элементов, каждый из
которых начиная со второго в три раза больше предыдущего. Первый элемент массива
равен - 90.
Решение
¦CLS
¦INPUT "ввести кол-во элементов массива"; n
¦DIM a (n)
¦a(1) = -90
¦FOR i = 2 TO n
¦a(i) = a(i - 1)*3
¦NEXT i
¦FOR i = 1 TO n
¦PRINT a(i)
¦NEXT i
II. Актуализация опорных знаний.
(Диктант)
1. Перечислить известные способы ввода значений элементов массива в память
(оператор присваивания, оператор INPUT, оператор DATA\READ).
2. Какой смысл мы вкладываем в термин «сформировать массив»? (Под термином
«сформировать массив» мы понимаем приём, посредством которого значения
элементов располагаются в памяти компьютера. При этом для значений
элементов массива могут быть заданы некоторые условия).
3. С помощью какого оператора выполняется объявление массива? (оператор DIM).
4. Записать блок ввода элементов массива с клавиатуры.
5. Записать блок ввода элементов массива с помощью операторов DATA| READ.
III. Формирование одномерных массивов из значений функции.
Задача 1. Сформировать одномерный массив из отрицательных значений функции
y=x
2
+2x-1, если x целое число из промежутка [-3;3]. Полученный массив вывести на
экран.
Решение.
Для успешного решения задачи необходимо:
1. Определить размерность нового массива(r).
2. Объявить новый массив.
3. Задать индексы элементов нового массива, учитывая, что нулевого индекса, не
существует.
4. Вывести значения элементов нового массива.
CLS
REM задача1
PRINT "определение размерности массива"
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
7
FOR x = -3 TO 3
y = x ^ 2 + 2 * x - 1
IF y < 0 THEN r = r + 1
NEXT x
PRINT "размерность массива="; r
PRINT "формирование массива"
DIM a(r)
m = 1
FOR x = -3 TO 3
y = x ^ 2 + 2 * x - 1
IF y < 0 THEN a(m) = y: m = m + 1
NEXT x
FOR i = 1 TO m
PRINT a(i)
NEXT i
Задача 2. Сформировать одномерный массив из значений функции на промежутке [-4;9] с
шагом 1. Полученный массив вывести на экран.
Решение.
¦CLS
¦REM задача2
¦PRINT "определение размерности массива"
¦FOR x = - 4 TO 9
¦r = r + 1
¦NEXT x
¦PRINT "размерность массива="; r
¦PRINT "формирование массива"
¦DIM a(r)
¦m = 1
¦FOR x = - 4 TO 9
¦ IF x >= 0 AND x <= 9 THEN y = SQR(x) ELSE y = x ^ 2
¦ a(m) = y: m = m + 1
¦NEXT x
¦FOR i = 1 TO r
¦PRINT a(i)
¦NEXT i
IV. Практическая работа.
Задача 3. Сформировать одномерный массив из чётных значений функции y=x
3
- 4x+1,
если x целое число из промежутка [-6;6]. Полученный массив вывести на экран.
Решение
CLS
REM задача3
Y
еслих,
еслих
2
0 ≤Х≤9
- 4≤Х≤0
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
8
Y
еслих ,
-5≤Х≤5
Х>5
если,5
если,5
Х<-5
PRINT "определение размерности массива"
FOR x = -6 TO 6
y = x ^ 3- 4 * x + 1
IF y mod2= 0 THEN r = r + 1
NEXT x
PRINT "размерность массива="; r
PRINT "формирование массива"
DIM a(r)
m = 1
FOR x = -6 TO 6
y = x ^ 3 - 4 * x + 1
IF y mod2= 0 THEN a(m) = y: m = m + 1
NEXT x
FOR i = 1 TO m
PRINT a(i)
NEXT i
Дополнительное задание.
Задача 4*. Сформировать одномерный массив А из целых значений функции на
промежутке [-10;10] с шагом 0,5. Полученный массив вывести на экран.
V. Домашнее задание.
Задача. Сформировать одномерный массив А из положительных значений функции
y=x5+ 4x
3
2
-1 и массив С из нечётных значений данной функции, если x целое число из
промежутка [-8;8]. Полученные массивы вывести на экран.
VI. Итог урока.
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
9
Урок №3 «Формирование одномерных массивов из исходного
массива ».
Цель: рассмотреть формирование одномерных массивов способом «из массива в
массив».
Ход урока.
I. Проверка домашней работы.
(решение задачи пышет на доске один из учеников и выборочно две тетради)
Задача. Сформировать одномерный массив А из положительных значений функции
y=x5+ 4x
3
2
-1 и массив С из нечётных значений данной функции, если x целое число из
промежутка [-8;8]. Полученные массивы вывести на экран.
Решение.
CLS
REM задача
PRINT "определение размерности массива А и С"
FOR x = -8 TO 8
y = x ^ 5 + 4*x ^ 3+ x ^ 2 - 1
IF y > 0 THEN r = r + 1
IF ymod2<> 0 THEN r1 = r1 + 1
NEXT x
PRINT "размерность массива A="; r
PRINT "размерность массива C="; r1
PRINT "формирование массива A"
DIM a(r)
m = 1
FOR x = -8 TO 8
y = x ^ 5 + 4*x ^ 3+ x ^ 2 - 1
IF y > 0 THEN a(m) = y: m = m + 1
NEXT x
PRINT «Вывод массива А»
FOR i = 1 TO m
PRINT a(i)
NEXT i
PRINT "формирование массива С"
DIM С(r1)
M1 = 1
FOR x = -8 TO 8
y = x ^ 5 + 4*x ^ 3+ x ^ 2 - 1
IF y mod2<> 0 THEN с(m1) = y: m1 = m1 + 1
NEXT x
PRINT «Вывод массива С»
FOR i = 1 TO m1
PRINT с(i)
NEXT i
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
10
II. Формирование одномерных массивов способом «из массива в массив».
При формировании нового массива из исходного рассматривается два способа:
1) Новый массив и исходный имеют одинаковый размер;
2) Размер нового массива отличный от размера исходного массива.
Рассмотрим следующие задачи:
Задача 1. Дан одномерный массив A(7)=( 12, -12, 4, -9, 3, 16, -8). Значения элементов
массива
а. Увеличить в 2 раза и поместить их в массив S;
б. Увеличить на 10 и поместить их в массив R1, положительные элементы массива
R1 занести в массив S.
Полученный массив S вывести на экран.
Решение.
При решении задачи 1а учитываем, что массив S имеет размерность исходного массива.
¦CLS
¦REM задача3a
¦DIM a(7), s(7)
¦DATA 12,-12,4,-9,3,16,-8
¦FOR i = 1 TO 7
¦READ a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦s(i) = a(i) * 2
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT s(i)
¦NEXT i
При решении задачи 1б необходимо учесть, что размерность массива A и R1 одинакова,
а размерность массива S1 другая.
CLS
REM задача3б
DIM a(7), r1(7)
DATA 12,-12,4,-9,3,16,-8
FOR i = 1 TO 7
READ a(i)
NEXT i
PRINT "формирование массива R1"
PRINT "определение размерности массива s"
k=0
FOR i = 1 TO 7
r1(i) = a(i) + 10
IF r1(i) > 0 THEN k = k + 1
PRINT r1(i);
PRINT "размерность массива s="; k
NEXT i
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
11
PRINT "формирование массива s"
DIM s(k)
m = 0
FOR i = 1 TO 7
IF r1(i) > 0 THEN m = m + 1 : s(m) = r1(i):
NEXT i
FOR i = 1 TO k
PRINT s(i)
NEXT I
III. Закрепление изученного материала.
Решить задачи.
Задача 2. Из элементов массива А, заполненного целыми числами, сформировать массив
В того же размера по правилу: чётные элементы массива А удвоить, нечётные оставить
без изменения. Полученный массив вывести на экран.
Решение
¦CLS
¦REM
¦DIM a(7), s(7)
¦DATA 1,2,3,4,-5,-6,7
¦FOR i = 1 TO 7
¦READ a(i)
¦NEXT i
¦FOR i = 1 TO 7 _
¦IF a(i) MOD 2 = 0 THEN s(i) = a(i) * 2 ELSE s(i) = a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT s(i)
¦NEXT i
Задача 3. Дан массив. Переписать его отрицательные элементы во второй массив, а не
отрицательные в третий. Во втором и третьем массивах значения элементов первого
должны быть расположены:
А) на тех же местах, что и в исходном массиве;
Б) подряд с начала массива.
Решение3a
¦CLS
¦REM
¦DIM a(7), s(7)
¦DATA 1,2,3,4,-5,-6,7
¦FOR i = 1 TO 7
¦READ a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF a(i) > 0 THEN s(i) = a(i) ELSE d(i) = a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT s(i);
¦NEXT i
|PRINT: PRINT
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
12
¦FOR i = 1 TO 7
¦PRINT d(i);
¦NEXT i
Решение3б
¦CLS
¦DIM a(7)
¦....
¦FOR i = 1 TO 7
¦IF a(i) > 0 THEN k = k + 1: s(k) = a(i)
¦NEXT i
¦FOR i = 1 TO k
¦PRINT s(i)
¦NEXT i
¦PRINT
¦FOR i = 1 TO 7
¦IF a(i) <= 0 THEN k1 = k1 + 1: s1(k1) = a(i)
¦NEXT i
¦FOR i = 1 TO k1
¦PRINT s1(i);
¦NEXT i
Дополнительное задание.
Задача 3. Дан массив А. Сформировать массив В, в котором сначала расположить
положительные элементы, затем нулевые элементы, а потом отрицательные элементы
массива А.
Решение
¦CLS : DIM a(7)
¦DATA -1,5,8,0,-1,0,-2
¦FOR i = 1 TO 7
¦READ a(i): NEXT i
¦FOR i = 1 TO 7
¦IF a(i) > 0 THEN t = t + 1: b(t) = a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF a(i) = 0 THEN t = t + 1: b(t) = a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF a(i) < 0 THEN t = t + 1: b(t) = a(i)
¦NEXT i
¦FOR i = 1 TO t
¦PRINT b(i)
¦NEXT i
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
13
Самостоятельная работа №1
Вариант 1
Вариант 2
1. Из элементов массива М сформировать
массив N того же размера по правилу:
неотрицательные элементы массива М
уменьшить в 3 раза, остальные возвести в
квадрат.
Задача 1. . Из элементов массива А
сформировать массив В того же размера по
правилу: к нулевым элементам массива А
прибавить число3, а остальные –
уменьшить в 2 раза.
Задача 2. Дан массив. Переписать его не
отрицательные элементы во второй массив,
а чётные в третий. Во втором и третьем
массивах значения элементов первого
должны быть расположены на тех же
местах, что и в исходном массиве.
Задача 2. Дан массив. Переписать его
чётные элементы во второй массив, а
нулевые третий. Во втором и третьем
массивах значения элементов первого
должны быть расположены подряд с начала
массива.
Решение
Вариант 1
Вариант 2
¦№1. CLS
¦REM
¦DIM N(7),M(7)
¦DATA 1,2,3,4,-5,-6,7
¦FOR i = 1 TO 7
¦READ M(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF M(i) < 0 THEN N(i) = M(i)/3 ELSE N(i) =
M(i) ^2
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT N(i)
¦NEXT i
№ 1.¦CLS
¦REM
¦DIM А(7),В(7)
¦DATA 1,0,3,0,-5,-6,7
¦FOR i = 1 TO 7
¦READ M(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF А(i) = 0 THEN В(i) = А(i)+3 ELSE В(i) =
А(i)/2
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT В(i)
¦NEXT i
№2. CLS
¦REM
¦DIM a(7), s(7)
¦DATA 1,2,3,4,-5,-6,7
¦FOR i = 1 TO 7
¦READ a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF a(i) < 0 THEN s(i) = a(i)
IF a(i) MOD2= 0 THEN s1(i) = a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT s(i);
¦NEXT i
|PRINT: PRINT
¦FOR i = 1 TO 7
¦PRINT S1(i);
¦NEXT i
№2. ¦DIM a(7)
¦FOR i = 1 TO 7
¦IF a(i) MOD2= 0 THEN k = k + 1: s(k) = a(i)
¦NEXT i
¦FOR i = 1 TO k
¦PRINT s(i)
¦NEXT i
¦PRINT
¦FOR i = 1 TO 7
¦IF a(i) = 0 THEN k1 = k1 + 1: s1(k1) = a(i)
¦NEXT i
¦FOR i = 1 TO k1
¦PRINT s1(i);
¦NEXT i
IV. Домашнее задание.
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
14
Задачи.
1. Фирме принадлежат два магазина. Известна стоимость товаров, проданных в
каждом магазине за каждый день в июле и августе, которая хранится в двух
массивах. Получить общую стоимость проданных фирмой товаров за два месяца.
2. Дан массив. Переписать его второй, четвёртый и т.д. элементы в другой массив
такого же размера:
Расположив элементы на тех же местах, что и в исходном массиве.
Расположив элементы, подряд с начала массива.
3. Дан массив А. Сформировать массив В, в котором сначала расположены элементы
массива А кратные 3, потом элементы кратные 5, а затем все остальные. Если таких
элементов нет, то заменить их нулями.
V. Итог урока.
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
15
Урок №4 «Формирование одномерных массивов с помощью
генератора случайных чисел ».
Цель: рассмотреть формирование одномерных массивов с помощью функции RND.
Ход урока.
I. Проверка домашней работы.
Задача. Дан массив. Переписать его второй, четвёртый и т.д. элементы в другой массив
такого же размера:
1) Расположив элементы на тех же местах, что и в исходном массиве.
2) Расположив элементы, подряд с начала массива.
Решение 1.1
¦DIM a(7), s(7)
¦DATA 1,2,3,4,-5,-6,7
¦FOR i = 1 TO 7
¦READ a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF I MOD2 = 0 THEN s(i) = a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT s(i);
¦NEXT i
Решение 1.2
¦DIM a(7)
¦DATA 1,2,3,4,-5,-6,7
¦FOR i = 1 TO 7
¦READ a(i)
¦NEXT i
¦FOR i = 1 TO 7
IF I MOD2= 0 THEN K=K+1:s(k) = a(i)
¦NEXT i
¦FOR i = 1 TO k
¦PRINT s(i);
¦NEXT i
II. Текущий контроль знаний.
Провести работу над ошибками, с учащимися, допустившими грубые ошибки в
ходе выполнения самостоятельной работы, для учащихся выполнивших работу хорошо
предложить дополнительные задания с задачника Д. М. Златопольского «Задачи по
программированию» (стр. 129 № 162.)
III. Изучение нового материала.
Для заполнения массива иногда необходимо использовать встроенную функцию
RND, которая генерирует случайным образом дробные числа от 0 до 1. чтобы эту
функцию можно было использовать, в начало программы добавляется строка
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
16
RANDOMIZE TIMER которая запускает счётчик времени, чтобы данная функция
генерировала случайным образом. Для нахождения целых значений в диапазоне [a,b]
используется формула
X=INT(RND(1)*(B-A))+A
Задание1.
1) Составить выражение для получения случайных чисел в диапазоне:
а) (3,20), R б) [7,10], Z в [-9,9], Z г) [-20,-3], Z
2) Записать диапазон случайных чисел:
а) ? INT( RND(1)*21)+ 99 б) ? INT( RND(1)*(-44))+ 24
Решение
№1
А)RND(1)*17+3
Б)INT(RND(1)*4)+7
В)INT(RND(1)*18)-9
Г)INT(RND(1)*18)-20
№2
[99;119]
[-20;23]
IV. Решение задач.
Задача1. Сформировать одномерный массив А из 12-ти элементов, каждые три
последовательных элемента которого составлены по правилу:
1-й эл. равен однозначному числу, заданному с помощью датчика случайных чисел;
2-й эл. равен целому числу с диапазона [-9;9];
3-й эл. числу, введённому с клавиатуры.
Решение
RANDOMIZE TIMER
DIM a(12)
FOR I=1 TO 12 STEP 3
A(I)= INT( RND(1)*10
A(I+1)= INT( RND(1)*18)-9
INPUT A(I+2)
NEXT
Задача 2. Заполнить массив из 15 элементов случайным образом:
a. Вещественными значениями, лежащими в диапазоне от 0 до1;
b. Вещественными значениями х(22<=x<=23);
c. целыми значениями х, лежащими в диапазоне от 0 до10.
V. Домашняя работа.
Задача. Массив предназначен для хранения значений ростов12 человек. С помощью
датчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне
от163 до190 включительно.
VI. Итог урока.
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
17
Урок № 5. «Работа с несколькими одномерными массивами».
Цель: выполнение практической работы с использованием среды программирования,
текущий контроль знаний по формированию одномерных массивов.
Ход урока.
I. Практическая работа №2
Задание 1(1 балла)
Задание 2(2 балла)
Задание 3(2 балл)
Вариант
1
Из элементов массива
А сформировать
массив В того же
размера по правилу:
если номер i элемента
массива А чётный, то
В(i)=A(i)
2
, в
противном случае
В(i)=2A(i).
Дан массив целых
чисел. Переписать его
отрицательные
утроенные элементы в
другой массив, а
нечётные элементы в
третий массив.
Вывести новые
массивы на экран.
Сформировать ОМ из
отрицательных целых
значений функции
135,2
35
xxxY
, где x
[-8;2]. Полученный массив
вывести на экран.
Вариант
2
Из элементов массива
А сформировать
массив В того же
размера по правилу:
если номер i элемента
массива А нечётный, то
В(i)=i*A(i), в
противном случае
В(i)=A(i).
Из элементов
исходного массива,
заполненного целыми
числами сформировать
два массива: в первый
занести
неотрицательные
элементы исходного
массива, уменьшенные
на три, а в третий
отрицательные.
Вывести новые
массивы на экран.
Сформировать одномерный
массив из целых
положительных значений
функции y = x ^ 4 + 1.2 * x ^ 2 +
4, если x целое число из
промежутка [-8;3].
Полученный массив вывести
на экран.
Результат работы проверить по таблице
Задание 1
Задание 2
Задание 3
Вариант 1
А={-1,2,3,-4,5,0,1}
А={-1,5,8,-9,-1,0,-2}
Вариант 2
А={-1,2,3,-4,5,0,1}
А={-1,5,8,-9,-1,0,3}
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
18
Вариант 1
Задание 1.
¦CLS
¦DIM a(7)
¦DATA -1,2,3,-4,5,0,1
¦FOR i = 1 TO 7
¦READ a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF i MOD 2 = 0 THEN b(i) = a(i) ^ 2 ELSE
b(i) = 2 * a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT b(i)
¦NEXT i
Задание 2.
¦CLS : DIM a(7)
¦DATA -1,5,8,-9,-1,0,-2
¦FOR i = 1 TO 7
¦READ a(i): NEXT i
¦FOR i = 1 TO 7
¦a1(i) = 3 * a(i)
¦IF a1(i) < 0 THEN t = t + 1: b(t)
= a1(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF a(i) MOD 2 <> 0 THEN r = r
+ 1: c(r) = a(i)
¦NEXT i
¦FOR i = 1 TO t
¦PRINT b(i) :NEXT i
¦PRINT : PRINT
¦FOR i = 1 TO r
¦PRINT c(i) :NEXT i
Задание 3.
¦CLS
¦REM - ZADASA1.BAS
¦m = 0
¦FOR x = -8 TO 2
y = x ^ 5 + 2.5 * x ^ 3 - 3 * x + 1
¦PRINT "x"; x, "y"; y
¦IF y < 0 AND y = INT(y) THEN m =
m + 1: a(m) = y
¦NEXT x
¦PRINT m
¦FOR i = 1 TO m
¦PRINT a(i)
¦NEXT i ¦
Ответ: А={-2,4,6,16,10,0,2}
Ответ: В={-3,-27,-3,-6}, С={-
1,5,-9,-1}
Ответ: А={-34023,-8297,-1171,-45}
Вариант 2
CLS
¦DIM a(7)
¦DATA -1,2,3,-4,5,0,1
¦FOR i = 1 TO 7
¦READ a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF i MOD 2 <> 0 THEN b(i) = i*a(i)
ELSE
b(i) = a(i)
¦NEXT i
¦FOR i = 1 TO 7
¦PRINT b(i)
¦NEXT i
¦CLS : DIM a(7)
¦DATA -1,5,8,-9,-1,0,3
¦FOR i = 1 TO 7
¦READ a(i): NEXT i
¦FOR i = 1 TO 7
¦a1(i) = a(i)-3
¦IF a1(i) >= 0 THEN t = t + 1: b(t) =
a1(i)
¦NEXT i
¦FOR i = 1 TO 7
¦IF a(i) < 0 THEN r = r + 1: c(r) =
a(i)
¦NEXT i
¦FOR i = 1 TO t
¦PRINT b(i) :NEXT i
¦PRINT : PRINT
¦FOR i = 1 TO r
¦PRINT c(i) :NEXT i
¦CLS
¦m = 0
¦FOR x = -2 TO 15
¦y = x ^ 4 + 1.2 * x ^ 2 + 4
¦PRINT "x"; x, "y"; y
¦IF y > 0 AND y = INT(y) THEN m =
m + 1: a(m) = y
¦NEXT x
¦PRINT m
¦FOR i = 1 TO m
¦PRINT a(i)
¦NEXT i
Ответ: А={-1,2,9,-4,25,0,7}
Ответ: В={2,5,0}, С={-1,-9,-1}
Ответ: А={4,659,10124,50899}
II. Итог урока
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
19
Урок № 6. «Решение задач повышенной сложности».
Цель: решение нестандартных задач на формирование одномерных массивов.
Ход урока
I. Анализ выполнения практической работы №2.
Подведение результатов выполнения практической работы №2 и разбор допущенных
ошибок.
II. Решение задач.
Задача 1. Из одномерного массива А сформировать массив В, в который входят элементы
массива А до последнего отрицательного не включая его и массив С, состоящий из
элементов массива А после последнего отрицательного включая его.
CLS
¦DIM a(9)
¦DATA 1,2,-3,-4,-5,6,7,8,8
¦FOR i = 1 TO 9
¦READ a(i): NEXT i
¦FOR i = 1 TO 9
¦IF a(i) < 0 THEN d = i
¦NEXT i
¦FOR i = 1 TO d - 1
¦b(i) = a(i)
¦PRINT b(i): NEXT i
¦ PRINT : PRINT
¦FOR i = d TO 9
¦c(i) = a(i)
¦PRINT c(i)
¦NEXT i
Задача 2. Из одномерного массива А сформировать массив В, в который входят элементы
массива А после первого отрицательного.
¦CLS
¦DIM a(9)
¦DATA 1,2,-3,-4,-5,6,7,8,8
¦FOR i = 1 TO 9
¦READ a(i): NEXT i
¦FOR i = 1 TO 9
¦IF a(i) < 0 THEN k = k + 1
¦IF k = 1 THEN d = i
¦NEXT i
¦FOR i = d TO 9
¦b(i) = a(i)
¦PRINT b(i): NEXT i
Задача3. Создать ОМ из 12-ти каждые три элемента, которого формируются следующим
образом:
1-й элемент равен числу с диапазона [-9; 9];
2-й элемент равен текущему индексу;
3-й элемент равен сумме двух предыдущих элементов.
Индекс последнего отрицательного
Индекс первого отрицательного
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
20
Из полученного массива сформировать два новых массивы, в первый занести
положительные элементы исходного массива, а во второй нулевые и отрицательные.
Элементы полученных массивов должны быть расположены:
А) на тех же местах, что и в исходном массиве;
Б) подряд с начала массива.
Решение
CLS
¦DIM a(12)
¦FOR i = 1 TO 12 STEP 3
¦a(i) = INT(RND(1) * 18) - 9
¦a(i + 1) = i + 1
¦a(i + 2) = a(i) + a(i + 1)
¦NEXT i
¦FOR i = 1 TO 12
¦PRINT a(i): NEXT i
Формирование исходного массива А(12)
DIM в(12),с(12)
¦FOR i = 1 TO 12
¦IF a(i) > 0 THEN b(i) = a(i): PRINT b(i)
¦NEXT i
¦FOR i = 1 TO 12
¦IF a(i) <= 0 THEN c(i) = a(i): PRINT c(i)
¦NEXT i¦
Формирование массива В(12) и С(12) с
сохранением порядка следования элементов
¦FOR i = 1 TO 12
¦IF a(i) > 0 THEN к= к +1:b(к) = a(i)
¦NEXT i
¦FOR i = 1 TO 12
¦IF a(i) <= 0 THEN к1=к1+1:c(к1) = a(i)
¦NEXT i¦
FOR i = 1 TO к
PRINT B(I)
NEXT I
FOR i = 1 TO к1
PRINT C(I)
NEXT I
Формирование массива В и С с элементами
расположенными подряд.
III. Подготовка к контрольной работе.
Работа в группах, с использованием дифференцированных заданий.
IV. Домашнее задание.
В1
Задание 1
Задание 2
Задание 3
Из элементов массива А, заполнено
целыми числами, сформировать массив
В того же размера по правилу: чётные
элементы массива А удвоить, а
нечётные оставить без изменения.
В массиве хранится информация о
максимальной скорости каждого из 40
автомобилей. Определить порядковый
номер самого быстрого авто. Если их
несколько, то найти номер первого из
них и последнего из них.
Дан массив, упорядоченный по
убыванию. Если в нем есть элементы,
меньшие заданного числа N, то
напечатать все элементы, следующие за
первым из таких элементов.
В2
Задание 1
Задание 2
Задание 3
Из элементов массива М, заполнено
целыми числами, сформировать массив
N того же размера по правилу:
неотрицательные элементы массива М
уменьшить в 3 раза, а остальные
возвести в квадрат.
В массиве хранится информация о
количестве выпавших осадков за июль
месяц. Определить дату самого
дождливого дня. Если их несколько, то
найти дату первого из них и последнего
из них.
Дан массив, упорядоченный по
возрастанию. Если в нем есть элементы,
большие заданного числа N, то
напечатать все элементы, следующие за
последним из таких элементов, при
условии, что одинаковые элементы в
массиве есть.
Способы формирования одномерных массивов.
Учитель информатики Шпак Н. П.
21
В3
Задание 1
Задание 2
Задание 3
Из элементов массива А, заполнено
целыми числами, сформировать массив
В того же размера по правилу:
нечётные элементы массива А
уменьшить в 2 раза, а чётные
увеличить в 3 раза.
В массиве хранится информация о годе
рождения каждого из 30 человек.
Определить порядковый номер самого
старшего по возрасту человека. Если их
несколько, то найти номер первого из
них и последнего из них.
Дан массив, упорядоченный по
убыванию. Если в нем есть элементы,
меньшие заданного числа N, но
большие заданного числа М, то
напечатать все элементы,
расположенные между ними.
V. Итог урока