Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Информатика и информационные технологии. Язык Pascal (конспект лекций)

Конспекты лекций, шпаргалки

Справочник / Конспекты лекций, шпаргалки

Комментарии к статье Комментарии к статье

Оглавление (развернуть)

ЛЕКЦИЯ № 2. Язык Pascal

1. Введение в язык Pascal

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

1) 26 латинских строчных и 26 латинских прописных букв:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz;

2) _ (знак подчеркивания);

3) 10 цифр: 0123456789;

4) знаки операций:

+ - x / = <> < > <= >= := @;

5) ограничители:

., ' ( ) [ ] (..) { } (* *).. : ;

6) спецификаторы: ^ # $;

7) служебные (зарезервированные) слова:

ABSOLUTE, ASSEMBLER, AND, ARRAY, ASM, BEGIN, CASE, CONST, CONSTRUCTOR, DESTRUCTOR, DIV, DO, DOWNTO, ELSE, END, EXPORT, EXTERNAL, FAR, FILE, FOR, FORWARD, FUNCTION, GOTO, IF, IMPLEMENTATION, IN, INDEX, INHERITED, INLINE, INTERFACE, INTERRUPT, LABEL, LIBRARY, MOD, NAME, NIL, NEAR, NOT, OBJECT, OF, OR, PACKED, PRIVATE, PROCEDURE, PROGRAM, PUBLIC, RECORD, REPEAT, RESIDENT, SET, SHL, SHR, STRING, THEN, TO, TYPE, UNIT, UNTIL, USES, VAR, VIRTUAL, WHILE, WITH, XOR.

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

Концепция типа для данных

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

В языке Pascal существует правило: тип явно задается в описании переменной или функции, которое предшествует их использованию. Концепция типа языка Pascal имеет следующие основные свойства:

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

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

3) каждая операция или функция требуют аргументов фиксированного типа и выдают результат фиксированного типа.

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

Тип определяет:

1) возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;

2) внутреннюю форму представления данных в ЭВМ;

3) операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.

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

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

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

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

Типы, определяемые пользователем, - перечисляемый и интервальный. Структурированные типы имеют четыре разновидности: массивы, множества, записи и файлы.

Кроме перечисленных, Pascal включает еще два типа - процедурный и объектный.

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

1) вычисления в круглых скобках;

2) вычисления значений функций;

3) унарные операции;

4) операции *, /, div, mod, and;

5) операции +, -, or, xor;

6) операции отношения =, <>, <, >, <=, >=.

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

2. Стандартные процедуры и функции

Арифметические функции

1. Function Abs(X);

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

X - выражение вещественного или целочисленного типа.

2. Function ArcTan(X: Extended): Extended;

Возвращает арктангенс аргумента.

X - выражение вещественного или целочисленного типа.

3. Function Ехр(Х: Real): Real;

Возвращает экспоненту.

X - выражение вещественного или целочисленного типа.

4. Function Frac(X: Real): Real;

Возвращает дробную часть аргумента.

X - выражение вещественного типа. Результат - дробная часть X, т. е.

Frac (X) = X-Int (X).

5. Function Int(X: Real): Real;

Возвращает целочисленную часть аргумента.

X - выражение вещественного типа. Результат - целочисленная часть X, т. е. X, округленный к нулю.

6. Function Ln(X: Real): Real;

Возвращает натуральный логарифм (Ln е = 1) выражения X вещественного типа.

7. Function Pi: Extended;

Возвращает значение Pi, которое определено как 3.1415926535.

8. Function Sin(X: Extended): Extended;

Возвращает синус аргумента.

X - выражение вещественного типа. Sin возвращает синус угла X в радианах.

9. Function Sqr(X: Extended): Extended;

Возвращает квадрат аргумента.

X - выражение с плавающей запятой. Результат того же самого типа, что и X.

10. Function Sqrt(X: Extended): Extended;

Возвращает квадратный корень аргумента.

X - выражение с плавающей запятой. Результат - квадратный корень X.

Процедуры и функции преобразования величин

1. Procedure Str(X [: Width [: Decimals]]; var S);

Преобразовывает число X в строковое представление согласно

Width и параметрам форматирования Decimals. X - выражение вещественного или целого типа. Width и Decimals - выражения целого типа. S - переменная типа String или символьный массив с нулевым окончанием, если допускается расширенный синтаксис.

2. Function Chr(X: Byte): Char;

Возвращает символ с порядковым номером X в ASCII-таблице.

3. Function High(X);

Возвращает наибольшее значение в диапазоне параметра.

4. Function Low(X);

Возвращает наименьшее значение в диапазоне параметра.

5. Function Ord(X): Longint;

Возвращает порядковое значение выражения перечислимого типа. X - выражение перечислимого типа.

6. Function Round(X: Extended): Longint;

Округляет значение вещественного типа до целого. X - выражение вещественного типа. Round возвращает значение Longint, которое является значением X, округленным до ближайшего целого числа. Если X находится точно посередине между двумя целыми числами, возвращается число с наибольшей абсолютной величиной. Если округленное значение X выходит за диапазон Longint, генерируется ошибка времени выполнения программы, которую вы можете обработать с использованием исключительной ситуации EInvalidOp.

7. Function Trunc(X: Extended): Longint;

Усекает значение вещественного типа до целого. Если округленное значение X выходит за диапазон Longint, генерируется ошибка времени выполнения программы, которую вы можете обработать с использованием исключительной ситуации EInvalidOp.

8. Procedure Val(S; var V; var Code: Integer);

Преобразовывает число из строкового значения S в числовое

представление V. S - выражение строкового типа - последовательность символов, которая формирует целое или вещественное число. Если выражение S недопустимо, индекс неверного символа сохраняется в переменной Code. В противном случае Code устанавливается в нуль.

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

1. Procedure Dec(varX [; N: Longlnt]);

Вычитает единицу или N из переменной X. Dec(X) соответствует X:= X - 1, и Dec(X, N) соответствует X:= X - N. X - переменная перечислимого типа или типа PChar, если допускается расширенный синтаксис, и N - выражение целочисленного типа. Процедура Dec генерирует оптимальный код и особенно полезна в длительных циклах.

2. Procedure Inc(varX [; N: Longlnt]);

Прибавляет единицу или N к переменной X. X - переменная перечислимого типа или типа PChar, если допускается расширенный синтаксис, и N - выражение целочисленного типа. Inc (X) соответствует инструкции X:= X + 1, и Inc (X, N) соответствует инструкции X:= X + N. Процедура Inc генерирует оптимальный код и особенно полезна в длительных циклах.

3. Function Odd(X: Longlnt): Boolean;

Возвращает True, если X - нечетное число, и False - в противном случае.

4. Function Pred(X);

Возвращает предыдущее значение параметра. X - выражение перечислимого типа. Результат того же самого типа.

5. Function Succ(X);

Возвращает следующее значение параметра. X - выражение перечислимого типа. Результат того же самого типа.

3. Операторы языка Pascal

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

Формат полного условного оператора определяется следующим образом: If В then SI else S2; где В - условие разветвления (принятия решения), логическое выражение или отношение; SI, S2 - один выполняемый оператор, простой или составной.

При выполнении условного оператора сначала вычисляется выражение В, затем анализируется его результат: если В - истинно, то выполняется оператор S1 - ветвь then, а оператор S2 пропускается; если В - ложно, то выполняется оператор S2 - ветвь else, а оператор S1 - пропускается.

Также существует сокращенная форма условного оператора. Она записывается в виде: If В then S.

Оператор выбора

Структура оператора имеет следующий вид:

case S of

c1: insruction1;

c2: insruction2;

...

cn: insructionN;

else instruction

end;

где S - выражение порядкового типа, значение которого вычисляется;

с1, с2...., сп - константы порядкового типа, с которыми сравниваются выражения

S; instruction1,..., instructionN - операторы, из которых выполняется тот, с константой которого совпадает значение выражения S;

instruction - оператор, который выполняется, если значение выражения Sylq совпадает ни с одной из констант c1, с2.... сn.

Данный оператор является обобщением условного оператора If для произвольного числа альтернатив. Существует сокращенная форма оператора, при которой ветвь else отсутствует.

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

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

Общий вид оператора for:

for <счетчик цикла> := <начальное значение> to <конечное значение> do <оператор>;

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

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

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

Оператор цикла с предусловием (начинающийся с ключевого слова while) содержит в себе выражение, которое управляет повторным выполнением оператора (который может быть составным оператором). Форма цикла:

While B do S;

где B - логическое условие, истинность которого проверяется (оно является условием завершения цикла);

S - тело цикла - один оператор.

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

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

В операторе цикла с постусловием (начинающимся со слова repeat) выражение, которое управляет повторным выполнением последовательности операторов, содержится внутри оператора repeat. Форма цикла:

repeat S until B;

где B - логическое условие, истинность которого проверяется (оно является условием завершения цикла);

S - один или более операторов тела цикла.

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

Автор: Цветкова А.В.

<< Назад: Введение в информатику (Информатика. Информация. Представление и обработка информации. Системы счисления. Представление чисел в ЭВМ. Формализованное понятие алгоритма)

>> Вперед: Процедуры и функции (Понятие вспомогательного алгоритма. Процедуры в Pascal. Функции в Pascal. Опережающие описания и подключение подпрограмм. Директива)

Рекомендуем интересные статьи раздела Конспекты лекций, шпаргалки:

Мировая экономика. Конспект лекций

Трудовое право. Шпаргалка

Информатика и информационные технологии. Конспект лекцийй

Смотрите другие статьи раздела Конспекты лекций, шпаргалки.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Рыжий ген и ускоренная эволюция 30.04.2026

Вопрос о том, как и насколько быстро меняется человеческий вид, давно занимает биологов и генетиков. Долгое время считалось, что эволюционные процессы происходят крайне медленно, однако новые данные заставляют пересматривать эти представления. Особенно интересные результаты связаны с изменением частоты редких генетических признаков, включая рыжий цвет волос. Рыжеволосость сегодня остается редкой чертой: ее носители составляют менее 2 процентов мирового населения. Однако анализ древней и современной ДНК показывает, что ген, связанный с этим признаком, за последние примерно 10 тысяч лет стал заметно более распространенным, особенно среди популяций Европы. Более того, вместе с ним исследователи фиксируют и другие изменения в генетическом профиле человека, затрагивающие внешность и физиологические особенности. Среди сопутствующих тенденций, выявленных в генетических данных, отмечается увеличение частоты светлой кожи, снижение вероятности мужского облысения, а также некоторые физиолог ...>>

Нейтринный лазер 30.04.2026

Нейтринный лазер - это гипотетическое устройство, способное управлять потоками одних из самых трудноуловимых частиц во Вселенной. Такая разработка открывает новые горизонты в изучении фундаментальных законов природы и может изменить представления о космосе. Идею нового типа излучателя представили физики из Massachusetts Institute of Technology, предложив лазер, который вместо света генерирует поток нейтрино. Эти частицы, почти не взаимодействующие с материей, настолько слабо проявляют себя, что их часто называют "частицами-призраками". Тем не менее они пронизывают все вокруг: по оценкам, триллионы нейтрино ежесекундно проходят через человеческое тело, не оставляя следа. Несмотря на их колоссальную распространенность во Вселенной, нейтрино остаются одними из наименее изученных частиц. Их крайне сложно регистрировать, а еще сложнее контролировать, поэтому традиционно их получают в крупных установках вроде ядерных реакторов или ускорителей частиц. Такие комплексы требуют огромных за ...>>

Мороженое не такое вредное, как принято считать 29.04.2026

В питании часто встречаются продукты, которые одновременно вызывают удовольствие и сомнения с точки зрения здоровья. К таким относится и мороженое: оно воспринимается как типичный десерт с высоким содержанием сахара и жиров, однако современные научные данные постепенно усложняют это привычное представление. Долгое время считалось, что мороженое не может быть частью рационального питания, однако исследования последних лет показывают более неоднозначную картину. Ученые подчеркивают, что влияние этого продукта на организм зависит не только от его сладости или калорийности, но и от состава, качества ингредиентов и общего образа жизни человека. Одни из наиболее масштабных данных были получены в рамках долгосрочных наблюдений в США, включавших проекты Nurses Health Study, Nurses Health Study II и Health Professionals Follow-Up Study. В этих исследованиях на протяжении 20-40 лет наблюдали примерно 190 тысяч взрослых участников, регулярно собирая данные об их питании, физической активнос ...>>

Случайная новость из Архива

OLED-дисплей плотностью 1000 пикселей на дюйм 06.09.2017

Усовершенствованная технология масочного осаждения (FMM), в которой используется лазер со сверхкороткими импульсами, специалисты AP Systems смогли изготовить панель плотностью 1000 пикселей на дюйм. Более того, как утверждается, изменив форму отверстий маски, можно получить значение 1170 пикселей на дюйм.

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

В мае прошлого года компания Samsung показала панель размером 5,5 дюйма и разрешением 3840 x 2160 пикселей. Эти параметры соответствуют плотности 806 пикселей на дюйм. Согласно другим сведениям, в марте Samsung удалось изготовить панель AMOLED, характеризующуюся плотностью 1200 пикселей на дюйм.

В ноябре прошлого года компания Sunic Systems показала дисплей OLED с плотностью 1500 пикселей на дюйм, также изготовленный по технологии FMM. Повышения плотности удалось достичь за счет использования планарного источника испаряемых материалов OLED, а не линейного, как это имеет место в современном производстве. По словам разработчика, эта технология позволяет получить плотность 2250 пикселей на дюйм.

Другие интересные новости:

▪ Для роботов сухожилия лучше сервоприводов

▪ Дерево может вызывать аллергию

▪ Samsung продолжает поддерживать Rambus

▪ LMX9838 - модуль Bluetooth с профилем последовательного порта

▪ Диск нашей галактики искривлен по краям

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Зрительные иллюзии. Подборка статей

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

▪ статья Почему хлеб называют опорой жизни? Подробный ответ

▪ статья Бутень Прескотта. Легенды, выращивание, способы применения

▪ статья Почему одни микроконтроллеры надежнее других. Энциклопедия радиоэлектроники и электротехники

▪ статья Головные телефоны пространственного звучания. Энциклопедия радиоэлектроники и электротехники

[an error occurred while processing this directive] Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026