№ | Деятельность учителя | Деятельность ученика |
1 | Организационный момент (2 мин.) | |
| Здравствуйте! Присаживайтесь. Отметим отсутствующих. Откройте дневники и запишите домашнее задание. | Повторить §5 - §10 |
2 | Обобщение и систематизация знаний (20 мин.) | |
| Откройте тетради и запишите дату и тему: «Составление и реализация программ с использованием массивов» | |
| Сегодня на уроку мы повторим основные понятия, формулы, правила написания программ с использованием массивов; | |
| И так, начнём с описания, заполнения и вывода массива. | |
| Ответьте на следующие вопросы: | |
| -
Какими способами можно задавать массив? | Константой, генератором случайных чисел, ввести с клавиатуры. |
| -
Как сформировать массив из 10 элементов, через константу. | Const A:array[1..9] of integer = (9, 10, 8, 7, 8, 6, 9, 9, 5, 7, 10, 6); |
| -
Опишите массив из 9 элементов, в котором хранятся отметки 9-го «А» класса, не используя констант. | Var a: array[1..9] of integer; |
| Перед вами фрагмент кода программы: Program massiv; Var Arr: array [1..12] of integer; i, k, s: integer; Sred: real; … | |
| Что за раздел программы вы видите? | Массив из 12 элементов, переменные. |
| Какое имя у массива? | Arr |
| Сколько элементов в массиве? | 12 |
| Какие переменные и каких типов описаны? | i, k, s – целочисленный, Sred – вещественный. |
| Сейчас вам будут представлены фрагменты кодов программ, вам нужно будет ответить, что выполняет каждый из них. | |
| -
Что находит данный фрагмент кода программы? … k:=0; for i:= 1 to N do k:=k+1; writeln(k); … | Количество элементов |
| -
Что находит данный фрагмент кода программы? … S:=0; for i:= 1 to 10 do if A[i] writeln(S); … | Сумму отрицательных элементов |
| -
Что находит данный фрагмент кода программы? … P:=1; for i:= 1 to 14 do if A[i]0 then P:=P*A[i]; writeln(P); … | Произведение положительных элементов |
| -
Что выполняет данный фрагмент кода программы? … S:=0; for i:= 1 to 10 do if A[i] mod 5=0 then S:=S+A[i]; writeln(S); … | Сумму элементов кратных пяти. |
| -
Что выполняет данный фрагмент кода программы? … for i:= 1 to 12 do if A[i] … | Поиск и вывод элементов, меньших 6 |
| -
Что находит данный фрагмент кода программы? … k:=0; for i:= 1 to 10 do if A[i] mod 2=0 then k:=k+1; writeln(k); … | Количество чётных элементов |
| -
Что выполняет данный фрагмент кода программы? … for i:= 1 to 15 do begin A[i]:=A[i]*3; Write (A[i]:4); … | Увеличивает элементы в 3 раза и выводит в новый массив |
| -
Что выполняет данный фрагмент кода программы? … for i:= 1 to 5 do A[i]:=random(21); for i:= 1 to 5 do write (A[i]:4); writeln; B:=A[3]; A[3]:=A[5]; A[5]:=B; for i:= 1 to 5 do write (A[i]:4); … | Вывод массива до замены. Меняет местами 3-ий и 5-ый элементы массива и выводит все элементы после замены. |
| Исходя из всего что, мы повторили. Какие команды обработки массива вы знаете на сегодняшний момент? | - выполнение арифметических действий над элементами массива; - преобразование элементов массива; - поиск элементов массива; |
| Решение любой задачи с помощью компьютера содержит несколько этапов: I. Определение исходных данных (что дано?). II. Определение результатов (что требуется найти?). III. Описание переменных (определение типов данных). IV. Составление алгоритма решения задачи. V. Написание и отладка программы. VI. Тестирование программы. | |
| А теперь с помощью данных этапов, разберём пример 3 в учебнике на стр. 60. | |
| В лабораторной работе измеряют массу m и ребро a образцов кубической формы (рис. 2.10). Составить программу для расчета плотности вещества. Данные измерений вводятся с клавиатуры. Результаты измерений и вычислений выводятся в таблицу. | |
| И так, по плану первый пункт это исходные данные. Что дано нам в данной задаче? | I. Исходными данными являются количество образцов, масса и размер каждого из них. Будем вводить эти данные с клавиатуры и помещать соответственно в массивы m и a. Индексом массивов будет номер образца от 1 до 5. |
| Второй пункт, определение результатов. Что требуется найти в этой задаче? | II. Требуется вычислить и вывести в таблицу плотность вещества каждого образца. Чтобы не создавать еще один массив, будем производить вычисления непосредственно при выводе в процедуре writeln(). |
| Третий пункт, описание переменных. Какие типы данных и для чего мы будем использовать в нашей задаче? | III. Масса измеряется в граммах, а размер в сантиметрах с точностью до одного десятичного знака (вещественный тип). Таким образом, переменные могут быть описаны так: var m, a: array[1..5] of real; i: integer; |
| Четвёртый пункт, составление алгоритма решения задачи. | IV. Алгоритм решения задачи основан на использовании формулы плотности вещества d = m/v = m/a3 . Вычисление и вывод результатов в таблицу производятся в цикле for. |
| Пятый пункт, необходимо написать программу. Нам облегчили нашу задачу, она уже написана. | V. Программа имеет вид: program Primer; var m, a : array[1..5] of real; i: integer; begin writeln(‘попарно вводите массу (в г) и ребро (в см) образцов’); for i:=1 to 5 do readln (m[i], a[i]); writeln('образец : масса : ребро : плотность'); for i:=1 to 5 do writeln(i:4, m[i]:10:2, a[i]:9:2, m[i]/(a[i]*a[i]*a[i]):10:2); end. |
| А что у нас последним пунктом? У вас на компьютерах, так же загружена данная задача, протестируете её. | VI. Протестировать программу. |
4. | Решение задач (20 мин.) | |
| Хорошо, самое главное вспомнили теперь закрепим ваши знания самостоятельным решением задач. (Раздаю карточки) Не забываем, что, первая задача у вас загружена на компьютерах, вам необходимо её протестировать. Присаживайтесь за компьютеры, и приступайте к решению задач. | |
| Задание 1. Сформировать массив n (n -2. Вывести элементы массива до и после замены. | Program primer; var A: array[1..50] of integer; n, i: integer; begin write('введите количество чисел ( read(n); for i:=1 to n do {заполнение массива случайными числами} A[i]:=random(41)-20; {на промежутке [ – 20, 20]} for i:=1 to n do write (A[i]:4);{вывод элементов до замены} writeln; {курсор с новой строки} for i:=1 to n do if A[i]0 then A[i]*-2; for i:=1 to n do write (A[i]:4);{вывод элементов после замены} end. |
| Задание 2. Сформировать массив n (n | Program primer; var A: array[1..50] of integer; max, n, i: integer; begin write('введите количество чисел ( read(n); for i:=1 to n do {заполнение массива случайными числами} A[i]:=random(41)-20; {на промежутке [ – 20, 20]} for i:=1 to n do write (A[i]:4);{вывод элементов до замены} writeln; {курсор с новой строки} max:=A[1]; for i:=1 to n do if A[i]max then A[i]:=max; writeln(max); end. |
| Задание 3. На складе хранятся товары. Известна цена и количество каждого товара. Составить программу для определения суммарной стоимости всех товаров. | program Primer; var cena, K: array[1..20] of integer; n, i, Sum: integer; begin write(‘введите количество видов товаров (n read(n); writeln('товар цена к-во'); for i:=1 to n do begin write(i:3,' '); read(cena[i], K[i]); end; Sum:=0; for i:=1 to n do Sum:=Sum + cena[i]*K[i] ; writeln(‘суммарная стоимость товаров = ’, Sum); end. |
5. | Подведение итогов (3 мин.) | |
| Молодцы, сегодня все хорошо поработали на уроке, вспомнили всё, что необходимо для написания самостоятельной работы. У кого-нибудь есть ко мне вопросы по материалу? (Выставляю отметки) Урок окончен. До свидания! | |