Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
infa.docx
Скачиваний:
0
Добавлен:
25.09.2019
Размер:
99.7 Кб
Скачать

Вопрос1.

Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767.

Переменные типа real хранят вещественные (дробные) числа.

Переменная булевского (логического) типа может принимать только два значения - true (1, правда) или false (0, ложь).

Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.

Интервальный тип определяется пользователем и формируется только из порядковых типов. Представляет собой подмножество значений в конкретном диапазоне.

Можно создать собственный тип данных простым перечислением значений, которые может принимать переменная данного типа. Это так называемый перечисляемый тип данных.

более сложные, структурированные, которые базируются на простых типа: массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.

Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно

Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип.

Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.

Вещественные числа хранятся в памяти в специальной форме с плавающей

точкой (запятой). Такое число представлено ввиде произведения m·2в ст Р. В одной

ячейке памяти хранится два значения– мантисса m ипорядок p, причем оба эти

числа могут иметь знак.

Обычно мантиссу нормализуют, так, чтобы она удовлетворялаусловию

0,5·m<1 (или1·m<2).

Вопрос2.

Переменная булевского типа принимает значения true (истина) или false (ложь). Эти величины упорядочены следующим образом: false < true

Операции and, or, not (применяемые к булевским операндам) дают булевские значения. Операция and (логическое умножение, пересечение, операция И) Выражение a and дает значение true, только в том случае, если a и b имеют значение true. Во всех остальных случаях значения выражения a and b – false.

true and true = true

true and false = false

false and false = false

Операция or (логическое сложение, объединение, операция ИЛИ) Выражение a or b дает значение false, только в том случае, если a и b имеют значение false. Во всех остальных случаях результат – true.

true or true = true

true or false = true

false or false = false

Операция not (отрицание, операция НЕ) Выражение not a имеет значение, противоположное значению a.

not true = false

not false = true

Стандартные булевские функции odd(x) = true, если x нечетный (x целый); eoln(x) = true, если встретился конец строки текстового файла x; eof(x) = true, если встретился конец файла x. В остальных случаях эти функции принимают значение false.Для того, чтобы программа была не линейной в языках программирования используются логические выражения, результат которых может быть либо правдой (true), либо ложью (false). Результат логических выражений обычно используют для определения пути выполнения программы. Простые логические выражения являются результатом операций отношения между двумя операндами (значениями). Булевы типы

Результатом логического выражения всегда является булево (логическое) значение. Булев тип данных (boolean) может принимать только два значения (true или false). Эти величины упорядочены следующим образом: false < true. Это значит, что данные булевого типа являются не только результатом операций отношения, но и могут выступать в роли операндов операции отношения. Также к ним можно применять функции ord, succ, pred, процедуры inc и dec.Значение типа boolean занимает в памяти 1 байт.В примере шести булевым переменным присваиваются значения простых логических выражений. Значения, хранимые в таких переменных, затем выводятся на экран.

Кроме типа boolean в Pascal введены еще три булевых типа — bytebool (занимает 1 байт), wordbool (занимает 2 байта) и longbool (занимает 4 байта). Последовательность выполнения логических операторов: not, and, or.В языке Паскаль сначала выполняются логические операторы (and, or, xor, not), а уже потом операторы отношений (>, >=, <, <=, <>, =), поэтому не нужно забывать расставлять скобки в сложных логических выражениях.

Вопрос 3. Цикл с предусловием while. Синтаксис оператора с предусловием содержит ключевые слова while и Do. Результат выражения Условие может принимать только булевские значения true ли false.Оператор цикла while(так же, как оператор if) вначале проверяет значение Условия. Если оно истинно (равно true), то выполняется тело цикла, cодержащее один Оператор. Затем проверка Условия повторяется еще раз. Так продолжается до тех пор, пока Условие не станет ложным (равно false. Число повторений (итераций) оператора while, как правило, заранее не известно.Для завершения цикла в его теле обязательно должны содержаться операторы, оказывающие влияние на истинность Условия. Иначе цикл будет выполняться бесконечно – произойдет зацикливание программы. Пример. Суммирование целых чисел от 1 до 20: var i, sum: integer; {i– текущее число, sum–сумма}

begin

sum:=0;

i:=1; {установка начальных значений}

while i<=20 do {проверка условияцикла}

begin

sum:=sum+i; {накапливаетсясумма}

i:=i+1; {переход к следующему числу, и изменение условия}

end;

writeln(’Сумма чисел от 1 до 20 равна ’,sum);

end.

Цикл с постусловием repeat

Синтаксис оператора с постусловием содержит ключевые слова repeat и until

вначале выполняет тело цикла, а затем проверяет

значение УсловияВыхода. Если УсловияВыхода равно false

(ложь), т.е. не выполняется, то тело цикла повторяется еще раз. Так продолжается до тех пор, пока УсловияВыхода не станет равно true(истина).

Число итераций цикла repeat, как правило, также заранее не известно. Но тело цикла обязательно будет выполнено хотя бы один раз.

var

i, sum: integer; {i – текущее число, sum–сумма}

begin

sum:=0;

i:=1; {установка начальных значений}

repeat

sum:=sum+i; {накапливается сумма}

i:=i+1; { переход к следующему числу, и изменение условия}

until i>20; {проверка условия выхода из цикла}

writeln(’Сумма чисел от 1 до 20 равна ’,sum);

end.

end;

Цикл со счетчиком for

В операторе цикла for всегда используется переменная-параметр (Счетчик), которая на каждом шаге цикла автоматически изменяет свое

значение ровно на единицу.

Синтаксис оператора с предусловием содержит ключевые слова for и do,

Переменная Счетчик должна иметь порядковый тип (например, целочисленный) и быть описана в разделе описания переменных.

НачЗнач и КонЗнач параметра цикла могут быть константами, переменными, выражениями и принадлежать одному и тому же типу данных.

Причем их нельзя изменять во время выполнения цикла.пример:

var

i, sum: integer; {i– текущее число (счетчик), sum–сумма}

begin

sum:=0; {установка начального значения суммы}

for i:=1 to 20 do {установка нач. и кон. значений счетчика}

sum:=sum+i; {накапливается сумма}

writeln(’Сумма чисел от 1 до 20 равна ’,sum);

end.

Вариант синтаксиса оператора for

с уменьшением Счетчика на единицу

на каждом шаге:

for Счетчик:=КонЗнач downto НачЗнач do Оператор;

Если требуется другой шаг изменения счетчика, то предпочтительнее использовать другой оператор цикла (while или repeat). Недопустимо

изменять значение Счетчика в теле цикла for.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]