Слайд 2Pascal
Паскаль был разработан швейцарским ученым Никлаусом Виртом. Паскаль считается важнейшим
инструментом для обучения методам структурного программирования и с 1983 г.
введен в учебные курсы в школах для учащихся, которые специализируются в области информатики.
В дальнейшем язык Паскаль совершенствовался и приобрел новые свойства, отличные от авторского варианта.
Слайд 3Язык Паскаль относительно прост в изучении, довольно ясен и логичен
и, будучи первым изучаемым языком программирования, приучает к хорошему стилю.
Слайд 4Как и естественные языки, каждый язык программирования имеет свой
стиль и свои правила.
Синтаксис языка программирования – это набор
правил, которые определяют способы построения правильных программ из символов алфавита.
Слайд 5Алфавит языка Паскаль
26 латинских строчных и 26 латинских прописных букв:
A B C D E F G H I J
K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
подчеркивание _
10 цифр:
0 1 2 3 4 5 6 7 8 9
знаки операций:
+ - * / = <> < > <= >= := @
ограничители (разделители):
. , ' ( ) [ ] (. .) { } (* *) .. : ;
спецификаторы:
^ # $
Слайд 6Структура программы
{1. заголовок программы}
program Имя_Программы;
{2. раздел указания используемых модулей}
uses Список_Используемых_Модулей;
{3.
Раздел описаний}
label Описания_меток;
const Описания_Констант;
type Описания_Типов;
var Описания_Переменных;
procedure Описания_Процедур_и_функций;
function
exports Описания_Экспортируемых_Имен;
{4. Раздел операторов}
begin
Операторы
end.
Слайд 7Упрощенная структура программы
{1. заголовок программы}
program Имя_Программы;
{2. раздел указания используемых модулей}
uses
Список_Используемых_Модулей;
{3. Раздел описаний}
const Описания_Констант;
var Описания_Переменных;
{4. Раздел операторов}
begin
Операторы программы
end.
Слайд 8Команды языка программирования называются операторами
Разделителем операторов в Паскале является ;
(точка с запятой)
Слайд 9Комментарий представляет собой фрагмент текста программы, ограниченный символами { }.
Комменнтарии в программе выполняют информационную функцию.
{Моя первая программа }
program first;
begin
writeln(‘Hello, World!’)
end.
Слайд 10Пример: периметр прямоугольника
program perimetr; {заголовок программы}
uses crt; {crt
– необходим для очистки экрана}
var a,b:integer; {объявление
переменных}
P:integer;
Begin {начало программы}
clrscr; {очистка экрана}
a:=12; {присваиваем переменной а значение 12}
b:=7; {присваиваем переменной b значение 7}
P:=2*(a+b); {значение выражения присваиваем P}
write('P = ',P); {выводим на экран значение P}
end. {конец программы}
Слайд 11Программа в своей работе имеет дело с данными.
Некоторые данные
устанавливаются еще до того, как программа начнет выполняться, а после
ее запуска сохраняют свои значения неизменными на всем протяжении работы
программы. Это константы.
Другие данные могут изменяться во время выполнения программы. Они называются переменными.
Слайд 12Различие между переменной и константой довольно очевидно: во время выполнения
программы значение переменной может быть изменено, а значение константы нет.
переменные
константы
данные
Слайд 13Под переменной мы будем понимать ячейку
(«коробку»), куда компьютер может записывать («складывать») данные.
Под ячейкой мы в
действительности подразумеваем «кусочек памяти» в котором хранится информация.
Чтобы воспользоваться информацией, хранящейся в ячейке, нужно, чтобы каждая ячейка имела свое имя или, как часто говорят, - идентификатор.
a b sum
Слайд 14Идентификаторы.
Именами (идентификаторами) называют элементы языка - константы, метки, типы, переменные,
процедуры, функции, модули, объекты.
Идентификатором является последовательность букв, цифр и знаков
подчеркивания, которая начинается с буквы или символа подчеркивания и не содержит пробелов.
Слайд 15Имя может содержать произвольное количество символов, но значащими являются 63
символа.
Не разрешается в языке ПАСКАЛЬ использовать в качестве имен служебные
слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции и файлы.
Примеры имен языка ПАСКАЛЬ:
A b12 r1m SIGMA gamma I80_86
Слайд 16В Паскале разница между строчными и
прописными буквами игнорируется, поэтому имена
NaMe и name одинаковы.
Слайд 17Служебное слово – это слово, которое в языке ПАСКАЛЬ имеет
определенное смысловое значение, которое не может быть изменено. Иногда его
называют ключевым словом.
Слайд 18Служебные (зарезервированные) слова:
ABSOLUTE EXPORTS
LIBRARY SET
ASSEMBLER EXTERNAL
MOD SHL
AND FAR NAME SHR
ARRAY FILE NIL STRING
ASM FOR NEAR THEN
ASSEMBLER FORWARD NOT TO
BEGIN FUNCTION OBJECT TYPE
CASE GOTO OF UNIT
CONST IF OR UNTIL
CONSTRUCTOR IMPLEMENTATION PACKED USES
DESTRUCTOR IN PRIVATE VAR
DIV INDEX PROCEDURE VIRTUAL
DO INHERITED PROGRAM WHILE
DOWNTO INLINE PUBLIC WITH
ELSE INTERFACE RECORD XOR
END INTERRUPT REPEAT
EXPORT LABEL RESIDENT
Слайд 19 Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.
Существуют имена
которые называются стандартными.
sin cos real true
В отличие от
служебных слов смысл стандартных имен может быть переопределен программистом.
Слайд 20Это указание компилятору, сколько памяти необходимо зарезервировать для переменных нашей
программы.
В откомпилированной программе для всех переменных отведено место в памяти,
и всем переменным присвоены нулевые значения.
Все переменные, используемые в программе необходимо объявить в разделе описания переменных после зарезервированного слова var.
Объявление переменных
Слайд 21Данные бывают различных типов...
Слайд 22Типы данных
Имена стандартных типов являются предопределенными идентификаторами и действуют в
любой точке программы. Они описаны в стандартном модуле System, который
по умолчанию подключается в список используемых модулей.
Пользовательские типы – это дополнительные типы (простые и структурированные) описанные пользователем.
Слайд 23Стандартные типы данных
группа целых типов (Shortint, Integer, Longint, Byte,
Word);
группа действительных типов(Single, Real, Double, Extended, Comp);
логические (булевские типы)(Boolean,
ByteBool, WordBool, LongBool);
символьный(Char);
строковый (String);
указательный (Pointer);
текстовый тип (Text).
Слайд 25Var b : byte;
summa, count : integer;
Объявление переменных целого
типа
summa:= -365;
Испозование
Слайд 26Числа в языке ПАСКАЛЬ обычно записываются в десятичной системе счисления.
Положительный знак числа может быть опущен.
Целые числа записываются
в форме без десятичной точки, например:
217 -45 8954 +483
Слайд 27Группа вещественных типов
определяет те данные, которые реализуются
подмножеством действительных
чисел.
Var A: real;
begin
...
A:=0.65;
…
End.
Слайд 29Действительные числа записываются в форме с десятичной точкой или в
форме с использованием десятичного порядка, который изображается буквой Е:
28.6
0.65 -0.018 4.0
5Е12 -1.72Е9 73.1Е-16
Слайд 30Булевскому типу данных соответствует идентификатор Boolean. Переменные булевского типа имеют
размер 1 байт и могут содержать значения TRUE или FALSE.
Значению FALSE соответствует 0, любое число отличное от нуля считается TRUE.
Var knopka, flag : boolean;
Begin
knopka:=true;
Слайд 31Символьному типу соответствует стандартный идентификатор Char.
Переменные и константы символьного
типа могут принимать значения из множества символов кода ASCII.
Var
simvol, bukva, z : char;
Объявление символьных переменных
Слайд 32Строковому типу соответствует стандартный идентификатор String.
Var
S : String;
{строка от
0 до 255 символов}
S2: String[5];
{стока из 5-ти символов}
Слайд 33Строка символов представляет собой последовательность символов из набора символов кода
ASCII, заключенную в одиночные кавычки.
Строки в языке ПАСКАЛЬ - это
последовательность символов, записанная между апострофами. Если в строке в качестве содержательного символа необходимо употребить сам апостроф, то следует записать два апострофа.
Примеры строк:
'СТРОКА' 'STRING' 'АД''ЮТАНТ'
Слайд 34Символьный тип, а также целые и булевские типы относят к,
так называемым, порядковым типам.
Множество допустимых значений любого порядкового типа
представляет собой упорядоченную последовательность, каждый элемент которой имеет свой порядковый номер (начиная с 0).
Слайд 35Функция Ord
возвращает порядковый номер этого значения в описании типа.
Ord(2)=2, Ord(‘0’)=48
Writeln(ord(‘e’));
Writeln(ord(‘9’));
Слайд 36Таблица кодировки ASCII
ASCII (American Standard Code for Information Interchange;
произносится «а́ски») —компьютерная кодировка для представления латинского алфавита, арабских цифр,
некоторых знаков пунктуации и управляющих символов.
Ее ввел американский институт стандартизации ANSI.
Слайд 39Стандартный ввод и вывод
Осуществляется встроенными процедурами
Read(список переменных); – чтение значений,
введенных с клавиатуры
Readln(список переменных); - ln в конце означает переход
на новую строку
Write(список переменных); - вывод на экран
Writeln(список переменных);
Слайд 40Пример
Program primer;
Uses crt;
Var a,b,summa:integer;
Begin
clrscr;
write(‘Введите 2 целых числа: ’);
readln(a,b);
Summa:=a+b;
write(‘Сумма = ’,summa);
End.
Слайд 41Вводить можно переменные целых, вещественных, символьного и строкового типов.
Допускается вывод
значений целых, вещественных, символьного, строкового и булевских типов.
Слайд 42Операции и выражения
Выражение
в программировании служит для определения действий.
Выражения
состоят из операций и операндов.
По количеству операндов выражения делятся
на унарные (один операнд с символом операции: -5, -(-6), not False) и бинарные (два операнда, между которыми ставится символ операции: 5+7, (4-2)*5+10, True or False - истина или ложь).
Слайд 43Классификация операций
арифметические операции:
унарные: +, -
бинарные: +, -, *, /, div,
mod
2. операции отношения: =, , , =
3. булевские
(логические) операции:
not (логическое отрицание), and (лог. И), or (лог. ИЛИ), xor (исключающее ИЛИ)
4. строковая операция (конкатенация) +
Слайд 44div – частное от деления
7 div 3 = 2
A:=10 div
3;
mod – остаток от деления
7 mod 3 = 1
A:=25
mod 10;
Слайд 45Операторы
предназначены для описания действий, которые будут выполняться при реализации
алгоритма.
Слайд 46Простые операторы не содержат в себе других операторов.
1. Оператор присваивания
:=
2. Оператор процедуры состоит из имени, за которым в круглых
скобках может располагаться список фактических параметров. Swap(x, y).
3. Оператор перехода GoTo
Слайд 47Структурные операторы включают в себя другие операторы.
Составной оператор
Условные операторы (if,
case)
Операторы цикла (while, repeat, for)
Оператор присоединения with