Специальность 130000.65 – Разработка и эксплуатация нефтегазовых месторождений, очная форма обучения
Время – 2 часа
Тема:Операторы Turbo Pascal
Цель:Сформировать представление об используемых в среде программирования Turbo Pascal простых и сложных операторах, реализации подпрограмм и процедур ввода Read, Readln и вывода Write, Writeln.
Задачи:
Образовательные:
1. Дать понятие среды программирования Turbo Pascal, особенности ее реализации.
2. Объяснить теоретические основы языка Turbo Pascal.
3. Сформировать представление о практической реализации основных процедур при создании программных продуктов на языке Turbo Pascal. Развивающие:
1. Развивать у обучаемых память, умение анализировать предложенный на лекции материал, синтезировать его и выделять главное, делать выводы.
1. Формировать у обучаемых чувство гордости и ответственности при работе в сфере нефтегазовой промышденности.
2. Формировать у обучаемых осознание необходимости избранной ими специальности.
Методы проведения занятия:
1. Объяснительно – иллюстративный, где преподаватель излагает, передаёт информацию, а обучаемые слушают и запоминают.
2. Проблемное изложение, где в процессе занятия преподаватель ставит проблему и самостоятельно её решает, а обучаемые следят за логикой изложения, анализируют информацию, конспектируют.
Место проведения: - аудитория в соответствии с расписанием.
Время проведения занятия: - одно занятие (2 часа).
Материально-техническое обеспечение занятия:
1. Учебная литература;
2. Комплект слайдов выполненных в программе Power Point;
3. Оборудование лекционной аудитории;
4. Доска, мел.
5. Наличие конспектов и шариковых ручек у слушателей.
Распределение учебного времени:
Вводная часть:
-проверка наличия обучаемых и их готовность к занятию
4 мин.
- вступительное слово преподавателя (постановка цели лекции, разъяснение порядка проведения занятия, показ связи с другими темами дисциплины, акцентирование внимания на важность изучения и получения знаний по данной теме)
6 мин.
Основная часть:
- изучение основных вопросов темы
65 мин.
Заключительная часть
- рекомендации по дальнейшему изучению темы;
1 мин.
- подведение итогов учебного занятия;
2 мин.
- методические рекомендации на самостоятельную подготовку.
2 мин.
Итого
80 мин.
План лекции и расчет времени:
Введение
10 мин.
Основная часть
1. Операторы Turbo Pascal
30 мин.
2. Подпрограммы
25 мин.
3. Процедуры ввода-вывода
10 мин.
Заключение
5 мин.
1. Закон Российской Федерации «О правовой охране программ для электронно-вычислительных машин и баз данных» //Ведомости Верховного Совета Российской Федерации, 1992, № 42, ст. 2335.
2. Закон Российской Федерации «Об информации, информатизации и защите информации» от 20 февраля 1995 г. № 24-ФЗ // Собрание законодательства Российской Федерации, 1995, № 8, ст. 609.
4. Информатика. Базовый курс. Учебник для ВУЗов / Под ред. С. В. Симоновича - СПб: Питер, 2000.
5. Андриашин Х.А., Казанцев С.Я. Информатика и математика для юристов. Учебное пособие для вузов.- М.: ЮНИТИ-ДАНА, 2003.-463 с.
6. Попов В.Б. Turbo Pascal для школьников: Уч. Пособие. – 3-е доп. Изд. –М.: Финансы и статистика, 2003. – 528 с.
7. Тынчеров К.Т. Информатика и математика. Раздел «Информатика». Учебно-методическое пособие по дисциплине. – Ставрополь: Изд-во СФКрУ, 2008. – 66 с.
8. Мирошниченко М. Учебно-познавательный сайт по программированию в среде Turbo Pascal. - Краснодар, 2003
ВВЕДЕНИЕ
Напоминаю, что на предыдущей лекции мы с вами изучали принципы использования среды программирования Turbo Pascal. Изучили основные понятия и определения. Цель данной лекции заключается в том, чтобы вы сформировали представление об используемых в среде программирования Turbo Pascal простых и сложных операторах, о реализации подпрограмм и процедур ввода Read, Readln и вывода Write, Writeln.
Оператором называется предложение языка программирования, задающее полное описание некоторого действия, которое необходимо выполнить. Основная часть программы на языке Turbo Pascal представляет собой последовательность операторов. Разделителем оператора служит точка с запятой. Все операторы языка можно разделить на две группы: простые и структурные.
1.1. Простые операторы
Простыми называют операторы, не содержащие никаких других операторов. Это операторы присваивания, безусловного перехода, вызова процедуры и пустой оператор.
Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части.
Например, для оператора Rezult :=A div B; сначала выполняется целочисленное деление значения переменной Ф на значение переменной В, а затем результат присваивается переменной Rezult.
Оператор безусловного перехода (go to) означает «перейти к» и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор.
Оператор вызова процедуры служит для активизации предварительно определенной пользователем, или стандартной процедуры.
Пустой оператор не содержит никаких символов и не выполняет никаких действий. Обычно пустой оператор используется для организации перехода к концу локального или глобального блока в случаях, если необходимо пропустить несколько операторов, но не выходить из блока. Для этого перед зарезервированным словом еnd ставятся метка и двоеточие, например:
label Metka;
…
begin
…
go to Metka; {переход в конец блока}
…
Metka: {пустой оператор помечен меткой}
End
1.2. Структурные операторы
Структурные операторы представляют собой конструкции, построенные из других операторов по строго определенным правилам. Все структурные операторы можно разделить на три группы: составные, условные, повтора.
Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой, и ограниченную операторными скобками begin и end.
Условные операторы предназначены для выбора к исполнению одного из возможных действий (операторов) в зависимости от некоторого условия (при этом одно из действий может быть пустым, т.е. отсутствовать). В качестве условий выбора используется значение логического выражения. В Turbo Pascal имеются два условных оператора: if и case.
Оператор условия if является одним из самых популярных средств, изменяющих естественный порядок выполнения операторов программы.
Очень часто при выполнении программы необходимо выполнять те или иные операторы, в зависимости от анализа каких-либо данных. Алгоритмы, позволяющие производить анализ данных и выполнять нужные, в сложившихся условиях операторы называются ветвящимися или алгоритмами принятия решения.
Для графического изображения ветвления используется блоки, приведённые на рис. 4.1.
Рисунок 1. Блок схемы алгоритма принятия решения
В ромбе, как правило, записывается условие, на основе которого производится выбор ветви, в которой будет выполняться оператор. В качестве условия могут использоваться операции сравнения, логические операции или переменные логического типа Boolean. При истинности условия (True) выполняется оператор в ветви с надписью "да". "Оператор 2" будет выполнен, если условие примет ложное значение (False). На рис. 4.1 (б) при ложности условия не будет выполнен ни один оператор, такой блок часто называют "обход"
Для записи на языке программирования Pascal ветвящихся вычислительных процессов используется условный оператор:
Эта форма условного оператора приемлема для алгоритма изображённого на рис. 1 (а). При истинности условия, выполняется <оператор_1>, записанный за служебным словом then, в противном случае - <оператор_2>, следующий за служебным словом else.
Допускается использовать сокращённую форму записи условного оператора:
If <условие> then <оператор>;
Данная форма приемлема для алгоритма изображённого на рис. 4.1 (б). Оператор, следующий за служебным словом then, будет выполнен при истинном условии, в противном случае управление передаётся на следующий по порядку оператор.
Допускается использование вложенных условных операторов. При этом после служебных слов then или else записывается очередной условный оператор. Однако необходимо помнить следующее правило - каждому служебному слову else соответствует предыдущее служебное слово then. Степень вложенности неограниченна.
При необходимости выполнить более одного оператора при истинности или ложности условия необходимо использовать составной оператор (его ещё называют операторные скобки). Составной оператор начинается, как и тело программы, служебным словом begin, заканчивается служебным словом end, за которым ставится " ; ", между ними записываются операторы, которые необходимо выполнить. Количество операторов, объединяемых составным оператором неограниченно.
begin
<Оператор_1>;
<Оператор_2>;
<Оператор_3>;
…
<Оператор_N>;
end;
Логические операции
Переменным логического типа можно присвоить результаты операций отношений. Результат операций отношений всегда равен True или False. Как уже было отмечено выше, в качестве условия могут использоваться логические операции. Помимо операций отношений в Pascal существует четыре вида логических операций, которые применимы к переменным логических типов.
Значения логического выражения при использовании бинарной логической операции конъюнкции (And) приведены в таблице 1.
Таблица 1 - Логическая операция конъюнкция
Значение операндов
Результат операции
A
B
A and B
True
True
True
True
False
False
False
True
False
False
False
False
Значения логического выражения при использовании бинарной логической операции дизъюнкции (Or) приведены в таблице 2.
Таблица 2 - Логическая операция дизъюнкция
Значение операндов
Результат операции
A
B
A or B
True
True
True
True
False
True
False
True
True
False
False
False
Значения логического выражения при использовании бинарной логической операции дизъюнкции (Xor) приведены в таблице 3.
Таблица 3 - Логическая операция исключающее ИЛИ
Значение операндов
Результат операции
A
B
A xor B
True
True
False
True
False
True
False
True
True
False
False
False
Четвёртая унарная логическая операция отрицания (Not) инвертирующая (изменяющая на противоположное) значение операнда приведена в таблице 4.
Таблица 4 - Логическая операция отрицания
Значение операндов
Результат операции
A
not A
True
False
False
True
Поскольку у операций сравнения приоритет выполнения ниже, чем у логических операций, при комбинированной записи логического выражения их необходимо брать в скобки.
Например:
(A<=B) and (B>C) or (A<>D). При значении переменных A=10, B=15, C=20, D=25 значение всего выражения равно True. (A<=B) - истинно, (B>C) - ложно, (A<=B) and (B>C) - ложно, (A<>D) - истинно.
(A<=B) or (B>C) xor (A<>D). При значении переменных A=10, B=15, C=20, D=25 значение всего выражения равно False. (A<=B) - истинно, (B>C) - ложно, (A<=B) or (B>C) - истинно, (A<>D) - истинно.
not (A<=B) or (B>C). При значении переменных A=10, B=15, C=20 значение всего выражения равно False.
(A<=B) or not(B>C). При значении переменных A=10, B=15, C=20 значение всего выражения равно True.
В логических выражениях принят следующий порядок выполнения операций:
- Not;
- And, *, Div, Mod, /;
- Or, Xor, +, - ;
- все операции сравнения.
Пример 4.1. Определить большее из двух целых чисел A и B.
Блок-схема алгоритма решения задачи:
Program Example_4_1;
Var A, B : Integer;
Max : Integer;
Begin
Write ('Введите значение A = '); ReadLn (A);
Write ('Введите значение B = '); ReadLn (B);
If A>=B then Max:=A else Max:=B;
WriteLn ('большее из двух целых чисел A и B: ',Max)
End.
Пример 4.2. Определить принадлежит ли вводимое с клавиатуры значение A интервалу [0..9].
Блок-схема алгоритма решения этой задачи аналогична примеру 4.1.
Program Example_4_2;
Var A : Real;
Max : Integer;
Str : String;
Begin
Write ('Введите значение A = '); ReadLn (A);
If (A>=0) and (A<=9) then Str:='принадлежит'
else Str:='не принадлежит';
WriteLn ('Значение A ',Str,' отрезку [0..9]')
End.
Пример 4.3. Значения переменных X, Y, Z вводятся с клавиатуры. Если X Y Z, то все значения возвести в квадрат, при X >Y >Z каждое из них разделить на 2, в противном случае изменить знаки чисел. Изменённые значения переменных вывести на экран.
Обратите внимание, что при решении данной задачи в каждой ветви условного оператора необходимо использовать составной оператор.
Блок-схема алгоритма решения задачи:
Program Example_4_3;
Var X,Y,Z:Real;
Begin
Write ('Введите значение X,Y,Z');
ReadLn (X,Y,Z);
If (X<=Y)and(Y<=Z) then
begin
X:=Sqr(X); Y:=Sqr(Y); Z:=Sqr(Z)
end
else If (X>Y)and(Y>Z) then
begin
X:=X/2; Y:=Y/2; Z:=Z/2
end
else
begin
X:= -X; Y:= -Y Z:= -Z
end;
WriteLn('X=', X, ' Y=', Y, ' Z=', Z)
End.
Оператор выбора Casе очень удобен при программировании, особенно когда возможно большое количество вариантов решения задачи.
Оператор выбора Casе состоит из выражения-переключателя и списка операторов, каждому из которых предшествует одна или более констант выбора или ключевое слово Else. Переключатель (иногда называют селектор) должен иметь порядковый тип (размером в байт или слово). Таким образом, строковый тип и длинный целый тип являются недопустимыми типами переключателя. Все константы выбора должны быть уникальными и иметь порядковый тип, совместимый с типом переключателя.
Оператор варианта Case приводит к выполнению оператора, которому предшествует константа выбора, равная значению переключателя или диапазону выбора, в котором находится значение переключателя. Если такой константы выбора или такого диапазона выбора не существует и присутствует ветвь Else, то выполнятся оператор, следующий за ключевым словом Else. Если же ветвь Else отсутствует, то никакой оператор не выполняется.