Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Доклад'
Фонд перспективных исследований и инициатив создан в 2002 г. по инициативе российских ученых и представителей политических и деловых кругов как непра...полностью>>
'Документ'
Российский энергетический сектор в 2010г. "сгенерировал" 142 млрд руб. чистой прибыли. Об этом сегодня пишет деловое издание "РБК dail...полностью>>
'Самостоятельная работа'
Ежедневно в мире создаются миллиарды копий больших и малых документов. На производство и воспроизводство документов расходуется немыслимое количество...полностью>>
'Закон'
Задача любого педагога - пробудить интерес к учебной деятельности, добиться проявления учащимися активности в изучении как программного, так и дополн...полностью>>

Основы Pascal. Типы данных. Структура программы на языке Pascal

Главная > Документ
Сохрани ссылку в одной из сетей:

  1. Основы Pascal. Типы данных. Структура программы на языке Pascal.

Основы Паскаля

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

A B C D …

А Б В Г …

арабские цифры:0 1 2 …

знаки операций: + - * / = <> < > <= >= : =

ограничители: . , : ; ' ( ) [ ] ^

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

Рассматривая понятие слова в языке Паскаль, следует отметить, прежде всего, существование некоторого набора служебных (ключевых) слов, назначение которых в языке строго определено (зарезервировано) и которые не могут быть использованы с другой целью. Служебные слова используются, например, для обозначения операторов (CASE - оператор выбора, IF, THEN, ELSE - оператор условного перехода), описаний (CONSTYLE="- констант, VAR - переменных), некоторых операций (DIV - целочисленного деления). В таблице приведён список служебных слов языка Паскаль, пояснения значений которых будут вводиться по мере изучения средств языка.

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

Действительные числа изображаются в естественной форме и полулогарифмическая (показательной). В естественной форме число должно содержать десятичную точку, применяемую вместо десятичной запятой, причём число не может начинаться или заканчиваться точкой.

Пример 1( неправильно записанные числа ):

15. - оканчивается точкой;

.65 - начинается сточки;

155.27.54 - содержит две точки.

Полулогарифмическая форма записи используется для представления очень больших или очень маленьких чисел, которые нелегко изобразить обычной десятичной записью. Например, масса покоя электрона приблизительно равна 0,000000000000000000000000000000910956 г. Такие числа чаще записывают в более удобном виде с десятичным множителем: 9,10956*10 -28. При записи таких чисел в языке Паскаль часть числа, которая читается как "умножить на десять в степени", обозначается буквой Е и число в программе выглядит следующим образом: 9.10956Е-28. Цифры, предшествующие букве Е, образуют мантиссу числа, цифры, следующие за буквой Е - порядок. Мантисса и порядок могут иметь знак "+" или "-". Следует помнить, что при написании числа мантисса не должна отсутствовать или начинаться или оканчиваться точкой.

Пример 2( правильно записанных чисел записанных в полулогарифмической форме ):

-0.131E5

50E7

-5E-02

123.7E-5

Пример 3( неправильно записанных чисел ):

Е-05 - отсутствует мантисса;

-5.Е02 - мантисса числа оканчивается точкой;

-Е12 - отсутствует мантисса;

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

Строка - это последовательность символов языка, заключённая в апострофы (одиночные кавычки). Если в строку необходимо включить сам апостроф, то его записывают дважды.

Пример 4 (строки) 'A', 'таблица значений', 'контр. работа по курсу электротехника', 'XYZ', '575', '0.5+17E-5'.

Пример 5 ( неверно записанные строки ):

'CONSTYLE="- нет конечного апострофа;

PROGRAM - апострофы отсутствуют совсем;

'15.8'E5 - апостроф стоит не в конце строки;

'+*.;" - не хватает ещё одного апострофа в конце строки.

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

Имена (идентификаторы) служат для обозначения различных объектов и конструкций программы и отличаются от служебных слов тем, что выбираются (назначаются) самим программистом по следующему правилу: имя должно состоять из букв и цифр, но первым символом может быть только буква. Длина имени во многих реализациях языка не ограничивается, однако рекомендуется, чтобы она не превышала 6-8 символов. Следующие имена составлены без ошибок:

X Y22M РАЗМЕР GAMMA ALFA R15

А такие имена, наоборот, ошибочны:

4ABC - начинается с цифры;

Y.22 - содержит недопустимый символ - точку;

A+B - содержит недопустимый символ - знак "+";

РАЗМЕР ПАЛЬТО - пробелы в имени недопустимы.

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

в пределах области определения имя должно быть уникальным (каждому имени должен соответствовать лишь один обозначаемый объект и, наоборот), в противном случае соответствие между именем и обозначением объекта будет неоднозначным;

в качестве имён не разрешается использовать служебные слова;

Служебные слова языка Паскаль

AND FILE OF TYPE

ARRAY FOR OR UNTIL

BEGIN FUNCTION PACKED VAR

CASE GOTO PROCEDURE WHILE

CONSTYLE="IF PROGRAM WITH

DIV IN RECORD

DO LABEL REPEAT

DOWNTO MOD SET

ELSE NIL THEN

END NOT TO

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

Стандартные идентификаторы языка Паскаль

Константы Типы Процедуры Функции Файлы

FALSE BOOLEAN GET ABS INPUT

TRUE CHAR NEW ARCTAN OUTPUT

MAXINT INTEGER PACK CHR

REAL PAGE COS

TEXT PUT EOF

READ EOLN

READLN EXP

RESET LN

REWRITE ODD

UNPACK ORD

WRITE PRED

WRITELN POUND

SIN

SQR

SQRT

SUCC

Длинные имена или имена, состоящие из нескольких слов, следует сокращать, например, в качестве имени выбрать его первые три согласные буквы:

РАЗМЕР------------------------------- РЗМ

ДЛИНА СТОРОНЫ-------------------------------ДЛН

GAMMA-------------------------------GMM

следует избегать схожих по виду имён (AX1 и AXI), подобных по написанию символов в пределах одного идентификатора (DO20, где второй символ - буква O, последний - цифра 0);

если в имени нужно использовать цифры, то лучше писать их в конце идентификатора (A32, REG15).

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

Данные могут быть различных типов. Например, константа может быть числом (целым или вещественным), строкой. Переменная, подобно константе, также может быть арифметической (значение переменной - число) или строковой (значение переменной - строка). Арифметические переменные могут быть целыми или вещественными. Тип константы определяется формой её записи. Задание типа переменной осуществляется с помощью указания некоторого имени (стандартного или определённого пользователем) в специальной конструкции языка, называемой описанием. Переменным вещественного вида соответствует имя - REAL, целого - INTEGER.

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

Пример 6 Для иллюстрации введённых понятий рассмотрим программу, реализующую тривиальный алгоритм сложения двух произвольных действительных чисел и печати результата:

Program SUMMA;

Var A, B, C : Real;

Begin

Read(A,B);

C := A + B;

Writeln(РЕЗУЛЬТАТ СУММИРОВАНИЯ);

Writeln('C=',C)

End.

Первая строка является заголовком программы, где PROGRAM - служебное слово, SUMMA - имя программы. Далее идёт раздел описания данных, в котором переменные A, B, C, участвующие в вычислениях, объявлены как переменные действительного типа. Здесь VAR - служебное слово, обозначающее раздел описания переменных, REAL - стандартное имя, обозначающее действительный тип. Описание всех переменных программы обязательно! BEGIN, END - служебные слова, ограничивающие раздел операторов. После служебного слова END, определяющего одновременно и конец программы, ставится точка. Оператор ввода READ осуществляет вызов стандартной процедуры ввода, в результате выполнения которой переменные А и В получат (приобретут) задаваемые числовые значения. Эти значения являются, как правило, исходными данными решаемой задачи.

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

Типы данных

Примитивные типы данных Паскаля: числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Паскале):

var { секция объявления переменных }

r: Real; { переменная вещественного типа }

i: Integer; { переменная целого типа }

c: Char; { переменная-символ }

b: Boolean; { логическая переменная }

e: (apple, pear, banana, orange, lemon); { переменная типа-перечисления }

Выделяется понятие порядковых типов данных (ordinal), к ним относятся целые типы (знаковые и беззнаковые), логический (boolean), символьный (char), перечислимые типы и типы-диапазоны.

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

Диапазоны содержат подмножество значений других порядковых типов:

var

x: 1..10;

y: 'a'..'z';

z: pear..orange;

Для порядковых типов определены операции inc, dec, succ, pred, ord, операции сравнения (= > < => <= <>), их можно использовать в операторах case, for (как счётчик цикла), как границы массивов, для задания элементов множеств и типов-диапазонов.

В Паскале, в отличие от Си-подобных языков, с типами boolean и char арифметические целочисленные операции не определены.

В отличие от многих распространённых языков, Паскаль поддерживает специальный тип данных множество:

var

set1: set of 1..10;

set2: set of 'a'..'z';

set3: set of pear..orange;

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

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

if i in [5..10] then { проверка на принадлежность элемента множеству }

...

обработается быстрее, чем

if (i>4) and (i<11) then { проверка логическими условиями }

...

Для задания значения множества используется список элементов множества, отделенных запятыми и заключённый в квадратные скобки (как уже было показано выше):

var { секция объявления переменных }

d:set of char;

begin { начало блока }

d:=['a','b'];

...

В Паскале Йенсен и Вирта строки представлялись как упакованные массивы символов; следовательно, они имели фиксированную длину и обычно дополнялись до этой длины пробелами.

В современном Паскале[9] для работы со строками используется встроенный тип string, поддерживающий операции конкатенации (+) и сравнения (> < = <> >= <=). Строки сравниваются в лексикографическом порядке. Например, строки считаются равными если они имеют одинаковую длину и коды всех символов с одинаковыми индексами совпадают.

Тип string [n] или просто string в диалектах языка 1970-1990-х годов определялся в виде массива символов array [0..n] of char (n по умолчанию принимало значение 80 в UCSD Pascal и 255 в Turbo/Borland Pascal), код нулевого символа при таком представлении служит для задания длины строки, соответственно строка могла иметь максимальный размер 255 символов. По умолчанию в Delphi и FreePascal в качестве String используется тип AnsiString, память под который выделяется и освобождается компилятором динамически, а максимальный размер строки в текущих реализациях составляет 2 гигабайта. Кроме того, в Delphi и Free Pascal в качестве string может использоваться тип WideString, где применяется 16-битное представление символов в кодировке UCS-2, при этом средства преобразования из однобайтовых строк в многобайтовые и обратно в стандартной библиотеке языка отсутствуют.

Новые типы могут быть определены из существующих:

type { секция объявления типов }

x = Integer;

y = x;

...

Более того, из примитивных типов могут быть сконструированы составные:

type { секция объявления типов }

a = Array [1..10] of Integer; { определение массива }

b = record { определение записи }

x: Integer;

y: Char;

end;

c = File of a; { определение файла }

Файловые типы в Паскале делятся на типизированные, текстовые и файлы без типов.

Как показано в вышеприведённом примере, типизированные файлы в Паскале — это последовательности однотипных элементов. Для каждого файла существует переменная-указатель на буфер, которая обозначается f^. Процедуры get (для чтения) и put (для записи) перемещают указатель к следующему элементу. Чтение реализовано так, что read(f, x) представляет собою то же, что и get(f); x:=f^. Соответственно, запись реализована так, что write(f, x) представляет собою то же, что и f^ := x; put(f). Текстовые файлы text определены как расширение типа file of char и помимо стандартных операций над типизированными файлами (чтение, запись символа), позволяют осуществлять символьный ввод-вывод в файл всех типов данных аналогично консольному вводу-выводу.

Файлы без типов объявляются как переменные типа file. С ними можно проводить операции побайтового нетипизированного ввода-вывода по несколько блоков байт указанной длины через буфер, для этого служат специальные процедуры blockread и blockwrite (расширение UCSD).

Структура

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

unit UnitName1;

interface

...

implementation

...

begin {может отсутствовать-используется, если необходимо поместить операторы инициализации}

...

end.

Возможен также ещё один вариант:

unit UnitName2;

interface

...

implementation

...

initialization

...

finalization

...

end.

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

Интерфейсная секция идёт первой, начинается с ключевого слова INTERFACE и заканчивается в том месте модуля, где начинается секция реализации или тело. В интерфейсной секции объявляются те объекты (типы, константы, переменные, процедуры и функции — для них помещаются заголовки), которые должны быть доступны извне модуля. При этом допускается частичное объявление типов: они могут объявляться без указания структуры, одним только именем. При использовании такого типа во внешней программе допускается объявление переменных и параметров этого типа, присваивание значений, но невозможно получить доступ к деталям его реализации. Процедуры и функции в интерфейсной секции объявляются в виде форвардов — заголовков с параметрами, но без тела. Состав интерфейсной секции модуля таков, что его достаточно для генерации кода, использующего данный модуль. Переменные, объявленные в интерфейсной секции, являются глобальными, то есть существуют в единственном экземпляре и доступны во всех частях программы, использующих данный модуль.

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

Тело модуля начинается находящимся на верхнем уровне вложенности ключевым словом BEGIN. Тело содержит программный код, который выполняется один раз при загрузке модуля. Тело может применяться для инициализации, присваивания начальных значений переменным модуля, выделения ресурсов для его работы и так далее. Тело модуля может отсутствовать. В ряде реализаций Паскаля, например, в Delphi, вместо тела модуля могут применяться две секции (также необязательные) — INITIALIZATION и FINALIZATION. Они располагаются в конце модуля, после соответствующего ключевого слова. Первая — секция инициализации, — содержит код, который должен быть выполнен при загрузке модуля, вторая — секция финализации, — код, который будет выполнен при выгрузке модуля. Секция финализации может выполнять действия, обратные инициализации — удалять объекты из памяти, закрывать файлы, освобождать выделенные ресурсы.

Модуль заканчивается ключевым словом END с точкой.

  1. Основы Java-Script. Основные понятия, область применения

Основы Java Script

Язык HTML предоставляет авторам Web-страниц большие возможности для отображения текстовой и графической информации. Но создаваемые с помощью языка HTML страницы остаются статистическими - пользователи не могут изменить информацию, расположенную на странице, а так же использовать большинство интерфейсных элементов. Для того чтобы сделать страницу по-настоящему интерактивной, нам нужен еще один язык, выполняемый в контексте браузера, - скриптовый язык.

Скриптовый язык используется для создания интерактивных страниц. Этот язык программирования предоставляет средства для управления браузером. Обычно он не содержит всех возможностей настоящих языков программирования, таких, например, как работа с файлами или управление графикой. Созданные с помощью скриптовых языков программы не могут выполняться самостоятельно - они работают только в контексте браузера, поддерживающего выполнения скриптовых программ. К таким браузерам относятся Microsoft Internet Explorer и Netscape Navigator. Создаваемые на скриптовых языках программы, называемые сценариями или скриптами, включаются в состав Web-страниц и распознаются и обрабатываются браузером отдельно от остального HTML - кода.

Рассмотрим для чего же нужны скриптовые языки.

Наиболее часто скриптовые языки используются для:

· отображения диалоговых панелей и сообщений в статусной строке браузера;

· динамического создания содержимого страницы во время ее загрузки или уже после того, как она полностью загружена;

· изменения содержимого страницы, например, атрибута SRС графического изображения или содержимого других HTML-элементов, и отклика на события;

· проверки вводимой пользователем информации и управления отсылкой содержимого форм;

· навигации по другим страницам;

· управления встроенными в Web-страницу объектами типа Java-апплетов и элементов ActiveX.



Скачать документ

Похожие документы:

  1. Программа дисциплины "Языки и методы программирования" (федеральный компонент цикла дпп) предназначена для студентов

    Программа дисциплины
    Программа дисциплины “Языки и методы программирования” (федеральный компонент цикла ДПП) предназначена для студентов 3 курса направления “Физико-математическое образование” профиля «Информатика».
  2. Краткий курс лекций по основам структурного программирования на языке Pascal

    Курс лекций
    Сначала будет вычислено значение выражения, которое затем будет записано в переменную с указанным именем. В записи выражения могут быть использованы константы, переменные, знаки операций, стандартные (и определенные программистом)
  3. Методические указания к лабораторной работе по курсу «Информатика» Основы алгоритмизации и программирования на языке Pascal

    Методические указания
    В соответствующую графу записать математическое выражение на языке Pascal и нажать ОК. Если выражение введено не верно, то на экране появится соответствующая запись.
  4. Учебная программа курса повышения квалификации учителей информатики Программирование в среде Delphi 2009 г

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

    Рабочая программа
    Рабочая программа составлена на основании государственного образовательного стандарта высшего профессионального образования специальностей: 110301 Механизация сельского хозяйства, 110303 Механизация переработки сельскохозяйственной

Другие похожие документы..