Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Константы, переменные, типы данных.



Основы языка Паскаль.

Алфавит языка.

В алфавит любого алгоритмического языка входит фиксированный набор основных символов.

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

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

К цифрам относятся все арабские цифры от 0 до 9.

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

 

Константы, переменные, типы данных.

Константа – величина, значение которой не изменяется в период её существования. Существуют числовые и символьные константы.

Числовые константы в программе записываются в десятичной системе, вместо запятой пишется точка.

Например: 0, -17, 0.26, 3.1415, + 12.7, -0.18, 0.23Е+06.

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

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

Например: X1, alfa, N4_65, A1_5, X[I].

 

Данные – информация, представленная в формальном виде, который обеспечивает возможность её хранения, обработки и передачи.

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

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

 

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

Простые Структурированные
Порядковые - целые Integer - целое Shortint - короткое целое Longint - длинное целое Byte - байт Word – слово логический Boolean символьный Char вещественные Real Single Double Extended Comp Массивы                                   Array Записи                                   Record Множества                                    Set Файлы                                    File Строки                                    String Указатели                                   Pointer                

 

Для порядковых типов характерно, что объект имеет конечное множество значений. Каждому из них можно сопоставить некоторое целое число.

Для объектов вещественного типа количество возможных значений настолько велико, что не возможно сопоставить каждому из них целое число.

Необходимо помнить, исходная информация представляется в числовом виде, символьном виде, звуковом или графическом. Программа может работать с постоянными величинами (константами) и переменными. Каждая величина должна быть объявлена, т.е. указан её тип.

 

Понятие идентификатора.

В программировании слово «имя» часто заменяют словом «идентификатор». Это слово произошло от латинского identifico – отождествлять.

Надо помнить, что идентификатор не обязательно представляет собой переменную, т.к. имя можно присвоить и самой программе, и функции, например sin, cos и т.п. Кстати, запрещено использовать их имена в качестве имен переменных. Правила образования идентификаторов, аналогичны правилам образования имен переменных. Зарезервированные слова (такие как BEGIN, END, PROGRAM и др.) в качестве идентификаторов не используют.

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

 

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

Арифметические операции записываются с помощью знаков:

+ - сложение;

- вычитание:

* - умножение:

/ - деление вещественное:

div - деление целочисленное:

mod - получение остатка от деления целых чисел.

Операция возведения в степень отсутствует. (x3=x*x*x).

 

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

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

 

 

Функция Запись на папке Тип аргумента Тип результата
|x| Abs(x) Integer Real Integer Real
Cos x Cos(x) Integer Real Real
Sin x Sin(x) Integer Real Real
Arctg x Arctan(x) Integer Real Real
ex Exp(x) Real Real
Ln x Ln(x) Real Real
 π Pi Real Real
x2 Sqr(x) Integer Real Integer Real
Sqrt(x) Integer Real Real
[x] целая часть вещественного числа Trunc(x) Real Integer Real
Выделение дробной части Frac(x) Real Real
Выделение целой части аргумента Int(x) Real Real
Округление вещественного числа до целого Round(x) Real Integer Real
Генератор случайных чисел от 0 до x (если функция задана без аргумента, то генерируются числа от 0 до 1) Random(x)   Random(x) Word   аргумент не задан   Integer   real
Проверка четности Odd(x) Longint Boolean (true если число четное)

 

Математические процедуры

 

Процедура Паскаль
Увеличение числа x на y (если y не задано, x увеличивается на 1) Inc(x, y)
Уменьшение значения числа x на y (если y не задано, x увеличивается на 1) Dec(x, y)
Обеспечение несовпадения последовательностей случайных чисел, генерируемых функцией random randomize

 

Необходимо знать, что угол (аргумент) тригонометрических функций задается в радианах R= градус*3.14/1800

 

Арифметические выражения

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

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

1) действие в скобках;

2) взятие стандартных функций;

3) деление или умножение;

4) сложение или вычитание.

 

Пример: → ln(exp(2*x)+abs(x))/(sin(x)*sin(x)+cos(x*x))

 

xn записать выражением нельзя, т.к. в Паскале нет знака обозначающего возведение в степень. Однако данное выражение можно представить как:

xn = =en*lnx

Аналогичным образом

xn/m =  = en/m lnx

 

Логические операции

 

В Паскале существует четыре логические операции:

NOT – логическое отрицание «не»      NOT(x)

AND – логическое «и»                         (X) AND (Y)

OR – логическое «или»                        (X) OR (Y)

XOR – логическое исключающее «или» (X) XOR (Y)

Операции сравнения:

> - больше;

< - меньше;

= - равно;

< > - неравно;

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

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

Тип у всех операций логический, и по приоритету они выполняются самыми последними.

 

Операторы языка Паскаль

Оператор – предписание в данном языке программирования, предназначенное для задания некоторого завершенного действия, в процессе переработки информации на ЭВМ.

 

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

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

Например: a: = 10 – переменной а присваивается значение 10.

а: = а+1 – к прежнему значению переменной прибавляется 1 и этой же переменной присваивается.

 

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

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

Например: read (а);

read (a, b);

 

Аналогичным образом используют оператор readln.

 Служебное слово readln указывает компьютеру, что после завершения ввода данных нужно переместить курсор на одну строку вниз.

Ввод данных осуществляется с клавиатуры. Числа при вводе разделяются пробелом или запятой.

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

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

Оператор writeln без параметров просто переведет курсор на следующую строку.

Например: Write (x, y) – выведет значения переменных x, y.

Write (x+y, x-y) – выведет результат вычисления выражений x+y, x-y.

Write (‘Привет’) – выведет строку символов “привет”, текст заключается в апострофы.

 

Форматный вывод данных

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

Например: Writeln (x: 7: 2);

В данном примере указывается, что на экран должно быть выведено содержимое переменной x. Выводимое на экран число должно занимать 7 позиций с двумя знаками после запятой. Для вывода целой части отводится 4 позиции, т.к. одну позицию занимает десятичная точка.

Если для вывода числа 7 будет выделено 3 позиции, то на экран монитора будет выведено 7, а не 007.

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

Использование форматного вывода позволяет решить проблему корректного оформления различного рода таблиц.

 

Операторные скобки

В Паскале под «операторными скобками» понимают два служебных слова: Begin (открывающаяся скобка) и End (закрывающаяся скобка).

 

Составной оператор

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

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

BEGIN {начало раздела операторов}

Begin

       Begin

       End

End

End. {конец программы}

Во избежание ошибок каждую пару “Begin – End” обычно пишут с одной позиции.

 

 

Условный оператор

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

1. Полная форма оператора.

    IF < условие> THEN < оператор “да”>

    ELSE < оператор “нет”>;

Каждое слово ELSE пишется под своим словом IF. Для большей наглядности текста программы операторы, следующие за словами THEN и ELSE можно писать на следующей строке.

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

 

2. Краткая форма оператора.

Допускает опускать служебное слово ELSE. Оператор в этом случае выглядит следующим образом:

IF < условие> THEN

                         < оператор 1>;

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

< оператор 3>;

 

В данном варианте, если условие истинно, то программа уходит на оператор 1, а затем продолжает выполнять последовательности операторов 2, 3 и т.д.

Если условие ложно, сразу выполняется оператор 2, затем 3 и т.д.

 

Например: Вычислить значение функции

           x2, если x> 0

f(x) = 0, если x=0

            -x2, если x< 0 

Фрагмент решения этой задачи можно записать как:

IF x> 0 THEN

                y = x*x;

IF x = 0 THEN

                y = 0;

IF x< 0 THEN

                y = -(x*x);

При решении различных задач очень часто необходимо выполнять группу операторов либо за оператором THEN, либо за оператором ELSE, либо и в том и в другом случае.

Для того, чтобы записать группу действий необходимо использовать составной оператор begin – end (операторные скобки).

 

1. IF < условие> THEN

BEGIN

              оператор 1;

              оператор 2;

               …………..

              оператор n;

END

ELSE

               оператор;

 

2. IF < условие> THEN оператор

ELSE

      BEGIN

               оператор 1;

               оператор 2;

               …………..

               оператор n;

  END;

 

3. IF < условие> THEN

                  BEGIN

                          оператор 1;

                          оператор 2;

                          …………...

                          оператор n;

                  END

   ELSE

                  BEGIN

                          оператор 1;

                          оператор 2;

                          ………….

                          оператор n;

                  END;

 

Между словами BEGIN и END стоят операторы отделенные между собой точкой с запятой.

Перед словом ELSE точки с запятой быть не должно, так как это один оператор

                   IF…THEN…ELSE.

Вложенные операторы IF

Рассмотрим пример:

Определить, попадает ли число x в интервал от 7 до 21.

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

IF x> 7 THEN

IF x< 21 THEN

             writeln (‘x попадает в интервал’)

ELSE writeln (‘x> =21’)

ELSE writeln (‘x< =7’);

 

Вложенность операторов IF не ограничена.

 

Алгоритм вычисления суммы

Пример 1:

Вычислить   .


                                             PROGRAM SUM;

                                             VAR

                                                X, S: real;

                                                n: integer;

                                                sl: real;

                                             BEGIN

                                               Write (‘введите значение x’);

                                                Read (x);

                                                S: = 0;

                                             FOR N: = 1 TO 20 DO

                                                     BEGIN

                                                         SL: = (2*x)/N;

                                                          S: = S + SL;

                                                    END;

                                                writeln (‘сумма ряда =’, S);

                                           END.

 

 

Пример 2. Найти количество чисел, сумма которых превысит 100.


                                                 PROGRAM PRIM;

                                                 VAR

                                                    K: integer;

                                                    S: integer;

                                                 BEGIN

                                                    S: =0;

нет
                                                    K: =0;

                                                  WHILE S< =100 DO

да
                                                       BEGIN

                                                            K: = K+1;

                                                            S: = S+ K;

                                                    END;

                                                  writeln (‘кол-во слагаемых равно’, K);

                                               END.

 

                               

 

Структурированные типы

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

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

 

Массивы

 

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

В информатике различают массивы одномерные и двумерные. К одномерным массивам относятся числовые и символьные последовательности. К двумерным – матрицы (либо их ещё называют таблицами).

Элемент массива – отдельная переменная, входящая в массив.

Размерность массива – кол-во элементов, которое содержит массив.

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

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

Пример: Дан массив А, состоящий из n элементов.

А[1] A[2] A[3] A[4] … A[n]

2     7, 5 14 8 … -2

 

A[i] – элемент массива А, стоящий на i-ом месте.

 

Каждая переменная в Паскале должна быть объявлена, в том числе и переменная указывающая индекс. В качестве индексных типов можно использовать любые порядковые типы, кроме longint.

Описывать тип «массив» нужно с помощью служебного слова TYPE.

Рассмотрим описание типа «массив» на примере целочисленного массива А, состоящего из 25 элементов. Прежде чем приступить к описанию типа, назначим имена – имя типа «массив» и имя переменной, которая относится к типу «массив». Пусть mas – имя типа, а – имя переменной типа «массив». В описании типа указывается, что объявляется тип «массив», для этого используется служебное слово array, и указываются границы изменения индексов. Синтаксически это записывается следующим образом 1..25; такая запись называется диапазон.

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

TYPE mas = array [1..25] of integer;

VAR

   а: mas;

где первая строка расшифровывается как «объявляется тип пользователя – массив, все элементы массива являются целыми числами», а последняя как «объявляется переменная, относящаяся к типу массив».

Необходимо помнить, что значением переменной а является весь массив.

Массив может быть объявлен как константа. В качестве начального значения типизированной константы-массива используется список констант, отделенных друг от друга запятыми; список заключается в круглые скобки.

Например:

Const

Mas: array [1..8] of byte = (28, 30, 25, 26, 15, 31, 30, 29);

 

Чаще всего массив объявляют следующим образом:

VAR < имя массива>: array [1..8] of < тип данных>;

Например:             VAR a: array [1..8] of real;

Основы языка Паскаль.

Алфавит языка.

В алфавит любого алгоритмического языка входит фиксированный набор основных символов.

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

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

К цифрам относятся все арабские цифры от 0 до 9.

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

 

Константы, переменные, типы данных.

Константа – величина, значение которой не изменяется в период её существования. Существуют числовые и символьные константы.

Числовые константы в программе записываются в десятичной системе, вместо запятой пишется точка.

Например: 0, -17, 0.26, 3.1415, + 12.7, -0.18, 0.23Е+06.

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

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

Например: X1, alfa, N4_65, A1_5, X[I].

 

Данные – информация, представленная в формальном виде, который обеспечивает возможность её хранения, обработки и передачи.

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

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

 

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

Простые Структурированные
Порядковые - целые Integer - целое Shortint - короткое целое Longint - длинное целое Byte - байт Word – слово логический Boolean символьный Char вещественные Real Single Double Extended Comp Массивы                                   Array Записи                                   Record Множества                                    Set Файлы                                    File Строки                                    String Указатели                                   Pointer                

 

Для порядковых типов характерно, что объект имеет конечное множество значений. Каждому из них можно сопоставить некоторое целое число.

Для объектов вещественного типа количество возможных значений настолько велико, что не возможно сопоставить каждому из них целое число.

Необходимо помнить, исходная информация представляется в числовом виде, символьном виде, звуковом или графическом. Программа может работать с постоянными величинами (константами) и переменными. Каждая величина должна быть объявлена, т.е. указан её тип.

 

Понятие идентификатора.

В программировании слово «имя» часто заменяют словом «идентификатор». Это слово произошло от латинского identifico – отождествлять.

Надо помнить, что идентификатор не обязательно представляет собой переменную, т.к. имя можно присвоить и самой программе, и функции, например sin, cos и т.п. Кстати, запрещено использовать их имена в качестве имен переменных. Правила образования идентификаторов, аналогичны правилам образования имен переменных. Зарезервированные слова (такие как BEGIN, END, PROGRAM и др.) в качестве идентификаторов не используют.

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

 

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

Арифметические операции записываются с помощью знаков:

+ - сложение;

- вычитание:

* - умножение:

/ - деление вещественное:

div - деление целочисленное:

mod - получение остатка от деления целых чисел.

Операция возведения в степень отсутствует. (x3=x*x*x).

 

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

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

 

 

Функция Запись на папке Тип аргумента Тип результата
|x| Abs(x) Integer Real Integer Real
Cos x Cos(x) Integer Real Real
Sin x Sin(x) Integer Real Real
Arctg x Arctan(x) Integer Real Real
ex Exp(x) Real Real
Ln x Ln(x) Real Real
 π Pi Real Real
x2 Sqr(x) Integer Real Integer Real
Sqrt(x) Integer Real Real
[x] целая часть вещественного числа Trunc(x) Real Integer Real
Выделение дробной части Frac(x) Real Real
Выделение целой части аргумента Int(x) Real Real
Округление вещественного числа до целого Round(x) Real Integer Real
Генератор случайных чисел от 0 до x (если функция задана без аргумента, то генерируются числа от 0 до 1) Random(x)   Random(x) Word   аргумент не задан   Integer   real
Проверка четности Odd(x) Longint Boolean (true если число четное)

 

Математические процедуры

 

Процедура Паскаль
Увеличение числа x на y (если y не задано, x увеличивается на 1) Inc(x, y)
Уменьшение значения числа x на y (если y не задано, x увеличивается на 1) Dec(x, y)
Обеспечение несовпадения последовательностей случайных чисел, генерируемых функцией random randomize

 

Необходимо знать, что угол (аргумент) тригонометрических функций задается в радианах R= градус*3.14/1800

 

Арифметические выражения

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

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

1) действие в скобках;

2) взятие стандартных функций;

3) деление или умножение;

4) сложение или вычитание.

 

Пример: → ln(exp(2*x)+abs(x))/(sin(x)*sin(x)+cos(x*x))

 

xn записать выражением нельзя, т.к. в Паскале нет знака обозначающего возведение в степень. Однако данное выражение можно представить как:

xn = =en*lnx

Аналогичным образом

xn/m =  = en/m lnx

 


Поделиться:



Последнее изменение этой страницы: 2020-02-16; Просмотров: 101; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.134 с.)
Главная | Случайная страница | Обратная связь