Скачиваний:
308
Добавлен:
01.05.2014
Размер:
3.67 Mб
Скачать
      1. Имена переменных

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

a:=3;

Summa:=3;

b:=4-a;

ROBBY:=4-Summa;

WriteLn (a,b+50)

WriteLn (Summa,ROBBY+50)

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

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

Правило:

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

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

a

x

velichina

zzz

polnaja_summa

tri_plus_dva

s25

k1

_k1

___

a1b88qq

oshibka

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

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

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

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

Если вы - школьник не самых старших классов, то не все, что здесь написано, будет вам понятно. Не огорчайтесь, при дальнейшем чтении непонятные вещи вам не понадобятся.

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

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

ДЕЙСТВИЕ

РЕЗУЛЬТАТ

СМЫСЛ

2 +3

5

плюс

4 -1

3

минус

2 *3

6

умножить

10 /5

2

разделить

17 div5

3

целочисленное деление

17 mod5

2

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

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

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

,

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

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

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

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

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

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

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

ДЕЙСТВИЕ

РЕЗУЛЬТАТ

СМЫСЛ

Sqr (5)

25

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

Sqrt (25)

5

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

Pi

3.1415...

число пи

Frac (23.192)

0.192

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

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, lnи процедура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Выражение21 div (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.