Рубрики
Информатика

Организация учебной деятельности студентов на уроках решения алгоритмических задач по информатике

«Алгоритм – это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность» (Дональд Эрвин Кнут).

0
Демина Елена Сергеевна,
преподаватель информатики
ФГБОУ ВО «Московский государственный технический университет имени Н.Э. Баумана»,
Московский техникум космического приборостроения,
ec1977@mail.ru

 

Хочется начать статью с определения понятия алгоритм:

«Алгоритм – это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность» (Дональд Эрвин Кнут).

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

Очевидно, что наглядное представление задачи во многом облегчит студентам понимание построения схемы алгоритма, «почувствовать» как происходит процесс программирования и выполнения команд. Поэтому, из своего опыта, я очень много времени уделяю построению блок-схем на доске, расписывая каждый шаг подробно, и указывая, что получится на каждом этапе решения задачи. Затем, идет усложнение той же задачи, путем дополнения или изменения условия. Такой подход к решению алгоритмических задач дает возможность плавно перейти к их решению на любом алгоритмическом языке, где студенты будут уже строго соблюдать логику и последовательность действий при написании программы.

Мною был разработан урок по практическому применению методики по составлению алгоритмических конструкций (циклы) на уроке информатики на 1 курсе техникума.

Планируемые образовательные результаты:

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

– Метапредметные: создать условия для развития УУД, совершенствования навыков постановки вопроса, производить  анализ и ставить цель. Содействовать развитию у студентов умений использовать научные методы познания.

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

– развить навыки решения задач на алгоритмическом языке.

Цель обучающихся: уметь составлять блок-схемы для циклического процесса. Уметь перенести составленную задачу на язык программирования «Паскаль». Уметь самостоятельно находить ошибки при решении задачи на компьютере.

Урок начинается с:

– введения понятия, что такое цикл;

– объяснения работы оператора цикла с параметром FOR.

1. for счетчик:=<значение> to<конечное_значение>do

<тело_цикла>;

2. for счетчик:=<значение> downto <конечное_значение> do

<тело_цикла>.

Задачи 1–3 разбираются вместе с преподавателем, а 4–7 выполняются самостоятельно на компьютере.

Задача 1. Дано четыре числа: a, b, c и d. Найдите все числа на отрезке [a;b] дающие остаток c при делении на d.

входные данные выходные данные
1 4 1 2 1 3
1 5 0 4 4

var

i, a, b, c, d: Integer;

begin

ReadLn(a, b, c, d);

for i := a to b do

if (i mod d = c) then write(i, ‘ ‘);

end.

Задача 2. Даны четырёхзначные натуральные числа a и b. Из чисел от a до b требуется выбрать те, запись которых содержит не менее трех одинаковых цифр.

входные данные выходные данные
2000

2200

2000

2022

2111

2122

1982

2012

1999

2000

var

i, a, b, one, dec, hum, th: Integer;

begin

ReadLn(a, b);

for i := a to b do

begin

one := i mod 10;

dec := i div 10 mod 10;

hum := i div 100 mod 10;

th := i div 1000 mod 10;

if (one = dec) and (one = hum) or (dec = th) and (dec = hum)

or (one = th) and (one = hum) or (dec = th) and (dec = one) then

writeln(i);

end;

end.

Задача 3. Необходимо найти сумму всех целых чисел от a до b.

входные данные выходные данные
1 5 15
5 10 45

var

i, a, b, s: Integer;

begin

ReadLn(a, b);

for i := a to b do

s := s + i;

WriteLn(s);

end.

Задача 4. Найти сумму чисел от k до n.

S = k + (k+1) + (k+2) + … + (n-2) + (n-1) + n

0 < k < n < 10000, записаны через пробел.

var

i, a, b, s: Integer;

begin

ReadLn(a, b);

for i := a to b do

s := s + i;

WriteLn(s);

end.

Задача 5. Необходимо найти сумму квадратов всех целых чисел от a до b.

входные данные выходные данные
1

5

55
5

10

355

var

i, a, b, s: Integer;

begin

ReadLn(a, b);

for i := a to b do

s := s + i * i;

WriteLn(s);

end.

Задача 6. Вычислите N! – произведение всех натуральных чисел от 1 до N (N!=1⋅2⋅3⋅…⋅N).

var

i, n, p: Integer;

begin

p := 1;

ReadLn(n);

for i := 1 to n do

p := p * i;

WriteLn(p);

end.

Задача 7.Вычислите значение 2N для заданного N.

входные данные выходные данные
1 2
5 32

var

i, n, p: Integer;

begin

ReadLn(n);

p := 1;

if (n = 0) then

writeln(p)

else

begin

for i := 1 to n do

p := p * 2;

writeln(p);

end;

end.

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

  • 12=1;
  • 22=1+3;
  • 32=1+3+5;
  • 42=1+3+5+7;
  • n2=1+3+5+7+9+…+(2n−1)

В решении задачи нельзя использовать умножение для возведения в квадрат.

входные данные выходные данные
2 4
8 64

var

i, S, n, k: Integer;

begin

ReadLn(k);

S := 1;

n := s;

if k = 1 then

WriteLn(1)

Else begin

for i := 1 to (k — 1) do

begin

S := S + 2;

n := n + s;

end;

WriteLn(n);

end;

end.

В конце урока студент формирует отчет с выполненными заданиями и листингом программы.

Критерии оценивания:

Отметка «3» – ставится за выполненные с 1–3 задачи вместе с преподавателем.

Отметка «4» – ставится за выполненные с 1–6 задачи самостоятельно.

Отметка «5» – ставится за выполненные с 1–8 задачи самостоятельно.

Список литературы:

1. Златопольский Д.М. Сборник задач по программированию. 3-е изд., перераб. и доп. СПб.: БХВ-Петербург, 2011.
2. Кнут Д. Искусство программирования. Т. 1. Основные алгоритмы. 3-е изд. М.: Вильямс, 2006.
3. Павловская Т.А. Паскаль. Программирование на языке высокого уровня: Практикум1-е. М., 2006.
Мнение редакции может не совпадать с мнением авторов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0