54639

Формирование компетентности продуктивной творческой деятельности у учащихся по информатике путем решения олимпиадных задач

Практическая работа

Информатика, кибернетика и программирование

Программа решения данной задачи в среде TurboPscl может быть такой: Vr mnzsxmxmin: integer; begin z:=0; writeln‘Введи количество конфет одной разновидности и количество конфет другой’; redlnmn; if n m then begin mx:=n; min:=m end else begin mx:=m; min:=n end; for x:=1 to mx do begin if mx mod x=0 then begin s:=mx div x; if min mod s=0 then if s 1 then begin writeln‘Коробок с одинаковым набором конфет может быть:’; writelns’ штук’; z:=1 end; end; end; if z=0 then writeln‘Конфеты можно поместить только в одну коробку’; redln...

Русский

2014-04-02

155.99 KB

2 чел.

2

Донецкий лицей № 30

Донецкого городского совета

Донецкой области

Формирование компетентности продуктивной творческой деятельности у учащихся по информатике путем решения олимпиадных задач

Учитель информатики Петренко Л.П.

Донецк - 2013

Формирование компетентности продуктивной творческой деятельности у учащихся по информатике путем решения олимпиадных задач

Перед современной педагогикой стоит ряд серьезных задач. Одной из главных среди них является развитие творческих качеств, творческого потенциала человека, способного реализовать себя в жизни. Поэтому в процессе обучения творческий учитель обязан гармонично сочетать учебную деятельность, в рамках которой формируются базовые знания, умения и навыки, с деятельностью творческой, связанной с развитием индивидуальных задатков учащихся, их познавательной активности, неординарности, организованности и целенаправленности мышления. И сегодня актуальны слова К.Д. Ушинского: «Должно постоянно помнить, что следует передать ученику не только те или иные познания, но и развить в нем желание или способности самостоятельно … приобретать новые познания. Эта способность … должна остаться с учеником и тогда, когда учитель его оставит, и дать ученику средства извлекать полезные знания не только из книг, но и из предметов, его окружающих, из жизненных событий… Обладая такой умственной силой, … человек будет учиться всю жизнь, что, конечно, и составляет одну из главнейших задач всякого школьного учения.»

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

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

Задача1

Коробки конфет. Имеется m штук одной разновидности конфет и n  штук другой разновидности конфет. Определить количество коробок с одинаковым набором конфет, в которые можно было бы разложить исходные конфеты.

Примеры.

  1.  При n=12 и m=18 число коробок может быть: 6, 3, 2.
  2.  При n=25 и m=30 число коробок может быть: 5.
  3.  При n=21 и m=21 число коробок может быть: 21, 7, 3.

Программа решения данной задачи в среде TurboPascal может быть такой:

Var

m,n,z,s,x,max,min: integer;

begin

z:=0;

writeln(‘Введи количество конфет одной разновидности и количество конфет другой’);

readln(m,n);

if  n>m

then

begin

max:=n; min:=m

end

else

begin

max:=m; min:=n

end;

for x:=1 to max do

begin

if max mod x=0 then

begin

s:=max div x;

if min mod s=0 then

if s>1 then

begin

writeln(‘Коробок с одинаковым набором конфет может быть:’);

writeln(s,’ штук’);

z:=1

end;

end;

end;

if z=0 then

writeln(‘Конфеты можно поместить только в одну коробку’);

readln

end.

Задача 2.

Перевод десятичного натурального числа в двоичное. Дано натуральное десятичное число n (n<1000). Представить его запись  в двоичной системе счисления.

Примеры.

  1.  При n=25  двоичная запись его будет 11001.
  2.  При n=124  двоичная запись его будет 1111100.
  3.  При n=999 двоичная запись его будет 1111100111.

Программа решения данной задачи в среде TurboPascal может быть такой:

Var

n:word;

p,s:longint;

begin

p:=1;

s:=0;

writeln(’Введи натуральное число n, меньшее 1000’);

readln(n);

while n>0 do

begin

s:=s+p*(n mod 2);

n:=n div 2;

p:=p*10

end;

writeln(‘Двоичная запись числа:’);

writeln(s);

readln

end.

Задача 3.

Привет. Антон учится в классе, в котором n мальчиков (включая его самого) и k девочек. В очередной раз придя раньше всех на занятия и сидя в классе, он заметил, что каждый мальчик, входя в класс, жмет руку каждому мальчику уже там находившемуся, а каждой девочке говорит «Привет», при этом девочка тоже говорит ему «Привет». С девочками все гораздо проще. Каждая девочка, заходя в класс, говорит каждому в классе «Привет», и каждый ей отвечает «Привет». Антону стало интересно, сколько происходит рукопожатий и сколько раз звучит слово «Привет». Составьте алгоритм для определения общего количества приветов и рукопожатий, учитывая, что первым в класс вошел мальчик, за ним девочка, затем снова мальчик и т.д. Такое чередование шло до тех пор, пока это было возможно. В конце по одному входили все оставшиеся, кому не хватило пары.

Исходные данные задачи: n – число мальчиков,  k –число девочек.

Результат задачи: S - общее количество приветов и рукопожатий, выполненных учащимися.

Решение.

Имеем n – число мальчиков, а k –число девочек. Будем считать, что существует хотя бы одна пара «мальчик-девочка».

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

S:=2

Если число таких пар больше 1, то оно равно min(n,k), которое рассчитывается так:

Min:=n

Если k <min то  min:=k

Все

Для расчета общего количества приветов и рукопожатий, произведенных парами, начиная со второй и заканчивая парой с номером min, будем использовать цикл

для  i от 2 до min

нц

s:=s+(i-1) +2(i-1) + 2(i+i-1)

кц

Здесь:

i – номер пары «мальчик-девочка», а также порядковый номер мальчика и девочки из этой пары;

(i-1) – число рукопожатий, выполненных i-тым мальчиком с присутствующими в комнате i-1 мальчиками;

2(i-1) – число приветов, которыми i- ый мальчик обменялся с присутствующими в комнате  (i-1) девочками;

 2(i+i-1) – число приветов, которыми i-ая девочка обменялась с присутствующими в комнате i мальчиками и (i-1) девочками.

После приведения подобных членов в выражении для s получим такой цикл

для  i от 2 до min

нц

s:=s+7i-5

кц

Если число мальчиков n меньше числа девочек k, то к количеству приветов и рукопожатий, созданных n парами, добавятся приветы, которыми обменятся девочки с порядковыми номерами i, меняющимися от n+1 до k. Каждая такая девочка обменивается приветами с n мальчиками в комнате и (i-1) девочками, т.е. увеличивает общее количество приветов и рукопожатий на 2(n +i-1). С учетом этого общее количество приветов и рукопожатий будет определено после выполнения цикла

для  i от n+1 до k

нц

s:=s+2(n +i-1)

кц

Если число мальчиков n больше числа девочек k, то к количеству приветов и рукопожатий, созданных k парами, добавятся рукопожатия и приветы, которыми обменятся мальчики с порядковыми номерами i, меняющимися от k +1 до n. Каждый  такой мальчик обменивается приветами с k девочками в комнате и рукопожатиями с (i-1) мальчиками, т.е. увеличивает общее количество приветов и рукопожатий на (2 k +i-1). С учетом этого общее количество приветов и рукопожатий будет определено после выполнения цикла

для  i от k +1 до n

нц

s:=s+2 k +i-1

кц

Окончательный алгоритм решения задачи будет таким:

Алг К-во рукопожатий и приветов (нат n, k, s)

Арг n, k

Рез s

Нач нат min, i

Min:=n

Если k <min то  min:=k

Все

S:=2

Если min>1 то

для  i от 2 до min

нц

s:=s+7i-5

кц

все

Если n< k то

для  i от n+1 до k

нц

s:=s+2(n +i-1)

кц

все

Если n> k то

для  i от k +1 до n

нц

s:=s+2 k +i-1

кц

все

кон

Задача 4.

Белоснежка и n гномов. (Неспирный В.Н.) Вернувшись после работы в горах n гномов увидели лежащую на полу Белоснежку, а рядом с ней – надкушенное яблоко. Опечалились гномы, но вдруг самый маленький из них обнаружил следы рядом с избушкой. Отправившись по этим следам, гномы пришли в замок Злой Колдуньи. Колдунья пообещала расколдовать Белоснежку, но только в том случае, если гномы пройдут одно испытание. На лбу каждого из гномов Колдунья написала по одному числу и предложила им стать по  кругу так, чтобы каждый гном видел, что написано у всех остальных, кроме самого себя. Она разрешила каждому гному произнести вслух сумму тех чисел, которые он видит на лбах остальных гномов. После чего каждый гном должен будет назвать Колдунье то число, которое она написала ему. Напишите алгоритм, который поможет всем гномам узнать свои числа, зная произнесенные вслух суммы.

Решение.

?

Схема расположения гномов

Обозначим:

через S1, S2, …, Sn суммы тех чисел, которые видит  соответственно первый, второй, …, n-ый гномы на лбах остальных гномов;

через а1, а2, …, аn числа, написанные соответственно на лбу у первого, второго, …, n гнома;

SS= S1+ S2+ …+ Sn; (1)

АА= а1+ а2+ …+ аn. (2)

Тогда имеем

S1=АА - а1

S2 =АА - а2

………….   (3)

Sn=АА - аn

Подставляя формулы из (3) в выражение (1), получим:

SS= АА - а1 + АА - а2 + … + АА - аn  (4)

Преобразуем (4), учитывая соотношение (2):

SS= АА∙ n – (а1+ а2+ …+ аn) = АА∙ n – АА = АА∙ (n – 1).

Отсюда находим АА через известные по условию задачи SS и n:

АА= SS/ (n – 1).

Теперь можно найти неизвестные а1, а2, …, аn, используя формулы (3):

а1 = АА - S1

а2 = АА - S2

.........

аn = АА – Sn

Теперь можно записать алгоритм решения задачи:

алг Числа (нат n, целтаб S[1:n], А[1:n])

 арг n, S

 рез А

нач нат i, SS,AA

 SS:=0

 для i от 1 до n 

 нц

SS:=SS + S[i]

Кц

 АА:= SS/( n-1)

 для i от 1 до n 

 нц

A[i]:=AA - S[i]

кц

кон

В этом алгоритме таблица А[1:n] введена для хранения чисел а1, а2, …, аn, а таблица S[1:n] – для хранения сумм S1, S2, …, Sn.

Пример.

При  n =5 и S1=40, S2=20, S3=27, S4=25, S5=28 имеем АА=35, а а1 =-5, а2 =15, а3 =8, а4 =10, а5 =7.

Задача 5.

«Ну, погоди!» на катке. Заяц стоит в центре большого катка и поет свою любимую песню в игрушечный микрофон. От микрофона тянется достаточно длинный шнур, конец которого находится в руках у Волка. Пытаясь воспользоваться сложившейся ситуацией, Волк хочет незаметно замотать зайца этим шнуром. Для этого он катается вокруг Зайца на коньках и постепенно его заматывает. Путь Волка – ломанная, координаты вершин которой заданы в таблицах х[1:N], y[1:N]. Составьте алгоритм, который определяет, на сколько полных оборотов Волк замотает Зайца.

Замечание. Учтите, что Волк во время движения может не только заматывать Зайца, но и разматывать. Координаты представляются вещественными числами. Заяц стоит в точке с координатами (0,0).

Решение.

Полный оборот шнура вокруг зайца означает, что вектор, направленный от зайца к волку, описывает угол 2π. При этом угол может прибавляться и вычитаться.

Если Волк находится в i–той точке с координатами (хii )

и перемещается в точку (i+1) с координатами (хi+1i +1), то угол оборота

определяется с помощью двух векторов

=(хii ) и =(хi+1i +1).

(0,0)

y

x

Угол между векторами удобно определить с помощью скалярного произведения векторов (,):

.

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

Отсюда видно, что знак синуса угла совпадает со знаком выражения

.

Если оно отрицательное, то это означает, что движение Волка приводит к разматыванию, а не к заматыванию Зайца.

С учетом выше сказанного запишем алгоритм по определению количества оборотов k, на которые Волк замотает Зайца.

Алг Количество оборотов (нат n, вещтаб Х[1:n], Y[1:n], цел k)

Арг n, Х, Y

Рез k

Нач нат ii, вещ ALF0,ALF, Pi

Pi:=3,14

K:=0;  ALF0:=0;  ii:=1

Пока ii<=n-1

Нц

Угол(ALF0, ALF, ii)

Если ALF>= 2* Pi то k:= k+1

  ALF0:= ALF – 2* Pi

Все

Кц

кон

Здесь используется вспомогательный алгоритм в виде процедуры Угол, который будет считать текущий угол ALF заматывания Зайца.

Алг Угол (вещ ALF0, ALF, нат i)

Арг ALF0, i

Рез ALF, i

Нач вещ ALFА

ALF:= ALF0

Пока ALF< 2* Pi и i<=n-1

Нц

ALFА:= arcos((X[i]*X[i+1] + Y[i]*Y[i+1]) / SQRT((X2[i] + Y2[i]) * (X2[i+1] + Y2[i+1]))

Если (X[i]*Y[i+1] – X[i+1]*Y[i]) <0  то ALF:= ALF – ALFА

        Иначе ALF:= ALF +ALFА

Все

i:= i+1

кц

кон

Здесь величины Х[1:n], Y[1:n], n, Pi  являются глобальными, поэтому они описываются только в основном алгоритме Количество оборотов, а используются не только в основном алгоритме, но и во вспомогательном Угол.

И в заключение хочется напомнить слова А.С. Макаренка: «Воспитывать творческую личность может только творческий педагог».

Использованная литература.

  1.  Родигіна І.В. Компетентнісно орієнтований підхід до навчання. – Х.: Вид. група «Основа», 2008. - 112 с.: іл..- (Серія «Адміністратору школи»).
  2.  Савченко В.С. Разработка алгоритмов: от простого к сложному. Учебное пособие для классов с углубленным изучением информатики. – Донецк, 1996. – 320 с.

 

А также другие работы, которые могут Вас заинтересовать

51234. Организации импортной деятельности предприятия ООО «Курганхиммаш» на рынке продукции химического машиностроения 118.49 KB
  Изучить историю создания и развития предприятия, его организационную структуру; изучить положение об отделе внешнеэкономической деятельности ООО «Курганхиммаш» и должностной регламент сотрудников отдела: функции отдела и задачи отдела; ознакомиться с нормативно – правовой базой деятельности отдела ВЭД: нормативно – правовые акты, регламентирующие деятельность отдела, информационные базы данных отдела, методические разработки и рекомендации, используемые в работе должностными лицами отдела...
51235. Роль аэробики в системе оздоровления детей школьного возраста 70.35 KB
  Дать характеристику основным движениям аэробики с применением терминологии; Описать содержание, структуру и методику проведения занятий аэробикой; Обосновать влияние занятий аэробикой на физическую подготовленность детей школьного возраста.
51236. Российский биржевой рынок: структура и перспективы развития 389.5 KB
  Провести анализ российского биржевого рынка, в том числе: Московской Межбанковской Валютной Биржи (далее ММВБ), как крупнейшую универсальную биржу России, выделить основные направления ее деятельности и рассмотреть показатели этой деятельности, рассмотреть Российскую Торговую Систему (далее РТС)