Базовые конструкции PascalABC.NET
В большинстве случаев переменные описываются в блоке begin-end и описание совмещается с инициализацией:
Это решает сразу несколько проблем:
- можно не говорить о типах в первых программах или лишь упоминать их
- невозможно забыть инициализировать переменную
- переменные описываются по мере необходимости близко к месту их использования. Это улучшает читаемость. Проблема старого Паскаля, когда груда переменных описывалась до beginа, отсутствует
При таком способе возникает одна проблема: если надо накопить сумму вещественных, то такой код приведет к ошибке типов:
Для исправления этой ошибки всё равно придётся говорить о типах и инициализировать sum одним из двух способов:
Цикл for var
Переменная — счётчик цикла for всегда должна описываться в заголовке цикла:
Это делает невозможным использование счётчика цикла вне цикла
Цикл loop
Если количество повторений цикла заранее известно, но неважен номер повторения, то используется цикл loop:
Множественное описание переменных с инициализацией
Можно инициализировать сразу несколько переменных в момент описания:
Вывод
Для вывода вместо процедуры Write предпочтительно использовать процедуру Print. В отличие от Write она разделяет элементы вывода пробелами. Например:
Для вывода нескольких значений с пояснениями рекомендуется использовать интерполированные строки:
вместо режущего глаз
Ввод принято осуществлять, используя функции вида ReadInteger, ReadReal и т.д.:
Это позволяет совмещать описание переменной с инициализацией и автовыводом типа. В качестве дополнительных бонусов: можно делать приглашение к вводу как параметр функции ввода и вводить сразу несколько переменных одного типа:
Для ввода с контролем ошибок используется функция TryRead. Она возвращает False если ввод осуществлён неверно (введено не число или число выходит за границы диапазона). Типичный пример её использования:
Тип BigInteger
Для работы с длинными целыми используется тип BigInteger. Например, чтобы вычислить 100!, достаточно написать следующий код:
Константу BigInteger можно также создать, используя суффикс bi — тогда предыдущий код изменится следующим образом:
Некоторые полезные стандартные процедуры, функции и операции
Для обмена значений двух переменных a и b используйте стандартную функцию Swap(a,b) :
Разумеется, первый раз необходимо показать, что обмен значений осуществляется через третью переменную:
Но далее следует использовать Swap.
Минимальное и максимальное среди множества значений можно вычислить, используя стандартные функции Min и Max:
Для возведения в степень используется операция ** :
Возведение в целую степень оптимизировано и работает быстрее стандартной функции Power(a,n) .
Для проверки принадлежности диапазону используется конструкция x in a..b :
Эта операция эффективна и переводится в
Диапазоны также можно использовать для вещественных значений и для символов:
Для проверки принадлежности множеству значений используется либо множество:
Мы рекомендуем второй способ — он существенно более эффективен по скорости и по памяти.
Условная операция
Если переменной необходимо присвоить значение в зависимости от условия, то вместо условного оператора иногда нагляднее использовать условную операцию:
Методы в стандартных типах
В PascalABC.NET внутри каждого типа имеется ряд полезных методов. В отличие от внешних процедур и функций, они “вшиты” в тип — переменная знает все свои методы и может вызывать их, используя точечную нотацию.
Например, чтобы вывести значение переменной базового типа, можно использовать метод Print:
Из других интересных методов для начинающих для целых типов отметим:
Например, в следующей программе вычисляется количество четных двузначных из 10 введённых:
Для вещественных значений полезными являются методы
В частности, удобно использовать цепочечную точечную нотацию:
Для всех числовых типов также определены константы MinValue и MaxValue. Чтобы обратиться к ним, следует использовать имя типа:
Кортежи
Кортежи представляют собой способ объединить несколько значений в одно целое. Значения типа Кортеж записываются в круглых скобках: (1,2,3) или (‘Иванов’,15) . с помощью кортежей можно выполнять одновременные присваивания нескольким переменным:
Name already in use
pascal-quick-reference / pascal-quick-reference.org
- Go to file T
- Go to line L
- Copy path
- Copy permalink
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Краткое руководство по языку программирования Pascal
Совсем краткое изложение можно прочитать здесь: Шпаргалка по языку Pascal.
примерный вид очень простой программы:
В некоторых случаях паскаль выглядит нелогично: readln(s); вместо s := readln(); смиритесь.
Ключевые слова недопустимо использовать для названия переменных, констант, процедур и функций. Список ключевых слов:
absolute, and, array, asm, begin, boolean, break, case, char, const, continue, div, do, downto, else, end, for, function, goto, if, implementation, in, interrupt, is, label, mod, not, or, org, otherwise, print, procedure, program, read, real, record, repeat, shl, shr, step, string, then, to, type, unit, until, uses, var, while, with, xor
Текст, заключённый между фигурными скобками — комментарии к программе.
или так (не поддерживается старыми компиляторами):
текст после двух слэшей также является комментарием
Комментарии могут быть написаны:
- на вашем родном языке (если программа разрабатывается только для себя)
- на международном языке (если предполагаете распространение программы)
- ни в коем случае не используйте транслит.
- real числа с плавающей запятой ±1.17549435082 * 10 -38 .. ±6.80564774407 * 10 38
- integer целые -32768 .. 32767
- char символьный
- boolean логический
- перечисления
Блок (Составной оператор)
Блок используется, если можно использовать только один оператор, а хочется несколько (как скобки (в математике)). Блок ограничивается ключевыми словами begin и end.
вместо оператор1 (или оператор2) может быть только один оператор, но часто нужно выполнить несколько.
причём, крайне желательно даже одиночные операторы в командах if, while, for обрамлять блоком begin…end:
Операторы управления выполнением программы
Для множественных условий лучше использовать оператор case вместо пачки вложенных if , потому, что компилятор в большинстве случаев создаст более оптимальный код.
- < меньше
- > больше
- <= меньше или равно
- >= больше или равно
- = равно
- <> не равно
- or или
- and и
- not не
сравнение и присваивание
На 3 курсе вам скажут, что язык паскаль не нужен и обучат языку “C”.
значение | pascal | C |
---|---|---|
сравнение | = | == |
присваивание | := | = |
Привычка к записи знаков равенства и сравнения останется и возникнут странные логические ошибки — программа будет работать, но очень странно.
Нежелательно делать так (в паскале всё это правильно, а в языке C неявная ошибка и компилятор в случае gcc -Wall -Werror . выдаст всего лишь предупреждение):
Лучше так (в паскале всё правильно, при использовании данной записи ошибка в языке C будет явной и компилятор выругает вас):
Итог: любой из вариантов записи в языке паскаль верен и не является ошибкой. Но привычки и невнимательность к предупреждениям компилятора могут подвести при изучении языка C.
Сравнение плавающих чисел
Некорректно использовать знак равенства для сравнения чисел с плавающей запятой.
- epsilon нужно выбирать исходя из числа разрядов, а также сложности и количества выполняемых действий. Например: есть резисторы r1=5±1Ω, r2=7±2Ω. Вычислите погрешность сопротивления при параллельном соединении резисторов по двум, казалось бы, одинаковым формулам r=1/((1/r1)+(1/r2)) и r=r1*r2/(r1+r2)
В результате работы на экран будут выведены числа 1, 2, 3, 4, 5 в столбик.
Процедуры и функции
Процедуры отличаются от функций тем, что функции возвращают какое-либо значение, а процедуры — нет.
для GNU GPL лицензии необходимо приложить полный текст лицензии в виде отдельного файла COPYING (fixme)
Рекомендуемый заголовок файла:
для BSD лицензии:
- А.В. Столяров Программирование: введение в профессию. Том 1: азы программирования
- Е.Р.Алексеев, О.В.Чеснокова, Т.В.Кучер Free Pascal и Lazarus: Учебник по программированию Библиотека ALT Linux Quick Reference Guide for Pascal language</a> mikroElektronika SOFTWARE AND HARDWARE SOLUTIONS FOR THE EMBEDDED WORLD Материал из Википедии — свободной энциклопедии
Copyright (C) 2014 Roman V. Prikhodchenko
Author: Roman V. Prikhodchenko chujoii@gmail.com
Руководство распространяется в соответствии с условиями Attribution-ShareAlike (Атрибуция — С сохранением условий) CC BY-SA. Копирование и распространение приветствуется.
Операторы и типы данных Pascal
Pascal – известный язык программирования, который изучается преимущественно в школьных программах. Он используется для обучения навыкам разработки. Заложен в основу большинства других языков программирования. Имеет несколько диалектов. В «чистом» (первоначальном) виде практически не встречается.
Далее предстоит изучить операторы Pascal, которые пригодятся программисту при создании исходного кода. Также выясним, для чего именно используется Паскаль, какие плюсы и минусы имеет. Соответствующие сведения пригодятся преимущественно новичкам, но и опытные разработчики найдут в них что-нибудь полезное для себя.
Описание языка
Язык программирования Паскаль – универсальное средство создания программных кодов. Отличается строгой структурой, а также типизацией переменных. Обладает простым и понятным на интуитивном уровне синтаксисом.
Pascal появился в 1970 году. Его создал Никлаус Вирт на основе Алгол-68. Изначально соответствующий язык предназначался для обучения студентов основам структурной разработки.
Имеет несколько диалектов:
- UCSD;
- Object;
- Turbo;
- MidletPascal;
- Free;
- GNU;
- TMT.
Это императивное средство разработки. Программа, написанная на Pascal, представляет собой некий набор последовательных команд или операторов.
Особенности
Паскаль – язык со строгой (сильной) типизацией. Это значит, что различным компонентам приложения (модулям, функциям и переменным) присваиваются конкретные свойства. Они строго определяются перед началом работы программного обеспечения.
Такой прием позволяет согласовать работу имеющихся операторов и отдельно взятых фрагментов кола, свести вероятность ошибок к минимуму.
Pascal выделяется своей процедурностью и структурированностью. Программное обеспечение будет состоять из отдельных блоков. Каждый фрагмент находится в строгой подчиненности – как во всем приложении, так и по отноше нию друг к другу.
Операторы (команды) здесь обладают определенными особенностями. К ним относят следующие моменты:
- Строгая последовательность. Операторы обрабатываются по очереди. Пока один из них не завершится, следующий не начнется.
- Результат реализации оператора записывается непосредственно в память устройства.
- Каждый последующий оператор будет использовать для работы информацию, полученную от предыдущей команды.
Далее операторы и их особенности предстоит изучить более подробно. Только сначала необходимо понять, насколько целесообразно разработчику изучать основы Pascal.
Преимущества и недостатки
Pascal – это язык, у которого есть как плюсы, так и минусы. Зная о них, разработчики будут понимать, стоит ли изучать соответствующий ЯП.
Сильные стороны
К преимуществам Пас каль относят:
- Простой и понятный синтаксис, который базируется на ABC. Он напоминает английский язык. Подойдет для изучения новичками. Присвоить переменной значение того или иного типа удается без большого и сложного кода.
- Компилируемость. Приложение, написанное на Паскале, легко переводится в машинный код, а также передается между клиентами. Никаких интерпретаторов и виртуальных машин для этого не потребуется.
- Наличие строгой типизации и структурированности. Pascal дружелюбен к новичкам. За счет строго определенных типов и понятной структуры удается свести к минимуму вероятность возникновения ошибок. В случае их появления поддерживается быстрые способы устранения еще на стадии компиляции исходного кода.
Информатика в старших классах предлагает изучать Pascal для освоения разработки. Это неплохой базовый ЯП. Чаще он используется непосредственно для «старта» в программировании. Более опытные разработчики Паскаль изучают редко.
Слабые стороны
Недостатки у соответствующего языка программирова ния тоже есть. К ним относят:
- Ограниченность в плане взаимодействия с компонентами, написанными на других ЯП.
- Подходит для решения далеко не всех задач. Это связано с универсальностью ЯП. Для ряда проблем необходимо пользоваться узкоспециализированными языками, а не Паскалем.
- Ограниченность при работе с динамической памятью, а также массивами переменного размера.
- Отсутствие раздельной компиляции.
Базовые навыки разработки Паскаль даст, но для того, чтобы создавать продвинутое программное обеспечение и игры он не подходит.
Сферы применения
Описание преимуществ и недостатков рассматриваемого ЯП понятно. Он используется в следующих сферах:
- Школьная программа. Урок «Информатика» для старших классов. Во время занятий рассматриваются основные принципы разработки ПО, особенно в классах с углубленным изучением IT и математики.
- Бизнес. Программировать на Pascal для бизнес-идей старались в 90-е и 2000-е годы. Тогда на этом ЯП велась разработка автоматизированных систем производственных процессов. Отдельные компании пользуются соответствующим ПО до сих пор.
- Промышленность. Диалекты Паскаля часто используются для программирования устройств с микропроцессорами.
Некоторые современные диалекты встречаются в бытовой технике и электронике – на них пишутся специализированные для оборудования приложения.
Термины для программиста
Перед тем как изучать основные типы данных Паскаля, а также его операторы, предстоит запомнить несколько ключевых понятий разработки. Они пригодятся как новичкам, так и опытным программистам. Помогут быстрее разобраться с принципами работы имеющегося исходного кода с любой концепцией:
- Алгоритм – набор инструкций (команд), необходимых для решения той или иной задачи.
- Аргумент – значение, которое придается в команду или функцию.
- Символ – простейшая единица информации. Выражается одной букве или символьным элементом.
- Объект – комбинация связанных переменных, структур данных и констант. Они выбираются и совместно обрабатываются.
- Константа – объект или значение, которое не меняется на протяжении всего жизненного цикла приложения. Остается в заданном первоначальном виде. Не может быть изменена в процессе обработки исходного кода.
- Тип данных – классификация данных того или иного вида.
- Массив – группы схожих видов значений, которые были предварительно сгруппированы. Могут быть представлены в виде списка похожих между собой элементов.
- Исключение – аномальное или неожиданное состояние, которое возникает в программе при выполнении. Иногда называется ошибкой или условием, изменяющим путь приложения или микропроцессора.
- Выражение – это группа букв, цифр и символов. Соответствующий элемент используется для представления значения одной или нескольких переменных.
- Петля – это цикл. Последовательность команд (инструкций), которые повторяют один и тот же процесс до выполнения установленного условия или получения команды на остановку.
- Итерация – один проход через написанный набор операций.
- Ключевое слово – слово, зарезервированное языком разработки. Используется для выполнения определенных задач. Могут быть параметрами, а также командами.
- Нуль – отсутствие ценности. Нулевой символ – это программный код, представляющий собой символ без значения.
- Операнд – объект, которым разрешено управлять, используя так называемые операторы.
- Оператор – компонент кода, умеющий через специальные инструкции управлять операндами.
- Переменная – место хранения временных данных заданного вида в программе.
- Указатель – переменная с адресом места в памяти.
Далее предстоит изучить операции и операторы Pascal, принципы и смысл их обработки в программном коде.
Структура приложения
Pascal – это алгоритмический язык, в котором приложения имеют определенную структуру. Программы делятся на несколько условных блоков:
Название раздела | Характеристика |
Program | Это имя приложения. Отвечает за ввод имени проекта. |
Uses crt, graph | Подключение дополнительных модулей. Graph отвечает за возможности рисования. Ctr – модуль, используемый для очистки экрана операций. Для этого используется команда вида clrscr. |
Label | Раздел, отвечающий за метки. При обработке оператора goto программа перейдет к «закладкам», отмеченным в рабочей области кода. |
Const | Блок постоянных величин – констант. Это «фиксированный» тип данных. В соответствующем разделе записываются имена констант, а также их значения. Тип будет определен системой автоматически. |
Var | Раздел, отвечающий за переменные. Указанный идентификатор получит тип хранимой информации. |
Produce или Function | После соответствующего ключевого слова необходимо указать вспомогательные подпрограммы или функции. Они предназначаются для более быстрой разработки программного обеспечения. |
Begin | Тело приложения. Это – описание самой программы. Последовательность операторов и команд. Они включают в себя значения, а также величины для выполнения поставленных задач и целей. |
End | Часть тела исходного кода приложения. Означает конец программы. Begin указывает на начало. После end программный код работать не будет. |
Предложенная таблица поможет лучше разобраться в структуре приложения. Для того, чтобы программное обеспечение работало, достаточно использовать всего несколько разделов. Это – begin и end. Это основные компоненты, без которых не будет функционировать ни один написанный код.
Типы данных
Паскаль – это строго типизированный язык разработки. Это значит, что переменные, в которых хранится информация, имеет определенный тип. Приложению придется напрямую указать, какой именно вариант использовать для хранения значений. Данный прием позволяет компьютеру понимать, какие операции выполнять с теми или иными материалами.
Типы данных в рассматриваемом языке бывают:
- простыми;
- структурированными;
- целыми;
- символьными;
- логическими;
- перечисляемыми;
- интервальными;
- вещественными;
- массивами;
- строками;
- множествами;
- файлами;
- записями;
- указателями.
Перед более детальным изучением опе раторов в Pascal необходимо рассмотреть указанные типы данных и их синтаксис. В противном случае программа не сможет понять, как обрабатывать исходных код. Акцент необходимо сделать на простых видах. С ними предстоит работать как новичку, так и опытному разработчику.
Простые
Простые типы переменных в рассматриваемом языке условно делятся на стандартные (порядковые), а также перечисляемые (ограниченные).
Целочисленные
Целочисленный – это основной встроенный тип переменных. Целое число, которое может быть представлено в нескольких формах. Pascal поддерживает 5 его типов:
Название типа | Диапазон значений | Формат записи |
Short int | -128…+127 | 8 бит |
Integer | -32 768…32 767 | 16 бит |
longint | -2 147 483 648…+2 147 483 647 | 32 бит |
Byte | 0…255 | 8 бит без знака |
Word | 0 …65 535 | 16 бит без знака |
Данная таблица поможет понять, сколько места в памяти и какой именно тип данных занимает в том или ином случае.
Над операндами целочисленного типа можно осуществлять арифметические действия. Необходимо соблюдать следующие правила:
- Тип целой константы – это встроенный целочисленный тип с наименьшим диапазоном, включающим значение соответствующей целой константы.
- При бинарной операции (когда используются для операнда), оба операнда будут преобразованы к общему типу. Только после этого совершаются необходимые арифметические действия.
- Выражение, написанное в операторе присваивания справа, вычисляется независимо от переменной, находящейся слева.
Для описания целочисленной переменной необходимо использовать ключевое слово var. Форма представления: var <список переменных> <тип> (без угловых скобок).
Вещественные
Паскаль – алгоритмический язык, поддерживающий работу с вещественными переменными. Сюда относят числа с плавающей запятой с фиксированным количеством цифр.
Таблица выше укажет на диапазон десятичных цифр и диапазон вещественных переменных. Для его использования необходимо указать ключевое слово real. Форма записи: var <переменные:> real.
Символьные
Char используется для работы в коде с символьными значениями. У каждого символа имеются такие составляющие как:
- номер;
- код.
Задается по форме: <тип><имя_переменной(‘значения’)> . Чтобы апостроф был символом, его необходимо тоже заключить в такие кавычки.
Перечисляемые
Предстает в виде перечисления констант в строго определенном порядке и количестве. Состоит из списка констант. Такие переменные принимают значения любой из заданных const. Описание выглядит так:
<список констант> – это специальный вид констант, которые задаются через запятую. Они имеют свой собственный порядковый номер. Отсчет начинается с 0.
Ограниченные
Ограниченные переменные – это переменные, которые принимают не все значения своего типа. Они определены в некотором диапазоне. Каждый ограниченный вид переменной задается путем накладывания ограничений на базовые (основные).
Главное запомнить следующие правила:
- Обе ограниченные константы должны быть одного и того же вида.
- В качестве базового типа используется любой простой. Исключение – это действительные переменные (real).
- Начальные значения при определении ограниченного типа не могут быть больше итоговых.
Выше – пример кода, при помощи которого можно задать ограниченный тип.
Структурированные
Структурированный тип данных – это типы, которые определяют наборы однотипных или разнотипных компонентов. Они образуются из других типов. Могут быть представлены:
- Массивами (array). Заранее определенное и известное количество однотипных компонентов, которые проиндексированы. Массивы в Паскале бывают одномерными и многомерными.
- Записями (record). Включают в себя несколько полей, тип которых отличается друг от друга. Пример – описание товара на складе. Оно включает в себя наименование, количество, стоимость, а также наличие сертификатов качества. Здесь название – это величина string, количество – int, цена – real, сертификат – boolean (логический). Запись – наиболее общий и гибкий структурированный тип данных. Связано это с тем, что она может быть образована из неоднотипных элементов, а также в ней связи задаются явным образом.
- Строками (string). Так называют последовательности символов кодовых таблиц оборудования (компьютера). Могут включать в себя от 0 до 255 символьных записей.
- Множествами (set). Набор взаимосвязанных по тем или иным признакам (их группам) компонентов. Множества включают в себя порядковые элементы, количество которых не превышает 255.
- Файлами (files). Файл – это последовательность однотипных элементов, записанных на внешнем носителе под определенным заранее именем. Тип соответствующих компонентов может быть совершенно любым, исключая сам тип file. Размер подобного «документа» не объявляется разработчиком.
Теперь можно более подробно рассмотреть операторы и их смысл в Pascal.
Операторы языка
Оператор – средство описания действий (команд и операций), предусматриваемых заданным алгоритмом решения задачи. В программном коде подобные компоненты могут быть как помеченными, так и нет. Условно делятся на две большие группы:
- простые;
- структурные.
Оператор в Паскале используется только для описания действий. Отделяются они друг от друга символом «точка с запятой». Если оператор ставится перед end, else или until, то соответствующий характерный разделитель не ставится.
Простые операторы включают в себя:
- оператор присваивания;
- вызова процедуры;
- перехода.
Структурные операторы – это условный оператор, составной и цикла.
Оператор присваивания
Оператор, использующийся для вычисления значения выражения, написанной в правой части, а также присваивания полученного значения переменной слева. Тип переменной должен быть совместим с типом выражения.
Два типа являются совместимыми, если соблюдаются следующие пункты:
- они записаны при помощи одного и того же описателя;
- вещественные переменные типа real, single и double могут получать значения целого типа;
- порядковый тип поддерживает значения типа-диапазона.
Синтаксис присваивания выглядит так:
или <имя_переменной>:= <выражение>.
Здесь := – это оператор присваивания. Выражение a может состоять из констант, переменных, а также названий функций, знаков операций и скобок.
Действия в операторе присваивания выполняются слева-направо. Приоритет обработки команд будет следующим:
- not;
- *, /, mod, and, div;
- +, or, -;
- =, <, >, <>, <=, =>, in.
Выражения, написанные в скобках, будут вычисляться раньше. Оператор присваивания актуален для всех типов. Исключение – файл.
Оператор вызова
Смысл соответствующей команды – это непосредственное обращение к заданному алгоритму. Оператор вызова включает в себя:
- имя процедуры;
- список аргументов (в круглых скобках).
Аргументы при записи могут отсутствовать. Выполнение соответствующего «запроса» приводит к активации действий, написанные в теле процедуры или в ее непосредственном описании.
Переход
Перед включает в себя goto, а также метку. Выполнение соответствующей команды приводит к передаче управления оператору, помеченному указанной меткой.
Использовать метки можно только после их описания в разделе Label. Goto противоречит принципам структурного программирования. Использовать его необходимо с осторожностью. Безусловный переход может осуществляться не из любого места приложения и не в любую область исходного кода. При помощи Goto нельзя перейти в подпрограмму или выйти из нее.
Пустые
Он не выполняет никаких действий. В приложении при реализации заданного программного кода никак себя не проявляет. Исключение – печать меток, точек с запятыми. Используется для безусловного перехода на него. Встречается на практике достаточно редко.
Составные
Pascal – это алгоритмический язык, работа в котором происходит при помощи четко установленных команд. Их перечень определяется разработчиком и прописывается в теле. Для выполнения команд используются различные operators.
Составные operators позволяют выполнять определенные последовательности команд. Они начинаются ключевым словом begin, а заканчиваются end. Между соответствующими элементами вставляются команды, которые необходимо исполнять.
Воспринимается такой operator как единое целое. Может располагаться в любой области исходного кода.
Условные
Условные operators используются для выбора одного или нескольких действий в зависимости от заданного критерия. Соответствующим условием выборки служит значение логического выражения.
Pascal имеет несколько условных operators – if и case.
IF необходим для организации процесса вычислений в зависимости от логического условия. Принимает две формы записи:
- полную (с условием else);
- короткую.
Сначала происходит вычисление выражения, написанного в условии. На выходе получается булево значение. Если оно является истиной (true), выполняется <оператор1>, указанный после слова then. При значении лжи (false) обрабатывается <оператор2>. Данный алгоритм актуален для первого способа записи.
Во втором случае при значении true выполняется заданное условие. В противном случае управление переходит к команде, идущей после блока if.
IF могут быть вложенными. Тогда форма записи будет следующей:
На уроке под названием «Информатика» данный operator обязательно изучается. Без него задать условие выполнения команд не получится. Он является базовым.
При вложенных IF действует правило: else всегда связывается с ближайшим if, которое не было ранее связано с другим else.
Выбор
Выбор case…of…end дает возможность определения альтернативных действий из произвольного числа изначально имеющихся условий. Он включает в себя селектор и список постоянных параметров, каждому из которых предшествует список констант выбора.
В заданном фрагменте кода <выражение-селектор> – это выражение порядкового типа. В зависимости от его значения будет приниматься решение относительно дальнейших операций.
<список1>…<списокN> – значения, с которыми сравнивается селектор, а <оператор1>…<операторN> – выражения, из которых выполняется то, с константой которого происходит первое совпадение селектора.
Здесь ветка else не является обязательной в отличие от условия IF. Перед соответствующей записью разрешено поставить символ «точка с запятой».
Если действия для нескольких селекторов совпадают, эти константы перечисляются через запятую перед двоеточием. Синтаксис языка также позволяет задать им диапазон значений по нижней и верхней границам.
Порядок выполнения
Операторы в программе Паскаль в сложных выражениях обрабатываются особым образом – с учетом распределения так называемого приоритета. Операции одного приоритетного уровня будут выполняться слева-направо.
Постоянных последовательностей обработки операций (команд) у рассматриваемого языка нет – приоритет можно в любой момент изменить. Для этого используются круглые скобки.
В сложных выражениях приоритет распределяется по умолчанию так:
- унарные операции;
- мультипликационные операции;
- аддитивные операции;
- операции отношений.
Далее остается выяснить, какие именно операции можно выполнять с каждым видом данных.
Операции и их выполнение
Циклы
В некоторых диалектах Паскаля используются циклы:
- счетный оператор for, который применяется для реализации петли с параметрами;
- с предусловием while;
- с постусловием repeat.
Первый вариант не может быть вызван для реализации итерационного цикла. Последние два нацелены на его реализацию, а также поддерживаются в for.
For обладает следующей формой представления:
While пишется так:
А repeat будет выглядеть следующим образом:
Здесь можно увидеть больше информации о работе циклов в Паскале.
Как освоить Pascal
Паскаль – не самый распространенный, но очень известный язык разработки. Его изучают для того, чтобы разобраться с основами создания программного обеспечения. Базовые знания Паскаля будут даны школьникам в старших классах на уроках информатики.
Если же хотите изучать более современные языки программирования, рекомендуется обращаться к помощи онлайн-курсов. Они предлагают:
- сжатые сроки обучения и тщательно составленные программы;
- обучение с нуля основам и особенностям разработки на любом выбранном языке;
- интересные практические и домашние задания;
- постоянное кураторство;
- помощь в формировании портфолио;
- совмещение с работой, семьей и делами – все занятия можно посмотреть в записи;
- возможность освоения IT-направления или профессии в срок до 12 месяцев.
Пример – курсы от образовательного центра OTUS. В конце обучения пользователю будет выдан электронный сертификат установленной формы. Он поможет подтвердить приобретенные навыки и знания.
Основные операторы языка Паскаль
Паскаль – один из языков программирования, появился ещё в 1970 году. Несмотря на приличный возраст до сих пор используется как обучающий язык программирования. Стал прародителем для некоторых современных языков.
За всю свою долгую историю язык претерпел большое количество изменений. Появлялись новые языки и диалекты. Например, в 78 году был разработан язык UCSD Pascal. Он содержал большое количество дополнений. Самое важное – появление р-кода, который позволял быстро перенести компилятор языка с одной машины на другую. Другая реализация Паскаля – ObjectPascal – была выполнена компанией Appleв 1986 году. Главное её отличие – наличие объектно-ориентированного программирования.
Язык продолжают поддерживать и по сей день. Паскаль уже стал первым языком программирования для многих начинающих разработчиков.
Операторы языка Паскаль
Чтобы успешно писать программы на этом языке, нужно хорошо разобраться в основных конструкциях Паскаля – операторах. Оператор – это предложение языка программирования, которое заканчивается точкой с запятой. В Паскале их довольно много. Среди них оператор присваивания, сравнения, цикла и так далее.
Оператор присваивания
В математике мы привыкли обозначать этот оператор символом равно, но в Паскале он обозначается по другому: «:=». Например, программист хочет переменной X присвоить число 5. С помощью математических символов это записывается как «X=5». Но в Паскале выражение выглядит иным образом: «X:=5».
В общем виде конструкция присвоения выглядит так: <имя переменной>:=<новое значение переменной>. Справа от знака «присвоить» допускается писать целые выражения, значение которых будет рассчитано при выполнении программы, либо другие переменные. Например, программист может написать:
Здесь стоит отметить, что Паскаль – язык со строго типизацией. Это означает, что мы не можем целочисленной переменной присвоить дробное значение или значение типа Boolean и наоборот. Поэтому, важно следить за тем, чтобы X и Y были переменными одного типа, иначе возникнет исключение.
Пример:
В строке, где происходить присваивание значения иксу возникнет исключение. Ещё пример с исключением:
Строка, в которой присваивается значение игреку выполниться нормально, а вот в следующей возникнет ошибка. Также начинающие программисты на Паскаль сталкиваются с такой проблемой — при присваивании значения переменной программа вылетит.
Пример:
В данном примере переменной икс присваивается значение в 1 миллион, а тип integer может содержать числа в диапазоне от -32768 до 32767. Такое ограничение связано с тем, что компилятором под тип integer в памяти компьютера отводиться 2 байта. То есть всего может быть 65536 различных значений.
Отдельно стоит упомянуть присваивание значения переменным типа Boolean. Например, в Паскале мы может написать так: test := 10>1; где test– логическая переменная. В результате переменной присвоится значение true, так как число 10 больше, чем 1.
Помимо простых выражений, программист может присваивать переменной значение, которое вернёт функция.
Функция sin вернёт некоторое значение, которое будет умножено на 10. Результат вычислений будет записан в переменную Y.
Условный оператор
Для полной картины об операторах стоит рассмотреть и условный оператор, без которого не обходится ни какая программа. В общих чертах условие на Паскале записывается так:
Любое условие в паскале состоит из трёх блоков. Под условным выражением понимается любое выражение, которое может быть истинно или ложно. Например, 10=5 – это условное выражение, результат которого – ложь, а выражение x:=10 – не условное.
Второй блок – действие, которое выполниться, если условие истинно. Последний блок – блок else. Он является не обязательным, поэтому, если ваша программа не подразумевает действия в случае ложного исхода – писать блок elseне нужно.
Пример условия:
program example;
var x: integer;
begin
x:=4*7;
if (x>=7)and(x<=100) then writeln(‘Икс входит в диапазон’)
else writeln (‘Икс не входит в диапазон’);
end.
Результат работы программы: Икс входит в диапазон.
В это программе мы определяем входит ли число 4*7 в диапазон от 7 до 100. Для этого нужен условный оператор if. После него стоит два условия, которые объединены оператором and. And обозначает, что должно выполниться условие в первой и во второй скобке.
Слово then обозначает конец условия, после него записываются команды. Если условие выполниться и его результат будет равен true, то будет выполнена команда writeln(‘Икс входит в диапазон’). Обратите внимание, что после writeln() не ставиться точка запятой. Точка запятой нужна только тогда, когда нет блока else.
В следующей строке стоит else. Оно обозначает логику, которая выполниться, если условие ложно. В данном случае выводиться строка.
Возможны и другие варианты написания условия в Паскале. Например, если нужно выполнить более одной команды, то после then и else ставятся операторные скобки – begin и end.
Заметьте, что после первых операторных скобок точка с запятой не ставиться. Могут быть и другие варианты:
В блоке else операторные скобки не нужны, поскольку блок содержит всего одно действие.
Оператор сравнения
Другой оператор, который неопытные программисты часто путают с присваиванием – это оператор сравнения. Выглядит он как обычный знак равно «=». Если в математических записях он используется для обозначения равенства, то в программировании на Паскале оператор обозначает сравнение. Например, выражение a = b будет читаться как «a равно b?». Оператор сравнения используется в основном в условных конструкциях.
Пример использования:
Varx, y : integer;
Begin
X:=5;
Y:=10;
If x = y then write(“Икс равен игрек”)else write(“Икс не равен игрек”);
End.
Результат работы программы: Икс не равен игрек.
Для успешного программирования просто необходимо уметь работать с операторами. Один из самых частых на языке Паскаль – оператор присваивания «:=». Не стоить его путать с оператором условия «=», используемого в условных конструкциях.