Алгоритмический язык Pascal
![]() |
Представление информации может осуществляться с помощью языков, которые являются знаковыми системами. Каждая знаковая система строится на основе определенного алфавита и правил выполнения операций над ними.
Алфавит языка PASCAL
Текст
PASCAL-программы представляет собой последовательность строк, состоящих
из символов, образующих алфавит языка.
Максимальная длина строки - 126
символов.
Лексическая структура языка
Символы из алфавита языка используются для построения базовых элементов PASCAL-программ - лексем.
Лексема - минимальная единица языка, имеющая самостоятельный смысл.
Зарезервированные (служебные) слова:
absolute |
div |
goto |
nil |
repeat |
var |
and |
do |
if |
not |
set |
virtual |
array |
downto |
implementation |
object |
shl |
while |
asm |
else |
in |
of |
shr |
with |
assembler |
end |
inline |
ot |
string |
xor |
begin |
external |
interface |
packed |
then |
|
case |
file |
|
private |
to |
|
const |
for |
interrupt |
procedure |
type |
|
constructor |
forward |
label |
program |
unit |
|
destructor |
function |
mod |
record |
uses |
|
2. Идентификаторы (имена)
Идентификаторы – это имена, которые состоят из латинских букв, цифр и символа подчеркивания и начинаются только с буквы или символа подчеркивания.
Примеры:
X |
_Beta |
программа |
Y22M |
5ABC |
Figure/Fer |
RAZMER |
Pascal_Basic |
INd67 |
index |
_123 |
Const |
Gamma |
Y.22 |
ABCD_1234_EFG |
Alfa_Beta |
CH Gamma |
Dos.Exec |
3. Знаки операций
Формируются из одного или нескольких специальных символов и предназначены для задания действий по преобразованию данных и вычислений.
Условное обозначение операции |
Наименование операции |
+ |
сложение |
- |
вычитание |
* |
умножение |
/ |
деление |
div |
деление целочисленное |
mod |
остаток от целочисленного деления |
:= |
присвоение |
= |
равно (сравнение) |
<> |
не равно (сравнение) |
< |
меньше (сравнение) |
> |
больше (сравнение) |
<= |
меньше или равно (сравнение) |
>= |
больше или равно (сравнение) |
not |
логическое НЕ |
and |
логическое И |
or |
логическое ИЛИ |
xor |
исключительное ИЛИ |
5. Разделители
Формируются из специальных символов и в основном используются для повышения наглядности текстов программ. Например: “(“,”)”, “{“, “}”, “;”, пробел “ ”.
6. Изображения
Группа лексем обозначает числа, символьные строки и некоторые другие значения.
Представление чисел
![]() |
Система типов данных Turbo Pascal
![]() |
Общая структура программы
Соглашения о переменных
Основные характеристики переменной:
Имя (идентификатор) |
Alpha |
Тип переменной |
Real |
Значение |
12.345 |
Адрес |
$1000 : $2A34 |
Имя служит для того, чтобы в программе можно было обратиться к этому объекту (т.е. его идентифицировать).
Задание типа определяет область значений и вид внутреннего представления.
Значение переменной присваивается в программе путем считывания соответствующей константы, либо с помощью оператора присваивания.
Адрес является адресом в памяти, начиная с которого значение переменной записывается в память.
Var
X : Real; {вещественная переменная}
I, J, K : Integer; {три целые переменные}
S1, S2 : Char; {две символьные переменные}
LOGIC : Boolean; {логическая переменная}
Соглашения о постоянных
Постоянная (константа) - величина, значение которой не будет изменяться в ходе выполнения программы.
Const
Min =0; {целое число}
Max =500; {целое число}
E =2.7; {вещественное число}
SpecChar =’\’; {символ}
HelpStr =’Нажмите клавишу F1’; {строка}
OK =True; {логическая константа}
MaxReal =1.7e38; {вещественное число}
{определение констант как выражения из чисел, некоторых функций языка и определенных ранее простых констант}
Interval = Max - Min;
Key = Chr (27);
E2 = E * E;
Типизированные
константы
(переменные со стартовым значением)
Типизированные константы являются переменными, которым в той части программы, где описываются константы, присваивается некоторое начальное значение. Они не только могут описываться как переменные, их можно использовать в качестве переменных, т.е. им можно присвоить новое значение.
Const
R : Real = 1.1523;
I : Integer = -10;
S : String[10] = ’Привет ! ’;
Done : Boolean = True;
Операторы Паскаля
![]() |
|||||||||||
![]() |
![]() |
||||||||||
![]() |
|
||||||||||
![]() |
|||||||||||
![]() |
|||||||||||
![]() |
|||||||||||
|
|||||||||||
![]() |
|||||||||||
![]() |
|||||||||||
![]() |
Не выполняет никаких операций и ничего не изменяет в данных и в программе.
Он ставится из соображения синтаксиса там, где синтаксис требует наличие некоторого оператора, а никакой оператор там стоять не должен.
If A > 0 Then begin B:= A + 10; Write(A, B) end
Else B:= A – 4;
![]() |
Правила выполнения оператора присваивания
Var
I, J : Integer;
X, Y : Real;
A, B : Char;
P, Q : Boolean;
Правильные записи оператора присвоения:
P := False;
A := ’+’;
X := I + J mod 7;
Q := Odd ( J + I div 5 );
J := Round ( X / 2 );
Y := 275;
Неправильные записи оператора присвоения:
I := 3.375;
B := ’Ha’;
A := +;
X + 3 := Y;
Выражение – конструкция языка, задающая порядок выполнения действий над элементами данных.
Выражение состоит из элементов данных – операндов.
![]() |
обеспечивает ввод данных для последующей их обработки программой.
Read (параметр1, параметр2, …, параметрN)
где параметр1, параметр2, …, параметрN – переменные допустимых типов данных.
Числовой (целый, вещественный) |
Считывается одно число соответствующего формата и значение его присваивается переменной параметр1. Знаки пробела или перевода строки перед числом игнорируются
|
Символьный (Char) |
Считывается один символ и его значение присваивается переменной параметр1.
|
Строковый (String) |
При длине N строковой переменной параметр1 считывается N символов.
|
Правила выполнения оператора вызова процедуры Read
· Для числовых значений параметр1, параметр2, …, параметрN набираются на клавиатуре минимум через один пробел.
· После набора данных для одного оператора вызова процедуры Read нажимается клавиша ввода Enter.
· Значения переменных должны вводиться в строгом соответствии с синтаксисом языка Turbo Pascal. Если соответствие нарушено, то возникают ошибки ввода-вывода.
· Строковые (String) значения при вводе лучше всего располагать в отдельной строке.
Var A : Integer;
B : Char;
C : Real;
Begin
Read (A, B, C);
End.
Набираем на клавиатуре:
234R 15.7358 <Enter>
обеспечивает ввод данных для последующей их обработки программой.
ReadLn (параметр1, параметр2, …, параметрN)
Общие свойства: |
· Считывает значение в переменные в том порядке, в каком они указаны в списке ввода. · Считывание прекращается после того, как все переменные этого списка получат значения. |
Отличие: |
|
Read |
после выполнения курсор находится в той же строке, компьютер готов к считыванию из очередной позиции текущей строки.
|
ReadLn |
после выполнения курсор перемещается на начало следующей строки.
|
Примеры
Var A : Char;
B : Integer;
C : Real;
Read (a, b, c) ReadLn (a, b, c)
Вводимая информация |
Результат выполнения процедур |
S <пробел> 35 <пробел> -47.82 <Enter> |
a = S b = 35 c = -47.82
|
S <Enter> 35 <Enter> -47.82 <Enter> |
a = S b = 35 c = -47.82
|
S <пробел> 35 <пробел> -47.82 <пробел> 7 <Enter> |
a = S b = 35 c = -47.82
|
Read (a, b, c);
Read (d);
23 |
<пробел> |
74 |
<пробел> |
9 |
<Enter> |
82 |
<Enter> |
|
|
|
|
|
|
|
|
a |
|
b |
|
c |
|
d |
|
ReadLn (a, b, c);
Read (d);
23 |
<пробел> |
74 |
<пробел> |
9 |
<пробел> |
82 |
<Enter> |
|
|
|
|
|
|
|
|
a |
|
b |
|
c |
|
d |
|
Read (a); Read (b); Read (c);
1-ый способ
23 |
<пробел> |
74 |
<пробел> |
9 |
<Enter> |
2-ой способ
23 |
<Enter> |
74 |
<Enter> |
9 |
<Enter> |
ReadLn (a); ReadLn (b); ReadLn (c);
1-ый
способ
23 |
<пробел> |
74 |
<пробел> |
9 |
<Enter> |
2-ой способ
23 |
<Enter> |
74 |
<Enter> |
9 |
<Enter> |
Write (параметр1, параметр2, …, параметрN)
WriteLn (параметр1, параметр2, …, параметрN)
где параметр1, параметр2, …, параметрN - переменная, константа, выражение любого допустимого типа (целый, вещественный, логический, символьный, строковый, диапазон и др.).
Примеры
A := 1; B := 2; C := 3;
Write (A); Write (B); Write (C);
1 |
2 |
3 |
Write (A,B,C);
1 |
2 |
3 |
WriteLn (A); WriteLn (B); WriteLn (C);
1 |
2 |
3 |
WriteLn (A,B,C);
1 |
2 |
3 |
WriteLn (B, '@', A, 'сумма', C+A);
![]() |
![]() |
![]() |
![]() |
||||
2 |
@ |
1 |
с |
у |
м |
м |
а |
4 |
1. Параметры определения ширины поля для параметра при печати
Write (параметр1 : длина, параметр2 : длина, …)
Длина – целое выражение, определяющее общий размер поля для вывода параметра.
A := 10; B := 2; C := 100;
WriteLn (A, B, C);
1 |
0 |
2 |
1 |
0 |
0 |
WriteLn (A:2, B:2, C:4);
1 |
0 |
|
2 |
|
1 |
0 |
0 |
WriteLn (A, B:2, C:2);
1 |
0 |
|
2 |
1 |
0 |
0 |
X := 421.53;
WriteLn (X);
|
4 |
. |
2 |
1 |
5 |
3 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
E |
+ |
0 |
2 |
X := -421.53;
WriteLn (X);
- |
4 |
. |
2 |
1 |
5 |
3 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
E |
+ |
0 |
2 |
X := 421.53;
WriteLn (X : 8);
|
4 |
. |
2 |
E |
+ |
0 |
2 |
2. Параметр определения числа знаков после десятичной точки при печати
Write (параметр1 : длина : количество, …)
Количество – целое выражение, определяющее, сколько цифр после десятичной точки выводить для числа с фиксированной точкой.
X := 421.53;
WriteLn (X : 7 : 2);
|
4 |
2 |
1 |
. |
5 |
3 |
WriteLn (X : 9 : 4);
|
4 |
2 |
1 |
. |
5 |
3 |
0 |
0 |
WriteLn (X : 6 : 4);
|
4 |
2 |
1 |
. |
5 |
3 |
0 |
0 |
Оператор условия If выполняется следующим образом:
· Вычисляется логическое выражение (булевый тип: True, False),
· Если значение логического выражения есть True (истина), выполняется <Оператор-1>, указанный после Then,
· Если значение логического выражения есть False (ложь), выполняется <Оператор-2>, указанный после Else.
If A>0 Then C:=A
Else C:= Abs(A);
C:= A;
If A>0 Then C:=Abs(A);
Ввести число. Если это число положительное, то на экран вывести сообщение "Положительное число". Если это число отрицательное, то на экран вывести сообщение "Отрицательное число".
Исходные данные: А
Program Trial_1;
Var A : Integer;
Begin
Write ('Введите число'); ReadLn (A);
If A >= 0 Then WriteLn('Положительное число')
Else WriteLn('Отрицательное число')
End.
Исходные
данные: X
Да Нет
Program Trial_2;
Var X : Integer; Y : Real;
Begin
Write ('Введите число'); ReadLn (X);
If X > 5 Then Y:=1/(X-5)
Else Y:= 5*X;
WriteLn (Y)
End.
Если вычислительный процесс содержит многократные вычисления по одним и тем же математическим зависимостям, то его называют циклическим процессом.
Многократно повторяемые участки вычислений называются циклами, а переменные, изменяющиеся в цикле, - переменными цикла (параметрами).
Вычислить значение функции Y = aN, где а - действительное число с натуральным показателем.
Y = a * a * a * a * a * … * a
![]() |
N
1. В языке Pascal различают три вида операторов цикла:
![]() |
![]() |
![]() |
2. Выражение, управляющее повторениями, должно иметь булевский тип.
3. В случае если число повторений оператора (составного оператора) заранее неизвестно, а задано лишь условие его повторения (или окончания) используются операторы while, repeat.
4. Оператор for используется, если число повторений заранее известно.
Число повторений заранее известно.
Предусматривает повторное выполнение <оператора> с одновременным изменением по правилу арифметической прогрессии значения, присваемого управляющей переменной.
<переменная> - параметр цикла; является переменной порядкового типа;
<выражение-1> - выражение определяет начальное значение параметра цикла;
<выражение-2> - выражение определяет конечное значение параметра цикла;
<оператор> - выполняемый оператор.
1. Параметр цикла - <переменная>, начальное - <выражение-1>, конечное - <выражение-2> значения должны быть одинакового типа, их тип может быть любым скалярным типов, кроме вещественного.
2. Цикл не выполняется вообще, если:
начальное значение больше, чем конечное для For – to
начальное значение меньше, чем конечное для For - downto.
3. По окончании цикла значение переменной цикла не определено и не может использоваться в дальнейших вычислениях.
4. После ключевого слова Do может стоять только один оператор.
Запрещается
1. Изменять переменную цикла.
For I := 1 to N do
begin
Y := Y * A;
I := I + 2
end;
2. Входить в цикл с помощью оператора Goto, так как в этом случае начальное и конечное значения параметра цикла не будет определено.
goto METKA1;
For I := 1 to N do
begin
METKA1: Y := Y * A;
I := I + 2
end;
Вычислить значение функции , где а -
действительное число с натуральным показателем.
Program MULTI_1; Var A,Y:Real; I,N: Integer;
BeginWrite(’Введите число А-’); Readln (A); Write(’Введите степень числа А - ’); Readln ( N ); Y:= 1; For I:= 1 to N do Y:= Y * A; Write (’Результат -’ , Y ) End.
|
Program MULTI_2; Var A,Y:Real; I,N: Integer; BeginWrite(’Введите число А-’); Readln (A); Write(’Введите степень числа А - ’); Readln ( N ); Y:= 1; For I:= N downto 1 do Y:= Y * A; Write (’Результат -’ , Y ) End.
|
Предусматривает повторное выполнение <оператора>.
Перед каждым очередным выполнение производится проверка значения <логического выражения>, которое служит критерием повторения.
Если это выражение имеет значение:
True, то выполняется очередная итерация;
False, то выполнение оператора цикла заканчивается.
Если <логическое выражение> с самого начала имеет значение False, то цикл не выполняется ни разу.
Дано число N. Подсчитать количество цифр данного числа.
Блок - схема циклического процесса с предусловием
Предусматривает повторное выполнение <операторов>.
Отличается от While, тем, что условие проверяется после выполнения очередной итерации и критерием прекращения цикла является равенство <логического выражения> константе True.
Если <логическое выражение> имеет значение False, то цикл повторяется.
Гарантируется хотя бы одно выполнение цикла.
Пример
Вводит и суммирует любое количество целочисленных значений. Если введено значение 999, то на экран выводится результат суммирования.
Блок - схема циклического процесса с постусловием
![]() |
|||
![]() |
|||
Program DemoRepeat;
Var
X : Integer;
Sum : Real;
Begin
Sum := 0;
Repeat
Write( ' Значение X= ' );
Readln(X);
If X <> 999 then Sum:= Sum+X;
until X = 999;
Writeln( ‘ Сумма введенных чисел = ', Sum );
End.
Настоящий материал опубликован пользователем Накишева Салтанат Бакытбековна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
Удалить материалучитель информатики
Файл будет скачан в форматах:
Материал разработан автором:
Суфьянова Назгуль Ильдусовна
Информатика\Математика
Тест по теме "Начала программирования на языке Паскаль" 8 класс.
Тест представлен в двух вариантах, а также приведены ответы для учителя.
Этот тест поможет учащимся проверить свои знания основ программирования на языке Паскаль и понять ключевые концепции языка.
Курс повышения квалификации
Курс повышения квалификации
36 ч. — 180 ч.
Курс профессиональной переподготовки
500/1000 ч.
Курс профессиональной переподготовки
300/600 ч.
Еще материалы по этой теме
Смотреть
Рабочие листы
к вашим урокам
Скачать
Представление информации может осуществляться с помощью языков, которые являются знаковыми системами. Каждая знаковая система строится на основе определенного алфавита и правил выполнения операций над ними.
Алфавит языка PASCAL
Текст PASCAL-программы представляет собой последовательность строк, состоящих из символов, образующих алфавит языка.
Максимальная длина строки - 126 символов.
Лексическая структура языка
Символы из алфавита языка используются для построения базовых элементов PASCAL-программ - лексем.
Лексема - минимальная единица языка, имеющая самостоятельный смысл.
Зарезервированные (служебные) слова:
absolute
div
goto
nil
repeat
var
and
do
if
not
set
virtual
array
downto
implementation
object
shl
while
asm
else
in
of
shr
with
assembler
end
inline
ot
string
xor
begin
external
interface
packed
then
case
file
private
to
const
for
interrupt
procedure
type
constructor
forward
label
program
unit
destructor
function
mod
record
uses
7 246 826 материалов в базе
Вам будут доступны для скачивания все 223 503 материалы из нашего маркетплейса.
Мини-курс
4 ч.
Мини-курс
4 ч.
Мини-курс
4 ч.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.