Program Summa;

Const n=20;

Var S:real;

i:integer;

Begin

S:=0;

For i:=0 to n do

S:=S+1/(i*i+3*i+5);

Writeln('Сумма=',S:6:4)

End.

§2.3. Разделы описаний

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

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

Label <метка1>[,<метка2>...];

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

Label M1,Metka, L38;

Определение констант

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

А:=В+С

используются 3 ячейки памяти, а оператора

А:=8+9

только одна. Переменные обозначаются именами, а константы числами, строками и т. д.

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

НЕ нашли? Не то? Что вы ищете?

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

Const <имя>=<значение>;

[<имя>=<значение>;...]

Здесь тип значения не указывается, так как считается, что значение является единственно возможным с однозначно определяемым типом по значению константы. В Турбо-Паскале допускается использовать в качестве значения константное выражение, строящееся по тем же правилам, что и обычное. Его операндами могут быть константы, ранее описанные имена констант и некоторые стандартные функции. Например:

Const

Max = 100; {константа целого типа}

Min = 0;

Center =(Max-Min) div 2; {выражение и результат тоже целого типа}

m_e = 9.10955854e-31; {масса покоя электрона – число вещественное}

LiteraA ='A'; {символьная константа}

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

Const max:integer = 9999;

MyArray: array[1..3] of string = ('Red','Blue','Green');

Определение типов

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

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

Type Complex = Record

Re, Im:real;

end;

Начинается этот раздел с служебного слова Type и широко используется при работе с динамическими переменными и при объектном программировании.

Описание переменных

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

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

Var <имя1>[,<имя2>...] :<тип>; ...

Например:

Var x:real;

i, j,k:integer;

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

Раздел описания процедур и функций будет рассмотрен далее.

Контрольные вопросы

1.  Какие группы символов входят в алфавит языка Паскаль?

2.  Что такое служебные слова?

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

4.  Из каких элементов состоит программа на языке Паскаль?

5.  Что такое в структуре программы блок?

6.  Какие бывают разделы описаний?

7.  Как отделяются операторы друг от друга?

8.  Как записываются комментарии?

9.  Для чего используются идентификаторы (имена)?

10.  Какие есть правила образования идентификаторов (имен)?

11.  Что такое метка и для чего они используются?

12.  Каким образом рекомендуется располагать конструкции программы для ее большей наглядности?

13.  Каким образом описываются метки?

14.  Какие различия между константами и переменными?

15.  Как описываются константы?

16.  Как определяется тип описываемых констант?

17.  Что такое типизированные константы?

18.  Как описываются типы?

19.  Как описываются переменные?

20.  Какой раздел описаний чаще всего присутствует в простых программах?

Глава 3. Простые типы данных

Иерархия типов

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

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

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

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

Базовыми являются стандартные типы, на основе которых по определенным правилам образуются все остальные. Новые типы, появившиеся в Турбо-Паскале, отмечены звездочкой, в языке Delphi введены и еще дополнительные типы. Каждому типу соответствует свое имя, указываемое при описании переменных или введении новых типов.

Рис. 3.1. Иерархия стандартных типов языка Паскаль.

§3.1. Целые типы

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

Таблица 3.1. Целые типы данных

Обозначение целого типа

Диапазон значений

Размер памяти в байтах

Shortint

-128...127

1

Integer

-32768...32767

2

Longint

-2 147 483 648...2 147 483 647

4

Byte

0...255

1

Word

0...65535

2

Целая константа – это последовательность цифр со знаком или без знака. Константы записываются в десятичной системе счисления, но в Турбо-Паскале может использоваться и шестнадцатеричная. В этом случае перед числом ставится знак $ и разрешается дополнительно к цифрам использовать буквы от А до F ($f5). Обычно шестнадцатеричная система счисления используется с целыми типа Byte и Word. Пример описания типа:

Const X:Word=$ff25;

Var i:byte;

l, m:integer;

Над целыми значениями допустимы следующие арифметические операции:

+ сложение,

- вычитание,

* умножение,

/ деление.

Если первые три операции дают целый точный результат, то последняя – вещественный, который может быть приближенным, например 1/3=0.3333333. Для точного выполнения деления используются операции целочисленной арифметики:

div – деление нацело;

mod – остаток от целочисленного деления. Например:

1 div 3 = 0

1 mod 3 = 1

Кроме этого, над целыми числами в Турбо-Паскале допускается применять логические операции, обычно над данными типа Byte и Word. Так же над всеми простыми типами данных, включая целые, допустимо использование операций отношения (сравнения). Эти два класса операций будут рассмотрены с логическим типом данных.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством