- •Вопрос 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: Равносильности логики высказываний и преобразование логических выражений.
Вопрос 28: Двоичная система исчисления. Правила арифметических вычислений в ней.
Двоичная система используется для представления чисел внутри ЗВМ. Все числа представляются двумя цифрами – 0 и 1.Число записывается последовательностью этих цифр и трактуется как сумма соответствующих степеней двойки.
Правила действий в двоичной системе.
Арифметические операции в данной системе выполняются так же, как и в десятичной системе, при этом нужно помнить максимально возможную цифру данной системы, т.е 1.
0+0=0;0+1=1;1+1=10
Вопрос 29: Множества в Паскале. Значение типа множество.
Паскаль имеет встроенные средства для работы с конечными множествами (до 256 элементов). Все элементы множества должны быть одного порядкового типа. Множества задаются перечислением их элементов в квадратных скобках. Множества описываются следующим образом:
Type
Имя = setofбазовый тип;
В качестве базового типа может выступать порядковый с числом элементов не больше 256.
Пример: type latcher=set of ‘A’..’Z’;
Var vowels:latcher;
Begin
…..
Vowels=[‘a’,’l’,’I’,’u’,’y’];
Над переменными типа множества допустимы следующее операции: проверки на принадлежность, не равенств, подмнжество, надмножество, пересечение, объединение, вычитание. Использование множеств в ряде случае позволяет упростить выполнение задачи.
Пример: Найти все простые числа из [1..100] по методу решета Эрмофена.
Const n=100;
Var s:set of 2..n;
I,k:integer;
Begin
S:=[2..n];
For i:=1 to n do
If I in s then begin
Writeln(i);
For k:=1 to (n div i) do
S:=s – [k*i];
End;
End.
Вопрос 31: Динамические переменные в Паскале. Динамические переменные и указатели.
Все переменные, описанные в предложении VAR, различаются в памяти пред выполнением программы и находятся до окончания работы. Это статические переменные. Имеется возможность во время выполнения программы размещать в памяти новые переменные и освобождать после них память, когда они не будут нужны, это динамические переменные. Для обращения к динамическим переменным нужно знать адрес той область памяти, в которой размещена переменная. Эти адреса хранятся в переменных особого типа – указателях. Указатель это переменная, значением которой является адрес другой переменной. Указатели могут быть на любой тип данных, и описываться следующим образом:
TYPE
Тип указателя = ^базовы тип;
VAR
Имя : ^базовый тип;
Перед использованием динамической переменной необходимо выделить для нее память процедурой:
NEW(указтель);
Выделяется в памяти место достаточное для хранения значений требуемого базового типа и помещается адрес в указатель.
Процедура:
DISPOSE() освобождает память. Для обращения к динамической переменной используется имя указателя дополненной с право символом ^. Это называется разыменованием указателя. Существует так же специальная константа указателяnil, которая обозначает пустой адрес, т.е. не куда не указывает. Однотипные указатели можно сравнивать и присваивать.Nilможно присваивать любому указателю.
Имеется возможность работать при помощи указателей и со статическими переменными. Для этого существует операция получения адреса переменной @.
Пример: vari:integer;
PInt:integer;
Begin
…..
Pint:=@I;
…..
Имеется также предопределенный тип POINTER, который представляет собой указатель, способный ссылаться на переменные любого типа. Называется без типовым указателем. Этот указатель может присваиваться и сравниваться с указателями любого типа, но он не может быть разименован, и, следовательно, не может быть использован для доступа к значениям динамических переменных.
Const MaxIten=1000;
Type PString=^string;
TMas=array[1..MaxItem] of Pstring
Var
P:TMas;
I:integer;
Begin for i:=1 to MaxItem do new(p[i]0;
…