Запись числовых констант, переменных и выражений



Скачать 159.45 Kb.
Дата26.07.2014
Размер159.45 Kb.
ТипДокументы

Запись числовых констант, переменных и выражений.


 

Целые числа в Паскале записываются в обычном виде, например: 0, +100,-56498.

Вещественные числа представляются в одной из двух форм, которые называются:

запись числа с фиксированной точкой и запись с плавающей точкой.



  •         Первая из них - это запись числа в виде целой и дробной частей, разделенных точкой, например: -3.15 , 0.1 , +23.0125.

  •         Вторая форма - с плавающей точкой - это запись числа с мантиссой и десятичным порядком, разделенными латинской буквой E. Такая запись означает, что мантисса (которая может быть целым числом или вещественным числом в форме с фиксированной точкой) умножается на 10 в степени, задаваемой порядком (который всегда должен быть целым числом), например -18.7Е+3 , 2.123Е4, 2.34Е-2 , 6Е-1.

Если в записи числа содержится точка, то по крайней мере одна цифра ей должна предшествовать и следовать за ней.

В выражениях допускается использовать константы (неизменяемый объект программы), переменные (объект программы, который может изменять свое значение), операции ( + , - ,  /  ,  *  ,  . . . ) и функции.  

Пример 1.

Записать выражение на Паскале 

Решение: ((6 - x) * x + 10 * (x * y - 6 * x * y * z)) / (x * y - y * z - z * x)

Пример 2.

Записать выражение (sqrt(sin(x*x)+cos(y*y)))/exp(sqr(2*x-5)) в общепринятой форме.

Решение: 

Арифметические операции.


 

В таблице приведены арифметические операции, которые определены  для целого и вещественного типов:



Знак 
операции

Операция

Типы операндов

Тип результата

+

Сложение

Целый или вещественный

Целый, если оба операнда целого типа, в противном случае - вещественный.


-

Вычитание

Целый или вещественный

*

Умножение

Целый или вещественный

/

Деление

Целый или вещественный

Вещественный

 

Математические функции.

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



Вызов функции

Тип аргумента

Тип результата

Назначение

Abs(x)

целый вещественный

целый вещественный

Возвращает абсолютное значение x

Pi

-

вещественный

Возвращает значение числа ПИ

Sin(x)

целый вещественный

вещественный

Возвращает синус x радиан

Cos(x)

целый вещественный

вещественный

Возвращает косинус x радиан

ArcTan(x)

целый вещественный

вещественный

Возвращает арктангенс x радиан

Sqrt(x)

целый вещественный

вещественный

Возвращает квадратный корень из x>=0

Sqr(x)

целый вещественный

целый вещественный

Возвращает значение квадрата x

Exp(x)

целый вещественный

вещественный

Возвращает значение e в степени x

Ln(x)

целый вещественный

вещественный

Возвращает натуральный логарифм x, x>0

 

 

Структура программы


Любая программа на Паскале имеет следующий общий вид:

Program <имя программы>; Блок.

Первая строка - это заголовок программы, содержащий ее имя. Блок содержит описание действий, которые должны быть выполнены в соответствии с назначением данной программы. Обычно блок включает также описания используемых структур данных (константы, типы, переменные) и элементов организации алгоритма (метки, функции, процедуры).

В общем случае блок состоит из описательной и исполняемой частей.

Описательная часть содержит:


  1. 1.      Описание меток.

Пример: Label 5, 361, 017, a2;

Метки необходимы при использовании оператора перехода Goto.


В качестве меток используются целые числа из диапазона 0 - 9999.

  1. 2.      Описание констант. Пример: Const a = -1.5; b = True; c = `pascal`;

  2. 3.      Описание типов.

Кроме ранее перечисленных стандартных типов языка Паскаль в программе могут быть описаны собственные типы данных. Общий вид описания

Type <имя типа> = <определение типа>;

Пример:

Type d = 1..100; abc = 'a' .. 'z'; color = (red, yellow, green);

vektor = Array[d] Of Real;



  1. 4.      Описание переменных.

Общий вид

Var <список имен переменных> : <имя типа>;

Имя типа здесь - это имя какого-либо стандартного или описанного в данной программе типа данных.

Например:
Var n,m: Integer; a: Real; b1,b2: Boolean;

pen: color; x: vektor;



  1. 5.      Описание процедур и функций.

 

Исполняемая часть содержит список выполняемых операторов программы. Обязательным является наличие служебного слова Begin в начале и служебного слова End в конце раздела. Весь текст программы должен завершаться точкой. Простейшие операторы перечислены ниже

 

Оператор присваивания


Оператор присваивания вычисляет значение выражения, стоящего справа от знака “ := “ и присваивает его переменной, указанной слева. Его общий вид

<имя переменной> := <выражение>;

Тип переменной и тип значения выражения должны совпадать за исключением того, что переменной типа Real может быть присвоено значение выражения типа Integer.

 

Операторы ввода-вывода


В программах на Паскале для ввода и вывода данных используют операторы обращения к процедурам ввода:

Read (список ввода); Readln (список ввода);

и процедурам вывода



Write (список вывода); Writeln (список вывода);

Процедура Writeln после вывода элементов списка переводит курсор на новую строку.

В список ввода могут входить переменные типа Integer, Real, Char. В списке вывода могут содержаться константы, переменные, выражения типа Integer, Real, Char и Boolean. При выводе данных можно задавать формат вывода сразу за объектом вывода:

<объект вывода> : <ширина поля>

где <ширина поля> - целое выражение, значение которого определяет количество знаков отводимое для объекта вывода.

Вещественные значения с <шириной поля> и без нее будут иметь экспоненциальную форму записи, поэтому для вывода значений с фиксированной точкой указанный формат вывода можно дополнить целым выражением через “ : ”, которое будет соответствовать количеству знаков после запятой:

<объект вывода> : <ширина поля> : <после точки>

Пример: Как будет выведено на экран:

a:=10; b:=2; c:=421.65;

Writeln(a,b,c); 1024.216500000E+02

Writeln(a,b:2,c:8:2)   10 2 421.65

 

Типы данных. Операции и функции над данными разных типов


 

Любые объекты, т.е. константы, переменные, значения функций или выражения, в Паскале характеризуются своими типами. Тип определяет множество допустимых значений того или иного объекта, а также множество операций, которые к нему применимы. Кроме того, тип определяет формат внутреннего представления данных в памяти ЭВМ.

Паскаль характеризуется разветвленной структурой типов данных:



ПРОСТЫЕ ТИПЫ

К простым типам относятся порядковый и вещественный типы.



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

  •         Integer - целый тип, представляет собой подмножество множества целых чисел, определяемое конкретной реализацией. Во внутреннем представлении он занимает 2 байта, диапазон возможных значений - от -32768 до +32767, данные представляются точно.

  •         Char - символьный тип, представляет собой набор символов, определяемый конкретной реализацией. Во внутреннем представлении он занимает 1 байт, множество значений этого типа фиксировано и упорядочено. Все символы считаются перенумерованными, начиная с нуля. Такой набор символов определен в каждой вычислительной системе. Константой символьного типа является один из допустимых символов, взятый в апострофы. Если апостроф сам является символом, то  апостроф, являющийся значением константы, записывается дважды, например ‘7’ , ‘+’ , ‘F’ , ‘’’’ , ‘j’ , ‘?’ .

  •         Boolean - логический тип, определяет диапазон логических значений, который содержит два элемента False (ложь) и True (истина). Во внутреннем представлении он занимает 1 байт.

  •         Тип-диапазон - подмножество своего базового типа, в качестве которого может быть любой порядковый тип, кроме типа-диапазон. Тип- диапазон задается границами своих значений внутри базового типа <минимальное значение> . .<максимальное значение> При определении типа-диапазон нужно руководствоваться следующими правилами:

    • -         ".."  рассматриваются как один символ, поэтому между точками пробелы недопустимы;7

    • -         левая граница не должна превышать правую границу.

Примеры: Type month = 1 ..12; lat = ’a’ .. ’z’;

  •         Вещественный тип, строго говоря, тоже имеет конечное число значений, которое определяется форматом внутреннего представления вещественного числа. Однако количество возможных значений вещественного числа настолько велико, что сопоставить с каждым из них целое число  не представляется возможным.

Real - вещественный тип, представляет собой определяемое конкретной реализацией подмножество множества вещественных чисел.  Во внутреннем представлении он занимает 6 байт, диапазон возможных значений - от 2.9Е-39 до 1.7Е+38, точность представления данных - 11...12 значащих цифр.

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

Целые числа

 


Тип

Диапазон


Размер в байтах

Byte 
Shortint 
Word 
Longint

0 ... 255 
-128 ... 127 
0 ... 65535 
-2147483648 ... 2147483647




4

 

Вещественные числа


 

Тип

Диапазон

Знач. цифры

Размер в байтах

Single 
Double 
Extended

1.5E-45 ... 34E38 
5E-324 ... 1.7E308 
1.6E-4951...1.1E4932

7-8 
15-16 
19-20



10


ОПЕРАЦИИ И ФУНКЦИИ НАД ПОРЯДКОВЫМИ ТИПАМИ ДАННЫХ
В таблице приведены арифметические операции, которые, помимо рассмотренных выше (см. лабораторную работу №1), определены

только  для целого типа:

Знак 
операции

Операция

Типы операндов

Тип результата

Div

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

Целый

Целый

Mod

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

Целый

Целый

В Паскале определены следующие

логические операции:

    Not  -   логическое  НЕ;

    And -   логическое  И;

    Or   -   логическое  ИЛИ;

    Xor  -   исключающее ИЛИ.

Данные операции определяются следующим образом



P

Q

Not P

P And Q

P Or Q

P Xor Q

True 
True 
False 
False

True 
False 
True 
False

False 
False 
True 
True

True 
False 
False 
False

True 
True 
True 
False

False 
True 
True 
False

 В Паскале используются следующие операции отношения: =, <>, >, <, <=, >=. Операции сравнения применимы к данным простых типов. Сравнивать можно между собой значения одного типа: целые, вещественные, символьные, логические, значения перечисляемого типа. Допустимо также сравнивать между собой целые и вещественные числа.
При вычислении выражений любого типа приоритет вычислений определяется расставленными скобками, а при их отсутствии по следующей таблице (в порядке убывания приоритета).

 


Приоритет

Операция




4

Not 
*, /, Div, Mod, And 
+, -, Or, Xor 
=,<>, <, >, <=, >=

 

Функции.

Все  функции можно разделить на два вида:  не выводящие за пределы типа, т. е. аргументы и результат относятся к одному типу и те, у которых тип результата не совпадает или может не совпадать с типом результата. Первые перечислены в лабораторной работе №1. Ниже приводится перечень часто используемых функций  Паскаля второго вида.



Вызов функции

Тип аргумента

Тип результата

Назначение

Trunc(x)

вещественный целый

целый

Возвращает целую часть значения x

Frac(x)

вещественный целый

вещественный

Возвращает дробную часть значения x

Int(x)

вещественный целый

вещественный

Возвращает целую часть значения x

Round(x)

вещественный целый

целый

Округляет x до ближайшего целого

Odd(x)

целый

логический

Проверяет нечетность значения x

Ord(x)

порядковый

целый

Возвращает порядковый номер, соответствующий значению x

Chr(x)

символьный

целый

Возвращает символ с заданным порядковым номером x

Pred(x)

порядковый

порядковый

Возвращает предшествующее значение x

Succ(x)

порядковый

порядковый

Возвращает последующее значение x

 

УСЛОВНЫЙ ОПЕРАТОР
С помощью условного оператора выбирается и выполняется один из операторов, входящих в его состав.

Условный оператор имеет два варианта записи.

Полная форма:

If <логическое выражение> Then <оператор1>

Else <оператор2> ;

В этом случае в зависимости от значения логического выражения выбирается для выполнения оператор1 или оператор2 .

 

 

Неполная форма:



If <логическое выражение> Then <оператор> ;

В этом случае в зависимости от значения логического выражения выполняется записанный после Then оператор или не производится никаких действий.

 

Если после Then или Else необходимо выполнить действия, описанные несколькими операторами, то эти операторы должны быть заключены в операторные скобки Begin - End. Такая конструкция называется составным оператором.



ОПЕРАТОРЫ ЦИКЛА

В языке Паскаль имеются три различных оператора, с помощью которых можно запрограммировать повторяющиеся фрагменты алгоритмов.



Оператор цикла с параметром (арифметический оператор цикла) имеет такую структуру:

For <имя переменной> := <выражение1> To <выражение2> Do <оператор> ;

<имя переменной> - параметр цикла

<выражение1> - начальное значение параметра цикла

<выражение2> - конечное значение параметра цикла

Все три указанных выше объекта должны быть одного порядкового типа.



<оператор> - тело цикла.

Этот оператор цикла выполняется следующим образом:



  1.       Вычисляются значения выражения 1 и выражения 2.

  2.       Параметру цикла присваивается начальное значение.

  3.       Параметр цикла сравнивается с конечным значением. Если параметр цикла меньше или равен конечному значению, то перейти к п.4, иначе - конец цикла (переход на следующий оператор после оператора цикла).

  4.       Выполняется тело цикла. Параметр цикла принимает следующее значение, полученное с помощью функции Succ(увеличивается на 1).

  5.       Переход к п.3.

 

Есть еще один вариант этого оператора цикла, когда параметр цикла после каждого выполнения тела цикла принимает следующее значение, полученное с помощью функции Pred (уменьшается на 1). В этом случае служебное слово To заменяется на Dowto и цикл идет до тех пор, пока параметр цикла не станет строго меньше конечного значения.



Пример.
Вычислить и напечатать первые 10 чисел Фибоначчи. Числа Фибоначчи образуют последовательность, в которой очередной член равен сумме двух предыдущих, а первые два равны единице.

Решение:


Program Fib;

Сonst n=10; {количество чисел}

Var i,f1,f2,f3:Integer;

Begin

        f1 := 1; f2 := 1; {первые два числа Фибоначчи}

        For i := 3 To n Do

        Begin

                f3 := f1 + f2; {следующее число}

                Writeln(f3);

                f1 := f2; f2 := f3

        End



End.

 

Оператор цикла с предусловием



While <логическое выражение> Do <оператор> ;

Здесь, тело цикла выполняется до тех пор, пока логическое выражение возвращает значение True.


Оператор цикла с постусловием

Repeat <операторы> Until <логическое выражение> ;

Здесь, тело цикла выполняется до тех пор, пока логическое выражение возвращает значение False.

Если в теле цикла операторов For и While более одного оператора, то необходимо использовать составной оператор.
Пример.

Напечатать таблицу значений функций sin x и cos x на отрезке [0,1] с шагом 0.1 в следующем виде:



x              sin(x)          cos(x)

---------------------------------

0.0000        0.0000        1.0000

0.1000        0.0998        0.9950

. . . . . . . . . . . . . . . . . . . . . . . . .

1.0000        0.8415        0.5403

Решение:

Program Table;

Const a=0; b=1; h=0.1; { границы и шаг табулирования}

Var x: Real;

Begin

        x:=a;

        Writeln(‘x   sin(x)   сos(x)‘); { заголовок таблицы}

        Writeln(‘---------------------------------‘);

        While x<=b Do

        Begin

                Writeln(x:7:4,sin(x):7:4,cos(x):7:4);

                {вывод значений аргумента и функций}

                x:=x+h {увеличение аргумента на шаг}

        End; Writeln(‘---------------------------------‘)



End.

 

Пример.

Найти приближенное значение суммы ряда , учитывающее все слагаемые, от начала ряда до первого, величина которого меньше e = 0,0001 .

 Решение:



Program SumRow;

Сonst e=1E-4; {точность вычислений}

Var U,S,F:Real; {очередное слагаемое и сумма ряда}

n:Integer;

Begin

        n:=1; S:=1; F:=1;

        Repeat

            n:=n+1;

            F:=F*n;{вычисление факториала}

            U:=1/F; {вычисление очередного слагаемого}

            S:=S+U; {вычисление суммы ряда}

        Until Abs(S)

        Writeln(‘Сумма ряда S=‘, S:7:4);

End.

МАССИВЫ


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

Type <имя типа массив> = Array [<тип индекса>] Of <тип элементов>;

Var <имя переменной>: <имя типа массив>;

<тип индекса> – перечисляемый, логический, символьный, диапазон.

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



Var <имя переменной>: Array [<тип индекса>] Of <тип элементов>;

Массивы обычно используются в тех программах, где требуется сохранять во время выполнения программы в памяти ЭВМ некоторую совокупность величин одного типа. Например, это требуется для задач, алгоритмы решения для которых предполагают неоднократное обращение к элементам заданной последовательности. Кроме того, массивы часто используются и в тех случаях, когда для решения задачи достаточно однократного использования каждого элемента последовательности и, следовательно, нет необходимости хранить все элементы в памяти ЭВМ. Примерами таких задач являются все задачи с последовательностями из предыдущего параграфа.



Пример.

Дана последовательность из n вещественных чисел. Упорядочить ее элементы по возрастанию.

Решение: рассмотрим метод сортировки выбором.

Отыскивается максимальный элемент и переносится в конец массива; затем этот метод применяется ко всем элементам, кроме последнего (он уже находится на своем окончательном месте), и т. д.

Program SortCase;

Const n=10;

Type mas: Array [1..n] Of Real;

Var x: mas;

i, j, m: Integer;

r: Real;


Begin

{ввод элементов массива}

For i := 1 To n Do Readln(x[i]);

For j := n Downto 2 Do

Begin {поиск m - номера max x[1..j]}

m:=1;


For i :=2 To j Do If x[i]>x[m] Then m:=i;

{перестановка элементов x[m] и x[j]}

r:=x[j]; x[j]:=x[m]; x[m]:=r;

End;


{вывод элементов упорядоченного массива}

For i:=1 To n Do Writeln(x[i])



End.

Похожие:

Запись числовых констант, переменных и выражений iconПрограммирование данных. Именование переменных и констант. Оператор присваивания
Идентификатор – это имя, свободно выбираемое программистом для обозначения элементов программы (процедур, функций, констант, переменных...
Запись числовых констант, переменных и выражений iconТест № Числовые выражения. Преобразование числовых выражений

Запись числовых констант, переменных и выражений iconПрограмма по математике для поступающих на базе основного общего образования (9 классов) в 2012 году Алгебра
Алгебраические выражения. Буквенные выражения (выражения с переменными). Допустимые значения переменных, входящих в алгебраические...
Запись числовых констант, переменных и выражений iconВыражения и операции
Выражение есть правило вычисления нового значения. Оно строится из операндов (констант, переменных, функций), объединенных знаками...
Запись числовых констант, переменных и выражений iconЧисловые и буквенные выражения Дубинин Максим Примеры числовых выражений
Если вместо буквы подставить число (значение) и выполнить все действия, то получится числовое значение буквенного выражения
Запись числовых констант, переменных и выражений iconЧисловые множества. Множества n и Z. Операции сложения и умножения в этих множествах и их свойства
Кванторы существования и общности, их значение и применение в записи математических выражений. Ограниченные и неограниченные множества....
Запись числовых констант, переменных и выражений iconПрограмма: главная программа языка C++. Допускается описание функций без параметров допустимых в программе типов. Разрешаются рекурсивные вызовы
Для выражений указываются операции и операнды, из которых строятся выражения все виды констант, которые могут использоваться в выражениях,...
Запись числовых констант, переменных и выражений iconЧисловые выражения. Преобразование числовых выражений
Числа, употребляемые при счете предметов или для указания порядкового номера того или иного предмета среди однородных предметов,...
Запись числовых констант, переменных и выражений iconВопросы к экзамену по дисциплине «Программирование»
Базовые математические операции и стандартные математические функции в Turbo Pascal. Запись математических выражений
Запись числовых констант, переменных и выражений icon№ урока Тема урока/ Тип урока Элементы содержания Элементы дополнительного
Обобщение и систематизация знаний о числовых выражениях, допустимых и недопустимых значениях переменной выражений, математических...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org