- •Вопрос 1 : Понятие информации и информатики. Количественная мера информации.
- •Вопрос 2: Оператор выбора в Паскале.
- •Вопрос 3: Виды адресации: прямая, косвенная, непосредственная.
- •Вопрос 4: модули в Паскале. Определения, назначения и использование.
- •I) Модули, формируемые пользователем.
- •II. Interface
- •IV. Раздел инициализации.
- •II) Стандартные модули.
- •Вопрос 5: Определение алгоритма. Свойства алгоритма.
- •Вопрос 6: Массивы. Одномерные массивы.
- •Вопрос 7: Простые и сложные высказывания. Логические операции над высказываниями.
- •Вопрос 8: Условный оператор.
- •Вопрос 10: Рекурсия в Паскале.
- •Вопрос 12: Основные типы алгоритмов и их графическое изображение.
- •Вопрос 14: Глобальные вычислительные сети. Назначение, структура, технические средства.
- •Вопрос 15: Тип данных.
- •Вопрос 17: Общая структура программы языка Паскаль.
- •Пример: ввести 2 числа, вывести большее.
- •Вопрос 22: Простые и сложные высказывания. Логические операции над высказываниями.
- •Вопрос 28: Двоичная система исчисления. Правила арифметических вычислений в ней.
- •Вопрос 29: Множества в Паскале. Значение типа множество.
- •Вопрос 31: Динамические переменные в Паскале. Динамические переменные и указатели.
- •Вопрос 34. Шинная организация эвм.
- •Обмен с прямым доступом в память.
- •Вопрос 35: Порядковые типы данных. Перечисляемый тип данных.
- •Вопрос 36. Функции и структура операционной системы.
- •Вопрос 38: Рекурсия в Паскале.
- •Вопрос 39: Представление чисел с плавающей точкой и операции с ними.
- •Вопрос 41: Равносильности логики высказываний и преобразование логических выражений.
Вопрос 38: Рекурсия в Паскале.
Понятие, которое частично определяется, через само себя, называется рекурсивным.
Любое рекурсивное определение состоит из двух частей. Одна определяет понятие через него же. Другая – через иные понятия. Рекурсивный алгоритм – это алгоритм, который при вычислении обращается сам к себе. Например: вычисление функции f(n) может потребовать вычислениеf(n-1) и еще каких-то операций. Т.е. часть алгоритма вычисления функции, есть вычисление это же функции с другими аргументами. Рекурсивные алгоритмы записываются с помощью рекурсивных процедур. Процедура называется рекурсивной, если она обращается сама к себе, прямо или косвенно.
Пример: Рекурсивное вычисление факториала.
Functionfactorial(n:integer):integer;
Begin
If n=1 then factorial:=1
Else factorial:= factorial(n-1)*n;
End;
Следует иметь в виду, что в рекурсивной процедуре обязательно должна быть предусмотрена возможность прекратить дальнейший самовызов и начать обратный процесс, как правило это делается с помощью условного оператора.
Пример: Возведение действительного числа в целую степень.
Procedure power(x:real;n:integer;var y:real);
Begin
If n=0 then y:=1
Else begin
Power(x,n-1,y);
Y:=y*n;
End;
End;
Количество вызовов процедуры самой себя, называется глубиной рекурсии. С начало она растет, затем сокращается. Если рекурсивная процедура имеет локальные переменные, то они сохраняют свои значения для каждого вызова процедурой самой себя.
Использование рекурсии часто упрощает решение задачи и дает возможность не заботиться о сохранении значений переменных. С другой стороны, использование рекурсии ведет к дальнейшему расходу памяти.
Вопрос 39: Представление чисел с плавающей точкой и операции с ними.
С помощью чисел с плавающей точкой представляются действительные числа.
мантисса |
порядок | ||
Знак мантиссы |
Разряды мантиссы |
Знак порядка |
Разряды порядка |
Любое число Rможет быть представлено в виде
R=v*Tp,
где |v|<1 – мантисса (дробное число со знаком),p-порядок, Т – основание числа. Мантисса и порядок представляют в дополнительном коде, в качестве основания берется Т=2.
Например, 5=0,625*23, тогда если для представления отведено 8 разрядов, под мантиссу и под порядок отведено по 4 разряда (старший – знаковый), получим 5=0,625*23=0101|00113
Одно и то же число Rможет быть представлено различными мантиссами и порядками. Например:
2=0,5*22=0100|0010
2=0.25*23=0010
Чтобы избежать неоднозначности, на мантиссу накладывают ограничение 0,5|V|<1, т.е. за мантиссу берется максимальное возм. По модулю другого числа.
Такое представление мантиссы называется нормализованным.
Процедура сложения чисел с плавающей точкой:
Сравнение порядков слагаемых
Если порядки разные, то осуществляется денормилизиция того числа, чей порядок меньше так, чтобы порядки стали равны, соответственно, меняется мантисса
Мантиссы чисел складываются
При необходимости выполняется нормолизация суммы.
При умножение чисел с плавающей точкой выполняется:
Перемножить мантиссы и округлить результат до имеющегося числа разрядов (6=0,75*2)
Сложить порядки 6=0,75*2=01100011
При необходимости выполнить нормализацию произведения.
Точность представления чисел с плавающей точкой зависит количества разрядов мантиссы, а диапазон – от количества разрядов порядка.
Типичная ситуация, когда под число отводится 32 разряда, из них 24 – старший знаковый – под мантиссу, 8 под порядки.