• Преподавателю
  • Информатика
  • Статья Анализ задачного материала по теме «Циклы с постусловием», представленного в учебнике под редакцией И. Г. Семакина, Е. К. Хеннера

Статья Анализ задачного материала по теме «Циклы с постусловием», представленного в учебнике под редакцией И. Г. Семакина, Е. К. Хеннера

В статье проанализирован задачный материал по теме "Циклы с постусловием" из задачника И.Г. Семакина.  Проведена классификация задач по данной теме. Все задачи разбиты на три большие группы: 1)фабульные задачи;  2)задачи на работу с последовательностями, рядами; 3)задачи на работу с целыми числами. Внутри каждой из групп задачи можно классифицировать, выбирая в качестве основания классификации требование задачи. В статье приведены примеры решения задач из каждой группы, рассмотрены возможности и...
Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Автор: учитель информатики МБОУ СОШ №4 г. Брянска Шапошникова Марина Александровна

Классификация задачного материала по теме «Циклы с постусловием», представленного в учебнике под редакцией И.Г. Семакина, Е.К. Хеннера.

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

Представленные в учебнике задачи можно разделить на 3 большие группы:

  1. Фабульные задачи.

  2. Задачи на работу с рядами, последовательностями, функциями.

  3. Задачи на работу с целыми числами.

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

  1. Фабульные задачи.

Важным этапом при решении задач этого типа является этап формализации, построения математической модели.

  1. Задачи, в которых необходимо организовать ввод данных (№№ 1, 19).

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

Задача №19. Составить программу, которая запрашивает пароль (например, четырехзначное число) до тех пор, пока он не будет правильно введен.

Var p:longint;

Begin

repeat

writeln('Введите пароль ( четырехзначное число):');

readln(p);

until (p<10000) and (p>999);

writeln(p);

End.

  1. Задачи, в которых требуется проверить правильность некоторого утверждения путем перебора возможных значений (№№ 7-9, 17, 18).

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

Задача №8. Составить программу для проверки утверждения: «Результатами вычисления по формуле х­+х+17 при являются простые числа». Все результаты вывести на экран.

var x,c,i:integer;

b,f:boolean;

begin

b:=true;{считаем что утверждение верное}

for x:=0 to 15 do

begin

c:=x*x+x+17;

f:=true;

i:=2;

repeat {проверяем на делимость от 2 до с/2}

if c mod i=0 then f:=false else i:=i+1;{если делится, не простое}

if not f then b:=false;{если есть не простые, утв. не верное}

until i>=round(c/2);

writeln(x, ' ', c);

end;

writeln;

if b then write('Утверждение верно')

else write('Утверждение не верно');

end.

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

  1. Задачи, в которых необходимо сгенерировать последовательность по заданному правилу.(№№ 3, 4, 10, 13, 14).

Задача №3. Одноклеточная амеба каждые 3 часа делится на клетки. Определить, сколько амеб будет через 3, 6, 9, 12, …, 24 часа.

Var n,i:integer;

Begin

i:=0;

n:=1;

repeat

i:=i+3;

n:=n*2;

writeln('Через ',i,'часов будет ',n,'амеб.');

until i>=24;

End.


  1. Задачи, в которых необходимо подсчитать сумму членов некоторой последовательности (№№ 2, 15, 16).

Задача №2. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней?

Var i:integer;

S,d:real;{S - суммарный путь; d - путь, который Begin проходит спортсмен за 1 день}

i:=1;

S:=0;

d:=10;

repeat

S:=S+d;

d:=1.1*d;

i:=i+1;

until i>2;

writeln(S);

End.


  1. Задачи на работу с рядами, последовательностями, функциями.

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

  1. Задачи на вычисление значения выражения: суммы или произведения n первых членов ряда( №№ 20-43).

Задачи этого типа авторы предлагают решить двумя способами: с использованием цикла с параметром и одного из двух других типов цикла. В приведенном примере для решения задачи использован цикл с постуловием.

Задача № 30. Вычислить: (1+sin0,1) (1+sin0,2)×…×(1+sin10).

Var i,S: real;

Begin

S:=1;

i:=0.1;

repeat

S:=S*sin(1+i);

i:=i+0.1;

until i>10;

writeln('Значение выражения равно ',S);

End.


  1. Задачи на вычисление суммы ряда с заданной точностью (№№ 44-55).

Задача № 53. Дан числовой ряд и малая величина ε. Найти сумму ряда с точностью ε, общий член которой задан формулой Статья Анализ задачного материала по теме «Циклы с постусловием», представленного в учебнике под редакцией И.Г. Семакина, Е.К. Хеннера. .

var x,i,m,n:integer;

e,sum,an:real;

begin

repeat {Ввод данных}

writeln('e:');readln(e);

until (e<0.1)and(e>0.00001);

sum:=0;

n:=1;

repeat {Вычисление суммы с точностью е)

x:=1;

for i:=1 to n do {Вычисление числителя}

x:=x*i;

m:=1;

for i:=1 to n do {Вычисления знаменателя}

m:=m*3*n;

аn:=x/m;{Вычисление n-го члена ряда}

n:=n+1;

sum:=an+sum;

until an>e;

writeln(sum);

end.

  1. Задачи на нахождение наименьшего номер члена последовательности, удовлетворяющего заданному условию(№№ 56-69).

Задача № 69. Найти наименьший номер последовательности, для которого выполняется условие М. Вывести на экран этот номер и все элементы ai, где i=1,2, …, n.

var i,n:integer;

e,an:real;

begin

repeat

writeln('e:');readln(e);

until (e<0.1)and(e>0.00001);

n:=1;

repeat

an:=1/(1+n)/(1+n);

writeln(an:3);

n:=n+1;

until an>e;

writeln(an);

readln;

end.

  1. Задачи на вычисление значений функции на отрезке с заданным шагом (№№ 71-96).

Задача № 76. Составить программу вычисления значений функции F(x)=sinx+cosx на отрезке [a, b] с шагом h. Результат представить в виде таблицы, первый столбец которой - значения аргумента, второй - соответствующие значения функции.

var i,n:integer;

a,b,h,x,fx:real;

begin

repeat

writeln('a,b,c:');readln(a,b,h);

until (a

x:=a;

repeat

fx:=sin(x)+cos(x);

writeln('F(',x,')=',fx);

x:=x+h;

until x>b;

readln;

end.


  1. Задачи на работу с целыми числами.

Задачи этого типа авторы разбивают на 3 группы по уровню сложности, что позволяет учителю выбирать задачи, ориентируясь на потребности и возможности учеников. Кроме того, авторы в отдельную группу выделяют задачи на работу с числами-палиндромами.

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

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

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

  1. число делится (не делится) на некоторое число (№№ 124,125,127);

  2. число является палиндромом (№№ 139-141);

  3. условие накладывается на цифры в записи числа (№№ 119, 123);

  4. другие условия: совершенные числа, пифагоровы числа и т.п. (№№ 107, 113-115, 118, 120).

Задача № 123. Найти все двузначные числа, сумма квадратов цифр которых кратна М.

Var i,j: integer; { i - десятки, j - единицы }

Begin

i:=1;

j:=0;

repeat

if((j*j+i*i)mod M)=0 then writeln(i,j);

j:=j+1;

if(j=10) then

begin

j:=0;

j:=i+1;

end;

until(10*i+j<100);

End.

  1. Задачи, в которых необходимо определенным образом переставить цифры в десятичной записи числа. (№№ 98, 101, 111, 133, 134, 142).

  2. Задачи, в которых требуется определить, удовлетворяет ли число некоторому условию.

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

  1. наличие одинаковых (различных) цифр в записи числа (№№ 99, 100, 109);

  2. наличие в записи числа определенной цифры (№ 102);

  3. равенство числа заданному выражению (№ 122, 126);

  4. число является палиндромом (№ 138).

Задача № 102. Даны натуральные числа n, k. Проверить, есть ли в записи числа nk цифра m.

Var i,n,m,s,k,l,a:integer;

Begin

write('введите n='); read (n);

write('введите k=');readln(k);

write('введите цифру m='); readln(m);

i:=0;l:=0;s:=1;

repeat

s:=s*n;

i:=i+1

until i=k;

repeat

a:=s mod 10;

if a=m then l:=l+1;

s:=s div 10

until s=0;

if l=0 then writeln('В записи числа нет цифры',' ',m)

else writeln('В записи числа цифра ',m,' есть')

End.

  1. Задачи на перевод числа из одой системы счисления в другую (№№131, 132, 135).

  2. Задачи, в которых требуется найти делители числа.

В задачах этого типа требуется либо найти все делители заданного числа (№№ 110, 112), либо делители, удовлетворяющие некоторому условию (№ 121).

  1. Задачи, в которых необходимо путем перебора всевозможных комбинаций цифр и арифметических операций получить заданное число (№№ 136, 137).

  2. Задачи, в которых требуется найти некоторый член последовательности цифр, составленной по заданному правилу(№№ 129, 130).

Классификация задачного материала по теме «Циклы с постусловием» из задачника под редакцией И.Г. Семакина, Е.К. Хеннера представлена на рисунке 1.

Статья Анализ задачного материала по теме «Циклы с постусловием», представленного в учебнике под редакцией И.Г. Семакина, Е.К. Хеннера.Статья Анализ задачного материала по теме «Циклы с постусловием», представленного в учебнике под редакцией И.Г. Семакина, Е.К. Хеннера.Статья Анализ задачного материала по теме «Циклы с постусловием», представленного в учебнике под редакцией И.Г. Семакина, Е.К. Хеннера.Рисунок 1. Классификация задачного материала, представленного в задачнике под ред. И.Г. Семакина, Е.К. Хеннера.

© 2010-2022