- •Вопросы к экзамену по оАиП
- •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. Функции чтения/записи данных в/из файл(-а).
9. Ввод-вывод в Pascal.
Ввод данных – передача исходных данных программы в оперативную память компьютера для обработки.
Для ввода данных с клавиатуры применяются процедуры:
read (<список ввода>);
readln (<список ввода>);
Процедура readln идентична процедуре read за исключением того, что после считывания последней переменной, оставшаяся часть строки пропускается, так что следующее обращение к read или readln начнется с первого символа новой строки.
Вывод данных – передача данных после обработки из оперативной памяти на внешнее устройство.
Для вывода данных на экран используются процедуры:
writeln(<список ввода>);
write(<список ввода>);
Отличие процедуры writeln от write состоит лишь в том, что в процедуре write курсор остается на той же строке экрана за последним выведенным символом, а в writeln курсор переходит на начало следующей строки.
10. Одномерные массивы: описание, определение.
Массив – конечный набор однотипных элементов (совокупность данных одного типа).
<имя массива>: array[<t1>] of <t2>;
Здесь array и of – ключевые слова, пер. с англ. массив, из;
<имя массива> – правильный идентификатор;
<t1> – тип индексов;
<t2> – тип элементов массива.
Примеры описания одномерных массивов:
var
f :array[1..10] of integer;
mas:array[0..100] of char;
b:array[-5..5] of real;
asd:array[1..20] of byte;
Раздел типов:
type
massiv1 = array[1..10] of real;
massiv2 = array[0..50] of char;
var
a:massiv1;
b,c:massiv2;
11. Действия по добавлению, удалению, перестановке элементов.
Добавка элемента за найденным по условию:
uses crt; const j=255; var a:array[1..j] of integer; i, n, k, m: byte; begin read(n); for i:=1 to n do read(a[i]); for i:=1 to n do if a[i]<0 then k:=i; for m:=n downto k+1 do a[m+1]:=a[m]; read(a[k+1]); for i:=1 to n+1 do write(a[i]:3); end.
|
uses crt; const j=255; var a:array[1..j] of integer; i, n, k, m: byte; begin read(n); for i:=1 to n do read(a[i]); writeln('Введите номер массива, после которого вы хотите вставить число'); read(k); for m:=n downto k+1 do a[m+1]:=a[m]; writeln('Введите число, которое вы хотите добавить'); read(a[k+1]); for i:=1 to n+1 do write(a[i]:3); end. |
Удаление элемента:
uses crt;
var a:array[1..255] of integer;
i, n, k:integer;
begin
read(n);
for i:=1 to n do
read(a[i]);
writeln('Введите номер элемента массива, который хотите удалить');
read(k);
for i:=k to n do
a[i]:=a[i+1];
dec(n);
for i:=1 to n do
write(a[i]:3)
end.
Перестановка элементов:
uses crt; var a:array[1..255] of integer; i, n, i_min, i_max, min, max:integer; begin read(n); for i:=1 to n do read(a[i]); min:=a[1]; max:=a[1]; i_min:=1; i_max:=1; for i:=1 to n do if a[i]>=max then begin max:=a[i]; i_max:=i; end; for i:=1 to n do if a[i]<=min then begin min:=a[i]; i_min:=i; end; a[i_min]:=max; a[i_max]:=min; for i:=1 to n do write(a[i]:3) end. |
uses crt; var a:array[1..255] of integer; i, n, x, y, b, c:integer; begin read(n); for i:=1 to n do read(a[i]); writeln('Введите номера элементов массива, которые хотите поменять'); read(x, y); b:=a[x]; c:=a[y]; a[x]:=c; a[y]:=b; for i:=1 to n do write(a[i]:3) end. |