А. В. Розина программирование на паскале методическое пособие

Вид материалаМетодическое пособие

Содержание


Тема 3. Переменные типа INTEGER
Var a, num, j : integer
Тема 4. Условный оператор IF
Подобный материал:
1   2   3   4   5   6   7   8   9   10

Тема 3. Переменные типа INTEGER



Целочисленные типы данных представляют собой значения, которые могут использоваться в арифметических выражениях и занимать память от 1 до 4 байт (табл.2).

Таблица 2


Тип

Диапазон

Требуемая память (байт)

byte

0 ... 255

1

shorint

-128 ... 127

1

integer

- 32768 ... 32767

2

word

0 ...65535

2

longint

-2147483648 .. 2147483647

4


Пример описания переменных целого типа:


VAR A, NUM, J : INTEGER;

K, S : WORD;

X1, X2 : BYTE;


Над целыми данными определены следующие операции:

+

сложение

-

вычитание

*

умножение

DIV

целочисленное деление, вычисляется целая часть частного, дробная часть отбрасывается. Например, результатом выполнения операции 11 DIV 2 будет 5

MOD

деление по модулю, вычисляется остаток, полученный при целочисленном делении. Например, результатом выполнения операции 11 MOD 5 будет 1



Если переменные x,y описаны как целые переменные (например, x=17, y=4), то возможны следующие варианты выполнения деления:


z := x DIV y;


Переменная z должна быть описана как целая переменная. В результате вычисления z станет равной 4.


z := x MOD y;


Переменная z должна быть описана как целая переменная. В результате вычисления z станет равной 1.


z := x / y;


Переменная z должна быть описана как вещественная переменная. В результате вычисления z станет равной 4.25.


В данной теме рекомендуется дать следующие стандартные функции:


trunc (x) – преобразует вещественный аргумент х в целое число путем отбрасывания дробной части; Например, trunc (2.8) даст результат 2

round (x) - преобразует вещественный аргумент х в целое число путем округления до ближайшего целого; Например, round (2.8) даст результат 3


Для закрепления решаются задачи.

Тема 4. Условный оператор IF



Оператор условия IF изменяет естественный порядок выполнения операторов программы. Он имеет одну из следующих форм:


Полный оператор


if < условие > then < оператор1 > else < оператор2 > ;


Алгоритм работы следующий:
  • Вычисляется выражение, записанное в условии. Оно принимает значение либо "Истина", либо "Ложь".
  • Если значение выражения = "Истина", то выполняется оператор1. Если значение выражения = "Ложь", то выполняется оператор2.
  • Затем выполняется оператор, следующий за оператором if.


Сокращенный оператор


if < условие > then < оператор1 > ;


Алгоритм работы следующий:
  • Вычисляется выражение, записанное в условии. Оно принимает значение либо "Истина", либо "Ложь".
  • Если значение выражения = "Истина", то выполняется оператор1. В противном случае выполняется оператор, следующий за оператором if.

Пример: Пусть переменная а имеет вещественный тип и равна 3.2

if a<6 then a : = a * 2 else a : = a / 2; WRITE(a);


Выражение a<6 истинно, поэтому вычисляется a : = a * 2 и печатается значение переменной а, т.е. 6.4


Пример: Пусть переменная а имеет вещественный тип и равна 8.2

if a<6 then a : = a * 2; WRITE(a);

Выражение a<6 ложно, поэтому печатается значение переменной а, т.е. 8.2


Выражение, записанное в условии – это выражение, устанавливающее отношение (сравнение) между несколькими переменными. Операции отношения выполняют сравнение двух операндов и определяют, истинно значение выражения или ложно.


В Паскале определены следующие операции отношения:

= равно

< > не равно

> больше

< меньше

< = меньше или равно

> = больше или равно


Пример,


if (a >c ) then b := a - c else b := c - a;


Выражение, записанное в условии, может быть сложным. Для этого используются операции-связки:

and

логическое умножение

or

логическое сложение

not

логическое отрицание


Например,

if ((sum >8) and (inf = 5)) then write ( ' Вы приняты ');


Таблица истинности для данных операций следующая:


a

b

not a

a and b

a or b

истина

истина

ложь

истина

истина

истина

ложь

ложь

ложь

истина

ложь

истина

истина

ложь

истина

ложь

ложь

истина

ложь

ложь

Следует заметить, что привычная запись арифметических неравенств типа 5  a  10 на Паскале записывается следующим выражением ( 5< = a) and ( a < = 10).


Можно не вводить в рассмотрение школьного курса переменную логического типа. Логическая переменная, как правило, в задачах выполняет функцию "флага", принимающего значение "истина" или "ложь", но в школьном курсе из-за малого количества учебных часов можно эту функцию переложить, например, на переменную типа integer, которая будет принимать значение 1 или 0.


При изложении данной темы необходимо ввести понятие составного оператора. Составной оператор – это группа из произвольного числа операторов, отделенных друг от друга точкой с запятой, и заключенная в операторные скобки begin и end. Составной оператор воспринимается как единое целое, т.е. может находиться в любом месте программы, где допускается наличие оператора.


Пример.


if (a < > 0) then begin c := b div a; writeln ( ' с = ', c); end

else writeln (' деление на 0! '); В := B+2;
  1. Если А неравно 0, то в переменную С заносится результат выполнения b div a и выводится значение переменной с.
  2. Если А равно 0, то печатается деление на 0!

В обоих случаях затем выполняется оператор В := B+2;