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.


 

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

67666. Вантажний середньо-магістральний літак підвищеної транспортної ефективності з можливістю експлуатації з ґрунтових ЗПС 16.45 MB
  Зміст розрахунково-пояснювальної записки: вибір проектних параметрів вибір; вибір та обґрунтування схеми літака; розрахунок мас літака; визначення основних геометричних параметрів; розробка компоновки літака; розрахунок центровки літака; визначення основних ЛТХ; опис конструкції літака...
67667. Возможности систем вибрационного мониторинга и диагностики роторного оборудования 3.34 MB
  Цель работы показать возможность контроля технического состояния оборудования по вибрации этого оборудования а также рассмотреть назначение и возможности систем вибрационного мониторинга и диагностики роторного оборудования. Для этого измеряется не только низкочастотная и среднечастотная...
67668. Планировка и застройка жилого образования в городе Екатеринбурге 305 KB
  Разрабатываемый участок расположен в Железнодорожном районе города Екатеринбург. Ограничен улицами Челюскинцев – Смазчиков, Восточная, Луначарского, Шевченко – Советская. Улица Восточная является магистральной улицей городского значения непрерывного движения. Челюскинцев, Смазчиков, Луначарского...
67670. Планировка и застройка жилого образования в городе Екатеринбурге 168.5 KB
  Проектируемый участок расположен в исторической части города Екатеринбурга, рядом со старым Верх-Исетским заводом. Число объектов массового притяжения людей достаточно низкое: универсам и парк 22 партсъезда, расположенный неподалеку. В непосредственной близости к участку расположено несколько образовательных учреждений,...
67671. Ппроект здания в городе Пыть-Ях 4.69 MB
  Социальный и научно-технический прогресс, развитие производственных и культурных связей, повышение материального и культурного уровня жизни людей приводят к увеличению мобильности населения, в свою очередь это сопровождается ростом спроса на культурно – досуговые услуги.
67672. Расчет передающего устройства магистральной радиосвязи, предназначенного для передачи большого количества разнообразной информации (телеграфной, телефонной, данных) на значительные расстояния 618.05 KB
  Диапазон рабочих частот 1020 МГц Нагрузка симметричный фидер волновым сопротивлением 75 Ом. Цепь коррекции которая выравнивает коэффициент усиления по мощности двухтактного генератора по диапазону частот но и обеспечивает резестивное входное сопротивление рассматривается ниже.
67673. Понятие трудового договора в российском трудовом праве 45.16 KB
  Целью работы выступает следующее: раскрыть понятие трудового договора и дать краткую характеристику его условий. К задачам проведенного исследования можно отнести следующие: Анализ трудового законодательства о трудовом договоре; Раскрытие сущности трудового договора, его сторон и содержания...
67674. Проект редуктора нереверсивного с использованием программы Solid Works 2005 1.13 MB
  Редуктор проектируют либо для привода определенной машины, либо по заданной нагрузке и передаточному числу без указания конкретного задания. Наиболее распространены горизонтальные редукторы. Как горизонтальные, так и вертикальные редукторы могут иметь колеса с прямыми, косыми и круговыми зубьями.