- •Вопросы к экзамену по оАиП
- •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. Функции чтения/записи данных в/из файл(-а).
4. Операции сдвига.
(k Shl n) - восстанавливает в качестве результата значение, полученное путем сдвига на n позиций влево двоичной формы числа k. Дает тот же результат, что и умножение на .
(k Shr n) – выполняется аналогично, но вправо. Результат как при делении на .
5. Побитовые операции «и», «или», «исключающее или».
And – производит логическое побитовое умножение операндов в соответствии с таблицей истинности:
And |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
Or – производит побитовое сложение операндов в соответствии с таблицей истинности:
Or |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
Xor – производит побитовое сложение операндов в соответствии с таблицей истинности:
Xor |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
6. Простые операторы языка Pascal.
Оператор присваивания: <переменная>:=выражение.
Безусловный переход, оператор goto.
Оператор вызова процедуры: Имя Процедуры (Параметр 1,…,ПараметрN);
7. Операторы для реализации перехода по условию.
if <условие> then <оператор1> else <оператор2>
Здесь if, then, else ключевые слова (перев. с англ. если, то, иначе соответственно);
<условие> логическое выражение типа сравнения (например, a>b, c<=d, f=1), логическому типу посвящен следующий раздел пособия;
<оператор1> и <оператор2> любой оператор Паскаля.
Существует сокращенная форма условного оператора, в которой отсутствует ветвь else:
if <условие> then <оператор1>.
Нахождение максимума:
uses crt;
var a, b, c, d, max:integer;
begin
read(a, b, c);
if a>=b then d:=a
else d:=b;
if d>=c then max:=d
else max:=c;
writeln(max);
end.
8. Операторы для реализации повторяющихся действий.
Оператор цикла с постусловием:
repeat <операторы> until <условие>
Здесь repeat, until – ключевые слова (перев. с англ. повторять и до тех пор пока);
<операторы> – любые операторы Паскаля (их называют телом цикла);
<условие> – логическое выражение типа сравнения, используемое для выхода из цикла. Оператор работает следующим образом: сначала выполняются операторы, расположенные в теле цикла, затем вычисляется условие, и если получается истинное значение, то осуществляется выход из цикла. Так продолжается до тех пор, пока условие не станет истинным.
Оператор цикла с предусловием:
while <условие> do <оператор>;
Здесь while, do – ключевое слово (перев. с англ. пока и делать);
<оператор> – любой оператор Паскаля, в том числе и составной (этот оператор называют телом цикла);
<условие> – логическое выражение типа сравнения, используемое для выхода из цикла.
Оператор работает следующим образом: сначала вычисляется условие, и если получается истинное значение, то выполняется оператор, являющийся телом цикла, а затем снова проверяется условие. Так продолжается до тех пор, пока условие не станет ложным.
Оператор цикла со счетчиком:
for <п.ц.>:=<н.з> to <к.з.> do <оператор>; (с увеличением счетчика).
Здесь for, to, do – ключевые слова (перев. с англ. для, к, выполнить соответственно);
<п.ц.> – переменная цикла, которая может быть только порядкового типа;
<н.ц.> – начальное значение, выражение такого же порядкового типа, как и переменная цикла;
<к.з.> – конечное значение, выражение такого же порядкового типа, как и переменная цикла;
<оператор> – любой оператор Паскаля, в том числе и составной.
Оператор работает следующим образом: сначала вычисляется выражение, соответствующее начальному значению, и присваивается переменной цикла, потом проверяется условие <п.ц> <= <к.з.> и, если получается истинное значение, то выполняется оператор, являющийся телом цикла, а затем переменная цикла увеличивается на 1 и снова проверяется условие.
for <п.ц.>:=<н.з.> downto <к.з.> do <оператор>; (с уменьшением счетчика).
uses crt; var i, p, n: integer; begin read(n); p:=2; for i:=3 to n do p:=p*i; writeln(p); end.
|
uses crt; var i, p, n: integer; begin read(n); p:=2; i:=3; while (i<=n) do begin p:=p*i; i:=i+1; end; writeln(p); end. |
uses crt; var i, p, n: integer; begin read(n); p:=2; i:=3; repeat p:=p*i; i:=i+1; until(i>n); writeln(p); end. |
uses crt; var i, n: integer; x, p: real; begin readln(x); readln(n); p:=1; for i:=1 to n do p:=p*x; writeln(p); end. |