Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тurbo Pascal 7+.doc
Скачиваний:
12
Добавлен:
24.12.2018
Размер:
10.09 Mб
Скачать

4.8. Имена переменных

Мы привыкли переменные величины обозначать буквами (а, s, d ... ). Большинство языков программирования, в том числе и Паскаль, позволяет обозначать переменные не только буквами, но и целыми словами. Вот два равносильных фрагмента программы:

а:=3; summa:=3;

b:=4-a; ROBBY:=4-Summa;

WriteLn (a,b+50) WriteLn (Summa,ROBBY+50)

В том и другом случае будут напечатаны числа 3 и 51. Очевидно, компьютеру все равно, как мы обозначаем переменные величины: в смысл имен он не вдумывается и не удивляется, что переменная Summa никакой суммой не является, а есть просто число 3.

Будем называть обозначение переменной именем или идентификатором этой переменной.

Правило:

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

Примеры правильной записи имен:

а

х

velichina

zzz

polnaja_summa

tri_plus_dva

s25

k1

_k1

a1b88qq

oshibka

Примеры неправильной записи имен:

Ж - буква нелатинского алфавита

polnaja summa - содержится символ (пробел), не являющийся буквой, цифрой или знаком подчеркивания

2as - начинается с цифры

Domby&Son - содержится символ &, не являющийся буквой, цифрой или знаком подчеркивания

4.9. Запись арифметических выражений

В правой части оператора присваивания и в операторе WriteLn мы записывали выражения, имеющие численное значение (например, а+b-8). Такие выражения называются арифметическими. В будущем мы увидим, что выражения могут быть не только арифметическими. А сейчас рассмотрим математические возможности Паскаля.

Четыре действия арифметики (и еще два) обозначаются в Паскале следующим образом:

Действие Результат Смысл

2+3 5 плюс

4-1 3 минус

2*3 6 умножить

10/ 5 2 разделить

17 div 5 3 целочисленное деление

17 mod 5 2 остаток от целочисленного деления

На уроках математики мы привыкли писать ab + cd, подразумевая: а умножить на b плюс с умножить на d. В Паскале это выражение мы обязаны писать так: а * b + с * d. Иначе компьютер подумает, что нужно к переменной, имеющей имя ab, прибавить переменную, имеющую имя cd. Во избежание двусмысленности знак умножения положено писать всегда. Например, а*(b+с).

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

a+b

b+1

очень затруднен. Поэтому для обозначения деления и выбрана косая черта. Это выражение на Паскале положено записывать так: (а + 1)/(b + 1). Если бы мы не поставили скобок, то выражение получилось бы таким: а + 1/b +1, а это неправильно, так как компьютер, как и мы, всегда перед сложением и вычитанием выполняет умножение и деление, поэтому в последнем случае он бы сначала разделил 1 на b, а затем к результату прибавил а и 1.

Вопрос: когда в выражениях можно ставить скобки? Ответ: всегда, когда у вас возникают сомнения в правильной очередности действий. Лишняя пара скобок не помешает. Пример: записать на Паскале выражение

Его можно было бы записать так.

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

Однако, при такой записи мы не знаем, что Паскаль будет делать раньше - делить (1 + а / (2 + а * b)) на (3 + а) или умножать (3 + а) на b. А от этого зависит результат. Добавим для верности пару скобок ((1 + а / (2 + а * b)) / (3 + а)) * b. Теперь все ясно.

К сожалению, в выражениях разрешается писать только круглые скобки. Квадратные и фигурные запрещены. От этого сложные выражения с большим количеством скобок на глаз воспринимаются с трудом, так как трудно для конкретной скобки увидеть ее законную пару. В этом случае можно посоветовать идти "от малого к большому", то есть сначала заметить самые малые из взятых в скобки фрагменты выражения (у нас это 3 + а и 2 + а * b). После этого будет уже легче заметить более крупные фрагменты, такие, как 1 + а / (2 + а * b) и т д.

Запись десятичных дробей. Почти во всех языках программирования, и уж конечно в Паскале, в десятичных дробях принято вместо запятой ставить точку. Пример: 62.8 - шестьдесят две целых восемь десятых.

Математические функции. Кроме четырех действий арифметики, Паскаль может выполнять и другие математические действия например возведение в квадрат, для чего имеется специальная функция – Sqr. На уроке математики мы обозначаем показатели степени маленькими цифрами и буквами. На компьютере такие цифры и буквы вводить не всегда удобно, поэтому в Паскале принято другое обозначение, например, 5 в квадрате обозначается так Sqr(5), а + b в квадрате - Sqr(a+b). Здесь Sqr - сокращение от английскою слова square - "квадрат". То, что нужно возвести в квадрат, записывается в скобках..

Приведем неполный список математических функций Паскаля.

Действие

Результат

Смысл

Sqr(5)

25

возведение в квадрат

Sqrt(25)

5

корень квадратный

Pi

3,1415

число пи

Frac(23.192)

0192

дробная часть числа

Int(3,98)

3,0

целая часть числа

Round(5,8)

6

Округление

Abs(-20)

20

абсолютная величина (модуль) числа

Random

0 73088

случайнее число из диапазона (0-1)

Random(200)

106

случайное целое число из диапазона (0 199)

Кроме этого, имеются функции sin, cos, arctan, exp, In и процедура Randomize. К сожалению, в Паскале нет специальной функции для возведения в произвольную степень.

Примеры;

Выражение

Sqr(2+1)

при вычислении даст 9

Выражение

10+Sqr(2+1)

при вычислении даст 19

Выражение

1+Abs(5-8)

при вычислении даст 4

Выражение

Sqr(2)+Sqrt(35+1)

при вычислении даст 10

Выражение

Sqrt(8+Int(41,5))

при вычислении даст 7

Выражение

21div(Round(Pi+1))

при вычислении даст 5

Задание 11

Определите без компьютера, что напечатает данная программа:

VAR a,b :Integer;

BEGIN

a:=(Sqr(2)+1)*(20-Sqr(2*2))-11;

b:=11 div(a-4);

WriteLn (Sqr(a)+b-1)

END.