Главная / Информатика / Урок по теме «Циклы с пред- и постусловием на языке Pascal» 10 класс

Урок по теме «Циклы с пред- и постусловием на языке Pascal» 10 класс

Название документа avtor.doc

Автор: Галялутдинова Дамира Сиразитдиновна

Должность: учитель информатики

Категория: Высшая

Образовательное учреждение: ГБОУ школа № 559

г. Санкт-Петербург Выборгский район

E-mail: Damira_62@mail.ru

Название документа Приложение.doc

1 группа

  1. К

    s

    hello_html_159b883c.gifhello_html_m15de0b14.gifhello_html_7ff4c6bc.gifhello_html_490442da.gifакой цикл изображен на блок схеме?

hello_html_m600c3dbb.gifhello_html_m4d5c2fbc.gifhello_html_195efa50.gif

+

-



hello_html_m4d5c2fbc.gifhello_html_m6c7aa170.gif

  1. Сколько раз исполнится следующий цикл:
    i:=21;
    Repeat

i:=i-5
Until i>21;

1раз ; 21раз; бесконечное количество раз.


  1. Найдите ошибки в программе:

var n, a, s: real;

begin readln(n)

s:=0;

while n>0 do

begin a:=n mod 10;

s=s+a

n=n div 10

end;

writeln(s)

end



  1. Сколько раз программа выведет слово «привет»?

var n: integer;

begin n:=2;

while n<15do

begin writeln(‘привет');

n:=n+3

end;

end.





  1. Результат программы?

var k, s: integer;

begin k:=1; s:=0;

repeat k:=k+3;

s:=s+k;

until k>10;

writeln(s);

end.


  1. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. 

var N: longint;

  digit, min_digit: integer;

begin

  readln(N);

  min_digit := 9;
  while N >= 10 do

  begin
    digit := N mod 10;
    if digit < min_digit then
      min_digit := digit;
    N := N div 10;
  end;

  writeln(digit);

end.

Последовательно выполните следующее.

1.       Напишите, что выведет эта программа при вводе числа 547.

2.       Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, – приведите правильный вариант строки.


  1. 2 группа

  2. Кhello_html_m6aca0cf3.gifакой цикл изображен на блок схеме?








  1. Сколько раз исполнится цикл:
    i:=4;

while i<10 do i:=i+3;

2 раза; 3 раза; 4 раза.



  1. Найдите ошибки в программе:

var n, a, s: real;

begin readln(n);

s=0

while n>0 do

begin a:=n mod 10;

if a mod 2=1 then s=s+1

n=n div 10

end;

writeln(s)

end



  1. Сколько раз программа выведет слово «ура»?

var n: integer;

begin n:=1;

while n<16do

begin writeln(‘ура');

n:=n+4

end;

end.


  1. Результат программы?

var k, s: integer;

begin k:=1; s:=0;

repeat s:=s+k;

k:=k+3;

until k>10;

writeln(s);

end.


  1. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. 

var N: longint;

  digit, min_digit: integer;

begin

  readln(N);

  min_digit := 0;
  while N > 0 do

  begin
    digit := N mod 10;
    if digit < min_digit then
      min_digit := digit;
    N := N div 10;
  end;

  writeln(digit);

end.

Последовательно выполните следующее.

1.       Напишите, что выведет эта программа при вводе числа 862.

2.       Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, – приведите правильный вариант строки.

Название документа Циклы с пред и постусловием.doc

Тема: «Циклы с пред и постусловием на языке Pascal»

Предмет: Информатика и ИКТ

Класс: 10

Ключевые слова: цикл, цикл с предусловием, цикл с постусловием, функция, ряд, точность.

Продолжительность учебного занятия:  45 минут

Тип урока: обобщающий.

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

В данном уроке была поставлена цель закрепить циклы с предусловием While... do и с постусловием Repeat... until на языке Pascal на примере решения задач из ЕГЭ (В5, В8, С1) и использование бесконечных рядов для вычисления функций. Овладение методом рекуррентных соотношений при изучении представлений стандартных функций в виде асимптотических рядов позволяет познакомить учащихся с трудной, но интересной областью математики и раскрыть многие секреты программирования.

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

План-конспект урока

Цели урока:

Образовательные

  • Обсуждение особенностей циклических операторов и расширение знаний по теме.

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

Развивающие

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

  • Развитие логического мышления, умение правильно сформулировать математическую модель и алгоритм решения поставленной задачи.

  • Овладение современным стилем программирования.

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

Воспитательные

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

  • Воспитание элементов научного мировоззрения, обращение к истории математики и информатики.

  • Воспитание интереса к учению и формирование познавательной активности.

  • Воспитание умения четко организовать самостоятельную работу.

Методы: словесные, наглядные, практические.

Формы: фронтальные, индивидуальные.

Материально-техническая база

  • Компьютер.

  • Проектор, интерактивная доска.

  • Презентация «Циклы с пред и постусловием» (Презентация)

  • Карточки с текстом задач. (Приложение 1)

Межпредметные связи

Математика: бесконечные ряды, рекуррентные соотношения.

Ход урока

I. Вводная часть

Организационный этап. Приветствие учителя.

Объявление темы и целей урока  

II. Актуализация начальных знаний учащихся

Учитель: Язык Паскаль имеет три оператора, с помощью которых можно организовать циклическую структуру:

  • Цикл с параметром (счетчиком) «Для» (For ... to ... do)

  • Цикл с предусловием «Пока» (While ... do)

  • Цикл с постусловием «До» (Repeat ... until)

Учитель:  Вспомним основные определения, рассмотренные на предыдущем уроке, какие понятия связаны с этим циклом.

III. Закрепление материала

Раздел 1. Теоретические знания циклов и языка программирования.

УчительС помощью циклов While... do и Repeat... until можно выполнить любую циклическую задачу.

  • Эти циклы используются при табулировании графиков функций на заданном интервале с заданным шагом.

  • Выполняются задачи, когда заранее неизвестно сколько раз повторять действия.

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

Рассмотрим формат операторов циклов While... do и Repeat... until и проведем сравнение этих циклов.

Что общее у этих циклов? В чем разница? (Слайды 2, 3).

Обсуждаются особенности цикла While... do (Слайд 4).

Обсуждаются особенности цикла Repeat... until (Слайд 5).

Учитель: Приступим к практическому программированию. На слайде представлена программа с синтаксическими ошибками. Найти их и исправить. (Слайд 6).

var n,a,s: real;

begin readln(n);

s:=0;

while n>0 do

begin a:=n mod 10;

if a mod 2=0 then s:=s+a;

n:=n div 10

end;

writeln(s)

end.



Ученики находят 5 ошибок в программе.

Раздел 2. Решение задач с использованием цикла While...do.

Учитель: Сколько раз программа выведет слово «привет». (Слайд 7).

var n: integer;

begin n:=0;

while n<9 do

begin writeln(‘привет');

n:=n+2

end;

end.

Ответ: 5 раз. А что будет, если убрать begin и end.

Раздел 3. Решение задач с использованием цикла Repeat … until.

Учитель:  Дана программа. Что будет на экране. (Слайд 8).

var k, s: integer;

begin k:=1; s:=0;

repeat s:=s+k;

k:=k+2;

until k>8;

writeln(s);

end.

Ответ: 16. А если поменять знак > на < (ответ 1).

Поменяем местами два оператора тела цикла. (Слайд 9).

var k, s: integer;

begin k:=1; s:=0;

repeat k:=k+2;

s:=s+k;

until k>8;

writeln(s);

end.

Изменится ли результат.

Ответ: да, результат 24. Сделаем вывод: порядок важен.

Учитель: Как правило, в заданиях мы определяем, что будет в ходе выполнения программы. Но иногда наоборот известен результат, а нам надо определить, что для этого ввести. В заданиях ЕГЭ это тест В8. (Слайд 10).

Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.


var x,a,b: integer;

begin readln(x); a:=0; b:=0;

while x>0 do

begin a:=a+1;

b:=b+x mod 10;

x:=x div 10

end;

writeln(a); writeln(b);

end.

Ответ:700. А если изменить на наименьшее? Ответ:106.

Учитель: Рассмотрим еще два задания из ЕГЭ. Это С1. (Слайд 11).

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N и выводится максимальная цифра числа. Программист торопился и написал программу неправильно.
1. Напишите, что выведет эта  программа при вводе числа 542.
2. Найдите все ошибки в этой программе.

var N: longint;  d, max: integer;

begin  readln(N);

  max:= 10;
  while N > 9 do

  begin
    d:= N mod 10;
    if d > max then  max:= d;
     N := N div 10;
  end;

  writeln(max);

end.

Ответ: 10.

Следующее задание. (Слайд 12).

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно.
1. Напишите, что выведет эта программа при вводе числа 584.
2. Укажите число, для которого программа будет работать верно.
3. Найдите ошибку.

var N: longint;  sum: integer;

begin  readln(N);

  sum := 0;
  while N >= 9 do

  begin
     N := N div 10;
   sum := sum + 1;
end;

  writeln(sum);

end.

Ответ:1) 2

2) 984.


Раздел 4. Групповая работа.

Учитель: Разобьемся на группы. Вам предлагается по 6 заданий, разной степени сложности. Дается 6 мин. Какая группа справится быстрее? (Приложение 1)

Ответы на экране. (Слайд 13).



Раздел 5. Практическая работа на компьютере. 

Учитель: А сейчас работа на компьютерах. Откроем программу zadan1.pas.

  1. Исправим синтаксические ошибки.

  2. Переделаем программу на цикл Repeat … until.

Раздел 6. Вычисление функций через ряды.

Учитель:  Во многих задачах возникает необходимость вычисления бесконечных рядов c заданной точностью с помощью рекуррентных соотношений. В языках программирования стандартные функции ex, sin(x), cos(x), ln(x+1) рассчитывается с помощью бесконечных сумм, называемые рядами, с заданной точностью e. (Слайд 14).

Мhello_html_4176276b.gifы рассмотрим вычисление функции ех . (Слайд 15).





hello_html_1709c53d.gif

var i: integer; x,s,p,e:real;

begin readln(x,e);p:=1;

s:=0;i:=1;

repeat p:=p*x/i;

s:=s+p;

i:=i+1

until abs(p)

writeln(s:9:4,' номер=',i-1 );

end.


IV. Домашнее задание

Задача. Напишите программу вычисления значения функции ln(x+1) для x=1 с помощью ряда с заданной точностью и сравните результат с вычислением стандартной функции ln(x) при х=2. (Слайд 16).

V. Материалы к уроку взяты из открытого банка задании ФИПИ

http://www.fipi.ru/








Название документа Циклы с пред и постусловием.ppt

Циклы с пред- и постусловием Выполнил учитель информатики ГБОУ школа №559 Гал...
Цикл предусловием While … do P S While  do ; P S + -
Цикл с постусловием Repeat … until Repeat  until  S P + - S P
Особенности цикла While…do Так как условие проверяется на входе в цикл, то пр...
Особенности цикла Repeat…until Так как условие проверяется на выходе из цикла...
Найдите ошибки в программе. var n,a,s: real; begin readln(n); s:=0 while n>0 ...
Сколько раз программа выведет слово «привет»? var n: integer; begin n:=0; whi...
Результат программы? var k, s: integer; begin k:=1; s:=0; repeat s:=s+k; k:=k...
Результат программы? var k, s: integer; begin k:=1; s:=0; repeat k:=k+2; s:=s...
Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наиб...
Требовалось написать программу, при выполнении которой с клавиатуры считывает...
Требовалось написать программу, при выполнении которой с клавиатуры считывает...
Ответы 1 группа While … do 2 раза 6 ошибок 4 раза 34 1) 4; 2) while N >0 do 3...
В языках программирования стандартные функции ex, sin(x), cos(x), ln(x+1) рас...
Вычисление ех с заданной точностью. var i: integer; x,s,p,e:real; begin readl...
Домашнее задание Задача. Напишите программу вычисления значения функции ln(x+...
1 из 16

Описание презентации по отдельным слайдам:

№ слайда 1 Циклы с пред- и постусловием Выполнил учитель информатики ГБОУ школа №559 Галялу
Описание слайда:

Циклы с пред- и постусловием Выполнил учитель информатики ГБОУ школа №559 Галялутдинова Д.С.

№ слайда 2 Цикл предусловием While … do P S While  do ; P S + -
Описание слайда:

Цикл предусловием While … do P S While <условие> do <один оператор>; P S + -

№ слайда 3 Цикл с постусловием Repeat … until Repeat  until  S P + - S P
Описание слайда:

Цикл с постусловием Repeat … until Repeat <операторы> until <условие> S P + - S P

№ слайда 4 Особенности цикла While…do Так как условие проверяется на входе в цикл, то при н
Описание слайда:

Особенности цикла While…do Так как условие проверяется на входе в цикл, то при неверном условии цикл не выполняется ни разу, т.е. не выполняются операторы, стоящие в теле цикла. Операторы, входящие в тело цикла, обязательно заключаются в операторные скобки, если в теле цикла более одного оператора. В противном случае будет выполняться только первое действие, стоящее под do. В теле цикла должно обязательно выполняться действие, приводящее к изменению условия, иначе цикл станет бесконечным. Оператор, в котором изменяются переменные, входящие в условие, может стоять не обязательно в конце цикла.

№ слайда 5 Особенности цикла Repeat…until Так как условие проверяется на выходе из цикла, т
Описание слайда:

Особенности цикла Repeat…until Так как условие проверяется на выходе из цикла, то цикл выполняется хотя бы один раз. Все операторы, стоящие в теле цикла, выполняются ДО проверки условия, поэтому операторные скобки не ставятся. В теле цикла должно обязательно выполняться действие, приводящее к изменению условия, иначе цикл станет бесконечным. Оператор, в котором изменяются входящие в условие переменные, может стоять не обязательно в конце цикла.

№ слайда 6 Найдите ошибки в программе. var n,a,s: real; begin readln(n); s:=0 while n&gt;0 do
Описание слайда:

Найдите ошибки в программе. var n,a,s: real; begin readln(n); s:=0 while n>0 do begin a:=n mod 10; if a mod 2=0 then s:=s+a n=n div 10 end; writeln(s) end

№ слайда 7 Сколько раз программа выведет слово «привет»? var n: integer; begin n:=0; while
Описание слайда:

Сколько раз программа выведет слово «привет»? var n: integer; begin n:=0; while n<9 do begin writeln(‘привет'); n:=n+2 end; end. Ответ:5

№ слайда 8 Результат программы? var k, s: integer; begin k:=1; s:=0; repeat s:=s+k; k:=k+2;
Описание слайда:

Результат программы? var k, s: integer; begin k:=1; s:=0; repeat s:=s+k; k:=k+2; until k>8; writeln(s); end. Ответ: 16

№ слайда 9 Результат программы? var k, s: integer; begin k:=1; s:=0; repeat k:=k+2; s:=s+k;
Описание слайда:

Результат программы? var k, s: integer; begin k:=1; s:=0; repeat k:=k+2; s:=s+k; until k>8; writeln(s); end. Ответ: 24

№ слайда 10 Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наиболь
Описание слайда:

Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7. var x,a,b: integer; begin readln(x); a:=0; b:=0; while x>0 do begin a:=a+1; b:=b+x mod 10; x:=x div 10 end; writeln(a); writeln(b); end. Ответ: 700

№ слайда 11 Требовалось написать программу, при выполнении которой с клавиатуры считывается
Описание слайда:

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N и выводится максимальная цифра числа. Программист торопился и написал программу неправильно. 1. Напишите, что выведет эта  программа при вводе числа 542. 2. Найдите все ошибки в этой программе. var N: longint;  d, max: integer; begin  readln(N);   max:= 10;   while N > 9 do   begin     d:= N mod 10;     if d > max then  max:= d;      N := N div 10;   end;   writeln(max); end. Ответ:1) 10

№ слайда 12 Требовалось написать программу, при выполнении которой с клавиатуры считывается
Описание слайда:

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно. 1. Напишите, что выведет эта программа при вводе числа 584. 2. Укажите число, для которого программа будет работать верно. 3. Найдите ошибку. var N: longint;  sum: integer; begin  readln(N);   sum := 0;   while N >= 9 do   begin      N := N div 10;    sum := sum + 1; end;   writeln(sum); end. Ответ:1) 2 2) 984

№ слайда 13 Ответы 1 группа While … do 2 раза 6 ошибок 4 раза 34 1) 4; 2) while N &gt;0 do 3) w
Описание слайда:

Ответы 1 группа While … do 2 раза 6 ошибок 4 раза 34 1) 4; 2) while N >0 do 3) writeln(min_digit) 2 группа Repeat … until 1 раз 6 ошибок 5 раз 22 1) 8 2) min_digit := 9; 3) writeln(min_digit)

№ слайда 14 В языках программирования стандартные функции ex, sin(x), cos(x), ln(x+1) рассчи
Описание слайда:

В языках программирования стандартные функции ex, sin(x), cos(x), ln(x+1) рассчитывается с помощью бесконечных сумм, называемые рядами, с заданной точностью .

№ слайда 15 Вычисление ех с заданной точностью. var i: integer; x,s,p,e:real; begin readln(x
Описание слайда:

Вычисление ех с заданной точностью. var i: integer; x,s,p,e:real; begin readln(x,e);p:=1; s:=0;i:=1; repeat p:=p*x/i; s:=s+p; i:=i+1 until abs(p)<e; writeln(s:9:4,' номер=',i-1 ); end. p:=1 p:=0 i:=0 p:=p*x/i s:=s+p i:=i+1 p<  s, i-1 Ввод x, 

№ слайда 16 Домашнее задание Задача. Напишите программу вычисления значения функции ln(x+1)
Описание слайда:

Домашнее задание Задача. Напишите программу вычисления значения функции ln(x+1) для x=1 с помощью ряда с заданной точностью и сравните результат с вычислением стандартной функции ln(x) при х=2.

Урок по теме «Циклы с пред- и постусловием на языке Pascal» 10 класс
  • Информатика
Описание:


Продолжительность учебного занятия:  45 минут
Тип урока: обобщающий.
Изучение управляющих конструкций «Циклы с пост и предусловием» в школьной информатике являются важным элементом курса программирования. Целесообразно рассматривать эти конструкции, опираясь на математические понятия, ранее полученные на уроках математики.
В данном уроке была поставлена цель закрепить циклы с предусловием While... do и с постусловием Repeat... until на языке Pascal на примере решения задач из ЕГЭ (В5, В8, С1) и использование бесконечных рядов для вычисления функций. Овладение методом рекуррентных соотношений при изучении представлений стандартных функций в виде асимптотических рядов позволяет познакомить учащихся с трудной, но интересной областью математики и раскрыть многие секреты программирования.
Для творческого развития учащихся очень важным обстоятельством является понимание, что программирование это не формальное манипулирование операторами, а созидательный творческий процесс, тем более успешный, чем более осознанной является связь математики, логики и информатики.

План-конспект урока

Цели урока:

Образовательные

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

Развивающие

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

Воспитательные

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

Методы: словесные, наглядные, практические.
Формы: фронтальные, индивидуальные.
Материально-техническая база

  • Компьютер.
  • Проектор, интерактивная доска.
  • Презентация «Циклы с пред и постусловием» (Презентация)
  • Карточки с текстом задач. (Приложение 1)

Межпредметные связи
Математика: бесконечные ряды, рекуррентные соотношения.
Ход урока
I. Вводная часть
Организационный этап. Приветствие учителя.
Объявление темы и целей урока  
II. Актуализация начальных знаний учащихся
Учитель: Язык Паскаль имеет три оператора, с помощью которых можно организовать циклическую структуру:

  • Цикл с параметром (счетчиком) «Для» (For ... to ... do)
  • Цикл с предусловием «Пока» (While ... do)
  • Цикл с постусловием «До» (Repeat ... until)

Учитель: Вспомним основные определения, рассмотренные на предыдущем уроке, какие понятия связаны с этим циклом.
III. Закрепление материала
Раздел 1. Теоретические знания циклов и языка программирования.
УчительС помощью циклов While... do Repeat... until можно выполнить любую циклическую задачу.

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

Рассмотрим формат операторов циклов While... do и Repeat... until и проведем сравнение этих циклов.
Что общее у этих циклов? В чем разница? (Слайды 2, 3).
Обсуждаются особенности цикла While... do (Слайд 4).
Обсуждаются особенности цикла Repeat... until (Слайд 5).
Учитель: Приступим к практическому программированию. На слайде представлена программа с синтаксическими ошибками. Найти их и исправить. (Слайд 6).
var n,a,s: real;
begin readln(n);
      s:=0;
      while n>0 do
            begin a:=n mod 10;
                      if a mod 2=0 then s:=s+a;
                      n:=n div 10
            end;
      writeln(s)
end.

Ученики находят 5 ошибок в программе.
Раздел 2. Решение задач с использованием цикла While...do.
Учитель: Сколько раз программа выведет слово «привет». (Слайд 7).
var n: integer;
begin n:=0;
      while n<9 do
                  begin writeln(‘привет');
                            n:=n+2
                 end;
end.
Ответ: 5 раз. А что будет, если убрать begin и end.
Раздел 3. Решение задач с использованием цикла Repeat … until.
Учитель: Дана программа. Что будет на экране.(Слайд 8).
var k, s: integer;
begin k:=1; s:=0;
          repeat s:=s+k;
                     k:=k+2;
          until k>8;
          writeln(s);
end.
Ответ: 16. А если поменять знак > на < (ответ 1).
Поменяем местами два оператора тела цикла.(Слайд 9).
var k, s: integer;
begin k:=1; s:=0;
          repeat k:=k+2;
                     s:=s+k;
          until k>8;
          writeln(s);
end.
 Изменится ли результат.
Ответ: да, результат 24. Сделаем вывод: порядок важен.
Учитель: Как правило, в заданиях мы определяем, что будет в ходе выполнения программы. Но иногда наоборот известен результат, а нам надо определить, что для этого ввести. В заданиях ЕГЭ это тест В8. (Слайд 10).
Получив на вход число x, этот алгоритм печатает два числа aи b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.

var x,a,b: integer;
begin readln(x); a:=0; b:=0;
      while x>0 do
                  begin a:=a+1;
                            b:=b+x mod 10;
                            x:=x div 10
                  end;
      writeln(a); writeln(b);
end.
Ответ:700. А если изменить на наименьшее? Ответ:106.
Учитель: Рассмотрим еще два задания из ЕГЭ. Это С1. (Слайд 11).
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N и выводится максимальная цифра числа. Программист торопился и написал программу неправильно.
 1. Напишите, что выведет эта  программа при вводе числа 542.
 2. Найдите все ошибки в этой программе.
var N: longint;  d, max: integer;
begin  readln(N);
           max:= 10;
       while N > 9 do
                   begin
                        d:= N mod 10;
                        if d > max then  max:= d;
                        N := N div 10;
               end;
         writeln(max);
end.
Ответ: 10.
Следующее задание. (Слайд 12).
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно.
1. Напишите, что выведет эта программа при вводе числа 584.
2.  Укажите число, для которого программа будет работать верно.
3. Найдите ошибку.
var N: longint;  sum: integer;
begin  readln(N);
           sum := 0;
      while N >= 9 do
                           begin
                                N := N div 10;
                                sum := sum + 1;
                       end;
           writeln(sum);
end.
Ответ:1) 2
            2) 984.

Раздел 4. Групповая работа.
Учитель: Разобьемся на группы. Вам предлагается по 6 заданий, разной степени сложности. Дается 6 мин. Какая группа справится быстрее? (Приложение 1)
Ответы на экране. (Слайд 13).

Раздел 5. Практическая работа на компьютере. 
Учитель: А сейчас работа на компьютерах. Откроем программу zadan1.pas.

  • Исправим синтаксические ошибки.
  • Переделаем программу на цикл Repeat … until.

Раздел 6. Вычисление функций через ряды.
Учитель:  Во многих задачах возникает необходимость вычисления бесконечных рядов c заданной точностью с помощью рекуррентных соотношений. В языках программирования стандартные функции ex, sin(x), cos(x), ln(x+1) рассчитывается с помощью   бесконечных сумм, называемые рядами, с заданной точностью e.  (Слайд 14).
Мы рассмотрим вычисление функции ех . (Слайд 15).

var i: integer; x,s,p,e:real;
begin readln(x,e);p:=1;
          s:=0;i:=1;
           repeat  p:=p*x/i;
                s:=s+p;
                i:=i+1
           until abs(p)       writeln(s:9:4,' номер=',i-1 );
end.

 IV. Домашнее задание
Задача. Напишите программу вычисления значения функции ln(x+1) для x=1 с помощью ряда с заданной точностью  и сравните результат с вычислением стандартной функции ln(x) при х=2.  (Слайд 16).
V. Материалы к уроку взяты из открытого банка задании ФИПИ
http://www.fipi.ru/



Слайд 15
gal15.jpg
Автор Галялутдинова Дамира Сиразитдиновна
Дата добавления 16.04.2014
Раздел Информатика
Подраздел
Просмотров 2762
Номер материала 566
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓