36556

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

Контрольная

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

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

Русский

2013-09-22

39.5 KB

8 чел.

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

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

Алфавитом Паскаля являются некоторые символы кодовой таблицы 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.


 

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

24454. Граф состояний систем и вычисление показателей надежности (невосстанавливаемые элементы) 237 KB
  2 1 4 3 EMBED Equation.3 EMBED Equation.3 EMBED Equation.3 EMBED Equation.
24455. Граф состояний систем и вычисление показателей надежности (восстанавливаемые элементы) 143.5 KB
  интенсивность отказа интенсивность восстановления период восстановления начальные условия или Выполним преобразование Лапласа: Используем теорему о вычетах: это вероятность нахождения в первом состоянии вероятность готовности системы стационарный коэффициент готовности системы Вычисление показателей надежности и готовности системы Пусть имеется системы состоящая из элементов. Вероятность безотказной работы Для вычисления строим граф состояний системы. Из анализа функционирования системы записываем начальные условия. ...
24456. Характеристики моделей памяти для DOS- и Windows- программах. Начальная загрузка сегментных регистров в зависимости от модели памяти 4.44 MB
  Характеристики моделей памяти для DOS и Windows программах. Начальная загрузка сегментных регистров в зависимости от модели памяти. Модели памяти DOS: Модель памяти Tiny. Эта модель памяти используется при создании загрузочных модулей с расширением имени com.
24457. Химический состав почв 83 KB
  Почва является самой верхней частью коры выветривания литосферы и поэтому в общих чертах наследует ее химический состав. Однако, представляя собой одновременно продукт воздействия на литосферу живого вещества, почва в содержании ряда элементов приобретает существенные отличия.
24458. Метод обратных функций 69 KB
  Предположим что случайная величина определенная на интервале [a ; b] имеет плотность распределения . Зная можно вычислить функцию распределения. Теорема Случайная величина удовлетворяющая уравнению имеет плотность распределения . Замечание отсюда название Доказательство Так как функция распределения это строго возрастающая функция на интервале [a ; b] то она должна удовлетворять условию .
24459. Метод суперпозиции 91.5 KB
  Существует три вида атрибутов SEGMENT: Выравнивание Выравнивания сегмента задача компоновщика. Он должен обеспечить размещение начала сегмента на заданной границе. Размеры сегмента Отдельной проблемой при разработке системы со страничной или сегментной адресацией является выбор размера страницы или максимального размера сегмента. Это дает ряд мелких преимуществ например позволяет раздавать права доступа сегментам а подкачку с диска осуществлять постранично.
24460. Погрешность и сходимость метода Монте-Карло 49.5 KB
  таблица настройки адресов имеет переменную длину состоит из элементов по 4 байта которые указывают на адрес который должен быть настроен. Смещение от начала файлов: 0001: 4D5A; 0203: длина абзаца задачи по модулю 512; 0405: длина файла в блоках колво блоков по 512 байт; 0607: число элементов таблицы настройки адресов; 0809: длина заголовка в параграфе; 0А0В: минимальный объем памяти который нужно выделить после конца абзаца задачи MIN ALLOC 0000; 0С0D: максимальный объем памяти который нужно выделить после конца абзаца...
24461. Процессы восстановления. Уравнение восстановления 129.5 KB
  Процессы восстановления. Уравнение восстановления. Определение: Под процессом восстановления понимается последовательность неотрицательных взаимнонезависимых случайных величин которые при i 1 имеют одно и тоже распределение. случайная наработка системы после i1 восстановления.
24462. Восприятие и его характеристики 45.5 KB
  В отличие от ощущений отражающих лишь отдельные свойства предметов в образе восприятия представлен весь предмет в совокупности его постоянных свойств. Образ восприятия выступает как результат синтеза ощущений. При этом особенно важную роль во всех видах восприятия играют двигательные или кинестетические ощущения которые регулируют по принципу обратной связи реальные взаимоотношения субъекта с предметом. В процессе слухового восприятия активную роль играют слабые движения артикуляционного аппарата.