Цель занятия
учебная: овладение навыками алгоритмизации и программирования вычислительных структур с оператором цикла.
воспитательная:воспитывать интерес к изучению программирования
Межпредметные связи математика , информатика
Квалификационные требования:
знать: структуру программирования условного оператора и оператора выбора
уметь: програмировать вычислительные структуры с оператором цикла
Обеспечение занятия: лекция ,карточки с задачами
Технические средства обучения: ПК
СТРУКТУРА УРОКА
I. Организационный момент.
1. Приветствие учащихся.
- Здравствуйте! Сегодня на уроке мы с проверим насколько вы хорошо усвоили тему: «Программирование условного оператора и оператора выбора» и изучим новую тему «Оператор цикла итерационного типа. Цикл с пред- и пост- условием».
Работать будем в подгруппах с сигнальными столами. У нас будет 2 импровизированых стола «Зеленый» и «Красный». Зеленый цвет символизирует спокойствие и за ним вы будете работать пассивно, самостоятельно. Красный цвет активности, и соответственно вы будете работать в группе.
2. Проверка их явки и готовности аудитории к уроку.
Проверка знаний.
«Красный стол» дается список вопросов на которые необходимо всей группой подготовить ответы. Спрашиваю любого из группы. И даются задача и листинг программы, вам необходимо найти ошибки.
«Зеленый стол» Необходимо решить задачи на компьютере. Решивший помогает своему соседу. (правильные ответы – жетоны, после выполнения заданий меняются столами)
Объяснение нового материала
Опережающие задания: «Красный стол» внимательно слушают и после объяснения преподавателя задают вопросы по теме.
« Зеленый стол» после объяснения обобщают.
Объяснение темы «Оператор цикла итерационного типа. Цикл с пред- и пост- условием» преподавателем.
Задают вопросы учащиеся
Обобщают зеленый стол.
Закрепление.
Учащиеся самостоятельно решают задачи. Затем обмениваются столами. Проверяют по опорным картам.
Меняться столами (вопросы на закрепление) обсуждают зеленый стол, красный самостоятельно.
Итог урока.Оценивание. Награждение.
Решение задачи «Зеленого стола»
Дано число п=1.Найдите сумму чисел 1/п+1/2*п+1/4*п.. +1/10п.
program zelenii stol;
var n,e:integer;
s:real;
begin
e:=1;
n:=1;
s:=0;
while e<10 do begin
s:=s+1/e*n;
n:=n+1;
e:=e+2;
end;
write( 'CYMMA PABHA',s:5:2);
end.
Решение задачи «Красного стола»
Найти сумму чисел 10 вводимых с клавиатуры.
program krasnii_stol;
var
a,s,n:integer;
begin
s:=0;
n:=0;
while n<10 do begin
readln(a);
s:=s+a;
n:=n+1;
end;
write(s);
end.
1.Цикл.
2. Цикл "ПОКА"
3. Цикл "ДО"
Циклом называется многократное повторение однотипных действий. Телом же цикла будем называть те самые действия, которые нужно многократно повторять.
Вообще говоря, так мы можем решить практически любую задачу, требующую реализации циклического алгоритма. Конечно же, при помощи одного только топора можно построить дом. Поставим перед собой вопросы: "А будет ли этот дом красив? Сколько времени и сил можно сэкономить, используя всевозможные специальные инструменты?". Создатель языка Паскаль Никлаус Вирт также задался этими вопросами и решил их в пользу расширения языка тремя специальными возможностями организации циклов. Для чего? - Для удобства, краткости, простоты чтения программы и, не побоюсь этого слова, красоты. Итак, существует три вида цикла, имеющих собственные операторы на языке Паскаль для их записи. Эти виды имеют собственные условные названия: "Пока", "До", "С параметром". Друг от друга они несколько отличаются и используются каждый для своего класса задач.
Цикл "ПОКА"
Группа операторов, называемая "телом цикла", судя по этой схеме, будет выполняться пока истинно условие цикла. Выход из цикла произойдет, когда условие перестанет выполняться.
Если условие ложно изначально, то тело цикла не будет выполнено ни разу. Если условие изначально истинно и в теле цикла нет действий, влияющих на истинность этого условия, то тело цикла будет выполняться бесконечное количество раз. Такая ситуация называется "зацикливанием". Прервать зациклившуюся программу может либо оператор (нажав Ctrl+C), либо аварийный останов самой программы, в случае переполнения переменной, деления на ноль и т.п., поэтому использовать структуру цикла следует с осторожностью, хорошо понимая, что многократное выполнение должно когда-нибудь заканчиваться.
На языке Pascal структура цикла "Пока" записывается следующим образом:
While <условие> Do <оператор>;
Правда, лаконично? По-русски можно прочитать так: "Пока истинно условие, выполнять оператор". Здесь, так же как в формате условного оператора, подразумевается выполнение только одного оператора. Если необходимо выполнить несколько действий, то может быть использован составной оператор. Тогда формат оператора принимает такой вид:
While <условие> Do
Begin
<оператор #1>;
<оператор #2>;
<оператор #3>;
. . .
End;
Цикл "ДО"
Этот вид цикла отличается от предыдущего в основном тем, что проверка условия повторения тела цикла находится не перед ним, а после. Поэтому цикл "До" называют циклом "с постусловием", а "Пока" - "с предусловием".
Обратите также внимание на то, что новая итерация (повторное выполнение тела цикла) происходит не тогда, когда условие справедливо, а как раз тогда, когда оно ложно. Поэтому цикл и получил свое название (выполнять тело цикла до выполнения соответствующего условия).
Интересно, что в случае, когда условие цикла изначально истинно, тело цикла все равно будет выполнено хотя бы один раз. Именно это отличие "до" от "пока" привело к тому, что в программировании они не подменяют друг друга, а используются для решения задач, к которым они более подходят.
Формат цикла на языке Pascal:
Читается так: "Выполнять оператор #1, оператор #2. : до выполнения условия".
Здесь не требуется использование составного оператора, потому, что сами слова Repeat и Until являются операторными скобками.
Пример.
Найти сумму квадратов всех натуральных чисел от 1 до 100.
Решим эту задачу с использованием всех трех видов циклов.
I. С использованием цикла "Пока".
Program Ex1;
Var
A : Integer;
S : Longint;
Begin
A:=1; S:=0;
While A<=100 Do
Begin
S:=S+A*A;
A:=A+1
End;
Writeln(S)
End.
II. С использованием цикла "До".
Program Ex2;
Var
A : Integer;
S : Longint;
Begin
A:=1; S:=0;
Repeat
S:=S+A*A;
A:=A+1
Until A>100;
Writeln(S)
End.
Теперь вам известны все основные алгоритмические структуры языка Паскаль. Комбинируя их, возможно запрограммировать решение любой задачи, конечно, если таковое существует. Тем не менее, изучение языка на этом не закачивается, так как для написания хороших программ по утверждению уважаемого Никлауса Вирта (за время моей работы у меня не появилось оснований в этом сомневаться) нужны кроме алгоритмических, еще удобные структуры данных. В рассматриваемом языке таких структур множество, для каждого вида определены свои команды и операции. К их рассмотрению мы и переходим.
Весь материал - в документе.