- •Язык программирования Pascal Алфавит языка Pascal
- •Числа. Представления чисел
- •Имена и идентификаторы.
- •Структура программы на Pascal
- •Типы данных
- •Простые типы данных. Данные целого типа.
- •Данные вещественного типа
- •Данные логического типа
- •Данные символьного типа
- •Стандартные процедуры и функции
- •Арифметические выражения
- •Логическое выражение
- •Оператор присваивания
- •Составной оператор
- •Пустой оператор
- •Операторы ввода
- •Вводи числовых данных
- •Ввод символьных данных
- •Ввод логических данных
- •Вывод данных на экран
- •Оператор выбора или оператор варианта
- •Перечислимый тип данных
- •Ограниченный тип данных или тип диапазон
- •Оператор цикла
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Оператор цикла с параметром
- •Итерационный цикл
- •Оператор присоединения
- •Подпрограммы
- •Подпрограммы-процедуры
- •Подпрограммы-функции
- •Параметры массивы и параметры строки.
- •Рекурсия
- •Типизированные константы
- •Алгоритм создания последовательного файла.
- •Алгоритм доступа к элементам файла.
- •Алгоритм добавления элементов в последовательный файл.
- •Строковый тип данных. Строковые выражения.
- •Операция отношения.
- •Процедуры.
- •Текстовый файл.
- •Заголовок модуля. Связь модуля с программой.
- •Стандартные модули
- •Объектно-ориентированное программирование (ооп)
- •Работа с массивами
- •Множества
- •Операции над множествами
- •Понятие файла
- •Работа с файлами
- •Структура модуля
- •Стандартные модули языка Delphi
Оператор присоединения
Префикс – обязательная предшествующая часть составного идентификатора для имен полей в структуре типа запись. Очень часто у программиста возникает желание не указывать префикс в имени полей, например, когда идет постоянное использование одних и тех же записей. Чтобы упростить обращение к элементам записи используют оператор присоединения:
with <имя_записи> do <действие с полем записи>;
Следует обратить внимание на то, что после служебного слова do может стоять только один оператор, но он может быть составным (любая последовательность операторов, заключенная в операторные скобки begin end ).
БЕЗ оператора присоединения:
for I:=1 to 100 do
begin
writeln (‘введите сведения о’, I , ‘-м студенте’);
writeln (‘введите фамилию, имя и отчество’);
readln (student[I].fio);
writeln (‘введите дату рождения’);
readln (student[I].dat_r);
writeln (‘введите адрес’);
readln(student[I].adres);
writeln (‘введите курс’);
readln(student[I].curs);
writeln (‘введите группу’);
readln (student[I].grupp);
end;
С оператором присоединения:
for I:=1 to 100 do
with student[I] do
begin
writeln (‘введите сведения о’, I , ‘-м студенте’);
writeln (‘введите фамилию, имя и отчество’);
readln (fio);
writeln (‘введите дату рождения’);
readln (dat_r);
writeln (‘введите адрес’);
readln(adres);
writeln (‘введите курс’);
readln(curs);
writeln (‘введите группу’);
readln (grupp);
end;
Подпрограммы
Если по ходу выполнения программы нужно производить одни и те же действия с разными данными в разных местах программы, то определяют эти действия в самостоятельную часть программы. Это автономная часть программы оформленная четко выраженный вход и выход называется подпрограммой. В Pascal используют два вида подпрограмм:
подпрограмма-процедура;
подпрограмма-функция.
Подпрограммы аналогично программе имеют заголовок, раздел описания и раздел операторов.
Подпрограммы-процедуры
Подпрограмма-процедура используется, когда основной программе из-под программы нужно передать один или более результатов или не передается никаких результатов.
Procedure <имя процедуры> (<формальные параметры>);
{блок описания}
begin
{блок операторов}
end;
Тест процедуры указывается в блоке описания основной программы. В блоке операторов основной программы содержится обращение к этой процедуре.
Формальные параметры бывают входные и выходные.
Входные параметры необходимы, чтобы выполнить действия в основной программе, и доступны только для чтения. Выходные параметры передают результаты работы подпрограммы основной программе. Перед выходными параметрами указывается var и они доступны, как для чтения, так и для записи. За формальными параметрами никаких конкретных значений не стоит. Они используются для организации действий в подпрограмме.
(<имя перемен. 1>:<тип переменной>; <имя перемен.2>,., <имя перемен.3>,<имя перемен.4>:<тип переменной>); var <имя перемен. n>:<тип переменной>,..., var <имя перемен. x>,<имя перемен. y>:< тип переменной >;
Фактические параметры указываются при вызове процедуры в блоке операторов. Оператор вызова имеет следующий вид:
<имя процедуры>(фактические параметры);
Фактические параметры указываются через запятую и должны совпадать с формальными параметрами по количеству, по типу и по месту. Желательно имена формальных и фактических параметрам давать разные. Подпрограммы допускают вложенность.
Имена величин объявленные в блоке описания основной программы доступны в блоке операторов основной программы доступны в блоке операторов основной программы и любой подпрограммы, описанной в основной программе, и называются глобальными.
Имена величин, объявленные в разделе описания подпрограммы, доступны в этой подпрограмме или вложенной в нее подпрограмме. Не доступны основной программе и называются локальными.
Program ma;
Var
C:real;
N,m:byte;
N1,m1,n_m1:longint;
Procedure fackt(k:byte;var p:longint);
Var
I:byte;
Begin
P:=1;
For i:=1 to k do p:=P*I;
End;
{ основная программа }
Begin
Repeat
Write (‘m=’, ‘n=’);
Read (m,n);
Until n>m;
Fackt (n,n1);
Fackt (m,m1);
Fackt (n_m, n_m1);
C:= n1/m1*(n-m)1;
Write (‘c=’,c);
Readln;
End.