Как сделать точность в паскале

Обновлено: 07.07.2024

Язык программирования Паскаль знаком многим, кто в школе посещал уроки информатики. Да, это тот самый язык, с которого, собственно, и начиналось знакомство с необъятным и фантастическим миром программирования. Учились на нём не потому, что больше было не на чем, а благодаря гениальности этого языка, по сути, созданного специально для обучения.

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

История создания и использования языка программирования Паскаль

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

История создания и использования языка программирования Паскаль

История создания и использования языка программирования Паскаль

Тем не менее, различия между ними также весьма существенны. Создавая Паскаль на основе Алгола, Вирт исключил из последнего все избыточные функции. Получился в результате минималистичный и лаконичный язык. К примеру, в нем отсутствует оператор GoTo. Фактически в Паскале впервые воплощен принцип структурного программирования. Иными словами, все программы логически могут описываться лишь тремя операторами:

  • последовательное выполнение;
  • ветвление;
  • циклы.

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

А до того наибольшей популярностью среди прикладных программистов пользовался Бейсик, где оператор GoTo имеется. И вот с началом 1980-х на замену Бейсику приходит Паскаль.

Ваш Путь в IT начинается здесь

Подробнее

Первая профессиональная среда разработки, появившаяся в 1983 году, называется Turbo Pascal. Первоначально она создавалась для операционной системы MS DOS. Позднее, в 1990-е, разработали версию для MS Windows 3.x. В данной среде содержалось все необходимое для программирования, включая комплект встроенных библиотек и отладчик.

Затем был создан расширенный вариант Turbo Pascal под названием Borland Pascal. Оба этих средства являлись основными для разработки ПО в 1980-е годы.

Далее в 1986 году Паскаль модифицируется в сторону объектно-ориентированного языка, создается соответствующая среда разработки. Так на свет появился Delphi, примерно как C++ создавался на базе C. Но при этом никакого усложнения Паскаля не последовало. Delphi в отличие от C++ проектировался не как системный, а исключительно как прикладной язык, лишенный сложных инструментов для управления системной памятью.

В следующее десятилетие аппаратные возможности компьютеров стремительно растут. Теперь скорость работы программ уже не так важна, как раньше. И в этих условиях Delphi, позволяющий быстро разрабатывать приложения, становится все популярнее. Основные объекты интерфейса Windows в этой среде уже имеются — достаточно лишь перемещать их в нужное место на форме.

Достоинства языка Паскаль

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

Перечислим здесь основные плюсы языка.

Интуитивно понятный синтаксис

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

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

В других языках переменная присваивается просто через знак равенства:

Компилируемый язык

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

Основные модификации Паскаль

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

Это не только модифицированный язык, но также известная специализированная среда разработки программ для систем DOS и Windows 3.x.

Данный компилятор для ObjectPascal также известен под названием FreePascalCompiler (сокращенно FPC). С ним свободно могут работать все желающие.

Хотите больше зарабатывать или работать удалённо? Запутались в разнообразии профессий и не знаете, куда двигаться?

Команда GeekBrains вместе с экспертами по построению карьеры подготовили документы, которые помогут найти и выбрать востребованную высокооплачиваемую профессию.

Александр Сагун

Скачивайте и используйте уже сегодня:

Каналы для поиска работы

Список из 26 ресурсов и 34 Telegram-каналов

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Рейтинг наиболее актуальных специальностей в 9 направлениях

Является открытой кроссплатформенной средой разработки для рассмотренного выше компилятора FPC. Для работы предоставляется окружение, сходное с Delphi.

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

Алфавит и словарь языка программирования Паскаль

Любой язык программирования использует определенный набор символов (алфавит). И Паскаль — не исключение. Итак, код этого языка может содержать:

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

Александр Сагун

Мы вместе с экспертами по построению карьеры подготовили документы, которые помогут не ошибиться с выбором и определить, какая профессия в IT подходит именно вам.

Благодаря этим гайдам 76% наших студентов смогли найти востребованную профессию своей мечты!

Скоро мы уберем их из открытого доступа, успейте скачать бесплатно:

Гайд по профессиям в IT

5 профессий с данными о навыках и средней заработной плате

100 тыс. руб за 100 дней с новой профессией

Список из 6 востребованных профессий с заработком от 100 тыс. руб

Все профессии, которые есть в IT-сфере

63 профессии и необходимые для них навыки

Критические ошибки, которые могут разрушить карьеру

Собрали 7 типичных ошибок. Их нужно избегать каждому!

Существуют также сложные символы, состоящие из нескольких простых, но воспринимающиеся как неделимые:

  • := (оператор присваивания);
  • >= и Подробнее

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

Function name(parameters): return_value;

Паскаль поддерживает многострочные комментарии. В таких случаях закомментированные строки заключаются символы соответственно в начале и конце блока. Однострочные комментарии обозначаются простыми фигурными скобками < и >. Примеры:

Имена всех объектов в Паскале могут писаться как строчными, так и прописными буквами. При этом, например, x и X считаются одним и тем же именем.

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

Вот пример заявления:

area := sqrt(s * (s — a)*(s-b)*(s-c));

Как было сказано ранее, язык Паскаль оперирует фиксированным набором зарезервированных слов, взятых из английского языка.

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

(* Начало основного блока *)

Результат программы показан на изображении:

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

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

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

Развитие других языков благодаря Паскаль

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

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

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

Оберон впоследствии повлиял и на более современные языки. В частности, он оказал влияние на Java. Здесь позаимствована, например, технология сборки мусора.

Целая группа языков за авторством Вирта оказала сильное влияние на молодой язык Go, являющийся продуктом разработок Google. Яркий пример заимствования из Паскаля, Оберона и Модулы-2 — оператор присваивания. Он выглядит там точно так же:

Сферы применения Паскаль сегодня

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

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

Но считать Delphi версии 7 полностью умершим пока рано. Определенная дола программистов еще пользуется этим языком. К тому же существует огромный массив устаревшего кода, который в ближайшие десятилетия нужно сопровождать. Да и та же компания Embarcadero вполне способна выпустить на рынок что-то интересное, хотя и не инновационное.

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

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

Среди этой группы разработчиков большой популярностью пользуется среда разработки Lazarus. Она бесплатна и сильно напоминает инструмент Delphi, позволяя работать с кодом в том числе и на этом языке.

Что касается самой Delphi, ее продолжают выпускать, но уже под именем RAD Studio.

Обучение языку Паскаль

По сей день в школах программирование начинают изучать с языка Паскаль. На нем школьники пишут простейшие программы. В вузах же студентов специальностей, связанных с IT, часто обучают программировать уже на других языках (например, C). Возникает закономерный вопрос: нужен ли Паскаль на практике? Если он неактуален, то зачем этот язык до сих пор преподают в школах?

Обучение языку Паскаль

Обучение языку Паскаль

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

Безусловно, готовые решения сегодня можно найти в интернете. Но эффект от обучения с нуля все же будет выше, учитывая, что задачи там не такие уж и сложные.

В чем же преимущество Паскаля как учебного языка? Он обладает понятным синтаксисом. Все команды, операторы и функции задаются английскими словами, а не простыми символами. Достаточно сравнить Паскаль с языком C. В первом случае начало и конец программы обозначается логичными словами begin и end, во втором — малопонятными фигурными скобками.

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

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

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

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

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

В силу своей простоты Паскаль вполне доступен и для самостоятельного изучения. Но помимо чистого языка рекомендуется досконально знать и среду разработки, которой будут создаваться программы (к примеру, Delphi).

Языки программирования, которые можно изучать после Паскаля

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

Это молодой язык программирования, созданный корпорацией Google в 2009 году. Подобно Паскалю, он является компилируемым. С помощью Go (или Golang) можно разрабатывать как прикладное ПО, так и системные программы.

Язык HTML: возможности и ограничения

Паскаль не повлиял на Python напрямую. Тем не менее, данные языки по своему синтаксису очень близки. Дело в том, что Python также основывался на Алголе 68. Неудивительно, что многие школы постепенно отказываются от Паскаля в пользу Python, благо что тот также прост в изучении.

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

Программирование. Стандартные функции Pascal-Паскаль

  • Скачено бесплатно: 19566
  • Куплено: 414
    ->Программирование. Стандартные функции Pascal-Паскаль

Стандартные функции Pascal-Паскаль

Стандартные математические функции Турбо Паскаля
Обращение Тип аргумента Тип результата Примечание
Abs(x) Real, integer Тип аргумента Модуль аргумента
ArcTan(x) Real, integer Real Арктангенс (значение в радианах)
Cos(x) Real, integer Real Косинус, угол в радианах
Exp(x) Real, integer Real Экспонента
Frac(x) Real Real Дробная часть числа
Int(x) Real, integer Real Целая часть числа
Ln(x) Real, integer Real Логарифм натуральный
Pi Нет Real 3,141592653
Sin(x) Real, integer Real Синус, угол в радианах
Sqr(x) Real, integer Тип аргумента Квадрат аргумента
Sqrt(x) Real, integer Real Корень квадратный
Random Нет Real Псевдослучайное число в интервале [0, 1]
Random(I) Integer Integer Псевдослучайное число в интервале [0, I]
Round(x) Real Integer Округление до ближайшего целого
Trunc(x) Real Integer Отбрасывание дробной части числа

Порядок вычислений в выражениях следующий:

  1. вычисляются подвыражения, заключенные в скобки;
  2. затем выполняются операции с наибольшим приоритетом; обычно используются следующие уровни приоритетов (в порядке убывания):
    • возведение в степень;
    • мультипликативные операции: * , / , div , mod;
    • унарные операции: + , - , abs , not;
    • аддитивные операции: +, -;
    • операции отношения: = , <>, , =;
    • логические операции: and, or, not;
  3. операции с одинаковым приоритетом выполняются слева направо.

Хотя нет ограничений на сложность выражений, однако выражения, содержащие более 7 операндов, трудны для чтения и понимания и поэтому такие выражения не рекомендуется использовать.

Замечание (это важно!)

  • в Паскале нет стандартной операции или стандартной функции возведения в степень, поэтому используется следующее математическое тождество: x y = e ylnx
  • в Паскале существует только стандартная функция вычисления натурального логарифма, поэтому используется следующее математическое тождество: logab= ln b/ln a

Математическое выражение: x 3/2 - 7x + tg (x+2)

Выражение на Паскале: exp(3*ln(x)/2)-7*x+sin(x+2)/cos(x+2)

Операторы действия

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

Пример оператора присваивания

Оператор присваивания, несмотря на кажущуюся простоту, имеет очень важное алгоритмическое значение.

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

  1. В каждый момент времени в ящике может храниться не более одного значения.
  2. Каждый ящик способен хранить только значения одного и того же типа. Попытка поместить в ящик значение любого другого типа приводит к тому, что ящик отказывается принимать на хранение передаваемое ему значение - это расценивается как ошибка в программе.
  3. Значение, помещенное в ящик, будет храниться в нем до тех пор, пока в этот ящик не будет помещено новое значение (в момент присваивания соответствующей переменной этого нового значения) - при этом предыдущее содержимое ящика безвозвратно теряется (уничтожается).
  4. Находящееся в ящике значение считается текущим значением соответствующей переменной. Это текущее значение может быть выдано из ящика для использования сколько угодно раз, но при этом содержимое ящика не меняется: из него каждый раз выдается копия хранящегося значения с сохранением оригинала в ящике без какого-либо изменения.
  5. К началу выполнения программы содержимое всех запоминающих ящиков считается неопределенным; в частности, их нельзя считать и пустыми, поскольку эти ящики могли использоваться при выполнении предыдущих программ, после чего в ящиках могло что-то остаться.

Еще один оператор действия, хотя его можно лишь условно назвать таковым: он не выполняет никакого действия, это - пустой оператор (в Паскале он обознается знаком ";"). В Паскале оператором действия является также оператор процедуры. Последний из простейших операторов действия - оператор останова, который прерывает работу программы (в Паскале это оператор halt).

Ввод и вывод данных

Ввод данных с клавиатуры производится с помощью стандартной процедуры read( ) или ее разновидности readln( ). Элементы списка ввода - идентификаторы (имена) переменных, перечисляемые через запятую. При выполнении этого оператора пользователь набирает на клавиатуре соответствующую последовательность значений, разделяя их пробелами (это важно!).

Пример ввода данных с клавиатуры

read(a,b,c);

readln(a,b,c);

Вывод данных на экран производится с помощью стандартной процедуры write( ) или ее разновидности writeln( ).

Список вывода может содержать константы, переменные, выражения, формат вывода. Выражения в списке вывода разделяются запятыми.

Пример вывода данных на экран

write(a,b,c);

writeln(a,b,c);

Окончание ln в имени процедуры означает, что курсор автоматически будет переведен в начало следующей строки экрана.

Программирование

Исходники Pascal (127)

Справочник

Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту

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

Алфавит языка Паскаль включает:

Для описания величин в языке Паскаль используются константы и переменные.

Константы – величины, не изменяющие своего значения в процессе выполнения программы.

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

Типы констант и переменных

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

  • Простые
    • целочисленный тип (integer);
    • логический (boolean);
    • символьный (char);
    • перечисляемый (задается перечислением всех возможных значений переменной);
    • интервальный (задается с указанием наибольшего и наименьшего значений);
    • вещественный (real);
    • строка (string);
    • массивы (array);
    • записи (record);
    • множества (set);
    • файл (file);

    Каждому из перечисленных типов соответствует свой набор операций по обработке данных. Так, для целочисленного и вещественного типов используются операции арифметических действий (сложение, вычитание, умножение, деление). Для логического типа выполняются операции and – логическое и, or – логическое или, xor – логическое исключающее или, not – логическое не.

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

    В данной таблице приведены стандартные арифметические функции.

    Вычисление косинуса числа

    Вычисление синуса числа

    Вычисление абсолютного значения числа

    Вычисление квадрата числа

    Вычисление квадратного корня числа

    Вычисление арктангенса числа

    Вычисление экспоненты числа

    Вычисление натурального логарифма числа

    Вычисление четности числа

    Вычисление целой части числа

    Примечание: Во всех тригонометрических функциях число x указывают в радианах.

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

    • Not;
    • *, /, mod, div, and;
    • +, -, or;
    • , >=, <>, =.

    Операции одного и того же старшинства выполняются слева направо в порядке их появления в выражении. Выражения в круглых скобках вычисляются в первую очередь.

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

    • Объявления и соглашения;
    • Тексты процедур и функций;
    • Основной блок программы.

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

    Раздел объявлений и соглашений

    Кроме того, в программе могут использоваться комментарии – любой текст, ограниченный (*…*) или . Комментарий может быть помещен в любом месте программы.

    Рассмотрим более подробно назначение каждой части программы.

    Заголовок программы состоит из зарезервированного слова Program и идентификатора – имени программы.

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

    • System – системный модуль низкоуровневых программ поддержки языка Паскаль; подключается автоматически, даже при отсутствии ссылки на него в строке uses;
    • Dos и WinDos – модули поддержки часто используемых функций MS DOS и Windows;
    • Crt – модуль управления режимами вывода информации на экран;
    • Printer – модуль управления выводом информации на печать;
    • Overlay – модуль управления оверлеями языка Паскаль; позволяет выполнять программы, которым требуются большие объемы памяти;
    • Strings – используется при написании программ, совместимых с Windows;
    • Graph – модуль для работы с графикой.

    В разделе описания меток содержатся сведения об используемых в программе метках. Переход по ним выполняется оператором goto. Метки отделяются от помечаемого оператора знаком “:”, должны быть описаны, могут быть целочисленными (от 0 до 9999) или идентификаторами. Каждая описанная метка обязательно должна появиться в программе.

    Для описания констант используется ключевое слово const, имя константы, знак “=” и значение константы:

    В разделе описания типов Type программист может задавать свои типы, сформированные на основе определенных правил с использованием стандартных типов.

    В разделе Var описываются переменные, используемые в программе:

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

    В разделе текстов процедур и функций в соответствии с определенными правилами производится описание процедур и функций.

    Процедура

    Процедура имеет следующую структуру:

    Функция

    Описание функций отличается по структуре от описания процедур только заголовком:

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

    Допускается перенос с одной строки на другую частей операторов (но без разделения ключевых слов).

    Как было указано выше, основной блок программы представляет собой некоторый набор операторов.

    Оператор – неделимый элемент программы, который позволяет выполнить определенные действия.

    Операторы должны записываться строго в соответствии с правилами, установленными для данного языка программирования. Рассмотрим основные операторы языка Паскаль.

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

    Общий вид оператора:

    Операторы ввода/вывода

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

    Где - последовательность имен переменных, разделенных запятыми. Буквы ln добавляются в конце оператора для того, чтобы курсор автоматически переходил на следующую строку при выводе на экран текстов или результатов выполнения программы.

    При выполнении оператора read (readln) программа останавливается и ждет, пока нужное количество чисел не будет введено с клавиатуры. Вводимые числа разделяют пробелами или нажатием клавиши Enter. По завершении ввода данных следует нажать Enter, после чего компьютер перейдет к выполнению следующего оператора программы.

    Вывод данных на экран дисплея выполняется операторами:

    Выражения в списке разделяются запятыми. Значения выражений сначала вычисляются, а затем выводятся на экран. Буквы ln имеют то же значение, что и в операторе readln.

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

    займет для вывода числа 10 три позиции, а для вывода числа 55 – шесть позиций на экране.

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

    Если х =3,14159, то оператор

    займет для вывода переменной х шесть позиций, две из которых будут использованы для дробной части х (т.е. значение х будет округлено до 3,14).

    Для того, чтобы прокомментировать выводимые значения, в список ввода можно помещать строки любых символов, заключенные в одинарные кавычки – апострофы.

    При выполнении фрагмента программы

    На экран будет выведено:

    Приведем пример Паскаль-программы.

    Задача – составить программу для подсчета суммы двух заданных чисел. Для этого необходимо ввести текст в память компьютера и сохранить на диске под именем pr1. Далее запустить программу на выполнение. При наличии ошибок внести соответствующие исправления. Получить результаты работы программы.

    В большинстве случаев переменные описываются в блоке 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 :

    Эта операция эффективна и переводится в

    Диапазоны также можно использовать для вещественных значений и для символов:

    Для проверки принадлежности множеству значений используется либо множество:

    Мы рекомендуем второй способ - он существенно более эффективен по скорости и по памяти.

    Условная операция

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

    Методы в стандартных типах

    Например, чтобы вывести значение переменной базового типа, можно использовать метод Print:

    Из других интересных методов для начинающих для целых типов отметим:

    Например, в следующей программе вычисляется количество четных двузначных из 10 введённых:

    Для вещественных значений полезными являются методы

    В частности, удобно использовать цепочечную точечную нотацию:

    Для всех числовых типов также определены константы MinValue и MaxValue. Чтобы обратиться к ним, следует использовать имя типа:

    Кортежи

    Кортежи представляют собой способ объединить несколько значений в одно целое. Значения типа Кортеж записываются в круглых скобках: (1,2,3) или ('Иванов',15) . с помощью кортежей можно выполнять одновременные присваивания нескольким переменным:

    Присваивание (a,b) := (b,a) позволяет поменять значения двух переменных.

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

    Пример 1. Нахождение наибольшего общего делителя

    Пример 2. Числа Фибоначчи

    ©2022 PascalABCNET Team. All rights reserved.
    Page last updated: 19.12.2020
    Site last generated: Jan 29, 2022

    Читайте также: