Программирование паскаль.ppt
- Количество слайдов: 25
Pascal
Оболочка За 40 лет существования (с 1970 года) язык Pascal приобрел огромное множество систем разработки. Наиболее популярной средой языка для платформы DOS является Turbo Pascal (Borland Pascal), первоначально созданная в 1981 году. В марте 1993 года была выпущена последняя версия. Для платформы Windows компанией Borland была разработана среда Delphi (Дэльфи), не менее популярная при решении простых задач. В 1993 году разработан компилятор Free Pascal поддерживающий множество аппаратных платформ, таких как DOS, Free. BSD, Linux, Mac OS X, Windows, Sun Solaris, Haiku.
Hello world Программа, выводящая на экран всемирно известную фразу, выглядит очень просто: Program Hello. World; begin writeln('Hello, World!'); end.
Структура программы Program …; - заголовок программы Uses …, …; - список подключаемых модулей Type … - объявление типов Const - введение констант a: … = …; Var - объявление переменных x: …; Begin - начало основного блока Оператор 1; - основной блок операторов Оператор 2; … End. - конец программы
Алфавит - это совокупность допустимых в языке символов. Алфавит Турбо Паскаль включает следующий набор основных символов: • строчные и прописные латинские буквы: ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz • пробел • подчеркивание: _ • арабские цифры: 0 1 2 3 4 5 6 7 8 9 • знаки операций: + - * / = <> < > <= >= : = @ • ограничители: . , ' ( ) [ ] (. . ) { } (* *). . : ; • спецификаторы: ^ # $
Служебные слова Эти слова являются зарезервированными. Их использование в языке допускается только по прямому назначению. ABSOLUTE AND ARRAY ASM ASSEMBLER BEGIN CASE CONSTRUCTOR DESTRUCTOR DIV DO DOWNTO ELSE END EXPORTS EXTERNAL FAR FILE FORWARD FUNCTION GOTO IF IMPLEMENTATION IN INDEX INHERITED INLINE INTERFACE INTERRUPT LABEL LIBRARY MOD NAME NIL NEAR NOT OBJECT OF OR PACKED PRIVATE PROCEDURE PROGRAM PUBLIC RECORD REPEAT RESIDENT SET SHL SHR STRING THEN TO TYPE UNIT UNTIL USES VAR VIRTUAL WHILE WITH XOR
Элементарные конструкции языка Паскаль включают в себя имена, числа и строки. Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор в Турбо Паскале может включать в себя: буквы латинского алфавита, цифры и символ подчеркивания. Строчные и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же). Цифра не может стоять на первом месте в идентификаторе, а символ подчеркивания может находиться в любой позиции (например, name 1 и name 2 item являются допустимыми идентификаторами, а 5 name - нет; _name, name_item - тоже допустимые названия). Длина идентификатора может быть любой, но значимыми являются только первые 63 символа. В качестве имен не допускается использовать служебные слова. Для отделения друг от друга идентификаторов, чисел, зарезервированных слов используются разделители. В качестве них можно использовать: - пробел и табуляцию; - перевод строки; - комментарий. В любом месте программы, где можно поместить один разделитель, их можно поместить любое количество и в любом сочетании, что позволяет наглядно представить структуру программы. Комментарии заключаются либо в скобки {. . . }, либо в скобки вида (*. . . *) и могут занимать любое число строк.
Числа в языке Паскаль обычно записываются в десятичной системе счисления, например: 217 -45 8954 +483 Действительные числа записываются с десятичной точкой: 28. 6 0. 65 -0. 018 4. 0 Возможна также запись с использованием десятичного порядка, который изображается буквой Е: 5 Е 12 -1. 72 Е 9 73. 1 Е-16 Такую запись следует понимать соответственно как: 5 x 10^12 -1. 72 x 10^9 73. 1 x 10^-16 Паскаль допускает запись целых чисел и фрагментов действительных чисел в форме с порядком в шестнадцатиричной системе счисления: $7 F $40 $ABC 0
Типы данных Данные классифицируются следующим образом: Простые Порядковые Целые Логические Символьные Перечисляемые Интервальные Вещественные Структуированные Массивы Строки Множества Записи Файлы Указатели
Простые типы Идентификатор Длина Integer Byte Word Shortint Longint Real Single Double Extended Boolean Значения Целые -32768. . 32767 2 1 4 0. . 255 0. . 65535 -128. . 127 -2147483648. . 2147483647 Вещественные типы 2, 9 x 10^-39 - 1, 7 x 10^38 6 4 8 10 1, 5 x 10^-45 - 3, 4 x 10^38 5 x 10^-324 - 1, 7 x 10^308 3, 4 x 10^-4932 - 1, 1 x 10^4932 Логический тип 1 true, false Символьный тип Char 1 Символы кода ASCII
Порядковые типы • • Порядковые типы характеризуются следующими свойствами: все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество; к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе; к любому порядковому типу могут быть применены стандартные функции Pred и Succ, которые возвращают предыдущее и последующее значения соответственно; к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.
Выражения Выражение задает правило вычисления некоторого значения. Выражение состоит из констант, переменных, указателей функций, знаков операций и скобок.
Математические операции Обозначение Название Пример * Умножение 2*3 (результат: 6) / Деление 30/2 (результат: 1. 5 E+01) + Сложение 2+3 (результат: 5) - Вычитание 5 -3 (результат: 2) div mod Целостное деление Остаток от деления 5 div 2 (результат: 2) 5 mod 2 (результат: 1)
Логические операции Над логическими аргументами в Паскале определены следующие операции: NOT - логическое отрицание ("НЕ") AND - логическое умножение ("И") OR - логическое сложение ("ИЛИ") XOR - логическое "Исключающее ИЛИ"
Операции отношения К операциям отношения в Паскале относятся такие операции, как: > - больше < - меньше = - равно <> - не равно >= - больше или равно <= - меньше или равно В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.
Средства работы с числами • • • • Abs(X) Возвращает абсолютное значение числа X. Cos(X), Sin(X) Возвращает косинус (синус) числа X (X в радианах). Arc. Tan(X) Возвращает арктангенc числа X. Exp(X) Возвращает число, равное e в степени X. Ln(x) Возвращает число, равное натуральному логарифму от числа X. Pi Число Пи. Sqr(X) Возвращает число, равное квадрату числа X. Sqrt(X) Возвращает число, равное квадратному корню из числа X. Trunc(X) Возвращает число, равное целой части числа X. Frac(X) Возвращает число, равное дробной части числа X. Int(X) Возвращает Х, округленный в меньшую сторону. Round(X) Функция округляет число X до ближайшего целого. Random(X) Возвращает случайное целое число в диапазоне 0. . X. Если аргумент опущен (Random), то возвращается случайное вещественное число от 0 до 1. Рекомендуется использовать после randomize. Inc(X, Y) Увеличивает значение числа X на Y. Если число Y не указано, то увеличение происходит на единицу. Dec(X, Y) Уменьшает значение числа X на Y. Если число Y не указано, то уменьшение происходит на 1.
Ввод и вывод данных Для ввода данных с клавиатуры, либо чтения из файла используются процедуры read и readln. В аргументах указываются те переменные, которые нужно ввести. Конец вводимой переменной процедура read определяет по знаку пробела, а процедура readln – по концу строки. Для вывода данных на экран или записи в файл используются процедуры write и writeln. В отличае от write, writeln в конце записи осуществляет переход на новую строку для следующей записи. В аргументах указываются выводимые данные. Пример программы, которая выводит на экран введенный с клавиатуры символ: Program example; Var a: char; Begin write (‘Введите символ ‘); readln (a); writeln (‘Вы ввели символ ‘, a); End.
Присваивание значений Оператор присваивания : = нужен для того, чтобы присвоить переменной значение. Пример (программа умножает число на два): Program dva; Var a, b: integer; Begin Write (‘введите число ’); Readln (a); b : = a*a; Writeln (‘получается ‘, b); End.
Перечисляемый тип представляет собой ограниченную упорядоченную последовательность скалярных констант, составляющих данный тип. Значение каждой константы задается ее именем. Объявление типа: type Traffic_Light= (RED, YELLOW, GREEN); var Section: Traffic_Light; Можно сразу объявить переменную: var Section: (RED, YELLOW, GREEN); К переменным перечисляемого типа может быть применим оператор присваивания: Section : = YELLOW;
Оператор ветвления IF Оператор условного перехода имеет вид: if условие then оператор 1 else оператор 2; Условие – логическое выражение. Если условие – истина, то выполняется оператор 1, а если ложь оператор 2. В качестве оператора может выступать блок операторов, заключенный в пару begin и end. Например: if x > 0 then modul : = x else modul : = -x; If (a = b) or (a = c) then a: =a+1; else begin a : = b; c : = a; end; Противное условие может быть отброшено: if k > 0 then Write. Ln('k - число положительное');
Оператор ветвления CASE Оператор case позволяет определить не два случая, а сразу много. Имеет такой вид: case выражение of вариант : оператор; . . . else оператор end; Пример: case ch of 'A'. . 'Z', 'a'. . 'z' : Write. Ln('Буква'); '0'. . '9' : Write. Ln('Цифра'); '+', '-', '*', '/' : Write. Ln('Оператор'); else Write. Ln('Специальный символ') end;
Арифметический цикл FOR Операторы цикла позволяют многократно выполнять одни и те же операции, с меняющимися параметрами. В цикле for начальное и конечное значение параметра указывается сразу. Он имеет такой вид: for переменная : = значение 1 to значение 2 do оператор; Если значение 1 вдруг больше значения 2, то вместо ‘to’ нужно писать ‘downto’. Примеры: for x: =2 to 10 do Write. Ln(x*x); Начальное и конечное значение может быть и символьного типа: for ch: = ' Z' downto ' A' do Writeln(ch);
Цикл WHILE Общий вид цикла while: while условие do оператор; До тех пор, пока условие – истина, будет выполнятся оператор. Пример: eps: =0. 001; while x > eps do x: =x/2;
Цикл с постусловием Общий вид цикла repeat until: Repeat оператор; … оператор Until условие; Операторы выполняются до тех пор, пока условие не станет истиным. Пример: repeat Write. Ln('Введите положительное число'); Read. Ln(x) until x>0;
Завершение цикла Для всех операторов цикла выход из цикла осуществляется как вследствие естественного окончания оператора цикла, так и с помощью операторов перехода и выхода. Процедура Break выполняет безусловный выход из цикла. Процедура Continue обеспечивает переход к началу новой итерации цикла.
Программирование паскаль.ppt