Выбранный для просмотра документ avtor.doc
Скачать материал "Урок по теме «Циклы с пред- и постусловием на языке Pascal» 10 класс"
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ Приложение.doc
Скачать материал "Урок по теме «Циклы с пред- и постусловием на языке Pascal» 10 класс"
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ Циклы с пред и постусловием.doc
Скачать материал "Урок по теме «Циклы с пред- и постусловием на языке Pascal» 10 класс"
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ Циклы с пред и постусловием.ppt
Скачать материал "Урок по теме «Циклы с пред- и постусловием на языке Pascal» 10 класс"
Рабочие листы
к вашим урокам
Скачать
1 слайд
Циклы с пред- и постусловием
Выполнил учитель информатики ГБОУ школа №559
Галялутдинова Д.С.
2 слайд
Цикл предусловием While … do
P
S
While <условие> do <один оператор>;
P
S
+
-
3 слайд
Цикл с постусловием Repeat … until
Repeat <операторы> until <условие>
S
P
+
-
S
P
4 слайд
Особенности цикла While…do
Так как условие проверяется на входе в цикл, то
при неверном условии цикл не выполняется ни разу, т.е. не выполняются операторы, стоящие в теле цикла.
Операторы, входящие в тело цикла, обязательно заключаются в операторные скобки, если в теле цикла более одного оператора. В противном случае будет выполняться только первое действие, стоящее под do.
В теле цикла должно обязательно выполняться действие, приводящее к изменению условия, иначе цикл станет бесконечным. Оператор, в котором изменяются переменные, входящие в условие, может стоять не обязательно в конце цикла.
5 слайд
Особенности цикла Repeat…until
Так как условие проверяется на выходе из цикла, то цикл выполняется хотя бы один раз.
Все операторы, стоящие в теле цикла, выполняются ДО проверки условия, поэтому операторные скобки не ставятся.
В теле цикла должно обязательно выполняться действие, приводящее к изменению условия, иначе цикл станет бесконечным. Оператор, в котором изменяются входящие в условие переменные, может стоять не обязательно в конце цикла.
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
7 слайд
Сколько раз программа выведет слово «привет»?
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;
until k>8;
writeln(s);
end.
Ответ: 16
9 слайд
Результат программы?
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, при вводе которых алгоритм печатает сначала 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 >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) рассчитывается с помощью бесконечных сумм, называемые рядами, с заданной точностью .
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)<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) для x=1 с помощью ряда с заданной точностью и сравните результат с вычислением стандартной функции ln(x) при х=2.
Рабочие листы
к вашим урокам
Скачать
Выбранный для просмотра документ ‚ ¦®!.txt
Скачать материал "Урок по теме «Циклы с пред- и постусловием на языке 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
6 662 871 материал в базе
Настоящий материал опубликован пользователем Анохина Галина Владимировна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалВаша скидка на курсы
40%Курс повышения квалификации
36 ч. — 180 ч.
Курс повышения квалификации
72 ч. — 180 ч.
Курс повышения квалификации
36 ч. — 180 ч.
Мини-курс
6 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.