Слайд 2
План
Общие сведения
Алфавит языка
Структура программы на языке Паскаль
Типы данных
Выражения
Организация
ввода/вывода
Операторы
Литература
Слайд 3
Литература
Касторнов А.Ф., Евстратова Г.А. Язык программирования Паскаль :
учебное пособие для вузов. - Череповец : ГОУ ВПО
ЧГУ, 2010. - 117 c. - Библиогр.: С.114.
Электронный учебник по языку программирования Паскаль /http://pascal.guti.ru
План
Слайд 4
Общие сведения
Паскаль (англ. Pascal) — язык программирования общего назначения.
Язык назван
в честь выдающегося французского математика, физика, литератора и философа
Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа.
Слайд 5
Общие сведения
Язык Паскаль был создан Никлаусом Виртом в
1968-69 годах. Позиционировался как эффективный язык, основанный на технологии
структурного программирования. Объектное расширения языка Паскаль было разработано в 1986 году фирмой Apple, язык получил имя Object Pascal.
Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования.
Наиболее известной реализацией языка Object Pascal, обеспечившая его широкое распространение и развитие, является среда программирования Turbo Pascal фирмы Borland, выросшая затем в среду Delphi, в которой были внедрены значительные расширения языка.
План
Слайд 6
Алфавит языка
Язык программирования Паскаль использует следующий набор символов:
английские
и русские буквы, которые могут быть как строчными, так
и прописными
арабские цифры
знаки операций и знаки, входящие в составное обозначение операций:
+ - * / = <> < > <= >= :=
ограничители:
. , ' ( ) [ ] { }.. : ;
специальные символы:
$ # ^
Слайд 7
Алфавит языка
Идентификаторы (имена переменных, констант программ, модулей, функций,
процедур) записываются с помощью допустимых в Паскале символов и
должны удовлетворять следующим правилам:
имя должно состоять только из английских букв, цифр и символов подчеркивания;
строчные и прописные буквы не различаются;
имя может начинаться только с английской буквы или символа подчеркивания;
длина идентификатора может быть любой, но значимыми являются только первые 63 символа.
Слайд 8
Алфавит языка
Слова, употребляемые в большинстве языков программирования, в
том числе и в Паскале, делятся на три группы:
служебные (зарезервированные, ключевые) слова;
предопределенные имена;
идентификаторы, определяемые программистом.
Слайд 9
Алфавит языка
Служебные слова – это слова языка программирования,
которые имеют специальное, раз и навсегда закрепленное за ними
значение. В программе нельзя использовать идентификаторы, совпадающие по написанию ключевыми словами (например, нельзя обозначить переменную именем begin).
Служебные слова языка программирования Паскаль:
Слайд 10
Алфавит языка
Предопределенные (стандартные) имена также имеют специальный (заранее
заданный) смысл. Однако программист может обходить закрепленные за ними
значения и использовать их в качестве имен, определяемых программистом. Если программист не определит явно, для каких целей применяется то или иное стандартное имя в программе, оно будет восприниматься в присущем данному имени предопределенном смысле (например, предопределенными являются имена Integer, Writeln и др.).
Пользовательские имена определяются программистом и должны быть явно объявлены в программе.
План
Слайд 11
Структура программы на языке Паскаль
Программа состоит из заголовка,
раздела описаний и раздела операторов.
Каждый из разделов может
содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную внутри фигурных скобок {}.
Слайд 12
Заголовок программы
В заголовке указывается имя программы и список
параметров.
Общий вид заголовка:
program name (input, output, x, y,…);
где name – имя программы; input – файл ввода; output – файл вывода; x, y – внешние файлы, используемые в программе.
Заголовок может не иметь параметров.
Слайд 13
Раздел описаний
Блок программы состоит из шести разделов, следующих
в строго определенном порядке:
раздел подключаемых модулей (библиотек) (uses);
раздел меток
(label);
раздел констант (const);
раздел типов (type);
раздел переменных (var);
раздел процедур и функций.
Каждый из первых пяти разделов начинается с соответствующего ключевого слова (uses, label, const, type, var), которое записывается один раз в начале раздела и отделяется от последующей информации пробелом, либо концом строки, либо комментарием.
Слайд 14
Раздел подключаемых модулей (библиотек) (uses)
Данный раздел содержит имена
подключаемых модулей (библиотек). Их имена отделяются друг от друга
запятыми, в конце описания ставится знак «;»
Общий вид:
uses unit1, unit2, unit3…;
где unit1, unit2, unit3 – имена модулей (библиотек).
Например:
uses CRT, Graph;
Слайд 15
Раздел меток (label)
Любой оператор в программе может быть
помечен меткой. Имя метки задается по правилам образования идентификаторов.
В качестве метки также могут использоваться произвольные целые числа в диапазоне от 0 до 9999. Все метки, используемые в программе, должны быть перечислены в разделе описания меток.
Слайд 16
Раздел меток (label)
Общий вид:
label l1, l2, l3…;
где
l1, l2, l3 – метки.
Пример:
label 5, 10, 100;
Метка отделяется
от оператора двоеточием.
Пример:
Пусть оператор a:= b имеет метку 20, тогда этот оператор выглядит так:
20: a:= b;
Слайд 17
Раздел констант (const)
Константа – это идентификатор, обозначающий некоторую
неизменную величину определенного типа. Все константы, используемые в программе,
описываются в разделе const, в разделе операторов могут использоваться только имена констант. Это делает программу более наглядной и удобной при отладке и внесении изменений.
Общий вид:
const a1 = c1; a2 = c2; …
где a1 – имя константы, c1 – значение константы.
Слайд 18
Раздел констант (const)
В Паскале используются следующие стандартные типы
констант:
Целочисленные константы. Могут быть определены посредством чисел, записанных в
десятичном или шестнадцатиричном формате данных. Это число не должно содержать десятичной точки.
Вещественные константы. Могут быть определены числами, записанными в десятичном формате данных с использованием десятичной точки.
Символьные константы. Могут быть определены посредством некоторого символа (заключенного в апострофы).
Строковые константы. Могут быть определены последовательностью произвольных символов (заключенных в апострофы).
Типизированные константы. Представляют собой инициализиованные переменные, которые могут использоваться в программе наравне с обычными переменными. Каждой типизированной константе ставится в соответствие имя, тип и начальное значение.
Слайд 19
Раздел констант (const)
Пример:
const
pi = 3,1415926535; e
= 2.718281828459; {вещественные константы}
symb = '?'; {символьная константа}
year: integer
= 2001; {типизированная константа}
Слайд 20
Раздел типов (type)
Если в программе вводится тип, отличный
от стандартного, то этот тип описывается в разделе type.
Общий
вид:
type t1 = описание_типа; t2 = описание_типа; …
где t1 и t2 – идентификаторы вводимых типов.
Пример:
type color = (red, yellow, green, blue);
Здесь описан тип color, задаваемый перечислением значений.
Слайд 21
Раздел переменных (var)
Переменной называют элемент программы, который предназначен
для хранения, коррекции и передачи данных внутри программы. Пусть
в программе встречаются переменные v11, v12,…; все они должны быть описаны следующим образом:
var v11, v12,…: type1; v21, v22,…: type2; …
где v11, v12,… - имена переменных;
type1 – тип переменных v11, v12,…;
type2 – тип переменных v21, v22,….
Пример:
var k, i, j: integer; a, b: real;
Каждая переменная должна быть описана до ее использования в программе и отнесена к одному и только одному типу.
Слайд 22
Раздел процедур и функций
В этом разделе приводится описание
пользовательских процедур и функций.
Слайд 23
Раздел операторов
Эта часть программы начинается с ключевого слова
begin и заканчивается словом end, после которого должна стоять
точка. Раздел операторов – это непосредственно выполняемая часть программы, состоящая из операторов.
План
Слайд 24
Типы данных
Тип данных определяет:
возможные значения данных;
внутреннюю
форму представления данных в ЭВМ;
операции, которые могут выполняться
над данными.
Слайд 25
Типы данных
В Паскале выделяют следующие типы данных:
Простые
Порядковые
Целые
Логические
Символьные
Перечисляемые
Интервальные
Вещественные
Структуированные
Массивы
Строки
Множества
Записи
Файлы
Указатели
Слайд 26
Типы данных
Порядковые типы, выделяемые из группы простых типов,
характеризуются следующими свойствами:
все возможные значения порядкового типа представляют
собой ограниченное упорядоченное множество;
к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;
к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно;
к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.
Слайд 27
Типы данных
Рассмотрим некоторые типы данных:
Слайд 29
Выражения
Выражение задает правило вычисления некоторого значения. Выражение состоит
из констант, переменных, функций, знаков операций и скобок.
Слайд 31
Логические операции
Над логическими аргументами в Паскале определены следующие
операции:
NOT – логическое отрицание («НЕ»)
AND – логическое
умножение («И»)
OR – логическое сложение («ИЛИ»)
XOR – логическое «Исключающее ИЛИ»
Слайд 33
Операции отношения (сравнения)
К операциям отношения в Паскале относятся
такие операции, как:
равно (=);
не равно ();
больше (>);
меньше (
или равно (>=);
меньше или равно (<=).
В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.
Слайд 34
Приоритет операций
Порядок вычисления выражения определяется приоритетом содержащихся в
нем операций. В языке Паскаль принят следующий приоритет операций:
унарная операция not, унарная операция -
* / div mod and
+ - or xor
= <> < > <= >=
Переопределить порядок выполнения операций можно с помощью скобок.
Слайд 35
Некоторые стандартные функции
План
Слайд 36
Организация ввода
Для ввода исходных данных чаще всего используется
процедура ReadLn:
ReadLn(A1,A2,...,AK);
Процедура производит чтение значений исходных данных
и присваивает эти значения переменным А1, А2, ..., АК.
Переменные, образующие список ввода, могут принадлежать к целому, вещественному, символьному, строковому типам. Чтение исходных данных логического типа в языке Паскаль недопустимо. При вводе данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных.
Слайд 37
Организация ввода
Значения вводимых данных могут отделяться друг от
друга пробелами и нажатием клавиш табуляции [Tab] и [Enter].
Не допускается разделение вводимых значений запятыми.
Если процедура ReadLn указана без параметров, она ожидает нажатия пользователем клавиши [Enter].
Слайд 38
Организация вывода
Для вывода результатов работы программы на экран
используются процедуры:
Write(A1,A2,...,AK);
WriteLn(A1,A2,...,AK);
где А1, А2, …, АК –
величины или выражения целого, вещественного, логического или символьного типов, а также строки.
Write производит вывод значений величин А1, А2,..., АК в одну строку. WtiteLn производит построковый вывод.
Для величин вещественного типа элемент списка вывода может иметь вид А:К:М, где А – величина или выражение вещественного типа, К – ширина поля вывода, М – число цифр в дробной части. К и М – константы целого типа.
План
Слайд 39
Операторы
Под оператором в языке Паскаль подразумевают описание действия.
Операторы отделяются друг от друга только точкой с запятой.
Если оператор стоит перед until или else, то в этом случае точка с запятой не ставится.
Слайд 40
Оператор присваивания
Общий вид:
v:= a;
где v – переменная,
a – выражение, := операция присваивания. Выражение может содержать
константы, переменные, названия функций, знаки операций и скобки.
Пример:
f := 3 * C + 2 * sin(x);
В операции присваивания переменная v и выражение a должны иметь один и тот же тип, а для интервального типа – одно и то же подмножество значений.
Замечание. Разрешается присваивать переменной типа real выражение типа integer. Нельзя присваивать переменной типа integer выражение типа real.
Слайд 41
Составной оператор
Если при некотором условии надо выполнить определенную
последовательность операторов, то их объединяют в один составной оператор.
Составной оператор начинается ключевым словом begin и заканчивается словом end. Между этими словами помещаются составляющие операторы, которые выполняются в порядке их следования. После end ставится точка с запятой, а после begin – только пробел (либо комментарий). Слова begin и end играют роль операторных скобок.
Пример:
begin i:=2; k:=i/5 end;
Слайд 42
Пример
Определить расстояние на плоскости между двумя точками с
заданными координатами M1(x1,y1) и M2(x2,y2).
Решение задачи
Математическая модель: расстояние на
плоскости между двумя точками M1(x1,y1) и M2(x2,y2) высчитывается по формуле:
Слайд 43
Пример
Составим схему алгоритма, а затем уточним содержимое блоков
«Вычисление расстояния» и «Вывод расстояния».
Слайд 44
Пример
Переводим блок-схему на язык Паскаль:
program example1;
var x1,
x2, y1, y2: Integer; d:Real;
begin
Writeln('Эта
программа вычисляет расстояние между двумя точками на плоскости');
Writeln('Введите координаты двух точек:');
Write('x1= '); Readln(x1);
Write('y1= '); Readln(y1);
Write('x2= '); Readln(x2);
Write('y2 ='); Readln(y2);
d:=sqrt(sqr(x2-x1)+sqr(y2-y1));
Writeln('d= ',d:6:2);
Writeln('нажмите [Enter] для завершения работы программы');
Readln;
end.