Автор работы: Пользователь скрыл имя, 06 Декабря 2011 в 12:18, реферат
Строчные и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же). Цифра не может стоять на первом месте в идентификаторе, а символ подчеркивания может находиться в любой позиции (например, name1 и name2item являются допустимыми идентификаторами, а 5name - нет; _name, name_, name_item - тоже допустимые названия). Длина идентификатора может быть любой, но значимыми являются только первые 63 символа. В качестве имен не допускается использовать служебные слова.
Сипливец Юля, КМ-72
СИСТЕМЫ ПРОГРАММИРОВАНИЯ
Описание
подмножества языка
Паскаль
Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор в Турбо Паскале может включать в себя:
- буквы латинского алфавита,
- цифры
- символ подчеркивания.
Строчные
и прописные буквы не различаются
(например, NAME, Name и name будет означать
одно и то же). Цифра не может стоять
на первом месте в идентификаторе,
а символ подчеркивания может находиться
в любой позиции (например, name1 и name2item являются
допустимыми идентификаторами, а 5name -
нет; _name, name_, name_item - тоже допустимые названия).
Длина идентификатора может быть любой,
но значимыми являются только первые 63
символа. В качестве имен не допускается
использовать служебные слова.
2) Базовые типы данных
Для
обработки ЭВМ данные представляются
в виде величин и их совокупностей.
С понятием величины связаны такая
важная характеристика, как ее тип.
Тип определяет:
В табл.1 приведены типы данных Турбо Паскаль, объем памяти, необходимый для хранения одной переменной указанного типа, множество допустимых значений и применимые операции.
Пример декларации: х1: real
Пример представления констант:
45 – целое десятичное число
-21
– отрицательное десятичное целое
число
Пример декларации: х1: single;
Пример представления констант:
6; 1,43; 0; 8,467;
Пример декларации: х1: char;
Пример представления констант:
‘A’;
‘ ‘ – пробел, ‘; ’- точка с запятой
В табл.1 приведены операции Турбо Паскаля
Выражения,
заключенные в скобки, перед выполнением
вычисляются как отдельный
Операции с равным приоритетом производятся слева направо с возможным регулированием порядка выполнения скобками.
4) Типы данных пользователя и операции над ними
Пользовательский тип данных – массив.
Массив – структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.
Доступ к каждому элементу осуществляется путем индексирования элементов массива. Индексы представляют собой выражения любого скалярного типа, кроме вещественного. Тип индекса определяет границы изменения значений индекса.
Декларация:
Var <идентификатор,…> : array [тип индекса] of <тип компонент>;
Или
Type
<имя типа>= [тип индекса] of <тип компонент>;
Var
<идентификатор,…> : <имя
типа>;
Пример:
VAR
M1 : array[1..200] of integer; { М1, A1 - одномерные массивы целых и вещественных чисел }
A1 : array[100..200] of single;
ch1 : array['A'..'Z'] of char; { сh1, ch2 - одномерные массивы символов }
ch2
: array[0..255] of char;
Примеры присвоения значения:
M1[1] := 5;
A1[101] := 0.2;
ch1['B'] := 'C';
Если
в описании массива задан один
индекс, массив называется одномерным,
если n индексов – n-мерным.
5)
Операторы управления
ОПЕРАТОР ПРИСВАИВАНИЯ:
Оператор присваивания служит для присваивания значений переменным,
Декларация:<идентификатор>:=<
Пример: x:=1; a:=5. 02; b := 32*a+Sin(x); S:= 'Иван Иваныч';
СОСТАВНОЙ ОПЕРАТОР представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой, и ограниченную операторными скобками begin и end.
Декларация:
Begin
<оператор;>
…
<оператор>
End;
Пример:
Begin
A:=A*B+(N-D);
Rez:=A+B*Pi;
Writeln(Rez:12:6)
End;
ОПЕРАТОР ВЫБОРА
Декларация:
if логическое-выражение then оператор-1 [ else оператор-2 ]
Пример:
A:=2;
B:=8;
If A>B then writeln (‘A больше B’)
else writeln (‘А меньше
или равно В’).
ОПЕРАТОР ЦИКЛА С ПАРАМЕТРОМ
Декларация:
for целая-переменная := выражение-1 to выражение-2 do
оператор
for целая-переменная := выражение-1 downto выражение-2 do
оператор
ОПЕРАТОР ЦИКЛА С ПРЕДУСЛОВИЕМ (ПОКА ИСТИНА)
Декларация:
while логическое-выражение do
оператор
ОПЕРАТОР ЦИКЛА С ПОСТУСЛОВИЕМ (ПОКА ЛОЖЬ)
Декларация:
repeat
оператор-1; оператор-2; ... оператор-n
until логическое-выражение
Пример:
D:=1; S:=0;
Repeat
S:=S+D; D:=D+1;
Until(D<100);
6) Управление данными
В
стандарте языка Паскаль
При
первом способе (передача по значению)
значения фактических параметров копируются
в соответствующие формальные параметры.
При изменении этих значений в ходе выполнения
процедуры исходные данные (фактические
параметры) измениться не могут. Поэтому
таким способом передают данные только
из вызывающего блока в подпрограмму (т.е.
входные параметры). При этом в качестве
фактических параметров можно использовать
и константы, и переменные, и выражения.
При
втором способе (передача по ссылке) все
изменения, происходящие в теле процедуры
с формальными параметрами, приводят
к немедленным аналогичным изменениям
соответствующих им фактических параметров.
Изменения происходят с переменными вызывающего
блока, поэтому по ссылке передаются выходные
параметры. При вызове соответствующие
им фактические параметры могут быть только
переменными.
Выбор
способа передачи параметров при
создании процедуры происходит в
соответствии со сказанным выше: входные
параметры нужно передавать по значению,
а выходные - по ссылке. Практически
это сводится к расстановке в
заголовке процедуры описателя var при
всех параметрах, которые обозначают результат
работы подпрограммы.
Формат
описания процедуры имеет вид:
procedure
имя процедуры (формальные
раздел описаний процедуры
begin
исполняемая часть процедуры
end;
Формальные
параметры в заголовке процедур
и функций записываются в виде:
var
имя праметра: имя типа
и отделяются друг от друга точкой с запятой. Ключевое слово var может отсутствовать (об этом далее). Если параметры однотипны, то их имена можно перечислять через запятую, указывая общее для них имя типа. Список формальных параметров может отсутствовать.
Пример процедуры:
Procedure Sphere; - {не требует формальных параметров}
Procedure
Sort(A: integer); {A – формальный параметр}
Вызов процедуры производится оператором, имеющим следующий формат:
имя
процедуры(список фактических параметров);
Например,
вызываем процедуру с фактическим
параметром:
Sort(2);
Список
фактических параметров - это их
перечисление через запятую. При
вызове фактические параметры как бы
подставляются вместо формальных, стоящих
на тех же местах в заголовке. Таким образом
происходит передача входных параметров,
затем выполняются операторы исполняемой
части процедуры, после чего происходит
возврат в вызывающий блок. Передача выходных
параметров происходит непосредственно
во время работы исполняемой части.
При вызове процедур необходимо соблюдать следущие правила:
Рассмотрим использование процедуры на примере программы поиска максимума из двух целых чисел.
var
x,y,m,n: integer;
procedure MaxNumber(a,b: integer; var max: integer);
begin
if a>b then max:=a else max:=b;
end;
begin
write('Введите x,y ');
readln(x,y);
MaxNumber(x,y,m);
MaxNumber(2,x+y,n);