Практическая работа № 2.
“Разработка и исполнение программ обработки одномерных массивов”.
Цель:.
Учебная: Достичь усвоения понятий: массив, элемент массива и его индекс, структура и вид массива;
Формировать умение и навыки создания алгоритма обработки одномерных массивов, ввода текста программы, запуска программы на компиляцию и выполнение, поиска и исправления синтаксических и логических ошибок, сохранения программы на диске, работы в отладочном режиме.
Воспитательная: Формировать навыки принятия решений, бережное отношение к технике и информации других.
Развивающая: Формировать алгоритмический стиль мышления, умения и навыки работы с интегрированной средой программирования.
Основные понятия
Массив – набор однотипных данных, упорядоченных по индексу. Однотипные данные, подлежащие одинаковой обработке, объединяют в массив.
Размер – количество значений, которые соответствуют имени массива.
Размерность – количество индексов, которые соответствуют одному значению.
Тип элемента – любой допустимый в паскале тип, кроме файлового.
Индекс – порядковый номер значения, величина порядкового типа, обычно связывается с значением счетчика цикла оператора For.
Значение – к нему обращаются a[i].
Сортировка – упорядочение элементов массива по значению.
Алгоритмы обработки: Оnбор элементов по условию. Подсчитать количество отрицательных элементов массива.
Информационная модель задачи
a – исходный массив;
n - количество элементов массива;
i - порядковый номер элемента массива;
k - количество отрицательных элементов массива.
Program negative;
Type
om=array[1..50] of real;
Var
A:om;
N,I,k:integer;
Begin
Writeln(‘Введите количество элементов массива’);
Readln(n);
{Заполнение массива значениями}
for i:=1 to n do
a[i]:=random(50)-25.0; {Распечатка исходного массива}
For i:=1 to n do
Write(a[i]:8:1);
Writeln;
{Обработка массива по условию задачи}
K:=0;
For i:=1 to n do
If a[i]'<'0 then k:=k+1;
{Печать результата}
Writeln(‘Количество отрицательных чисел = ’,k)
End.
Задание 1: Решить задачи:
1. Найти сумму всех положительных элементов массива.
(4 балла)
2. Найдите произведение нечетных элементов одномерного массива, значения которых меньше х.
(7 баллов)
3. Найдите среднее арифметическое элементов одномерного массива, кратных 3 или 5.
(9 баллов)
4. Поменяйте местами минимальный и максимальный элементы массива местами
(10 баллов)
5. Упорядочите одномерный массив так, чтобы сначала разместились все нечетные числа, а затем все четные
(12 баллов)
Задание 2. Составить контрольно-тестовые примеры.
Задание 3: Программу запишите в тетрадь. Прокомментируйте блоки заполнения, распечатки и обработки массива. Выделите тело цикла.
понедельник, 9 ноября 2009 г.
Урок 18. Пошук у масиві. Алгоритми пошуку. Самостійна робота
Тема урока: Пошук у масиві. Алгоритми пошуку.
Цель Д: посредством самостоятельного решения задач на сложный поиск в массиве проверить уровень понимания использования сортировки массива для решения задач
Самостоятельная работа
1 вариант
1) Поменяйте местами первый и минимальный элементы массива.
2) Упорядочите одномерный массив, чтобы сначала разместились все четные элементы, а затем – все нечетные (порядок четных и нечетных необязателен)
2 вариант
1) Поменяйте местами последний и максимальный элементы массива.
2) Упорядочите одномерный массив, чтобы сначала разместились все элементы, значение которых больше заданного числа, а затем – все остальные.
ПОДСКАЗКА ДЛЯ ЗАДАНИЯ 2! Вспомните сортировку методом прямого выбора!
Цель Д: посредством самостоятельного решения задач на сложный поиск в массиве проверить уровень понимания использования сортировки массива для решения задач
Самостоятельная работа
1 вариант
1) Поменяйте местами первый и минимальный элементы массива.
2) Упорядочите одномерный массив, чтобы сначала разместились все четные элементы, а затем – все нечетные (порядок четных и нечетных необязателен)
2 вариант
1) Поменяйте местами последний и максимальный элементы массива.
2) Упорядочите одномерный массив, чтобы сначала разместились все элементы, значение которых больше заданного числа, а затем – все остальные.
ПОДСКАЗКА ДЛЯ ЗАДАНИЯ 2! Вспомните сортировку методом прямого выбора!
Урок 16. Пошук у масиві. Алгоритми пошуку.
Тема урока: Пошук у масиві. Алгоритми пошуку.
Цель Д: посредством решения задач на поиск в массиве, достичь полного понимания методов сортировок массива
Тип урока: урок закрепления знаний
Ход уроку
* Найти произведение трех наибольших отрицательных чисел
Назначение переменных
А – исходный массив
N – количество элементов в массиве
P – произведение трех наибольших отрицательных чисел
K – количество отрицательных чисел
L – порядковый номер наибольшего отрицательного числа
I – порядковый номер элемента в массиве, номер просмотра
J – порядковый номер просматриваемого элемента
X – промежуточная переменная
Program n1;
Type
Massiv=array [1..100] of real;
Var
A: massiv;
N: integer;
P: real;
Procedure Sort(n: integer; Var a:massiv);
Var
I, j: integer;
X: real;
Begin
For i:=2 to n do
For j:=n downto I do
If a[j]'<'a[j-1] then Begin X:=a[j]; A[j]:=a[j-1]; a[j-1]:=x; End; End; Procedure Work(n: integer; Var a : massiv; Var p:real); Var K,l,i: integer; Begin K:=0; For I:=1 to n do If a[i]'<'0 then Begin K:=k+1; L:=I; End; If k'>'3 then
Begin
P:=a[L]*a[L-1]*a[L-2];
Writeln(p:8:2);
End
Else
Writeln(‘невозможно найти’);
End.
* Найти сумму трех наименьших положительных чисел
Что изменится в программе, если нужно найти 3 наименьших положительных числа?
Как иначе можно изменить программу, чтобы алгоритм был более эффективным?
While(a[i]<=0) and (i<=n) do I:=i+1; If a[i]>0 then S:=S+a[i]+a[i-1]+a[i-2]
4. Практическая часть урока - проверить программі за компьютером, отослать на почтовій ящик преподавателю
5. Домашнее задание - Дан массив из n чисел. Определить, представляет ли массив чисел возрастающую последовательность?
Цель Д: посредством решения задач на поиск в массиве, достичь полного понимания методов сортировок массива
Тип урока: урок закрепления знаний
Ход уроку
* Найти произведение трех наибольших отрицательных чисел
Назначение переменных
А – исходный массив
N – количество элементов в массиве
P – произведение трех наибольших отрицательных чисел
K – количество отрицательных чисел
L – порядковый номер наибольшего отрицательного числа
I – порядковый номер элемента в массиве, номер просмотра
J – порядковый номер просматриваемого элемента
X – промежуточная переменная
Program n1;
Type
Massiv=array [1..100] of real;
Var
A: massiv;
N: integer;
P: real;
Procedure Sort(n: integer; Var a:massiv);
Var
I, j: integer;
X: real;
Begin
For i:=2 to n do
For j:=n downto I do
If a[j]'<'a[j-1] then Begin X:=a[j]; A[j]:=a[j-1]; a[j-1]:=x; End; End; Procedure Work(n: integer; Var a : massiv; Var p:real); Var K,l,i: integer; Begin K:=0; For I:=1 to n do If a[i]'<'0 then Begin K:=k+1; L:=I; End; If k'>'3 then
Begin
P:=a[L]*a[L-1]*a[L-2];
Writeln(p:8:2);
End
Else
Writeln(‘невозможно найти’);
End.
* Найти сумму трех наименьших положительных чисел
Что изменится в программе, если нужно найти 3 наименьших положительных числа?
Как иначе можно изменить программу, чтобы алгоритм был более эффективным?
While(a[i]<=0) and (i<=n) do I:=i+1; If a[i]>0 then S:=S+a[i]+a[i-1]+a[i-2]
4. Практическая часть урока - проверить программі за компьютером, отослать на почтовій ящик преподавателю
5. Домашнее задание - Дан массив из n чисел. Определить, представляет ли массив чисел возрастающую последовательность?
Подписаться на:
Комментарии (Atom)
