русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Перечисляемый тип


Дата добавления: 2013-12-23; просмотров: 1135; Нарушение авторских прав


РАЗДЕЛ ОПРЕДЕЛЕНИЯ ТИПОВ ДАННЫХ

РАЗДЕЛ ОПИСАНИЯ ПЕРЕМЕННЫХ

РАЗДЕЛ ОПИСАНИЯ КОНСТАНТ

РАЗДЕЛ ОПИСАНИЯ МЕТОК

Таблица 2.12

Таблица 2.11

Возведение в степень

 

Так как операции возведения в степень в языке Паскаль не существует, то вычисление степени числа выполняется с использованием свойств логарифмов:

с=аb

аb=exp(b*ln(a))

 

Необходимо помнить, что нельзя возвести в степень отрицательное число, для этого можно использовать операторы циклов (см. Глава 3.2.2).

 

2.4.2 Выражения и операции отношения

 

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

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

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

К операциям отношения относятся: = (равно), < (меньше), > (больше), < > (не равно), <= (меньше или равно), >= (больше или равно), in (принадлежность).

При объединении в одном выражении арифметических операций и операций отношения первыми всегда выполняются арифметические. Например, 14<11+4 – истина, т.к. операция сложения реализуется раньше операции сравнения.

Примеры:

выражение результат
12>=12 True
75>22 True
8<=3 False

Следует избегать выражений отношения, подобных следующему: 5 <= y<= 84, т.к. 5 <= y приводит к получению значения истина или ложь, которые не могут сравниваться с величиной 84. В этом случае необходимо воспользоваться скобками и логической операцией and:



(5 <= y) and (y <= 84).

 

2.4.3 Логические выражения и операции

 

Выражение, служащее для вычисления логического значения называется логическим выражением. Результатом выполнения логического выражения является логическое значение TRUE или FALSE.

Логические операции выполняются над операндами булевского типа. Такие операции используются в разветвляющихся и циклических алгоритмах (см. таблицу 2.11).

Операнд А Операнд В A and B A or B A xor B not A
true true false false true false true false true false false false true true true false false true true false  
true false         false true

 

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

Например, выражение: y < 5 and z < 84, вызовет сообщение об ошибке, т. к. сначала будет выполняться операция 5 and z, т.е. неявно предполагается наличие круглых скобок (y < (5 and z) < 84). Необходимо записать это выражение в следующем виде: (y < 5) and (z < 84). Его вычисление выполняется в следующей последовательности: сначала определяется значение подвыражения (y < 5), затем (z < 84) и лишь после этого выполняется логическая операция and.

 

2.4.4 Приоритет операций

 

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

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

приоритет операции действие операции
1 (высший) + - not присваивание знака логическое отрицание
* / div, mod and умножение, деление целочисленные операции логическое произведение  
+ - or, xor сложение, вычитание логические суммы
4 (низший) =, <>, <, >, <=, >= отношения (сравнение)

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

 

2.4.5 Полезные операции

 

В языке Паскаль определены только три тригонометрические формулы: sin, cos, arctg. Для вычисления остальных тригонометрических функций необходимо использовать известные соотношения:

 

 
 

 

2.4.6 Примеры выражений

 

1. (-b+sqrt(sqr(b)-4*a*c))/(2*a)

 

2. (a/x+2*b/(5*y))/(1+4*z/(-2))

3. exp(1/3*ln(sqr(x)+5))

 

4. (2*a+sqrt(0.5*sin(x+y)))/(0.2*c-ln(x-y))

 

5. sqr(sin(x))+cos(sqr(x))

 

6. sqrt(abs(-a*x+c))/ln(x+sqr(c))

7. exp(exp(x)*ln(pi))

 

8. arctg(15/sqrt(1-sqr(15)))

 

 

2.5 СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ ПАСКАЛЬ

 

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

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

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

Заголовок программы;

Блок описаний:

Раздел указания подключаемых модулей;

Раздел описания меток;

Раздел описания констант;

Раздел определения типов данных;

Раздел описания переменных;

Раздел описания процедур и функций;

Блок операторов.

Каждый раздел отделяется друг от друга “точкой с запятой”, отмечая конец оператора или описания. Использование такого разделителя позволяет располагать несколько операторов в одной строке. Любой из разделов описаний, кроме раздела операторов, может отсутствовать. Каждый из них может встречаться в программе любое количество раз и следовать в любом порядке. Главное, что все описания объектов нужно сделать до того, как они будут использованы в программе.

2.5.1 Заголовок программы

 

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

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

Формат:

Program <имя >;

 

Примеры:

Program Primer;

Program Primer 1; - ошибочное имя программы (содержит пробел).

2.5.2 Раздел указания подключаемых модулей

 

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

В систему Турбо Паскаль включены 8 модулей: Crt, Dos, Graph, Graph3, Overlay, Printer, Турбо3 и специализированная библиотека Турбо Vision.

Формат:

uses <имя 1>, <имя 2>,…;

Пример:

uses Crt, Dos;

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

Модуль Graph3– обеспечивает управление графическим режимом экрана. Поддерживает использование стандартных графических подпрограмм версии Турбо Паскаль 3.0.

Модуль Crt – обеспечивает управление дисплеем (текстовым режимом экрана и звука) и клавиатурой компьютера.

2.5.3 Блок описаний

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

Метка — произвольный идентификатор или целое число без знака (от 0 до 9999), позволяющий именовать некоторый оператор программы.

 

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

Формат:

label <имя 1, имя 2,…, имя n>;

Пример:

label 75, met;

 

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

Формат:

const <идентификатор> = <значение>;

Пример:

constnomer = 80; {целая константа}

stroka = ‘Кафедра’; {строковая константа}

kod=#124; { шестнадцатеричное значение}

 

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

Следует обратить внимание на то, что при определении констант применяется знак=(равенства), а не:=(присваивание).

 

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

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

Формат:

VAR < идентификатор 1, идентификатор 2,…> : <тип>;

 

Если в программе используются переменные разных типов, то зарезервированное слово var (от английского variable, переменная) лучше использовать только один раз, а затем привести списки имен переменных каждого типа. Наиболее часто, особенно в простых программах, связанных с обработкой числовых данных, используются типы real и integer.

 

Пример:

varx, y, z : integer;

a, b : real;

 

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

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

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

В языке Паскаль имеются два дополнительных пользовательских порядковых типа данных: перечисляемый и интервальный.

 

 

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

Формат:

type <имя типа>=(<значение 1>,<значение 2>,..,<значение n>);

var <имя переменной > : <имя типа>;

 

Пример:

typeNedelia = ( PN, VT, SR, CHET, PT, SB, VS);

varRbDay, VhDay: Nedelia;

 

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

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

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

 



<== предыдущая лекция | следующая лекция ==>
Правила написания арифметических выражений | ОПЕРАТОР ПРИСВАИВАНИЯ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.