Главная » Файлы » В помощь учителю » Информатика |
2014-02-04, 1:02 PM | |
Воробьева Марина Геннадьевна, учитель информатики КГУ «Средняя общеобразовательная школа № 17 акимата города Сарани» Открытый урок «Алгоритмы для работы с табличными величинами. Одномерные массивы» Цели урока: формирование знаний и умений учащихся по теме “Массивы”; выработка первичных навыков решения задач с применением одномерных массивов; Задачи: образовательные: формировать представления об одномерных массивах; использовать одномерные массивы при работе с программой. воспитательные: воспитывать умение слушать, воспитывать необходимость связывать изучение нового материала с уже известными фактами; воспитывать ответственность за выполняемую работу, аккуратность при выполнении вычислений; развивающие: развивать познавательный интерес, творческую активность учащихся; развивать умение обобщать материал, логически мыслить; развивать навыки решения задач прикладного характера. Тип урока: изучение нового материала, объяснительно-демонстрационный; Оборудование: компьютер, видеопроектор, интерактивная доска; Программное обеспечение: программа Turbo Pascal 7.0, MS PowerPoint. Методы: проблемный, частично-поисковый, исследовательский. Ожидаемые результаты: овладение умениями и навыками разработки программ с использованием одномерных массивов; самостоятельное выполнение учащимися заданий экспериментального раздела. С заданиями первого уровня должны справиться все. Но каждый учащийся работает в индивидуальном темпе и общие результаты у всех должны быть разные. Ход урока 1. Организационный момент. Здравствуйте, ребята! Очень рада встретиться с вами. 2. Мотивационное начало урока. Постановка цели урока. Учитель: Чтобы сконцентрироваться и настроиться на рабочий лад, начнем наш урок с решения нескольких занимательных задач. Учитель предлагает три занимательные задачи, ребята устно решают их. Посмотрите внимательно на экран, перед вами лексическое значение одного слова французского происхождения, которое я выписала из большого энциклопедического словаря. (Текст на слайде:) - (слово французского происхождения, обозначающее мощный или сплошной) совокупность множества однородных по каким-либо признакам объектов, предметов, данных и т.п., например: жилой…, лесной…, горный…, информационный… Скажите, какое это слово? Оно будет главным в теме нашего урока. (Массив). Да, действительно это слово – массив, а тема урока – «Одномерные массивы». Сегодня на уроке вы узнаете: 1. Что такое массив в языке программирования? 2. Какие характеристики имеет массив? 3. Как описать массив на языке Pascal? 4. Какие операции можно производить с элементами массива? Тема для вас новая, но интересная. От того, насколько вы будете внимательны и аккуратны, зависит результат вашего труда. Каждый из вас получит: - раздаточные материалы с заданиями; - творческую карточку учащегося (таблица 1); - критерии оценки выполненной работы (таблица 2). 3. Объяснение нового материала. Но давайте ещё раз обратимся к лексическому значению слова массив. Какие, по-вашему, слова определяют сущность понятия массив? (совокупность, множества, однородные). А где ещё вы сталкиваетесь с определением «однородные»? (в русском языке - однородные члены предложения.) Подберите синонимы к этому слову (одинаковые, однотипные). Другими словами можно сказать, что Массив – это пронумерованное множество однотипных объектов, имеющих общее название (имя). Массив относится к структурному типу данных, где в отличие от простых, задается множество значений под одним общим именем. В жизни мы часто сталкиваемся с такими множествами, например Назовите окружающие вас в кабинете объекты, которые можно объединить в массивы (окна, столы, компьютеры, ученики класса). 3.1. Характеристики массива Чтобы разобраться в этом давайте для примера возьмем одноэтажный пятиквартирный дом. Как вы видите в каждой квартире проживает конкретное количество жильцов - это элементы массива. Каждый дом имеет свой адрес: улица, № дома, и у нашего массива тоже есть название массива «А» - это имя массива. Номера квартир - это индекс массива. Количество элементов массива - его размерность. Массив имеет следующие характеристики: 1. имя - название массива; 2. индекс - номер элемента в массиве; 3. элемент - каждое значение в массиве; 4. размерность - количество элементов в массиве. Закрепление: с примерами: Назовите характеристики массива «книга», «дом». Существуют различные виды массивов по размерности, в школьном курсе вы познакомитесь с двумя – одномерными и двумерными. Перед вами на экране примеры объектов, представляющих такие массивы (на слайде изображения шкафа с одинаковыми ящиками и зрительный зал). Если за каждым элементом массива закреплен 1 порядковый номер, то такой массив называют одномерным (линейным, вектором). Назовите их характеристики. 3.2. Описание массива на языке Pascal Вспомните, в каком разделе программы описываются переменные? (в разделе Var). Массив также задаётся в разделе Var. Формат описания: массива Имя массива: array [начальный индекс..конечный индекс] of тип данных; Где: array – служебное слово (в переводе с английского означает «массив», «набор»); of – служебное слово (в переводе с английского означает «из»); [начальный индекс . . конечный индекс ] - размер. Тип индексов - любой скалярный тип кроме real. Индексы можно вычислять. Тип элементов - любой, за исключением файлового. Если массивы одинаковы и отличаются лишь именами, то их можно описать в одной строке: С, Mas: array [1..25] of integer; Закрепление: Попытайтесь самостоятельно описать массивы, выполняя задания: (время выполнения 2-3 минуты): Сколько элементов в этом массиве? Какого они типа? Как они нумеруются? 1. M : array [1..4] of real; 2. Z : array [-8..-1] of integer; 3. Mass : array [5..12] of integer; Сравните свои результаты с образцом, исправьте ошибки (слайд с правильными ответами). 3.3. Обращение к ячейке массива. Использование элемента массива. Для обращения или использования элемента указывается имя массива и в квадратных скобках индекс этого элемента. Например: Read(A[1]); A[3]:=(2 * x + 6); A[4]:=(A[1]+A[2]) * A[3]; Допустимые операции определяются типом элемента (элемент массива ничем не отличается от обычной переменной, кроме особенного написания имени). Над элементом массива чаще всего выполняются такие действия как: а) поиск значений; б) сортировка элементов в порядке убывания или возрастания; в) подсчет элементов массива, удовлетворяющий заданному условию. 3.4. Заполнение одномерного массива. Рассмотрим заполнение массива. Существует несколько способов заполнения массива. Мы рассмотрим три способа: с клавиатуры; с помощью датчика случайных чисел; с помощью формулы. 3.4.1. Заполнение массива с клавиатуры. Рассмотрим пример заполнения массива А пятью целыми числами с клавиатуры. Для того чтобы организовать ввод исходных данных в массив, нужно использовать цикл. То есть обращение к элементам массива происходит в цикле, по очереди от 1 до 5. for i:=1 to 5 do begin writeln('a[', i, ']='); readln ( a ); end; 3.4.2. Заполнение массива случайными числами Рассмотрим следующий пример: нам нужно заполнить массив А с помощью генератора случайных чисел. Размерность массива = 10. Функция получения случайных чисел из заданного интервала [0, М-1] выдает целые числа из этого интервала: random (М) Итак, чтобы заполнить массив например десятью целыми числами из интервала [1,100] запишем фрагмент программы: for i:=1 to 10 do begin a[i]:=random(101); {числа от 1 до 100} 3.4.3. Заполнение массива с помощью формулы Давайте разберем следующий пример: Заполнить одномерный массив В из 8 чисел по формуле b[i]:=i*3. var b: array [1..10] of integer; i: integer; begin for i:=1 to 10 do b[i]:=i*3; Вы уже поняли, что для ввода данных в память необходимо организовать цикл. Не знаю как у вас, а у меня возник вопрос: почему при заполнении массива используется цикл с параметром? (Ответ: Потому что число повторений ввода данных известно, удобно использовать цикл с параметром). 3.5. Вывод значений элементов массива Следующим вопросом нашего урока является вывод массива. Рассмотрим вывод массива из 5 целых чисел. Пример 1. Ввод и вывод элементов одномерного массива Program mas1; Uses crt; var А: array[1..5] of integer; i: integer; Begin writeln('введите элементы массива'); for i:=1 to 5 do readln(a[i]); writeln('вывод элементов массива:'); for i:=1 to 5 do write(a[i]:2); Readkey; end. Для рассмотрения 3-х вариантов заполнения массива. Воспользуйтесь модулем: «Массивы». Блок № 1, находящемся на вашем столе. Давайте разберем 3 примера программ: Пример2: Имеется 10 чисел. Необходимо найти их сумму. (В данной задаче все элементы массива вводятся с клавиатуры). program primer1; uses crt; var s,i:integer; a:array[1..10] of integer; {Описание массива} Begin Clrscr; for i:=1 to 10 do begin {Ввод элементов массива} writeln('Введите a[',i,']'); read (a[i]); end; writeln('Введённый массив'); {Вывод элементов массива} for i:=1 to 10 do write (a[i],’ ’); s:=0; for i:=1 to 10 do {Нахождение суммы} s:=s+a[i]; writeln('Сумма элементов массива =', s ); readkey; End. Пример3: Заполнить одномерный массив С с помощью генератора случайных чисел. Размерность массива = 10. Найти сумму элементов массива. program primer2; uses crt; var С: array [1..10] of integer; s,i:integer; Begin Clrscr; Randomize; for i:=1 to 10 do begin с[i]:=random(101); {Генератор случайных чисел числа от 1 до 100} writeln (с[i]); end; s:=0; for i:=1 to 10 do {Нахождение суммы} s:=s+с[i]; writeln('Сумма элементов массива =', s ); readkey; End. Пример4: Заполнить одномерный массив В, состоящий из 8 чисел по формуле b[i]:=i*3. program primer3; uses crt; var b: array [1..8] of integer; i: integer; begin for i:=1 to 8 do b[i]:=i*3; for i:=1 to 8 do write('b [‘,I, ]=', b[i]:3 ); s:=0; for i:=1 to 8 do s:=s+b[i]; writeln('Сумма элементов массива =', s ); readkey; End. 4. Этап обобщения, систематизации знаний и закрепление изученного. [i]Вопросы для повторения: 1) Что называют массивом? 2) Что такое размерность массива? (Количество элементов массива называется его размерностью. Размерность массива равна: максимальное значение индекса – минимальное значение индекса + 1) 3) Как можно обратиться к ячейке массива? 4) Какого типа могут быль элементы массива? 5) Какие действия выполняют обычно над элементами массива? (Можно делать все, что с любой переменной). 6) Какого типа может быть индекс массива? 7) Как можно осуществить ввод элементов массива? 8) Какими способами может быть заполнен массив? Приведите примеры. А сейчас я предлагаю вам разбиться по парам. Выберите в модуле свой уровень с заданиями, разберите их и совместно напишите программы. Тренировочные задания для самостоятельной работы: Уровень А. Имеется целочисленный массив, состоящий из 15 элементов: a) Найти сумму a[1] и a[7] элементов; b) Найти разность a[9] и a[3] элементов; c) Найти среднее арифметическое всех элементов массива; d) Найти произведение всех элементов массива. Уровень В. Имеется целочисленный массив, состоящий из 10 элементов: a) Найти полусумму первых 3-х элементов массива; b) Увеличьте массив, введенный с помощью генератора случайных чисел, в 2 раза; c) Заполните его случайными числами. Вывести положительные элементы массива. d) Введите его с клавиатуры, после чего измените у всех чисел знак на противоположный. Уровень B. (Листинг программы B-b) Program z_mass_1; uses crt; Var B,A: array[1..10] of integer; i: integer; Begin Write (введите элементы массива А через пробел '); For i:=1 to 10 do begin Read(a[i]); B[i]:= A[i]*2; end; writeln('вывод элементов массива '); For i:=1 to 10 do begin write (B[i]:2); end; readkey; End. Уровень С. Имеется вещественный массив В, состоящий из 9 элементов: a) Найти сумму, среднее арифметическое и произведение всех элементов массива. b) Определить самую высокую температуру и самый теплый день в мае. c) Расположить массив произвольным образом, с помощью генератора случайных чисел и подсчитать количество элементов массива, больших заданного числа k. d) Найти максимальный элемент и его индекс. e) Дан массив, состоящий из нулей и единиц. Подсчитать количество 0, количество 1 и количество нулей до первой единицы. Уровень С. (Листинг программ С-b, C-c) Задание С-b. Определить самую высокую температуру и самый теплый день в мае. Program massiv; Uses crt; Var t:array [1..31] of integer; I, max, n : integer; Begin Clrscr; For i:=1 to 31 do Begin t[i]:=random(20); Write(b[i], ‘ ‘); End; Max:=t[1]; n:=1; For i:=2 to 31 do Begin If t[i] > max then max:=t[i]; n:=i ; End; Write(‘максимальная температура’, max, ‘в’, n, ‘день’); End. Задание С-с. Задан одномерный массив В(10),заполненный произвольным образом. Подсчитать количество элементов массива, больших заданного числа k. Program massiv; Uses crt; Var b:array [1..10] of integer; I, k, s : integer; Begin Clrscr; S:=0; For i:=1 to 10 do Begin Write(‘Введите’, i, ‘-й элемент массива ’); Readln (B[i]); Write(b[i], ‘ ‘); End; Write(‘Введите число k’); Readln(k); For i:=1 to 10 do If b[i]>k then s:=s+1; Write(‘Количество элементов’, s); End. Задание С-d. Дан одномерный массив 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. (Во время практики, когда учащиеся работают за компьютером, учитель наблюдает за их работой; следит за правильной посадкой, выступает в роли консультанта, отвечает на вопросы учеников, по ходу проверяя знания учащихся тех или иных операторов, задавая некоторым ученикам вопросы. Учащиеся работают в индивидуальном темпе. Ученики, успешно выполняющие задания, получают положительные оценки.) 5. Подведение итогов урока. Учитель: Спасибо ребята вам за работу. Вы работали дружно, слаженно, оказывали помощь друг другу. Особенно хорошо сегодня поработали … (называет имена и фамилии учеников, оценки) Домашнее задание: Ермеков Н.Т. и др. Информатика (Паскаль). i1.15.Алгоритмы для работы с большими величинами. Массивы. - стр.91-97. Повторить все операции с массивами, кто не успел выполнить задачи в классе, проработать их дома. Давайте подведём итог нашего урока. Обратитесь к «Творческой карточке учащегося» и «Критериям оценки выполненной работы». Прошу Вас заполнить эти таблицы. | |
Просмотров: 1623 | Загрузок: 0 | Комментарии: 3 | |
Форма входа |
---|
Категории раздела | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Социальные закладк |
---|
Поиск |
---|
Друзья сайта |
---|
Статистика |
---|