Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ответы.docx
Скачиваний:
350
Добавлен:
08.03.2016
Размер:
565.95 Кб
Скачать

21. Структура программы паскаль.

Алфавит языка Паскаль. Программный текст представляется в виде последовательности строк, которые состоят из символов, образующих алфавит языка. Алфавит данного языка состоит из прописных и строчных букв (27 букв), десяти арабских цифр (0,1,2...) и двадцати двух специальных символов.

Лексическая структура языка Паскаль. Символы из алфавита используется для построения лексем. Лексема – это минимальная единица языка, которая имеет самостоятельный смысл. В Turbo паскаль существуют следующие классы лексем:

  • служебные слова (55 слов): построены из букв. Каждое служебное слово является неделимым образованием, смысл которого фиксирован в языке. Данные слова нельзя использовать в качестве имен, которые вводит программист;

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

  • знаки операций: образуются из одного или нескольких специальных символов и предназначены для описания действий по преобразованию данных и вычислительных значений;

  • разделители: формируются из специальных символов. Их основная задача - отделение операторов друг от друга и отделение элементов описания;

  • комментарии: их наличие позволяет пользователю правильно использовать программу. Наличие комментариев в программе не изменяет смысл программы, поскольку при трансляции программы, комментарий пропускается транслятором. Комментарий представляет собой последовательность символов не обязательно из символов алфавита языка, т.е. допускаются русские буквы. Комментарии могут быть заключены в {…} или (*...*).

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

  • заголовок программы;

  • раздел описания программы;

  • раздел действий;

  • точка.

Совокупность раздела описания программы и раздела действий называется блоком.

Структура программы с использованием служебных слов.

Program [имя_переменной]: идентификатор имени программы задает программист, но обычно при этом имя должно отражать назначение программы (например: program lab1);

Uses [список]: в разделе uses к программе подключаются библиотеки подпрограмм, которые находятся в отдельных программных единицах, называемых модулями. Эти подпрограммы из модулей при компиляции подключаются к программе. Имена модулей в списке отделяются друг от друга запятой;

Label [список]: метка-идентификатор языка паскаль, который помещает некоторые операторы в разделе действий программы. Метки позволяют обращаться к помеченным ими операторам. Имена меток в списке отделяются друг от друга запятыми;

Const [список]:[константа] = [значение]: константа-объект программное значение которого не может быть изменено в программе. Константы отделяются точкой с запятой (;). Тип константы определяется записью этой константы в программе;

Type [список]:[имя_типа]=[тип]: в разделе типов задаются нестандартные или так называемые пользовательские типы данных;

Var [список],[переменная]:[тип]: в разделе Var, все переменные используемые в программе, связаны с определенным типом. Этот тип может быть либо стандартным, то есть описанным в языке паскаль, либо пользовательским, то есть объявленным пользователем. Данный раздел присутствует в любой программе на языке программирования. При объявлении, однотипные переменные могут группироваться в список и отделяться друг от друга в этом списке запятыми.

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

Procedure [имя]([список]); //процедура

тело;

end; - процедуры.

Function [имя]([список]):[тип]; // функция

end;

Begin [операторы] //раздел действий.

End - завершение программы.

Структура раздела действий программы. Программа на языке паскаль решает конкретную задачу в соответствии с алгоритмом и соответственно содержит различное количество операторов. Любая программа в разделе действий должна содержать следующие действия:

  • шапка программы;

  • ввод исходных данных;

  • предметная часть задачи;

  • вывод результатов работы программы.

Шапка программыпредназначена для описания назначения программы с указанием средств реализации и атрибутов разработчиков программы. Обычно шапка реализуется либо с помощью комментариев, либо с помощью операторов вывода.

Ввод исходных данных:в языке Паскаль имеется 3 основные структуры ввода исходных данных:

Ввод с клавиатуры: реализуется процедурами READ, READLN. Их формат: READ ([файловая_переменная],[список_ввода]); где READ - имя процедуры, [файловая переменная] связывает процедуру READ или READLN с внешним файлом или устройством ввода. [список_ввода] - список переменных, которым будут присвоены отдельные значения. Процедура READ используется для ввода значений числовых переменных. READLN - для строковых значений. При вводе значений с клавиатуры значение файловой переменной в процедуре READ или READLN принимается по умолчанию и ее значение отсутствует в формате. Процедуры READ и READLN называются темными процедурами. При исполнении программы, в момент исполнения READ процессор приостанавливает свою работу и ждет ввода исходных данных. Нет диагностики. Может создаться впечатление, что программа зависла. Для нормальной работы программы перед READ можно поставить процедуру WriteLn, которая выведет сообщение о вводе требуемых значений. При вводе двух и более значений переменных в READ эти значения отделяются пробелом и будут введены в программу нажатием на Enter, до этого момента вводимые значения могут быть изменены.

Ввод присвоения: ввод с клавиатуры позволяет использовать программу много раз при различных переменных. Ввод присвоения не позволяет этого сделать, а используется для задания начального значения переменных-инициализации. Для ввода присвоения используется короткая форма оператора присвоения имеющая формат: [переменная]:=[значение], где [переменная] - имя переменной, ‘:=’ - оператор присвоения. Например , V:=60; T:=4.

Ввод константы: используется, если значение объектов в программе не изменяется. Например:

Program Zadacha;

Uses Wincrt;

const V=60;

Var S,T:Real

Begin

WriteLn(‘определение расстояния’);

WriteLn(‘введите значение T’);

Read (T);

Структура вывода результатов работы программы: вывод осуществляется процедурами Write или WriteLn. Формат: Write ([файловая_переменная], [список_вывода]), где [файловая_переменная] - файловая переменная, связывающая Write или WriteLn с внешним файлом или устройств ввода/вывода. Файловая переменная определяется особым образом в разделе описания программы. Тип файловой переменной зависит от вида файла. Для сохранения результатов работы программы в виде внешнего текстового файла, файловая переменная объявляется в разделе Var как переменная типа Text:

Var

[файловая_переменная]: Text;

f:Text;

Файловая переменная в процедурах Write и WriteLn может отсутствовать. Это означает, что ее значение принято по умолчанию и в этом случае процедура Write или WriteLn связаны с устройством вывода на экран, т.е. результаты выводятся на экран. Список вывода может состоять из переменных, строковых констант и выражений. Чаще всего в списке вывода используются строковые константы и переменные. Строковые константы поясняют выводимые результаты. Переменные в программе непосредственно выводят результаты, которые были получены в программе. Переменные в списке вывода задаются с форматом. Формат определяет порядок вывода значения переменных. В языке паскаль для числовых значений используется 2 основных типа: целые и вещественные. Целые имеют только целую часть, а вещественные целую и дробную части(определяется десятичной точкой). В связи с этим для вывода числовых значений используют 2 формата:

переменная целых типов. Формат: ([переменная]:[число]), например С:5;

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

[переменная]:[общее]:[позиции], например А:8:3.

В общее число позиций входит десятичная точка(пример А=83.56). Отличие процедур Write и WriteLn в следующем: процедура Write выводит список вывода и составляет специальный указатель, называемый указателем вывода, это означает, что следующий в программе Write и WriteLn будет осуществлять вывод в той же строке. Процедура WriteLn после окончания вывода переводит указатель вывода на новую строку, это означает, что следующий в программе WriteLn будет осуществлять вывод с новой строки.

Оператор присвоения. Во всех языках программирования и в языке паскаль оператор присвоения выделяется особой формулой. Это наиболее часто используемый оператор, его формат: [переменная]:=[выражение], ‘:=’ - символ операторного присвоения. Переменная это объект программы, который в ходе ее исполнения может изменяться. Выражение это последовательность операндов связанных знаками операции. Операндами могут быть переменные, константы, числа, функции языка паскаль. Действие операции присвоения заключается в присвоении переменной значения, полученного в результате вычисленного выражения. Выражение обычно в программе служит для описания действий, которое в математике обычно описывается формулой.