- •Вопросы к экзамену по оАиП
- •1. Словарь языка Pascal.
- •2. Типы данных и переменные.
- •3. Операции.
- •4. Операции сдвига.
- •5. Побитовые операции «и», «или», «исключающее или».
- •6. Простые операторы языка Pascal.
- •7. Операторы для реализации перехода по условию.
- •8. Операторы для реализации повторяющихся действий.
- •9. Ввод-вывод в Pascal.
- •10. Одномерные массивы: описание, определение.
- •11. Действия по добавлению, удалению, перестановке элементов.
- •12. Двумерные массивы: описание, определение.
- •13. Действия по добавлению, удалению, перестановке строк и столбцов.
- •14. Множества.
- •15. Строки в Pascal: описание, определение.
- •16. Действия над строками.
- •17. Подпрограммы.
- •18. Функции: описание в программе, вызов.
- •19. Процедуры: описание в программе, вызов.
- •20. Формальные и фактические параметры подпрограмм.
- •21. Функции, возвращающие более одного значения.
- •22. Записи: описание, определение, действия.
- •23. Рекурсивное описание записи.
- •24. Массивы записей: описание, определение, действия.
- •28. Файл: описание, определение, виды.
- •29. Функции для работы с файлом.
- •30. Функции чтения/записи данных в/из файл(-а).
17. Подпрограммы.
Подпрограммы – разработанные самостоятельные программные блоки. Вызовы подпрограммы возможны неоднократно из разных участков основной программы.
18. Функции: описание в программе, вызов.
Если результатом подпрограммы является одно (несколько) значений, то имеет смысл оформить такую подпрограмму не в виде процедуры, а в виде функции:
function Имя Функции(Формальные Параметры): Тип Результата;
{Описательная Часть}
begin
{Инструкции исполнительной части функции}
Имя Функции:=Результат;
end;
Пример:
function programa(a, b, c: real; var x1, x2: real): integer;
……………..
writeln(programa(x1, x2)); {вызов функции}
x1, x2 – 2 выходных параметра; a, b, c – формальные параметры.
19. Процедуры: описание в программе, вызов.
Процедура – независимая именованная часть программы, которую после однократного описания можно многократно вызвать по имени из последующих частей программы для выполнения определенных действий:
procedure Имя Процедуры(Формальные Параметры);
{Описательная Часть}
begin
{Инструкции исполнительной части функции}
end;
Пример:
procedure horline(len: integer; s: char);
…………….
horline(10, ‘-‘); {вызов процедуры}
len, s – формальные параметры; число и символ – фактические параметры.
Пример 1:
uses crt;
const j=255;
type Rec=record
a:integer;
b:integer;
end;
var M:array[1..j] of Rec;
i_max, max, n, i, s:integer;
procedure Summa;
begin
max:=M[1].a; i_max:=1;
for i:=1 to n do
if (M[i].a>max) then
begin
max:=M[i].a;
i_max:=i;
end;
s:=0;
for i:=1 to n do
if max=M[i].a then
begin
s:=s+M[i].b;
end;
write(s);
end;
begin
readln(n);
for i:=1 to n do
begin
readln(M[i].b);
end;
for i:=1 to n do
begin
readln(M[i].a);
end;
Summa;
end.
Пример 2:
uses crt;
const j=255;
var a:array[1..j] of integer;
i, n, p, summ:integer;
procedure Vay;
begin
for i:=1 to n do
summ:=summ+a[i];
for i:=1 to n do
p:=p*a[i];
writeln(summ);
writeln(p);
end;
begin
p:=1;
writeln('Введите количество чисел');
readln(n);
for i:=1 to n do
readln(a[i]);
Vay;
end.
20. Формальные и фактические параметры подпрограмм.
Формальные параметры – параметры, которые определены в прототипе подпрограммы.
Фактические параметры – значения, которыми заменяются формальные параметры при вызове подпрограммы.
!!!Фактические параметры при вызове соответствуют формальным параметрам в прототипе: по количеству, по типам, по порядку следования.
21. Функции, возвращающие более одного значения.
function programa(a, b, c: real; var x1, x2: real): integer;
22. Записи: описание, определение, действия.
Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи.
Структура объявления типа записи:
< имя типа > = record < сп. полей > end ;
здесь < имя типа > – правильный идентификатор;
record, end – ключевые слова (пер. с англ.: запись, конец);
< сп. полей > – список полей, представляет собой последовательность разделов записи, между которыми ставится точка с запятой.
Язык Паскаль дает возможность сократить запись, если использовать оператор присоединения with. Структура оператора with :
with < сп. записей > do < оператор > ,
где with, do - ключевые слова (пер. с англ. с, делать),
< сп. записей > – список из одной или нескольких переменных типа запись, разделенных запятыми.
< оператор > - любой оператор языка паскаля.
Пример:
const M=255;
type T=record
F:string;
Mark:array[1..3] of integer;
Town:string;
end;
var spisok:T;
ball:real;
i,j,k,l,kol,n:integer;
s:char;
d:array [1..M] of string;
begin
kol:=0;
readln(n);
for i:=1 to n do
with spisok do
begin
writeln('Фамилия');
readln(F);
writeln('Введите оценки');
read(mark[1], mark[2], mark[3]);
ball:=(mark[1]+mark[2]+mark[3])/3;
writeln('Введите город');
read(Town);
if (ball>=4.0) and (Town='Минск') then d[i]:=F;
kol:=kol+1;
end;
for s:='а' to 'я' do
for i:=1 to n do
if copy(d[i],1,1)=s then
writeln(d[i]);
end.