Тема урока: Пошук у масиві. Алгоритми пошуку.
Цель Д: посредством самостоятельного решения задач на сложный поиск в массиве проверить уровень понимания использования сортировки массива для решения задач
Самостоятельная работа
1 вариант
1) Поменяйте местами первый и минимальный элементы массива.
2) Упорядочите одномерный массив, чтобы сначала разместились все четные элементы, а затем – все нечетные (порядок четных и нечетных необязателен)
2 вариант
1) Поменяйте местами последний и максимальный элементы массива.
2) Упорядочите одномерный массив, чтобы сначала разместились все элементы, значение которых больше заданного числа, а затем – все остальные.
ПОДСКАЗКА ДЛЯ ЗАДАНИЯ 2! Вспомните сортировку методом прямого выбора!
понедельник, 9 ноября 2009 г.
Урок 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)
