Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по TURBO PASCAL.doc
Скачиваний:
18
Добавлен:
04.11.2018
Размер:
1.13 Mб
Скачать
      1. Линейная запись математических выражений

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

Н адо уметь переводить любую формулу из обычной записи в линейную и наоборот. Например:

Выполните следующие два упражнения:

1. Перевести из линейной записи в обычную:

  1. (a+b)/c

  1. a+b/c

  1. a/b/c

  1. 1/sqr(1+x)

  1. 1/sqrt(1+x)

  1. a+b/c+d

  1. (a+b)/(c+d)

  1. arctan(x/sqrt(1-x*x))

  1. 2*sin((a+b)/2)*

  1. sqr(sin(abs(x+int(x)))/

cos((a-b)/2)

2*x)

2. Перевести из обычной записи в линейную:

О твет на задание к пункту 6.3.1:

1) 3.3e2, 2) 5.764e15, 3) 2.1201e-10,

4) 1.52e10 (маленькое число почти не влияет на результат).

    1. Логический тип

Условия, которые мы записывали после слова if, оказывается тоже можно сохранять. Для этого существуют переменные логического типа boolean. Например:

Program Boolean_Variable;

var b : boolean ;

begin

b := 23 > 10 ; { b = true }

writeln (b) ;

end.

Выражение 23>10, как вы уже знаете, называется высказыванием или условием. Оно может быть истинно или ложно. Переменные логического типа могут принимать только два значения: True и False, то есть "истина" и "ложь". Поэтому нет ничего удивительного в таком операторе присваивания, ведь здесь переменная b определена логическим типом в разделе описания.

Над логическими переменными можно производить такие же действия, как и над условиями. Можно также выводить на экран значения логических переменных, используя оператор write. А вот вводить значения логических переменных оператором readln нельзя. Смыслу этого абзаца уместно вторит нижеследующая программа:

Program Boolean_Demo;

var b1, b2 : boolean;

begin

b1 := 5 >= 3; { b1 = True }

b2 := not b1; { b2 = False }

if b1 { так как b1 может быть истинно или нет, }

{ то его можно использовать вместо условия }

then writeln (b2); { Напечатается False }

b1 := b1 or b2; { b1 = True or False = True }

writeln (b1) { Напечатается True }

end.

Так как логическая переменная может хранить одно из двух значений True или False, то для хранения её значения достаточно 1 бита, но для удобства реализации в памяти компьютера ей выделяется 1 байт.

    1. Символьные типы

До сих пор мы работали только с числами. Строчки нам встречались только в операторе write при выводе сообщений на экран. Теперь мы научимся работать со строчками и отдельными символами.

      1. Тип string

Этот тип предназначен для хранения строк. Вспомним ещё раз, как мы употребляли в операторе write строчки или, по-научному, string-константы:

write (’Какой чудесный день! Какой чудесный пень!’);

Здесь строкой является весь текст, заключенный в апострофы. Таким способом, правда, не удастся в строке задать сам апостроф, так как компьютер под этим символом подразумевает либо начало, либо конец строки. Для использования апострофа в строке надо написать его два раза, например:

оператор

write (’Don’’t worry!’);

напечатает:

Don’t worry!

Итак, если мы опишем переменную типа string, то мы сможем сохранять в этой переменной строки текста:

Program String_Example;

var s1, s2 : string ;

begin

s1 := ’Тра-ля-ля!’;

s2 := ’А вот и я!’;

writeln (s2);

writeln (s1);

writeln (s1, s2)

end.

Эта программа напечатает следующее:

А вот и я!

Тра-ля-ля!

Тра-ля-ля!А вот и я!

В строке может быть записано от 0 до 255 символов. Строка длиной 0 символов называется пустой и обозначается парой кавычек, между которыми нет других символов: ’’.

Строки можно не только выводить на экран, используя оператор write, но и вводить с клавиатуры оператором Readln. Например:

Program String_Example2;

Var s, otvet : string;

Begin

Write (Введите ваше имя: ’);

Readln (s); { Ввод строки символов }

If s = ’’ { Введена пустая строка (просто нажали Enter) }

Then s:=’Ипполит Матвеевич’; { … если имя введено не было }

Write (s, ’, вас поздравить с Новым годом? (d/n) ’);

Readln (otvet);

If otvet = ’d’

Then writeln (s, ’! Поздравляю вас с Новым годом!’)

Else writeln (’Не хотите, как хотите...’);

End.

Работа с этой программой может происходить так:

Введите ваше имя: Женя

Женя, вас поздравить с Новым годом? (d/n) d

Женя! Поздравляю вас с Новым годом!