Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Урок 32. Тема урока: Метод пошаговой детализации (1 час).

Цель урока: систематизация знаний и навыков по применению технологии программирования – метода пошаговой детализации, разработке подпрограмм.

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

В качестве примера можно разобрать пример, представленный в учебнике, при этом, смоделировать работу команды разработчиков программы: обсудить общий план алгоритма, составить программу, а учащимся поручить разработать тексты подпрограмм, сравнить полученные решения. Обязательно обратите внимание на необходимость и важность(!) процесса тестирования программы.

Подведите итог занятия, обсудив систему основных понятий, вопросы после параграфа.

Домашнее задание. §2.2.11, составить программу методом пошаговой детализации для задачи: Создать два одномерных массива размером N и M с помощью генератора случайных чисел. Вставить минимальный элемент первого массива после минимального элемента второго массива (если минимальных элементов несколько, то вставить после первого из них).

Урок 33. Тема урока: Решение задач методом пошаговой детализации (1 час).

НЕ нашли? Не то? Что вы ищете?

Цель урока: систематизация знаний и навыков по разработке подпрограмм и применению технологии программирования – метода пошаговой детализации.

Примерный ход урока:

Разобрать домашнее задание. Выяснить, как рассуждали учащиеся при разбиении задачи на подзадачи, какие подпрограммы применили учащиеся для составления программы. Решение может быть следующим:

Program Home_Work;

Type mas=array[1..30]of integer;

var A, B:mas;

i, k,N, M:integer;

Procedure Create(var X:mas; N: integer);

var i:integer;

begin

for i:=1 to N do X[i]:=Random(100)-50;

end;

Procedure Print( X:mas; N: integer);

var i:integer;

begin

writeln('Array:');

for i:=1 to N do

write(X[i]:4);

writeln

end;

Function Nom_Min(X:mas; N: integer):integer;

var i, N_Min:integer;

begin

N_Min:=1;

for i:=2 to N do

if X[i]<X[N_Min]

Then N_Min:=i;

Nom_Min:=N_Min

end;

begin

Writeln('Введите кол-во элементов в массиве 1');

Readln(N);

Writeln('Введите кол-во элементов в массиве 2');

Readln(M);

Create(A, N);

Create(B, M);

Print(A, N);

Print(B, M);

k:=Nom_min(B, M);

{вставка минимального элемента массива А после минимального элемента массива В:}

For i:=M downto k+1 do

B[i+1]:=B[i]; {сдвинули элементы массива В вправо на 1 позицию}

B[k+1]:=A[Nom_min(A, N)]; {непосредственная вставка }

M:=M+1;

Print(B, M);

end.

Далее можно решить небольшие задачи в парах, при этом ученики должны разработать общий алгоритм, распределить обязанности по составлению подпрограмм, составить и отладить, протестировать программу. Например:

1)  Создать два одномерных массива разного размера. Найти элементы, принадлежащие и первому, и второму массиву.

2)  Создать два одномерных массива разного размера. Найти элементы, которые есть в первом массиве, и которых нет во втором массиве.

3)  Создать два одномерных массива разного размера. Найти элементы, которые есть во втором массиве, и которых нет в первом.

4)  Создать два одномерных массива разного размера. Найти максимальные значения в каждом массиве. Массив, максимальный элемент которого больше, упорядочить по убыванию.

Подведите итоги занятия, пусть учащиеся поделятся впечатлениями от работы.

Домашнее задание. Самостоятельно разобрать §2.2.12, проработать приведённые в параграфе примеры, выполнить упр. №5.