Программирование на языке Pascal Возникновение и назначение Паскаля
Синтаксис и семантика языка PASCAL
Идентификаторы
Константы
Нетипизированные константы
Выражения и оператор присваивания
Операторы
Примеры с использованием выражений и операторов присваивания
Ввод и вывод: консоль
Ввод с консоли
Компиляция, отладка и тестирование
Директивы компилятора
Вывод на консоль
294.50K
Категория: ПрограммированиеПрограммирование

Программирование на языке Pascal. Возникновение и назначение Паскаля

1. Программирование на языке Pascal Возникновение и назначение Паскаля

Среди современных языков программирования одним из
самых популярных является язык Паскаль. Этот язык
разработан в 1971 году и назван в честь Блеза Паскаля французского ученого, изобретателя механической
вычислительной машины. Автор языка Паскаль швейцарский профессор Никлаус Вирт.
Паскаль - это универсальный язык программирования,
позволяющий решать самые разнообразные задачи
обработки информации.
Команду алгоритма, записанную на языке
программирования, принято называть оператором.

2. Синтаксис и семантика языка PASCAL

Элементы основного словаря :
символы, используемые в идентификаторах;
специальные знаки;
зарезервированные слова.
Идентификатор - это имя какого-либо объекта программы (константы, переменной,
процедуры, функции и т.п.).
Специальные знаки + - * / { } [ ] ( ) = < > . , .. : ; @ # $ :=
Зарезервированные слова begin, var, while и т.п.
Примеры использования идентификаторов
неправильные
Юля
2 Sum
x^2
Cd RW
Begin
правильные
Аnna
_1
summa_y

3. Идентификаторы

• Имена, даваемые программным объектам ( константам,
типам, переменным, функциям и процедурам, да и
всей программе целиком) называются идентификаторами.
Они могут состоять только из цифр, латинских букв и знака
"_" (подчеркивание). Однако цифра не может начинать имя.
Идентификаторы могут иметь любую длину, но если у двух
имен первые 63 символа совпадают, то такие имена
считаются идентичными.
• Вы можете давать программным объектам любые имена, но
необходимо, чтобы они отличались от зарезервированных
слов, используемых языком Pascal, потому
что компилятор все равно не примет переменные с "чужими"
именами.

4.

Структура программы на языке Pascal
Заголовок
Блок описаний
Блок операторов
1
1. Заголовок
Program <имя программы>;
2. Блок описаний
2
Описание внешних модулей
Uses Crt, Uses Graph, Uses System
Описание меток
Label 1,2;
Описание констант
Const а = 5;
Описание типов
Type day=1..31;
3
Описание переменных
Var Mass : integer;
3. Раздел операторов
Begin . . . end.
Program Prim;
uses crt;
const
a=5;
var
b,c,p: integer;
pp: real;
begin
b:=3;
c:=5;
p:=a+b+c; {периметр}
pp:=p/2; {полупериметр}
writeln ('периметр =',p,' полупериметр =',pp);
readkey;
end.

5. Константы

Константа - это объект, значение которого известно еще
до начала работы программы.
Константы необходимы для оформления
наглядных программ, незаменимы при использовании в
тексте программы многократно повторяемых значений,
удобны в случае необходимости изменения этих значений
сразу во всей программе.
В языке Pascal существует три вида констант:
• неименованные константы (цифры и числа, символы и
строки, множества);
• именованные нетипизированные константы ;
• именованные типизированные константы.

6. Нетипизированные константы

Именованные константы, как следует из их названия, должны
иметь имя. Стало быть, эти имена необходимо сообщить
компилятору, то есть описать в специальном разделе const.
Если не указывать тип константы, то по ее внешнему
виду компилятор сам определит, к какому (базовому) типу ее
отнести. Любую уже описанную константу можно использовать
при объявлении других констант, переменных и типов данных.
Типизированные константы
Типизированные именованные константы представляют
собой переменные (!) с начальным значением, которое к моменту
старта программы уже известно. Следовательно, во-первых,
типизированные константы нельзя использовать для
определения других констант, типов данных и переменных, а вовторых, их значения можно изменять в процессе
работы программы.

7.

Основные простые типы данных
Название типа
Обозначение
типа
Допустимые значения
Формат
Примеры
Shortint
-128…+127
1 байт
Byte
0…255
1 байт
Integer
32768...32767
2 байта
Word
0…65535
2 байта
Longint
-2147483648…+2147483647
4 байта
Real
2.9x10-39. ..1.7x1038
Single
1.5х10-45…3.4х1038
Double
5.0x10-324. .. 1.7x10308
8 байтов (число значащих цифр 15-16)
Extended
3.4x10-4932. .. 1.1x104932
10 байт (число значащих цифр 19-20)
Comp
-9.2x1018. .. 9.2x1018
8 байтов (число значащих цифр 19-20)
Символьный
Char
Любой из 256 символов
таблицы ASCII
1 байт
Логический
Boolean
false, true
1 байт
false, true
String
Последовательность символов
из набора АSCII,
расположенная на одной
строке
(n+1) байт, где n- число символов в
строке
'Это строка
символов'
Целочисленный
Вещественный
Строковый
6 байтов (точность до 11
отрицательных и 12 положительных
значащих чисел)
4 байта (число значащих цифр 7-8)
-25, 2005
-0.32
2Е3
-0,1 Е -7
'А'
'!'

8. Выражения и оператор присваивания

Пример.
Чему равны значения переменных х и y после выполнения операторов?
x:=2; y:=5; x:=y; y:=x
Операции в паскаль делятся
арифметические;
логические;
операции отношения (сравнения).
Арифметические: унарные + - , бинарные + - * / div (целочисленного деления ) и mod
(остатка от целочисленного деления).
Логические: унарная логическая операция (not) и бинарные (and) - логическое и, (or)
логическое или, (xor) исключающее или.
Операции отношения: = равно; <= меньше или равно; <> не равно; >= больше или
равно; < меньше; > больше.
Приоритеты выполнения операций:
1. Вычисление значений функций;
2. Унарные операции -, +, not;
3. *, /, div, mod, and, +, -, or, xor;
4. Операции отношения.

9. Операторы

Если говорить строго, то оператором называется (минимальная)
структурно законченная единица программы.
Важно! Все операторы языка Pascal должны заканчиваться знаком
";" (точка с запятой), и ни один оператор не может разрываться этим
знаком. Единственная возможность не ставить после оператора ";"
появляется в том случае, когда сразу за этим оператором следует
ключевое слово end.
К простейшим операторам языка Pascal относятся:
a:= b; - присваивание переменной а значения переменной b. В правой
части присваивания может находиться переменная, константа,
арифметическое выражение или вызов функции.
Операторные скобки, превращающие несколько операторов в один:
begin
<несколько операторов>
end;

10. Примеры с использованием выражений и операторов присваивания

№ 1.Дано четырехзначное число.
Найти составляющие его цифры.
program m;
uses crt;
var
abcd, a,b,c,d: integer;
Begin
сlrscr; {клокрин)
abcd:=2345;
a:= abcd div 1000;
b:= abcd div 100 mod 10;
c:= abcd mod 100 div 10;
d:= abcd mod 10;
write (‘a= ’, a, ‘b= ’, b, ‘c= ’, c, ‘d= ’, d);
readkey; end.
№ 2 Написать булевы выражения, с
помощью которых определяется, является ли
человек
1) замужней женщиной; 2) незамужней
блондинкой; 3) безработным, неженатым
мужчиной; 4) замужним или женатым человеком.
Исходные значения переменных
man истинна, если человек мужчина;
blond истинна, если у человека светлые
волосы;
mall истинна, если человек женат;
empl истинна, если человек работает.
1) mall and not man.
2) not mall and blond.
3) not empl and not mall and man.
4) mall man or mall not man.
№ 3 Найти значение выражения A and b or not c and d
Исходные значения переменных
a=true; b= false; c= false; d= true.
2
4 1
3
True and false or not false and true
false
true
false

11. Ввод и вывод: консоль

Любой алгоритм должен быть результативным. В общем
случае это означает, что он должен сообщать результат своей
работы потребителю: пользователю-человеку или
другой программе (например, программе управления
принтером). Мы не будем описывать здесь внутренние
автоматические процессы, использующие сигналы
непрерывно функционирующих программ, а сосредоточим
внимание на взаимодействии программы и человека, то есть
на процессах ввода информации с клавиатуры и вывода ее на
экран.
В программировании существует специальное
понятие консоль, которое обозначает клавиатуру при вводе
и монитор при выводе.

12. Ввод с консоли

Для того чтобы получить данные, вводимые пользователем
вручную (то есть с консоли ), применяются команды
read(<список_ввода>) и readln(<список_ввода>).
Первая из этих команд считывает все предложенные ей
данные, оставляя курсор в конце последней строки ввода, а
вторая - сразу после окончания ввода переводит курсор на
начало следующей строки. В остальном же их действия
полностью совпадают.
Список ввода - это последовательность имен переменных,
разделенных запятыми. Например, при помощи команды
readln(k,x,c,s); {k:byte; x:real; c:char; s:string}
программа может получить с клавиатуры данные сразу для
четырех переменных, относящихся к различным типам
данных.

13. Компиляция, отладка и тестирование

В языке программирования, как и в любом другом языке,
существуют синтаксис - правила записи его конструкций
- и семантика - смысл его конструкций. Компилятор
проверяет только синтаксис. Поиском же семантических
ошибок занимается программист в
процессе тестирования и отладки своей программы
Отладка - это поиск и исправление ошибок
в программе. Тестирование - это составление
специальных наборов входных и выходных
данных (тестов), а затем исполнение программы и
проверка полученных результатов в поисках возможных
семантических или логических ошибок.

14. Директивы компилятора

Строка, начинающаяся символами {$, является
не комментарием, а директивой компилятора специальной командой, от которой зависит процесс
компиляции и выполнения программы. Директивы мы
будем рассматривать в тех разделах, к которым они
относятся "по смыслу".
Например, строка {$I-,Q+} отключает контроль
правильности ввода-вывода, но включает контроль
переполнения при вычислениях.

15. Вывод на консоль

Сделаем одно важное замечание: ожидая от человека ввода с
клавиатуры, не нужно полагать, что он окажется ясновидящим
и просто по мерцанию курсора на черном экране догадается,
какого типа переменная нужна ожидающей программе.
Старайтесь всегда придерживаться правила: "лысый" ввод
недопустим! Перед тем как считывать что-либо с консоли,
необходимо сообщить пользователю, что именно он должен
ввести: смысл вводимой информации, тип данных,
максимальное и минимальное допустимые значения и т.п.
Примером неплохого приглашения служит, скажем, такая
строчка:
Введите два вещественных числа (0.1<x,y<1000000) - длины
катетов.
Список вывода может состоять из нескольких переменных,
записанных через запятую; все эти переменные должны иметь
тип либо базовый5, либо строчный. Например, writeln(a,b,c);
English     Русский Правила