«Урок по теме: «Программирование одномерных массивов»


Программирование одномерных массивов
целых чисел
Планируемые образовательные результаты:
предметные – представления о понятиях «одномерный массив», «значение элемента массива», «индекс элемента массива»; умение исполнять готовые и записывать на языке программирования простые циклические алгоритмы обработки одномерного массива чисел (суммирование всех элементов массива; суммирование элементов массива с определѐнными индексами; суммирование элементов массива, с заданными свойствами; определение количества элементов массива с заданными свойствами; поиск наибольшего/ наименьшего элементов массива и др.);
метапредметные – умение самостоятельно планировать пути достижения целей; умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи;
личностные – алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе; представление о программировании как сфере возможной профессиональной деятельности.
Решаемые учебные задачи:
1) рассмотреть сущность понятия массив, одномерный массив;
2) рассмотреть правила описания, заполнения вывода одномерных целочисленных массивов в среде программирования Паскаль;
3) рассмотреть примеры и получить опыт решения типовых задач по обработке массивов (суммирование, поиск, наименьшего / наибольшего значения, подсчет количества элементов с некоторым свойством);
4) сформировать умение записывать на языке программирования
короткие алгоритмы обработки одномерных массивов.
Ход урока
1.Теоретическая часть
В математике, информатике, экономике часто используются упорядоченные наборы данных, например числовые последовательности, таблицы, списки фамилий и т.д. Для обработки наборов данных одного типа вводится понятие массива.
Массив (array, от французского – сплошной) – совокупность конечного числа данных одного типа. Массив обозначается одним именем.
Каждый элемент такой совокупности обозначается именем массива с индексом.
A[1] A[2] A[3] … … … … A[n]
Элемент массива – отдельная переменная, входящая в массив.
Все элементы массива имеют один и тот же тип.
Индекс элемента массива – номер элемента в массиве
a [i] – элемент массива
Описание массива
описание в разделе var (раздел описания переменных):
var <имя массива>:array[мин знач индекса … мак знач индекса] of
< тип элемента>integer;
пример: var a: array[1..10] of integer;
Способы заполнения массива
Ввод значения с клавиатуры.
for i:=1 to n do
   read (a[i]);{ ввод очередного значения элемента массива}

Задание значений  в операторе присваивания с помощью генератора случайных чисел.
(Этот способ более удобен, когда много элементов в массиве (ввод их значений с клавиатуры занимает много времени).for i:=1 to n dobegin a[i]:=random(100);   {функция, генерирующая случайное число от нуля до 100}
write(a[i],'     ');
end;
Задание значений по формуле.
for i:=3 to 10 do
begina[i]:=sqr(a[i-1]) - sqr(a[i-2]);
write(a[i],'   ');
end;
Вывод массива
В строку через пробел:
For i:=1 to n do write (a[i],’ ‘);
В столбец
For i:=1 to n do writeln (a[i]‘);
Действия с элементами массива:
Вычисление суммы элементов
S:=0;
For i:=1 to n do
S:=s+a[i];
Вычисление произведения элементов
P:=1;
For i:=1 to n do
P:=p*a[i];
Подсчет количества элементов, удовлетворяющих какому-либо условию
K:=0;
For i:= to n do
If a[i] mod 2=0 then k:=k+1;
2.Практическая часть
1. Найти сумму положительных элементов линейного массива целых чисел. Размерность массива - 10. Заполнение массива осуществить с клавиатуры.
var a:array[1..10] of integer; s,i:integer;
Begin
write (' ввести элементы массива ');
for i:=1 to 10 do
read(a[i]);
{подсчёт положительных элементов массива}
s:=0;
for i:=1 to 10 do
if a[i]>0 then s:=s+a[i];
writeln ('Сумма положительных элементов s=',s);
end.
2. Программа поиска наибольшего элемента в массиве
var s, i, max: integer; a:array[1..10] of integer;
begin s:=0;
for i:=1 to 10 do
begin a[i]:=random(50);
write (a[i]:3);
end;
max:=a[1];
for i:=2 to 10 do
if a[i]>max then max:=a[i];
writeln (‘максимальный элемент массива= ', max);
end.
3.Дан массив из 20 целых чисел. Все элементы меньшие 10 заменить на 0 и вывести полученный массив на экран.
- Каким способом осуществляется заполнение массива? (ввод с клавиатуры произвольных 20 целых чисел)
program рr2;var a: array [1..20] of integer; i: integer; begin
write (‘Введите элементы массива: ’);
for i:=1 to 20 do
read (a[i]); { ввод элементов в строку через пробел }If a[i]<10 then a[i]:= 0;
end;
readln;
writeln(‘Новый массив: ’]);
for i:=1 to 20 do
write (a[i], ‘ ‘);
readln;end.
4. Создайте массив А[1..8] с помощью генератора случайных чисел с элементами от -10 до 10 и выведите его на экран. Подсчитайте количество отрицательных элементов массива.;Var a:array[1..8] of integer; i,k:integer;beginrandomize;k:=0;for i:=1 to n dobegina[i]:=-10+random(21); {ввод чисел случайным образом} write(a[i],' ');if a[i]<0 then k:=k+1;; {подсчет количества отрицательных элементов}end;writeln;writeln('Количество отрицательных элементов ',k);readln;
end.
Домашняя работа
1.Работа с конспектом
2.РТ №203(a,b) 204.

Приложенные файлы


Добавить комментарий