Язык программирования паскаль обучение для чайников. Среда программирования "Паскаль ABC"

На просторах всемирной сети Интернет можно найти массу программ на языке "Паскаль", но намного сложнее разобраться, по какому принципу они работают и как устроены. Давайте же изучим основы программирования вместе!

Алгоритмический язык: базовые понятия

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

Символы алгоритмического языка - это неделимые атомы, используемые для написания кода.

Элементарные конструкции - это минимальные единицы, которые имеют собственный смысл.

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

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

Язык "Паскаль"

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

  • 26 латинских прописных и ;
  • знак подчеркивания;
  • десять цифр;
  • ограничители;
  • знаки операций;
  • спецификаторы;
  • зарезервированные системой (служебные) слова.

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

Элементарные конструкции языка

"Паскаль" для начинающих включает в себя строки, числа и имена.

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

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

Имя - это последовательность, которая начинается с буквы и может содержать в своем составе цифры. Идентификаторами принято называть метки, типы, константы, функции, процедуры, переменные, объекты и даже модули. Формируя идентификаторы можно использовать символ подчеркивания. Имя может иметь массу символов, но компилятор будет считывать лишь первые 63 знака. "Паскаль", описание которого может показаться таким сложным, не так уж страшен, поэтому не спешите пугаться и закрывать страницу браузера!

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

Улучшить наглядность кода помогут пробелы, но стоит помнить, что ими нельзя разделять имена и числа посредине.

Синтаксис алгоритмического языка

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

Точка с запятой (;) - это условный сигнал, который говорит об окончании текущей строки и необходимости перейти на новую. Но исключением могут быть служебные команды: const, var, begin и другие.

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

Для присвоения переменной определенного значения перед знаком равно необходимо поставить двоеточие. К примеру, вы ходите задать n=13, а в коде это будет выглядеть как n:=13.

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

Классические операторы языка "Паскаль"

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

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

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

Оператор присваивания

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

Составные операторы

"Паскаль" - это язык программирования, который использует последовательности произвольных программных операторов, заключенные в специальные скобки. Речь идет о составных конструкциях, ограниченных словами begin и end. Это важный инструмент алгоритмического языка, с помощью которого появляется возможность писать код, используя структурную методологию.

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

Условный оператор языка программирования

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

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

IF <условие> THEN <оператор1> ELSE <оператор2>.

В этом выражении else, then и if являются зарезервированными словами, условие - логическим выражением с произвольным содержанием, а операторы - любыми командами используемого языка программирования.

Структура программного кода

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

В заголовке, как правило, содержится имя кода. К примеру, Program MyFirst.

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

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

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

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

В разделе описания используемых переменных следует указать все типы, которые будут задействованы: "var c,a,r: integer; k,l, m: char; h1,h2: boolean;".

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

Текст кода должен заканчиваться точкой.

Примеры программ

"Паскаль" - это элементарный язык, и после изучения вышеописанной информации можно приступить непосредственно к написанию кода.

Давайте сделаем так, чтобы приложение вывело на экран фразу «It is my first program!»

Примеры программ на "Паскале" очень важно понять, поэтому попытайтесь это сделать прямо сейчас.

Begin
Writeln (It is my first program!");
End.

Вот так все просто!

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

Надеемся, были для вас полезными.

Язык программирования Turbo Pascal является развитием языка Pascal, разработанного Никлаусом Виртом в 1969-71 годах, для обучения структурному программированию. Фирма Borland International, существенно расширила алгоритмические средства языка, создала удобную среду программирования и высокоскоростной компилятор.
Turbo Pascal разрабатывался под операционную систему ДОС (Дисковая Операционная Система), поэтому он работает только в текстовом режиме. Среда разработки Turbo Pascal (версия 7) представляет из себя текстовый редактор и средства отладки и компиляции программы. Для переключения редактора из оконного в полноэкранный режим и обратно следует нажать одновременно клавиши Alt + Enter.

Программа на Pascal пишется в текстовом редакторе по определённым правилам. Текст программы проверяется редактором кода. Зарезервированные слова языка и определённые синтаксические конструкции выделяются цветом, что создаёт определённые удобства.

Линейный алгоритм. Типы числовых данных. Функции ввода - вывода.

Простые программы пишутся последовательно, шаг за шагом до тех пор, пока не будет получено решение задачи. Такая линейная последовательность в программировании называется линейным алгоритмом . Рассмотрим программу простого калькулятора. Пусть нам нужно сложить, вычесть, умножить и разделить два числа X и Y. В большинстве языков программирования принято объявлять участвующие в программе переменные. Это нужно для того, что бы зарезервировать фрагмент оперативной памяти компьютера для хранения объявленных данных. На рисунке показана программа калькулятора:


Рассмотрим построчно, что означают введённые в редакторе команды:
  • uses crt; - Выражение: Использовать модуль CRT. В начале программы, обычно, пишется директива uses и затем, через запятую, перечисляются модули содержащие набор необходимых функций для работы программы. CRT - модуль поддержки монитора и клавиатуры. (Важное замечание. Регистр букв текста программы не имеет значения. Так, например, можно написать uses crt; или Uses CRT; - программа будет работать и не воспримет это как ошибку). Любое выражение на Pascal должно заканчиваться знаком "точка с запятой".
  • var - (сокращённое от variable - переменная) объявления блока переменных. После команды var точка с запятой не ставится.
  • x, y, z1, z2, z3, z4: real; - перечисляем через запятую переменные необходимые для решения задачи; x и y - вводимые данные для вычислений; z1 ... z4 - переменные для хранения результатов вычислений. Двоеточие и real означает, что все перечисленные переменные объявлены как тип данных - число с плавающей запятой.
    При программировании используются различные типы данных. Ниже представлены числовые типы данных:
  • Begin - собственно начало программы. Оператор begin называется операторной открывающейся скобкой. После оператора begin точка с запятой не ставится.
  • Clrscr; - процедура очистки экрана. Эта процедура встроена в модуль CRT. В фигурных скобках {clear screen} написан комментарий к программе.
  • Write("Wwedite X: "); - функция write выводит на экран сообщение. Выводимое сообщение является аргументом функции write. Если сообщение текстовое, то оно заключается в одинарные кавычки (апострофы). К сожалению Turbo Pascal не поддерживает символы кириллицы, поэтому сообщение пришлось написать латинским шрифтом.
  • Readln(x); - функция readln получает данные с клавиатуры вводимые пользователем. При появлении этой функции в исполняемой программе, действие программы приостанавливается и она ожидает ввода данных до нажатия клавиши Enter. Сама функция readln состоит из двух частей: read - собственно чтение с клавиатуры (может использоваться самостоятельно); окончание ln - означает (line new) новая строка, после выполнения чтения с клавиатуры переводит курсор на новую строку.
    Следующие две строки в точности повторяют две предыдущие, только выводится сообщение для ввода переменной Y и чтение этой переменной с клавиатуры.
  • z1:= x + y; - вычисляем сумму аргументов х и у. Знак:= означает переменной z1 присвоить значение суммы х и у.
  • z2:= x - y; - вычисляем разность аргументов х и у.
  • z3:= x + y; - вычисляем произведение аргументов х и у.
  • z4:= x + y; - вычисляем частное от деления аргументов х и у.
  • Writeln(z1) - так же, как и оператор write выводит сообщение на экран, ln - означает, что следующее сообщение будет выводиться с новой строки. Так как переменная z числового типа, то апострофы ставить не нужно. Итак, функции Writeln(z1); Writeln(z2); Writeln(z3); и Writeln(z4); выводят на экран все значения z в столбик.
  • End. - оператор конца программы. После end (операторная закрывающаяся скобка, парная оператору begin) ставится точка. Точка является признаком конца файла.
        Что бы убедиться в правильности написания программы следует нажать клавишу F9. Произойдёт компиляция программы и проверка синтаксиса. Если код написан верно, то увидим следующее сообщение:


    Если компилятор обнаружит ошибку, то появится соответствующее сообщение, а курсор будет установлен в строку с ошибкой.


    В нашем случае строка z4 = x / y; - должно быть z4:= x / y;
    Для запуска программы на исполнение, следует нажать комбинацию клавиш Ctrl и F9. В программе следует ввести значение х и нажать Enter, затем ввести значение у и опять нажать Enter. Компьютер произведёт необходимые вычисления и выведет значения на экран, но мы, скорее всего, ничего не увидим, потому что выполнение программы закончится и произойдёт возврат в редактор. Для просмотра полученных результатов следует нажать одновременно Alt и F5.


    То, что мы видим на экране не совсем удобно для понимания. Лучше будет, если результаты отображать не экспоненциальном виде, а в нормальном, десятичном.
    Так же, пользователь программы вынужден догадываться в какой строке результатов сложение, в какой умножение и так далее. Для исправления ситуации изменим строки вывода результатов на экран:
    writeln("X + Y = ", z1:0:4);
    writeln("X - Y = ", z2:0:4);
    writeln("X * Y = ", z3:0:4);
    writeln("X / Y = ", z4:0:4);
    Рассмотрим любую из изменённых строк, например writeln("X / Y = ", z4:0:4); Функция вывода writeln в качестве аргумента (в нашем случае) принимает два значения. Аргументы друг от друга отделяются запятой.
    Первое значение: "X / Y = " - надпись которая будет выводиться на экран, она должна быть заключена в апострофы. Второе значение - число z4. Для придания числу десятичной формы отображения, оно отформатировано по следующей схеме: двоеточие - число знаков до запятой, двоеточие - число знаков после запятой. Если число знаков до запятой неизвестно, то лучше поставить ноль.
    Усовершенствованная программа принимает удобочитаемый вид:


    До оператора end можно ввести строку readln;, тогда программа не будет завершаться сразу после выполнения, а будет ожидать нажатия клавиши Enter. Для сохранения готовой программы следует нажать F2 и сохранить файл с именем, например, calc.pas.

    Логические операторы. Символьные переменные.

    При выполнении написанной программы могут возникнуть непредвиденные обстоятельства, а именно, если пользователь программы вторым числом введёт значение 0 (нуль). Как известно, деление на 0 запрещено и при выполнении программы компьютер выдаст такое сообщение:


    Что бы избежать таких ситуаций, программист должен предусмотреть в программе некоторую защиту.
    Самое простое решение, в нашем случае, при значении Y равном нулю, перейти к началу программы, что бы пользователь ввёл другие значения. Перечислим те действия, которые должна выполнить программа:
    - если Y равно 0 то перейти к метке в начале программы, иначе (Y не равен 0) выполнить математические действия.
    На языке Pascal это будет выглядеть так: if y = 0 then goto label1 else ...
    Эта запись означает: (if) если y = 0 (y = 0 - логическое выражение) then (то) goto (перейти к) label1 (имя метки) else (иначе) ... Оператор else можно не использовать если дальнейшее выполнение программы подразумевается при невыполнении условия логического выражения. Метка label1 придуманное имя метки, поэтому мы должны его объявить до начала программы, сразу за разделом объявления переменных. Сама метка устанавливается в том месте программы, куда должен осуществиться переход. После имени метки ставится знак двоеточие. Изменённая таким образом программа показана на рисунке:


    Такая программа имеет более "товарный" вид и свойства.
    Рассмотрим подробно какие конструкции можно создавать на языке Pascal с использованием логических операторов. В общем виде логическая запись выглядит так:
    if (условие) then (действие1) else (действие2);
    или
    if (условие) then (действие);
    Сначала рассмотрим запись условий:

    Логические связки записываются между логическими условиями, сами условия берутся в скобки, например: if (a = b) and (z Следует иметь в виду что при выполнении условия, после оператора then может быть только одно действие. Если действий по условию программы должно быть больше, то все действия должны быть взяты в операторные скобки begin ... end.
    Например:
    if a = b then
      begin
      writeln("Error!");
      y:= 22;
      goto label1;
    end else ...
    Аналогичным образом несколько действий записывается после оператора else.
        Написанная нами программа "калькулятор" имеет один существенный недостаток, если нужно произвести несколько вычислений, приходится перезапускать программу на выполнение. Изменим нашу программу так, что бы она завершалась с согласия пользователя. Пользователю следует предложить нажать клавишу Y для продолжения работы с программой, или любую другую клавишу для завершения работы.
    Заменим последний в программе оператор readln; на такие строки:
      write("Repeat - Y / End - other key"); {Выводим сообщение для пользователя}
      readln(sym); {Считываем символ с клавиатуры}
      if (sym = "Y") or (sym = "y") then goto label1; {Если введён символ Y или y , то переходим к началу программы}
    В нашей программе появилась новая переменная - sym (вымышленное имя, которое придумываем мы сами. Имя должно начинаться с буквы, а затем могут следовать цифры или буквы). Эта переменная имеет тип одиночного символа и мы должны её объявить в разделе переменных. Символьные переменные имеют тип char. Символьные переменные при использовании в программе следует заключать в апострофы.
    Добавим эту переменную в разделе var:
    var
    sym: char;
    .............
    Запустим программу на исполнение, и убедимся, что программа написана правильно:


    В паскале есть ещё один тип символьных переменных, это тип string - строка состоящая максимум из 255 символов, но об этом в следующих разделах.

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

  • Паскаль - это язык программирования высокого уровня. Но он очень устарел морально. Потому что мир не стоит на месте. И другие языки, такие как: C# и Java имеют большую востребовательность и эффективность написания кода в отличии от Паскаля. Его изучают не столько для применения, как для обучения в учебных заведениях. Потому что он прост для понимания и нанести вред системе от некорректного кода пользователя не может. Я предоставил вам список уроков, по которым вы можете изучить его досконально.

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

    Если же она у вас есть, то приступим к процессу обучения.

    Пройдя все уроки вы получите примеры решения задач, представление о написании программ в целом, а также изучите язык программирования Turbo Pascal .

    Разработал: профессор НТУ "ХПИ" Домнин Феликс Аркадьевич

    «Паскаль ABC» - система обучения, которая позволяет школьникам и студентам ознакомиться с одноименным языком программирования. Она разработана в 2002 году российскими учеными. Задачей разработчиков было создать среду программирования, которая отвечала бы меркам современности и могла бы с легкостью обучать учеников.

    Интерпретатор рассчитан на 32-битные системы и вмещает в себя способы реализации некоторых возможностей. Притом что исходные были признаны ненужными для обучения.

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

    Программа «Паскаль ABC» с версии 3.0 стала свободным программным обеспечением.

    Особенности

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

    Компилятор способен выполнять код настолько быстро, как это делает C#, и немного медленнее, чем C++, «Делфи».

    Благодаря платформе.NET, программное обеспечение поддерживает все возможности Microsoft.NET и ее же библиотеки. Можно смело использовать последние в своих программах, опираясь даже на те, которые созданы на другом языке программирования.

    «Паскаль ABC» имеет и онлайн-версию, которая получила широкую распространенность. Она работает без сбоев, процесс ввода-вывода происходит по сети; программы сохраняются на сервере.

    Среди многих программистов есть мнение о том, что "Паскаль" - язык мертвый, и прекращение его использования - дело времени. Это утверждение основано на том, что в школах используют старую среду программирования с урезанными возможностями. Это и мешает ученикам по достоинству оценить все функции языка.

    Модули для обучения

    Благодаря Microsoft.NET «Паскаль ABC» получил стандартную библиотеку, которая имеет множество классов, позволяющих решать задачи различной сложности. Именно поэтому необходимость в разработке собственных модулей просто отсутствует, но возможность этим заниматься, безусловно, есть. Как правило, те, которые уже существуют благодаря программистам, направлены на лучшее освоение языка.

    Для того чтобы обучить школьников, используются модули «Робот» и «Чертежник». Они имеют больше 200 примеров, которые подлежат автопроверке. Благодаря решению данных задач, человек с легкостью освоит базовые конструкции языка «Паскаль».

    Модули на этом перечне не заканчиваются. Есть встроенный электронный задачник, который пригодится тем, кто учится самостоятельно или хочет повторить материал, закрепить знания.

    Для того чтобы создать графические элементы в программе «Паскаль ABC», используются модули векторной и растровой графики.

    Отличия

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

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

    Задачи

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

    • Begin.
    • Writeln(‘Привет, Мир!’).

    Первая и последняя строки - операторные скобки, в которых должна находиться сама суть задачи. Вторая - объявляет вывод текста, находящегося в кавычках. Вот такие легкие примеры. «Паскаль ABC» имеет в своем задачнике много подобных программ, на которых просто и интересно учиться.

    Паскаль для начинающих

    Основы грамматики в таблицах и примерах

    Pascal (Паскаль) - язык программирования общего назначения. Создан в 1970 году специалистами Технического Университета в Цюрихе (ETH, Zurich) под руководством профессора Никлауса Вирта (Niklaus Wirth). После появления языка Pascal были созданы новые промышленные версии языка, а также языки-потомки, которые сохраняют основные синтаксические и семантические свойства языка Вирта: Modula, Turbo Pascal, Object Pascal (Delphi), Component Pascal (Oberon-2), TMT Pascal, Free Pascal, Zonnon, Ada. Идеи языка Pascal оказали большое влияние на современные языки программирования, которые активно используются в современной промышленности: Java, Javascript, C#. При этом Pascal значительно проще и хорошо приспособлен для начального изучения программирования. Описание языка дано в соответствии с диалектом языка фирмы Borland Software (США): Turbo Pascal 7.1. (1992).

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

    1. Текст программы состоит из трех составных частей. Это заголовок, описания, операторы. Заголовок программы содержит имя программы. Для версии ETH необходимо дополнительно указать источник и приемник данных для работы программы - файлы для ввода и вывода информации. По умолчанию файл input связан с клавиатурой компьютера, а файл output - с экраном монитора. В Turbo Pascal заголовок имеет декоративное значение и использовать его не обязательно.

    2. Описания - это символьные конструкции для описания свойств объектов программы. Все объекты программы надо обязательно указать в этой части программы. Операторы - это символьные конструкции для описания действий над объектами программы. Операторы должны находиться между словами begin и end. Эти слова считаются скобками.

    3. В одной строке текста можно размещать несколько операторов или описаний. Поэтому между операторами надо обязательно ставить символ-разделитель. Для разделения операторов используется символ точка с запятой (;). После последнего оператора разделитель ставить не обязательно.

    4. Малые и большие буквы считаются эквивалентными (равнозначными). Имя любого объекта в записи программы может содержать только буквы латинского алфавита, цифры и символ подчеркивания (_). Имя не может начинаться с цифры. Никакие другие типы символов в записи имен не разрешаются.

    2. Общее строение программыETH Pascal Пример

    program имя(ввод,вывод); program echo(input,output);

    описания; var n: integer;

    оператор; write("число?");

    оператор; read(n);

    оператор write(n)

    Turbo Pascal-Delphi Пример

    program имя; program echo;

    модули; uses crt;

    описания; var n: integer;

    оператор; clrscr; read(n);

    оператор; write(n);

    оператор readkey

    3. Основные типы переменных

    Действительный real 16.32

    1.6320000000E+01

    Тип Описатель типа (имя) Значение типа (пример)

    Целый integer 30000

    Длинный целый longint 2000000000

    Тип Описатель типа (имя) Значение типа (пример)

    Строковый string "задача"

    Логический (булевский) boolean false

    Интервальный M1..M2 100

    4. Конструкции для описания величинОписание переменных величин Пример

    имя-переменной: имя-типа; a: real;

    имя1, имя2, имя3: имя-типа; x, y, z: integer;

    p, q, r: 0..100;

    s, t, u: "a".."z";

    Описание постоянных величин Пример

    имя1 = значение1; X = 40000;

    имя2 = значение2; Y = 16.32;

    имя3 = значение3; Z = -1.632E+10;

    имяN = значениеN; A = "a";

    T = "тема"#13#10"урока:";

    5. Оператор присваиванияФорма оператора Пример

    имя:= выражение a:= 0;

    6. Ввод и выводПроцедура Пример 1 Пример 2

    read(список ввода) program echo1(input,output); program echo2(input,output);

    readln(список ввода) var m, n: integer; var m, n: integer;

    write(список вывода) BEGIN BEGIN

    writeln(список вывода) read(m,n); readln(m,n);

    write("m=",m); writeln("m=",m);

    write("n=",n) writeln("n=",n)

    Число (n) Тип Формат вывода Результат вывода

    16 integer write(n) 16

    16 integer write(n:2) 16

    16 integer write(n:5) 16

    16.32 real write(n); 1.6320000000E+01

    16.32 real write(n:12) 1.63200E+01

    16.32 real write(n:5:2) 16.32

    16.32 real write(n:10:4) 16.3200

    7. Модуль crt (cathode ray tube)Процедуры и функции Операция Пример

    clrscr Очистить экран clrscr

    textcolor(цвет) Установить цвет текста textcolor(1)

    textbackground(цвет) Установить цвет фона textbackground(1)

    textbackground(blue)

    delay(время в миллисекундах) Остановить выполнение на заданное время delay(1000)

    gotoxy(колонка,строка) Установить курсор на заданную позицию gotoxy(40,20)

    keypressed Если была нажата клавиша, то true (функция) repeat write("o") until keypressed

    readkey Остановить выполнение до нажатия клавиши, прочитать код нажатой клавиши (функция) readkey

    Номер и имя цвета Номер и имя цвета

    0 black 8 darkgray

    1 blue 9 lightblue

    2 green 10 lightgreen

    3 cyan 11 lightcyan

    4 red 12 lightred

    5 magenta 13 lightmagenta

    6 brown 14 yellow

    7 lightgray 15 white

    8. Арифметические средства языкаАрифметическая операция Описание операции Пример

    Сложение

    Вычитание

    * Умножение

    / Деление 5.0/2.0 = 2.5

    div Целочисленное деление (деление без остатка) 5 div 2 = 2

    mod Остаток от деления 5 mod 2 = 1

    shl Двоичный сдвиг влево 5 shl 1 = 10

    shr Двоичный сдвиг вправо 5 shr 1 = 2

    abs(x) Модуль числа (абсолютное значение) abs(-2) = 2

    sqr(x) Квадрат числа sqr(2) = 4

    sqrt(x) Квадратный корень числа sqrt(4) = 2.0

    pi Число пи ~ 3.14...

    Функция Результат функции Пример

    sin(x) Синус числа sin(pi) = 0

    cos(x) Косинус числа cos(0) ~ 1.0

    ln(x) Логарифм натуральный ln(1) = 0

    exp(x) Экспонента (число e в степени x) exp(1) ~ 2.72

    Функция Результат функции Пример

    int(x) Целая часть числа int(3.6) = 3.0

    trunc(x) Целое число без округления trunc(3.6) = 3

    round(x) Целое число с округлением round(3.6) = 4

    9. Логические средства языкаОператор условия - полная форма Пример

    if условие then if (x>0) and (y>0) then

    оператор 1 begin x:=x+y; y:=0 end

    оператор 2 begin x:=x-y; y:=-y end

    Оператор условия - неполная форма Пример

    if условие then if x>y then

    оператор x:=x mod y

    Логическая операция Описание операции Приоритет (порядок выполнения операции)

    not Отрицание (НЕ) 1

    and Конъюнкция (И) 2

    or Дизъюнкция (ИЛИ) 3

    xor Сильная дизъюнкция (ИЛИ-ИЛИ) 3

    Логическое отношение (предикат) Описание отношения Приоритет (порядок выполнения операции)

    > Больше 4

    < Меньше 4

    <> Не равно 4

    <= Не больше (меньше или равно) 4

    >= Не меньше (больше или равно) 4

    Оператор варианта Пример

    case выражение of case c of

    вариант-1: оператор; 0: x:=x+1;

    вариант-2: оператор; 1,2: x:=x-1;

    вариант-N: оператор 3..100: x:=-x

    оператор x:=0

    10. Операторы циклаОператор цикла с управляющей переменной - форма "to" Пример

    for имя:=значение1 to значение2 do for i:=1 to n do

    оператор begin read(a); s:=s+a end

    Оператор цикла с управляющей переменной - форма "downto" Пример

    for имя:=значение1 downto значение2 do for i:=n downto 0 do

    оператор write(i)

    Оператор цикла с логическим пред-условием Пример

    while условие-повторения do while i<=n do

    оператор begin read(a); s:=s+a; i:=i+1 end

    Оператор цикла с логическим пост-условием Пример

    операторы write(i); i:=i-1

    until условие-выхода until i=0

    11. МассивыТип массива Описание массива Пример

    Одномерный массив (вектор) array [ тип-индекса ] of тип-элемента var a: array [ 1..100 ] of integer;

    Тип массива Описание массива Пример

    2-мерный массив (матрица) array [ тип-индекса-1, тип-индекса-2 ] of тип-элемента; var a: array [ 1..M, 1..M ] of real;

    3-мерный массив array [ тип-индекса-1, тип-индекса-2, тип-индекса-3 ] of тип-элемента; var a: array [ 0..1, 0..M, 0..N ] of char;

    4-мерный массив array [ тип-индекса-1, тип-индекса-2, тип-индекса-3, тип-индекса-4 ] of тип-элемента; var a: array [ 0..1, 0..1, 0..1, "a".."z" ] of boolean;

    12. Процедуры и функции пользователяПроцедура Пример процедуры для обмена значений между целыми переменными m и n

    procedure имя(параметры); procedure swap(var m,n:integer);

    описания локальных величин var s: integer;

    операторы процедуры s:=m; m:=n; n:=s

    операторы программы read(x,y); swap(x,y); writeln(x:10,y:10)

    Функция Пример функции для вычисления натуральной степени (n) целого числа (m)

    program имя-программы; program primer; var x,y: integer;

    function имя(параметры): тип-результата; function power(m,n:integer):integer;

    описания локальных величин var s,i: integer;

    операторы функции s:=1; for i:=1 to n do s:=s*m; power:=s

    операторы программы read(x,y); writeln(power(x,y))

    13. Символьные типы данныхТип Описатель типа (имя) Значение типа (пример)

    Символьный (литерный) char "a"

    Строковый string "задача"

    "тема"#13#10"урока:"

    Функция Результат функции Пример

    length(s) Длина строки n:=length(s)

    pos(s1,s2) Начало первого вхождения строки s1 внутри строки s2 (номер позиции) n:=pos("+",s)

    copy(s,p,n) Часть строки s длиной n, начиная с позиции p c:=copy(s,4,2)

    concat(s1,s2,s3,...sn) Соединить строки (функция конкатенации) c:=concat(s,";",t,".")

    Функция Результат функции Пример

    upcase(c) Преобразовать малую букву латинского алфавита в большую (символ верхнего регистра) c:=upcase(c)

    chr(n) Символ с номером n c:=chr(n)

    ord(c) Номер символа со значением c n:=ord(c)

    succ(c) Следующий символ таблицы ASCII c:=succ(c)

    pred(c) Предыдущий символ таблицы ASCII c:=pred(c)

    Процедура Операция Пример

    delete(s,p,n) Удалить часть строки s длиной n, начиная с позиции p delete(s,n,1)

    insert(s1,s2,p) Вставить строку s1 в строку s2, начиная с позиции p insert("+",s,1)

    val(s,x,r) Преобразовать строку s в число x с признаком результата r val(s,x,nan)

    str(x:f,s) Преобразовать число x в строку s с форматом числа f str(x:10,s)

    s1 + s2 Соединить строки (операция конкатенации) s:=s+";"+t+"."

    14. МножестваТип множества Описание множества Пример

    Постоянное множество (константа) [ тип-элемента ] const a = [ 0..100 ];

    Переменное множество (переменная) set of [ тип-элемента ] var a: set of [ "0".."9", "+", "-" ];

    Пример описания постоянного множества Элементы множества

    const A = [ "A".."Z", "a".."z" ]; Буквы латинского алфавита

    const B = [ "a".."z" ]; Малые буквы латинского алфавита

    const C = [ "А".."Я", "а".."п", "р".."я", "Ё", "ё" ]; Буквы алфавита-кириллицы

    const D = [ "А".."Я" ]; Большие буквы алфавита-кириллицы

    const M = [ "0".."9" ]; Цифровые символы от 0 до 9

    const N = [ 0..100 ]; Целые числа от 0 до 100