Официальный сайт ejnews 24/7/365

Вы не зарегистрированы

Авторизация



Урок по информатике и ИКТ по теме "Массивы" с использованием электронного пособия

Фото пользователя Татьяна Васильевна Сухорукова
Submitted by Татьяна Васильевна Сухорукова on чт, 16/12/2010 - 14:18
Данные об авторе
Автор(ы): 
Сухорукова Татьяна Васильевна
Место работы, должность: 
МОУ Подбельская СОШ
Регион: 
Самарская область
Характеристики урока (занятия)
Уровень образования: 
среднее (полное) общее образование
Целевая аудитория: 
Учащийся (студент)
Целевая аудитория: 
Учитель (преподаватель)
Класс(ы): 
8 класс
Класс(ы): 
9 класс
Класс(ы): 
10 класс
Класс(ы): 
11 класс
Предмет(ы): 
Информатика и ИКТ
Цель урока: 
познакомить учащихся с определением массива, индекса; • показать естественность использования циклов при обработке массивов; • продемонстрировать преимущество использования массивов при решении некоторых типов задач; • показать правила описания массивов в среде Turbo Pascal и продемонстрировать простейшие алгоритмы на массиве (поиск наибольшего, поиск заданного элемента и т.д.)
Тип урока: 
Урок изучения и первичного закрепления новых знаний
Краткое описание: 
Этапы урока 1. Новая тема 1. Определение массива и индекса. 2. Примеры реальных объектов, которые можно представить в виде массива. 3. Правила описания массивов на языке Turbo Pascal. 4. Примеры использования масивов. 5. Использование циклов при операциях с массивами. 6. Примеры операций с массивами на языке Turbo Pascal. 2. Рефлексия Составить программу для нахождения среднего арифметического элементов массива 3. Домашнее задание. 4. Подведение итогов урока.
Ресурс для профильной школы: 
Ресурс для профильной школы

Ход урока
  Организационный момент.
 I. Объяснение нового материала
.
В программировании даже при написании самых простых программ возникает необходимость в большом количестве переменных. Обычно они разные по типам и по использованию, но бывают ситуации, когда эти переменные одинаковы и их необходимо очень большое количество. 
Для того, чтобы Вы лучше поняли, я приведу простой пример. Давайте представим работу такой программы, как нахождение среднего арифметического среди 100 чисел. Что нам понадобиться для написания такой программы? Конечно, сами числа. Для хранения 100 чисел мы должны использовать 100 переменных. Описать их можно, скажем, следующим образом: 
var 
n1,n2,n3,n4,n5, 
n6,n7, ..., n100: Integer; 
Это будет выглядеть крайне громоздко, не так ли? Вот здесь и возникает понятие массивов. 
Массив - это на самом деле одна переменная, но она содержит в себе большое количество отдельных элементов, того типа, который определит программист, и столько, сколько он захочет. (При этом размер массива несколько ограничен). Что это означает? Что заведя переменную-массив мы как бы создаем цепочку переменных. После чего мы можем обратиться к любому элементу этой цепочки: прочитать его, изменить, сделать с ним все, что можно сделать с обычной переменной. 
Мы можем создать цепочку и из чисел, и из символов, да и вообще из чего угодно. Сегодня мы разберем создание массивов из чисел, а далее по ходу рассылки разберемся и с другими типами массивов. 

1. Определение массива и индекса 
 Массив – группа элементов одного типа, объединенных под общим именем.
Индекс – что-то (чаще всего номер), что позволяет отличать элементы массива один от другого и обращаться к ним.
2. Примеры реальных объектов, которые можно представить в виде массива, обсуждение почему это так:
o Почему книгу можно считать “массивом”? Что в этом случае будет элементом массива, а что - индексом? 
o Почему дом можно считать “массивом”? Что в этом случае будет элементом массива, а что - индексом? 
o Почему шахматную доску можно считать массивом? Что в этом случае будет элементом массива, а что - индексом? 
o Почему футбольную команду можно считать массивом? Что в этом случае будет элементом массива, а что - индексом? 

3. Правила описания массивов на языке Turbo Pascal 

В описании массива имеется специальное слово array (массив), после которого в квадратных скобках через две точки указывается диапазон изменения номеров элементов, затем слово of (из) и пишется тип данных массива.

Массивы, как и простые переменные, подлежат описанию в разделе переменных:
 
  VAR <имя>: ARRAY[<min индекс..max индекс>] OF <тип элементов>;
 
array (эррэй) - массив. of (оф) - из.
Тип индексов - любой скалярный тип кроме real. Индексы можно вычислять.
Тип элементов - любой для данной версии языка.
[min..max] - размер массива. min - нижняя, max –верхняя границы индексов. min<=max. Границы можно задать с помощью переменных.
 
  Можно задавать постоянный массив:
const x: array [1..10] of integer=(4,6,3,5,2,1,7,8,9,13);
const x: array [1..8] of char=('a','b','c','d','e','f','g','h');
  Элементы таких массивов являются константами.
Если массивы одинаковы и отличаются лишь именами, то их можно описать в одной строке:
  var a,b,c :array[1..n] of real; , где n -верхняя граница индекса и n описывается в разделе констант.

4. Примеры описания массивов. 
M : array [-5..5] of integer;
Сколько элементов в этом массиве? Какого они типа? Как они нумеруются?
Z : array [-8..-1] of integer;
Сколько элементов в этом массиве? Какого они типа? Как они нумеруются?
Mass : array [5..15] of integer;
Сколько элементов в этом массиве? Какого они типа? Как они нумеруются?

Вот пример описания массива на 100 чисел: 
var Mas: Array [1..100] of Integer; 
begin 
Mas[1] := 100; 
  Readln(Mas[2]); 
Write(Mas[4]); 
if Mas[100] < 18 then Halt; 
Mas[50] := Mas[49] + Mas[1]; 
end.

5. Использование циклов при операции с массивами.

Для ввода данных в память необходимо организовать цикл. Поскольку число повторений ввода данных известно, удобно использовать цикл пересчет. Ввод описанного массива а может иметь вид:
Write (‘введите элементы массива через пробел’);
For i:=1 to n do
Begin
Read(a[i]);
End;

Ввод массива.
Program V1; 
  Const n=10; 
  Var А: array[1..n] of integer; 
  i: integer; 
Begin 
  For i:=1 to n do 
  begin 
  writeln('Введите элементы массива '); 
  readln(А[i]); 
  end; 
End. 
  Вывод массива.
Program V2; 
  Const m=10; 
  Var A: array[1..m] of integer; 
  i: integer; 
Begin 
  For i:=1 to m do 
  begin 
  writeln('Вывод элементов массива '); 
  writeln (A[i]); 
  end; 
End.  
   
6. Примеры операций с массивами на языке Turbo Pascal.

Задан одномерный массив А[1..15], определить сумму отрицательных элементов. 
Program P1; 
  Const m=15; 
  Var К: array[1..m] of integer; 
  i,S: integer; 
 Begin 
  For i:=1 to m do 
  begin 
  writeln('Введите элементы массива '); 
  readln(К[i]); 
  end; 
  S:=0; 
  for i:=1 to m do 
  if К[i]<0 then S:=S+ К[i]; 
  writeln('S=',S) 
  End. 
  Генерация элементов массива с помощью функции случайных чисел. 
Program P2; 
  Const m=10; 
  Var F: array[1..m] of integer; 
  i: integer; 
Begin 
 Randomize; 
{функция позволяет перемешивать числа из диапазона указанном в функции random и употребляется перед ней } 
  For i:=1 to m do 
  begin 
  F[i]:=random(101); 
  {Функция random(101) генерирует целые 
  числа в диапазоне от 0 до 100} 
  write(F[i]); 
  end; End. 
Вот такая программа. Здесь я использую новую функцию Random , думаю, она вам не знакома. Очень интересная функция. 
Функция Random
Данная функция возвращает от своей работы случайное число. Что значит "случайное число"? Это значит, что функция возвращает от своей работы какое-то число, каждый раз новое. В качестве параметра задается максимальное значение случайного числа, иначе говоря функция не возвратит число большего диапазона. Для того, чтобы использовать эту функцию, необходимо включить (так говорят, однако мне нравиться больше "инициализировать" - на включение это мало похоже) датчик случайных чисел. Тогда функция начнет нормально работать и возвращать действительно случайные значения. 
Инициализация датчика случайных чисел (ДСЧ) происходит вызовом процедуры Randomize. Вы видите ее перед циклом. 
Теперь посмотрите, как я использую эту функцию в программе. Дело в том, что вводить с клавиатуры 100 чисел не так уж и приятно, верно? Вот я и заполняю массив случайными числами. Диапазон до 500 вполне здесь подходит, числа будут не очень большие, но и не очень маленькие. При этом я циклом изменяю значение массива и с помощью переменной I пробегаюсь по всем его элементам, заполняя их случайными числами. 
Этот пример хорошо демонстрирует создание массива и доступ к его элементам. 

Поиск максимальных и минимальных элементов
Дан одномерный массив K из 10 целых элементов, найти максимальный элемент и его индекс. 
Решение: 
Program Poisk_2; 
  Const maxM=10; 
  Var К: array[1..maxM] of integer; 
  Max, i, j: integer; 
 Begin 
  Randomize; 
  For i:=1 to maxM do 
  begin 
  К[i]:=random(101); 
  write(К[i]); 
  end; 
  Max:=K[1]; 
  J:=1; 
  for i:=2 to maxM do 
  if Max<K[i] then begin max:=K[i]; j:=i; end; 
  writeln('Максимальный элемент=', max); 
  writeln('Индекс макс. элемента=', j); 
  End. 

  СОРТИРОВКА ВЫБОРОМ
For i:=1 to N-1 do 
begin 
K:=i; max:=A[i] 
for j:=i+1 to N do 
  if A[j]>max then 
  begin 
  max:=A[j]; 
  K:=j; 
  end; 
A[K]:=A[i];A[i]:=max; 
end;


II. Рефлексия.
Составить программу нахождения среднего арифметического элементов массива.

Program N1; 
var 
  M: Array [1..100] of Integer; 
  S: Real; 
  I: Byte; 
begin 
  Randomize; 
  For I := 1 to 100 do 
  M[I] := Random(500); 
  For I := 1 to 100 do 
  S := S + M[I]; 
  S := S / 100; 
  Write('Среднее арифметическое всех чисел массива: ', S); 
end.

III. Домашнее задание.

1 Дан массив из 15 чисел. Заполните его случайными числами. Определить, сколько в нем элементов, отличных от последнего элемента. Вывести их количество. 
2 Дан массив из 50 чисел. Заполните его случайными числами. Вывести на экран сначала все положительные его элементы, а затем все отрицательные. 
3 Дан массив из 10 чисел. Введите его с клавиатуры, после чего измените у всех чисел знак на противоположный. Вывести получившийся массив на экран. 


IV. Подведение итогов урока

Массив – группа элементов одного типа, объединенных под общим именем.
Индекс – что-то (чаще всего номер), что позволяет отличать элементы массива один от другого и обращаться к ним.
Массивы описываются в разделе описания переменных. Общий вид описания:
<имя массива>: array [<начальный индекс>..<конечный индекс>] of <тип элемента>;
Примеры:
A : array [1..10] of real;
для ввода массива можно использовать цикл:
For i:=1 to 10 do read( A[i] );

С отдельным элементом массива можно делать все, что с любой переменной. A[i]:=25

Функция Random(A: Integer);.
Данная функция возвращает от своей работы случайное число.

 Среди введенных чисел максимальное мы находим следующим образом: 
Сначала за максимальное принимается первое число; 
После оно сравнивается со всеми оставшимися числами, при этом: 
Если следующий элемент больше принятого за максимум (переменная Max), то оно принимается за максимум. 
После сравнения всех элементов в конце концов остается одно число, которое больше всех в массиве.


 

Прикрепленный файл Size
урок Массив 10 кл.rar 973.05 KB

»  Tags for document:
»  Размещено в сообществах:   
Дневник обучения группы сетевых методистов Самарской области

Смотреть видео онлайн


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн