Правила написания программы в паскале

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

Contents

  • 1 Основы синтаксиса
  • 1.1 Структура программы
  • 1.2 Типы данных
  • 1.3 Объявление переменной
  • 2.1 Ветвления
  • 2.2 Циклы
  • 2.2.1 Цикл с предусловием
  • 2.2.2 Цикл с постусловием
  • 2.2.3 Цикл со счетчиком
  • 3.1 Объявление указателя
  • 3.2 Выделение и освобождение памяти
  • 3.3 Разыменование

Основы синтаксиса [ ]

Структура программы [ ]

Структура программы на Паскале в общем виде выглядит так:

program ; var ; type ; function ():; ; begin ; end; procedure (, var ); begin ; end; function (, var ): begin ; end.

Типы данных [ ]

  • integer — целые числа;
  • real — действительные числа;
  • char — символ (один);
  • boolean — логический;
  • string — строка.

Объявление переменной [ ]

Основные правила написания текста программы на pascal

В этом случае надо войти в главное меню (F10), выбрать пункт «File», нажать «Enter», далее в подменю выделить слово «New», нажать «Enter». В этом случае составляемой программе будет автоматически присвоено имя «NONAME.PAS», которое будет высвечено в правом верхнем углу окна EDIT. Чтобы дать программе какое-либо иное имя, следует в пункте «File» главного меню выбрать подпункт «Write to» и в появившемся окне набрать желаемое имя программы с указанием имени диска и, если необходимо, имени каталога. Выполнив перечисленное, следует нажать «Enter», после чего окно EDIT очистится, в верхнем правом углу окна будет выведено заданное название программы, а в левом верхнем углу будет мерцать курсор, приглашая к вводу с клавиатуры текста новой программы.

1.7 Основы информатики — Пишем первую программу на Паскале

После окончания сеанса набора текста программы или его редактирования, надо сохранить текст на магнитном диске, нажав F2.

Общая структура программ на языке Паскаль:

Program Имя программы Раздел описаний Begin Раздел операторов End.

Слова PROGRAM, BEGIN и END выделяют 2 части программы: раздел описаний и раздел операторов. Такая структура обязательна. Любой объект, используемый в программе, должен быть учтен в разделе описаний.

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

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

Работа с Файлами Pascal


Program имя программы; Uses Список используемых модулей Label Список меток из основного блока программы Const Определение констант программы Type Описание типов Var Описание переменных Procedure Текст процедуры Function Текст функции Begin Основной блок программы (раздел операторов) End.

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

В первой строке текста обычно объявляется имя программы. Для этого используется слово PROGRAM, которое не может далее использоваться в программе для других целей:

Program Имя программы;

«;» — этот разделитель в Паскале означает конец оператора или описания, его использование позволяет размещать несколько операторов в одной строке.

Читайте также:
Управляющая программа компьютера это

Во второй строке нашей программы находится раздел определения констант. В нем перечисляются используемые в программе константы и их значения. Слово «CONST» означает, что сразу за ним следует определение одной или нескольких констант. «Определить константу» значит указать ее имя и значение, которое не будет меняться на всем протяжении работы программы. Константа определяется так:

Const имя константы=значение;

Имя константы и ее значение разделяются знаком равенства.

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

В третьей строке программы имеется слово «Var». Оно означает, что раздел определения констант закончился и начинается раздел описания переменных. Переменные используются в для хранения и передачи данных внутри программы. Каждая переменная, используемая в программе, должна быть описана, т.е. в разделе «Var» должны быть указаны имена переменных и типы хранимых в них данных:

Var имя переменной: тип переменной;

В Турбо-Паскале имя переменной должно начинаться с латинской буквы, состоять из латинских букв, цифр или знака подчеркивания «_». Имя должно состоять не более чем из 63 символов (больше не воспринимает компилятор). В имени переменной нельзя использовать пробел.

Источник: itteach.ru

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

pascal-base / project / code_style.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Cannot retrieve contributors at this time
380 lines (307 sloc) 17.2 KB

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents Copy raw contents

Copy raw contents

Стандарт стилевого оформления исходного кода лабораторных работ

Этот стандарт документирует стилевое оформление для форматирования исходного кода лабораторных работ на языке Pascal (Free Pascal). Оригинал статьи создан Чарльзом Калвертом и расположен на «Borland Community site». В стандарте использованы материалы команды разработчиков Delphi, сообщества разработчиков библиотеки JEDI. Стандарт содержит правила, актуальные для студентов, изучающих курс «Программирование и алгоритмические языки».

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

Файлы исходного кода

Исходный код подразделяется на модули и файлы проекта, которые подчиняются одинаковым соглашениям. Файл проекта имеет расширение LPR (при работе в среде Lazarus). Этот файл является главным исходным файлом для всего проекта. Любые модули, используемые в проекте, будут иметь расширение PAS.

Именование исходных файлов

Язык Pascal поддерживает длинные имена файлов. Если при создании имени Вы используете несколько слов, то необходимо использовать заглавную букву для каждого слова в имени: MyLongName.pas . Этот стиль оформления известен как InfixCaps или CamelCaps. Расширения файлов должны быть в нижнем регистре.

Организация исходных файлов

Все программы Pascal могут содержать следующие элементы в определенном порядке:

  • Информация о правах (Copyright/ID);
  • Имя программы (Program Name);
  • Объявление используемых модулей (Uses clause);
  • Раздел определения констант/типов данных/процедур и функций/переменных;
  • Раздел операторов (begin — end.).
Читайте также:
Как найти временные файлы программы

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

Пример заголовка для модуля:

************************************************************> > Модуль ХХХ > Copyright (c) 2001 ООО ХХХХ > отдел/сектор > > Разработчик: ХХ ХХ > Модифицирован: 25 июня 2001 > > ************************************************************>

Следует обратить внимание на элементы заголовка:

  • Назначение модуля;
  • Копирайт;
  • Разработчик;
  • Дата последней модификации для исполняемой версии.

Каждый исходный файл должен содержать объявление программы. Слово program является ключевым, поэтому оно должно быть написано в нижнем регистре. Имя программы может содержать символы как в верхнем, так и в нижнем регистре и должно быть таким же, как и имя используемое для этого файла операционной системой. Например: program IterationCycles;

Этот файл будет назван IterationCycles.lpr, когда он будет сохранен операционной системой.

Соглашение об именованиях

Исключая зарезервированные слова и директивы, которые всегда пишутся в нижнем регистре, все идентификаторы Pascal должны использовать InfixCaps: MyIdentifier MyFTPClass;

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

AddressForm ArrayIndexOutOfBoundsException
ManageLayout (глагол) delphi_is_new_to_me (подчеркивание)

Исключение для Венгерской нотации делается в случае объявления перечислимого типа:

TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bkIgnore, bkAll);

bk обозначает ButtonKind .

Следует избегать однобуквенных имен, кроме как для временных переменных и переменных цикла. Переменные цикла именуются i и j . Другие случаи использования однобуквенных переменных это s (строка) и r (результат). Не рекомендуется использовать переменную l (эль), потому что она похожа на 1 (единица).

Зарезервированные слова и директивы должны быть все в нижнем регистре. Стандартные типы должны начинаться с большой буквы (Integer), однако string — это зарезервированное слово и оно должно быть в нижнем регистре.

Все объявления типов данных должны начинаться с префикса Т и должны придерживаться правил, приведенных при описании оформления модуля.

Использование пробелов и пустых строк

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

  • После блока копирайта.
  • После каждого раздела описаний.

Пробелы, запрещенные к использованию

  • До или после оператора .(точка);
  • Между именем метода и открывающей скобкой;
  • Между унарным оператором и его операндом;
  • После открывающей скобки или перед закрывающей;
  • После открывающей квадратной скобки [ или перед закрывающей ];
  • Перед точкой с запятой.

Примеры правильного использования:

Примеры неправильного использования:

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

Существует несколько исключений из этого правила. Зарезервированные слова unit , uses , type , interface , implementation , initialization и finalization всегда должны примыкать к левой границе.

В файле проекта выравнивание по левой границе применяется к словам program, главным begin и end . Код внутри блока begin..end должен иметь отступ два символа.

Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Выражение begin всегда должно находиться на своей отдельной строке.

Нельзя переносить строки в тех местах, где не допускаются пробелы, например между именем метода и открывающей скобкой или между именем массива и открывающей квадратной скобкой. Никогда нельзя помещать выражение begin на строку, содержащую другой код.

Читайте также:
Где на экране по умолчанию располагается панель визуализации в программе scad office

while (LongExpression1 or LongExpression2) do begin // DoSomething // DoSomethingElse; end;
while (LongExpression1 or LongExpression2) do begin // DoSomething // DoSomethingElse; end;

В случае с логическими операторами предпочтительнее будет следующий вариант:

if (LongExpression1) or (LongExpression2) or (LongExpression3) then

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

  • Помещайте комментарий недалеко от начала модуля для пояснения его назначения;
  • Помещайте комментарий перед объявлением процедур и функций;
  • Избегайте очевидных комментариев: (i := i + 1 // добавить к i единицу);
  • Помните, что вводящий в заблуждение комментарий хуже чем его отсутствие;
  • Избегайте помещать в комментарий информацию, которая со временем может быть не верна.

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

Это простой оператор: A := B;

Это составной или структурированный оператор:

begin B := C; A := B; end;

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

MyValue := MyValue + (SomeVeryLongStatement / OtherLongStatement);

Каждое присвоение и каждое выражение должно располагаться на разных строках. Правильно

a := b + c; Inc(Count);
a := b + c; Inc(Count);

Имена переменных должны иметь стиль Camel Caps.

var MyData: Integer; MyString: string;

В объявлении массива перед и после квадратных скобок должны стоять пробелы.

type TMyArray = array [0..100] of Char;

Оператор if всегда должен располагаться по крайней мере на двух строках Неправильно

if A < B then DoSomething;
if A < B then DoSomething;

В случае составного оператора необходимо поместить каждый оператор на новую строку. Неправильно

if A < B then begin DoSomething; DoSomethingElse; end else begin DoThis; DoThat; end;
if A < B then begin DoSomething; DoSomethingElse; end else begin DoThis; DoThat; end;

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

if I > 0 then DoSomething;
if (I > 0) then DoSomething;

Оператор for Неправильно

for i := 0 to 10 do begin DoSomething; DoSomethingElse; end;
for i := 0 to 10 do begin DoSomething; DoSomethingElse; end; for I := 0 to 10 do DoSomething;
while x < j do begin DoSomething; DoSomethingElse; end;
while x < j do begin DoSomething; DoSomethingElse; end; while x < j do Something;

Оператор repeat until Правильно

repeat x := j; j := UpdateValue; until j > 25;

Оператор case Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая: Правильно

case ScrollCode of SB_LINEUP, SB_LINEDOWN: begin Incr := FIncrement div FLineDiv; FinalIncr := FIncrement mod FLineDiv; Count := FLineDiv; end; SB_PAGEUP, SB_PAGEDOWN: begin Incr := FPageIncrement; FinalIncr := Incr mod FPageDiv; Incr := Incr div FPageDiv; Count := FPageDiv; end; else Count := 0; Incr := 0; FinalIncr := 0; end;

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

Разделы описаний Const, Var и Type

Зарезервированные слова var , const и type всегда пишутся на новой строке и не допускают появления на этой же строке какого-либо текста.

type TMyType = Integer; const MyConstant = 100; var MyVar: Integer;
type TMyType = Integer; const MyConstant = 100; var MyVar: Integer;

Источник: github.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru