Операторы повторения Цель: Повторить операторы повторения

advertisement
Операторы повторения
Цель: Повторить операторы повторения с постусловием, предисловием и со счётчиком,
Формировать навыки программирования циклических алгоритмов в среде Lazarus
Учащиеся знают:
- Понятие циклических алгоритмов
- инструкции for,while,repeat
- определять случаи использования
определённого оператора
Учащиеся умеют: использовать операторы
повторения при решении практических
задач
Оборудование: Компьютеры, интерактивная доска, система программирования Lаzarus,
оценочный лист
Ход урока:
Этапы урока
Организацион
ный этап
Актуализация
опорных
знаний
Деятельность учителя
Пожелание
Деятельность учащихся
Желают удачи
«Брейн-ринг»
Перечислите типы алгоритмов?
Дайте определение каждому из типов
алгоритмов.
Сформулируйте и запишите определение
циклического алгоритма
Какие операторы предназначены для
реализации циклических алгоритмов в
языке Паскаль?
Задание: Определить результат выполнения
фрагмента программы:
Работа в группах
Какая из групп больше наберёт баллов?
к
1
2
3
4
5
6
7
8
9
s
0
1
3
6
1
0
1
5
2
1
2
8
3
6
1
0
4
5
1
1
5
5
Ответ: 55
Взаимооценивание в группах
Заполнение таблицы
знаю
Хочу узнать
Осмысление
Стр. 70-72
Составить инструкции операторов цикла
привести пример
узнал
1 группа: for…to…do
2группа: while …do
3 группа: Repeat … until
Практическая
работа
Стр. 72-74
Дополнительное задание: «Головоломка
Составление инструкции, представление
Взаимооценивание в группах
Индивидуальная работа
Самооценивание по результатам программы
Самуэля Ллойда »
Домашнее
задание .
Рефлексия
Стр.74 № 2 Написать программу
Чему научились на уроке?
Заполнение таблицы и озвучивание оценок за урок
знаю
Хочу узнать
узнал
Оператор цикла с предусловием While
Оператор while (пока) называют оператором цикла с предусловием за то, что проверка условия
выполнения тела цикла производится в самом начале оператора, до операторов тела цикла. Если
условие изначально не выполнится, то операторы тела цикла не выполнятся ни разу.
Алгоритм выполнения оператора:
1. Проверяется условие выполнения цикла (вычисляется булевское выражение).
2. Если условие выполняется (значение выражения равно true), то выполняются операторы,
составляющие тело цикла.
3. Если условие не выполняется (значение выражения равно false), то происходит выход из
цикла и переход к первому после while оператора.
При использовании цикла с предусловием надо помнить следующее:
1. Начальное значение переменной цикла нужно присвоить до начала выполнения цикла.
2. Условие продолжения цикла должно зависеть от значения переменной цикла.
3. Переменная цикла должна изменяться при каждом новом выполнении цикла, иначе цикл
будет повторяться бесконечное число раз.
Оператор цикла с постусловием repeat
Оператор цикла repeat аналогичен оператору while, но отличается от него, во-первых, тем, что
условие проверяется после очередного выполнения тела цикла (за это и называется циклом с
постусловием) и таким образом гарантируется хотя бы однократное выполнение цикла, а вовторых, тем, что выполнение условия (равенство булевского выражения константе true) является
критерием не повторения, а прекращения цикла.
Алгоритм выполнения:
1. Выполняется тело цикла (операторы, заключенные между словами repeat / until).
2. Проверяется условие выхода из цикла.
3. Если условие выполняется, то происходит выход из цикла к первому после
repeat оператору.
4. Если условие не выполняется, то алгоритм повторяется с пункта 1.
Дополнительное задание «Головоломка Самуэля Ллойда »
Цель работы - создать компьютерную версию одной из головоломок из заданного набора
чисел 25, 27, 3, 12, 6, 15, 9, 30, 21, 19 надо выбрать те, сумма которых составит 50.
Инструкция:
1. После запуска программы в окне изображается список чисел Ллойда.
2. Выбираем с помощью флажков числа и помещаем в правое окно.
3. Сумма выбранных чисел представлена в виде надписи.
4. Для выхода из программы необходимо щелкнуть мышью на закрывающей кнопке в
строке заголовка.
Описание плана разработки программы
1. Открыть новый проект.
2. Разместить на форме экземпляры компонентов: список флажков CheckListBox,
надпись Label, список ListBox.
3. Выполнить следующие действия:
Выделенный объект Вкладка окна
Object Inspector Имя свойства/имя события Действие
Form1 Properties Caption «Головоломка»
BorderStyle Задайте значение bsSingle
CheckListBox1(Вкладка Additional ) Properties Items Задаем состав списка. Щелкнуть на
кнопке построителя. Откроется окно
String List editor (Редактор списка
строк). Введите в список заданные
числа через Enter. Нажмите кнопку OK.
Height Подобрать значение так, что все числа
поместились в список (без полос
прокруток).
ListBox1
(Вкладка Standard) Properties Height Подобрать значение так, что все числа
поместились в список (без полос
прокруток). Первоначально список
пуст. Заполняться он будет при работе
программы.
Label1 Properties Caption Введите текст: «Сумма: 0»
Autosize Задайте значение False
Alignment Задайте значение taCenter
4. Соберите проект, запустите и протестируйте его.
Листинг подпрограммы
procedure TForm1.CheckListBox1ClickCheck (Sender: TObject);
var i, s: Integer;
begin
ListBox1.Clear;
for i: = 0 to CheckListBox1.Items.Count-1 do
if CheckListBox1.Checked[i] then
ListBox1.Items.Add (CheckListBox1.Items[i]);
s := 0;
for i := 0 to ListBox1.Items.Count -1 do
s := s + StrToInt(ListBox1.Items[i]);
Label1.Caption := ‘Сумма: ’ + IntToStr(s);
if s = 50 then
begin
Label1.Caption := ‘Сумма:’ + IntToStr (s);
CheckListBox1.Enabled := False;
ListBox1.Enabled := False;
end;
end;
Download