36585

Структура программ на Паскале

Контрольная

Информатика, кибернетика и программирование

Любая программа на Турбо Паскале имеет одну и ту же общую структуру: [ progrm имя программы ; ] [ раздел описаний ] begin раздел операторов end. Эта структура состоит из заголовка программы необязательного раздела описаний который может в особых случаях отсутствовать и раздела операторов содержащего хотя бы один оператор. Имя программы идентификатор выбираемый программистом. В разделе описаний должны быть описаны все нестандартные имена используемые далее в разделе операторов этой программы.

Русский

2013-09-22

36 KB

3 чел.

Структура программ на Паскале.

Любая программа на Турбо Паскале имеет одну и ту же общую структуру:

[ program < имя программы > ; ]

[ <раздел описаний > ]

begin

< раздел операторов >

end.

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

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

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

Каждый вид описания начинается некоторым ключевым словом (характеризующим вид описываемого объекта). Например: var - для описания переменных, type - для описания типов, function - для описания функции.

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

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

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

<описание переменных одного типа > ::= var < список переменных > : < тип > ;

где: < список переменных > ::= <имя переменной > {, < имя переменной > }

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

var math,phys,phil,hist:integer;{баллы по предметам}

average:real; {средний балл}

Константы следует описывать только, если в программе используются ссылки на эти константы по их мнемоническому имени. Синтаксическая структура описания константы имеет вид:

< описание константы > ::= const < имя константы> = < значение константы > ;

Например: const g = 9.8;

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

< описание типизированной константы > ::= const < имя >:<тип> = <значение >;

Например: const name:string = ''; { name, инициированная как пустая строка }

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

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

Замечание Точка с запятой после оператора, за которым следует end, until может быть опущена.

Оператор представляет самостоятельный элемент действия. Операторы Паскаля могут быть простыми либо составными. Простые операторы – “не расщепляются” на более мелкие операторы, а составные операторы, наоборот, содержат в своем составе другие (простые или составные) операторы. Таким образом, сложные операторы (а, следовательно, и сложные действия) имеют вложенную структуру, комбинирующую в одну конструкцию более простые операторы. Для объединения операторов в сложный оператор помимо последовательного соединения используют и другие важные способы композиции (условные операторы, циклы и др.), которые мы рассмотрим ниже.

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

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

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

Задача 4.2.6(23)

program Project23;

type mas=array[1..4,1..4] of Integer;

mass=array[1..4] of integer;

var a:mas;

b:mass;

i,j:Integer;

procedure p(x:mas; e:Integer; var y:integer);

var i,max:Integer;

begin

max:=x[1,e];

y:=1;

for i:=2 to 4 do

if x[i,e]>max then begin

max:=x[i,e];

y:=i;

end;

end;

begin

for i:=1 to 4 do

for j:=1 to 4 do

read(a[i,j]);

Writeln;

for i:=1 to 4 do

begin

p(a,i,b[i]);

write(b[i],' ');

end;

 Readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

2907. Фінансовий моніторинг як різновид фінансового контролю 341 KB
  Фінансовий моніторинг як різновид фінансового контролю. Сутність фінансово-правового регулювання процесу протидії легалізації доходів, одержаних злочинним шляхом (відмиванню коштів). Структура системи фінансового моніторингу Фінансов...
2908. Управление эффективностью производства реформируемых предприятий 56 KB
  Управление эффективностью производства реформируемых предприятий Реформирование отечественных предприятий  в процессе создания новой экономической системы связано с изменением их основной производственной деятельности, ориентируя и соизмеряя ее...
2909. Проблемы управления промышленным комплексом в условиях реформирования экономики 51 KB
  Проблемы управления промышленным комплексом в условиях реформирования экономики Вторая половина нашего столетия характеризуется устойчивыми тенденциями интернационализации и глобализации социально-экономических процессов развития мирового сообщества...
2910. Природа наш дім 45 KB
  Позакласний захід присвячений екологічному вихованню на тему: «Природа наш дім» Мета: виховання відповідальності за природу як національну і загальнолюдську цінність, основу життя на землі, господарські, гуманні принципи природокористування. Формува...
2911. Радиовысотомеры 860.5 KB
  Радиовысотомеры 1.Назначение, принцип действия и типы радиовысотомеров Радиовысотомеры (РВ) предназначены для измерения истинной высоты полета летательного аппарата. Они относятся к классу автономных радионавигационных установок, так как не требуют ...
2912. Системы регулирования и устройства регуляторов производительности поршневых компрессоров 2.99 MB
  Системы регулирования и устройства регуляторов производительности поршневых компрессоров  Цель: Изучить физические основы систем и способов регулирования производительности поршневых компрессоров, конструкцию, принцип действия устройств регулир...
2913. Городские здания и сооружения 2.57 MB
  Городские здания и сооружения. Классификация зданий. Требования, предъявляемые к зданиям. Параметры внутренней среды зданий. Типизация, унификация и стандартизация в строительстве. Типовое проектирование. Модульная координация размеров в строительст...
2914. Разработка визуализатора для нахождения максимального потока в сети 2.58 MB
  С момента появления первых электронно-вычислительных машин разработка программного обеспечения и программных продуктов прошла большой путь: от восхищения фактом возможности написать хоть какую-нибудь программу до осознания того, что именно технологи...
2915. Несущие конструкции деревянного каркаса здания 2.69 MB
  Несущие конструкции деревянного каркаса здания Классификация, особенности конструирования и расчета дощатоклееных колонн, балок, рам и арок, цельнодеревянных и металлодеревянных ферм. Дощатоклееные балки обладают рядом преимуществ перед другими сост...