Разработка
урока по теме программирование на языке Pascal ABC.
Буркина
Л.И.
Урок
№8. Тема:
«Операторы ЯП Pascal АВС».
Цели
урока:
-
помочь учащимся усвоить понятие об операторах в ЯП Pascal АВС;
-
воспитание информационной культуры учащихся, внимательности, аккуратности,
дисциплинированности,
усидчивости.
-
развитие познавательных интересов, самоконтроля, умения конспектировать.
Оборудование:
доска,
компьютер, компьютерная презентация.
План
урока:
I.
Орг. момент. (2 мин)
II.
Актуализация знаний. (5 мин)
III.
Теоретическая часть. (10 мин). Физминутка 4 мин.
IV.
Практическая часть. (15 мин)
V.
Д/з (2 мин)
VI.
Вопросы учеников. (5 мин)
VII.
Итог урока. (2 мин)
Ход
урока:
I.
Орг. момент.
Приветствие,
проверка присутствующих. Объяснение хода урока.
II.
Актуализация знаний.
На
прошлых уроках мы получили сведения о том, какие операции можно производить со
строковыми
данными в ЯП Pascal ABC, а также каков приоритет выполнения операций. Так же мы
написали программу, в которой выполнялись действия над переменными строкового типа.
III.
Теоретическая часть. Операторы ЯП Pascal АВС.
Оператор
присваивания.
Как
и во всех языках программирования, в Pascal ABC имеется оператор
присваивания.
В
некоторых языках, символом присваивания является знак равенства, однако для
того, чтобы не путаться, оператор присваивания в Паскале выглядит так “ := “.
Он служит для
определения
или переопределения значения переменной. В случае переопределения, новое значение
переменной, записывается в ячейки с именем переопределяемой переменной, а прежнее
значение стирается. Например:
a:=1000;
b:=5;
a:=a+b
Исходное
значение переменной а – 1000, конечное 1005.
Условный
оператор.
Ход
выполнения программы может быть различным. Если в задаче, в зависимости от
какого-либо условия, можно будет двигаться по разным путям, то алгоритм такой
решения такой задачи называется ветвящимся. Как раз таким оператором и является
условный оператор (if - если, else - иначе). Условный оператор позволяет
проверить некоторое условие, и в зависимости от результатов проверки выполнить
то или иное действие. Таким образом, условный оператор - это средство ветвления
вычислительного процесса. Условный оператор имеет полную и краткую формы.
Полная
форма условного оператора выглядит следующим образом:
if
условие
then оператор1
else
оператор2
В
качестве условия указывается какое-либо логическое выражение. Если условие
оказывается истинным, то выполняется оператор1, в противном случае выполняется
оператор2.
Краткая
форма
условного оператора имеет вид:
if
условие then оператор
Если
условие оказывается истинным, то выполняется оператор, в противном случае
происходит
переход к следующему оператору программы.
В
случае конструкции вида
if
условие1
then
if
условие2
then оператор1 else оператор2
else
всегда
относится к ближайшему предыдущему оператору if, для которого ветка else
еще
не указана. Если в предыдущем примере требуется, чтобы else относилась к
первому
оператору
if, то необходимо использовать составной оператор:
if
условие1 then оператор
begin
if
условие2 then оператор1
end
else
оператор2
Составной
и пустой операторы
Составной
оператор
предназначен для объединения нескольких операторов в один. Он имеет
вид:
begin
операторы
end
Операторы
отделяются один от другого символом ";".
Как
уже говорилось выше, служебные слова begin (начало) и end(конец),
окаймляющие
операторы, называются операторными скобками.
Например:
s:=0;
p:=1;
for
i:=1 to 10 do
begin
//открывающая операторная скобка
p:=p*i;
s:=s+p
end
//закрывающая операторная скобка
Так,
как служебное слово end является закрывающей операторной скобкой, оно
одновременно
указывает и конец предыдущего оператора, поэтому ставить перед ним символ ";"
необязательно. Перед end может ставиться ";". В этом случае
считается, что последним оператором перед end является пустой оператор,
не выполняющий никаких действий. Пустой оператор не содержит никаких действий,
просто в программу добавляется лишняя точка с запятой. В основном пустой
оператор используется для передачи управления в конец составного оператора.
Оператор
выбора.
Иногда
требуется осуществить выбор более чем из двух условий. В этом случае
применяется оператор множественного выбора, позволяющий выбрать из списка одно
из условий. Оператор выбора выполняет одно действие из нескольких в
зависимости от значения некоторого выражения, называемого переключателем.
Он имеет следующий вид:
case
переключатель
of
список
выбора 1: оператор1;
...
список
выбора N: операторN;
else
оператор0
end;
Переключатель
представляет собой выражение порядкового типа (целого, символьного,
перечислимого
или интервального), а списки выбора содержат константы совместимого типа. Как и
в операторе if, ветвь else может отсутствовать.
Оператор
case (в случае) работает следующим образом. В списке выбора
проверяется на
совпадение
текущее значение переключателя и меток списка, и если найдено совпадение, то выполняется
оператор, соответствующий данной строке списка. Если же значение
переключателя
не найдено ни в одной строке, то выполняется оператор else. В случае,
если
ветвь else отсутствует, оператор case не выполняет никаких
действий, а управление
передается
внешнему оператору, следующему за конструкцией CASE.
Список
выбора состоит либо из одной константы, либо из диапазона значений вида a..b
(константа
a должна быть меньше константы b). Можно также перечислить несколько
констант
или диапазонов через запятую:
case
DayOfWeek of
1..5:
writeln('Рабочий день');
6,7:
writeln('Выходной');
end;
В
списках выбора диапазоны меток не должны пересекаться. Например, в результате
выполнения
следующего фрагмента:
case
i of
1,5:
write(1);
4..9:
write(2);
end;
программа
завершится сообщением об ошибке:
"
Ошибка: Пересечение диапазонов меток в операторе case".
Оператор
безусловного перехода goto.
Оператор
безусловного перехода goto используется для изменения естественной
последовательности
выполнения программы, и имеет следующую форму:
goto
метка
Содержимое строки можно интерпретировать как:
перейти
к <метке>
Он
передаѐт выполнение программы к оператору, помеченному меткой.
Метка
представляет собой идентификатор. Для совместимости со стандартным Паскалем в качестве
метки можно использовать целое число без знака. Чтобы пометить оператор меткой,
необходимо перед оператором указать метку с последующим двоеточием. Формат
описания метки:
label1:
оператор
Метки
должны быть описаны в разделе меток с использованием служебного слова label:
label
1,2,3;
Например,
в результате выполнения программы:
label
1,2;//метки
begin
i:=6;
2: if
i<0 then goto 1;//условие перехода к метке 1
write(i);
//выводим значение i
Dec(i);
//увеличиваем i на 1
goto
2;
//переходим к метке 2
1:
//метка 1
end.
будет
выведено 654321.
Метка
должна помечать оператор в том же блоке, в котором описана. Нельзя помечать
одной меткой несколько операторов. Запрещается из внешней стороны цикла
переходить на метку внутри цикла. Оператор безусловного перехода (goto) надо
использовать только в крайнем случае. По количеству применений этого оператора
судят о квалификации программиста, хотя всѐ же, иногда его применение бывает
оправдано. Например, при использовании меню в программе или при проверке данных
при вводе их с клавиатуры.
Применение
циклов в программах позволяет обходиться без применения оператора goto
вообще.
Вопросы:
•
Что называют оператором в языках программирования?
•
Перечислите операторы ЯП Pascal ABC?
•
Что такое пустой оператор?
•Что
такое составной оператор?
•
В чѐм разница между оператором присваивания и знаком «равно»?
III.
Практическая часть.
На
прошлом уроке вы получили сведения о том, какие операции можно производить со
строковыми
данными в ЯП Pascal ABC, а также каков приоритет выполнения операций. Так же мы
написали программу, в которой выполнялись действия над переменными строкового типа.
Сегодня на практической части мы напишем программу, в которой будут участвовать
различные операторы ЯП Pascal ABC.
1.
Программа определения дня недели, по введѐнному номеру:
Program
OperatorCase;
var
den: integer; //объявляем переменные
begin
writeln('Введите
номер дня недели (1..7): ');
readln(den);
case
den of // Оператор выбора
1..5:
writeln('Рабочий день');
6,7:
writeln('Выходной');
else
writeln('Введите правильно номер дня!');
end;
end.
2.
Программа сравнения введенных чисел (полная форма условного оператора if):
Program
SravChisel;
var
a,b: integer ; //объявляем переменные
begin
writeln('Введите a и b');
read(a,b);
if
a<b then
writeln(a,'<',b)
else
if
a>b then
writeln(a,'>',b)
else
writeln(a,'=',b);
end.
Программа,
вычисляющая сезон года по введѐнному № месяца.
Program
SezonGoda;
var
g:integer;
begin
writeln('введите № месяца');
readln(g);
case
g of
1,2,12:
writeln('Зима');
3..5:
writeln('Весна');
6..8:
writeln('Лето');
9..11:
writeln('Осень');
else
writeln('Нет
такого месяца');
end;
end.
Программа
вычисляющая результат с помощью оператора безусловного перехода goto:
Program
Sravnit;
label
m1,m2;
var
a,k,s :integer;
begin
writeln('введите a и k');
read(a,k);
if
a>=k then
goto
m1;
if
a<k then
goto
m2;
m1:
s:=a-k;
writeln('s
= ',s);
m2:
s:=a+k;
writeln('s
= ',s);
end.
IV.
Д/з
Выучить
действия всех операторов ЯП Pascal ABC.
V.
Вопросы учеников.
Ответы
на вопросы учащихся.
VI.
Итог урока.
Подведение
итога урока. Выставление оценок. На уроке мы усвоили понятие об операторах в ЯП
Pascal АВС, а также написали программу, в которой участвовали различные
операторы.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.