36556

Алфавит языка, основные конструкции языка

Контрольная

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

Алфавитом Паскаля являются некоторые символы кодовой таблицы SCII которым в Паскале приписан определённый и фиксированный смысл а также некоторые цепочки символов. Кроме того к алфавиту относятся некоторые пары символов рассматриваемые как неделимые: символ неравенства = и = больше или равно меньше или равно := символ присваивания. Дополнительную группу символов алфавита составляют ключевые слова зарезервированные слова. Эти и некоторые другие последовательности символов SCII зарезервированы в Паскале им приписан...

Русский

2013-09-22

39.5 KB

10 чел.

Алфавит языка, основные конструкции языка.

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

Алфавитом Паскаля являются некоторые символы кодовой таблицы ASCII, которым в Паскале приписан определённый (и фиксированный смысл), а также некоторые цепочки символов. В алфавит входят все латинские (большие и малые) буквы, десятичные цифры, специальные символы и зарезервированные (ключевые) слова. К специальным символам относятся символы операций (+,-, *, /), бинарных отношений (=,>,<,), скобки (простые, квадратные, фигурные), разделительные символы (., :; ), кавычки (''), а также символы ^,@, $, #. Кроме того, к алфавиту относятся некоторые пары символов (рассматриваемые как неделимые): <> - символ неравенства, >= и <= - больше или равно (меньше или равно), := - символ присваивания.

Дополнительную группу символов алфавита составляют ключевые слова (зарезервированные слова). Их в Паскале несколько десятков и мы будем знакомиться с ними постепенно по мере изучения конструкций языка. Примерами ключевых слов (которые потребуются нам в ближайшее время) являются program, begin, end, var. Эти и некоторые другие последовательности символов ASCII зарезервированы в Паскале, им приписан фиксированный смысл (например, begin - открывающая операторная скобка) и использовать их в другом смысле нельзя. Мы будем выделять ключевые слова полужирным шрифтом.

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

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

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

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

Для описания синтаксиса мы будем использовать простые формальные средства - нотацию Бэкуса-Наура, а для описания семантики - пояснения на естественном языке.

Нотация Бэкуса-Наура (называемая также БНФ) описывает синтаксис конструкций языка через небольшое число примитивов:

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

Равенство по определению будем обозначать сочетанием 3 символов ::= 

Альтернативный выбор (союз "или") будем обозначать символом |

Необязательный выбор конструкции будем заключать в квадратные скобки [ ]

Повторяющуюся (нуль или более раз) конструкцию будем заключать в фигурные скобки { }.

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

Синтаксическое определение понятия "цифра":

<цифра> ::= 0|1|2|3|4|5|6|7|8|9

Синтаксическое определение понятия "литерал ":

<литерал> ::= ' {< символ кодовой таблицы >} '

Синтаксическое определение понятия "комментарий":

{ < строка символов ASCII, не содержащая символов { и } > }

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

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

Имена (кроме стандартных имён) выбирает программист в процессе разработки программы и этот выбор должен облегчать чтение текста программы: имя должно "говорить само за себя" - пояснять смысл используемого объекта. При этом имена должны быть одновременно и достаточно выразительными и достаточно лаконичными (краткими). Синтаксические ограничения в выборе имени даёт определение имени:

<имя> ::= <латинская буква или символ _> { < латинская буква >| <цифра >| _ }

Примеры имён: alfa, F1, test_1m; неправильные имена: тест1, 2_vol.

Некоторые имена являются стандартными именами Паскаля. К их числу относятся имена стандартных функций, процедур, типов и др. Следует особо отметить, что стандартные имена не являются ключевыми словами (т.е. они могут быть использованы в ином смысле, хотя это не следует делать без особой надобности !). Примеры таких стандартных имён: write, odd, integer, boolean. Заметьте, что русские буквы нельзя использовать в именах Паскаля!

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

Символьные и строковые константы - это, соответственно, один символ или любые последовательности символов кодовой таблицы, заключенные в апострофы. Пример: ' Это - строка символов'. Литералы - важные конструкции языка, с которыми мы будем еще неоднократно иметь дело. Они используются в операторах ввода-вывода и при обработке строк.

Комментарии - любые последовательности символов кодовой таблицы (не содержащие фигурных скобок), заключенные в фигурные скобки. Пример комментария: { Программа на TURBO PASCAL}. Заметим, что фигурные скобки есть ограничитель для комментариев, и использовать их ни в каком другом смысле нельзя.

Замечание Некоторые комментарии зарезервированы и представляют директивы компилятора. Эти комментарии начинаются символом $. Например: {$R+} -включить контроль границ диапазона.

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

Задача 4.2.6(24)

Program Project24;

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

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

var a:mas;

sr:mass;

i,j,minj:integer;

min:real;

procedure proc(x:mas;k,m:integer;var l:real);

var i,n:integer;

begin

for i:=1 to k do

if x[i,m]<0 then l:=l+x[i,m];

end;

begin

for i:=1 to 5 do

for j:=1 to 4 do

read(a[i,j]);

writeln;

for i:=1 to 4 do

proc(a,5,4,sr[i]);

min:=sr[1];

minj:=1;

for i:=2 to 4 do

if sr[i]<min then begin

min:=sr[i];

minj:=i;

end;

writeln('nomer stolbca - ',minj);

 readln;

end.


 

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

9834. Крещение Руси и его историческое значение 29.32 KB
  Крещение Руси и его историческое значение. Важнейшим событием в истории Древнерусского государства явилось принятие князем Владимиром христианства в его православном варианте. Для исторических исследований характерна общность взглядов на предпосылки...
9835. Советская модель модернизации: консервативная революция в экономике и становление нового хозяйственного механизма в 1930 годах 36.09 KB
  Советская модель модернизации: консервативная революция в экономике и становление нового хозяйственного механизма в 1930 годах. К весне 1921 г. советская республика оказалась в тяжелейшем кризисе. Внутриполитический кризис, проявился в возникновении...
9836. Политический распад Руси в 12 веке. Княжества - государства как различные модели развития общества 35.75 KB
  Политический распад Руси в 12 веке. Княжества – государства как различные модели развития общества. С рубежа XI-XII веков Русская земля вступает в полосу феодальной раздробленности, которая стала закономерным этапом в развитии раннесредневековый...
9837. Промышленный переворот в России 27.99 KB
  Промышленный переворот в России ХIХ век - время утверждения промышленного производства. Осуществление промышленного переворота являлось началом индустриальной цивилизации. Темпы, глубина технических преобразований в обществе зависели от политических...
9838. Монголо-татарское вторжение на Руси. Социально-политические изменения в русских землях в период ордынского владычества 29.9 KB
  Монголо-татарское вторжение на Руси. Социально-политические изменения в русских землях в период ордынского владычества. Древняя Русь в течение столетий противостояла набегам кочевников, но наиболее разорительным и губительным для русских земель стал...
9839. Формирования советской политической системы: образование СССР, механизмы власти, массовый терро 38.54 KB
  Формирования советской политической системы: образование СССР, механизмы власти, массовый террор. Первоочередными задачами большевиков стало укрепление собственной власти и разрушение прежних общественных структур. Становление жесткой организа...
9840. Специфика формирования единого российского государства 14-17 века роль русской православной церкви в объединении Руси 30.44 KB
  Специфика формирования единого российского государства 14-17 века роль русской православной церкви в объединении Руси. Образование Русского централизованного государства плело значительные особенности по сравнению с аналогичными совпавшими по времен...
9841. Февраль 1917 года и альтернативы развития России. Большевицкие этапы революции 33.95 KB
  Февраль 1917 года и альтернативы развития России. Большевицкие этапы революции. Революцию организационно, технически не готовила ни одна партия или организация. Но она пришла во всем своем величии. Быстрая победа была неожиданной, ошеломляющей даже ...
9842. Сословная система российского общества 15-17 века 27.82 KB
  Сословная система российского общества 15-17 века. Процесс завершения образования Российского государства хронологически совпадает с образованием западноевропейских стран и приходится на время правления Ивана III (1462-1505) и Василия III (1505-1533...