Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Основы программирования на языке Pascal ( Теоретические основы языка Pascal)

Содержание:

Введение

Актуальность. Среди множества языков программирования, предназначенных для обучения именно навыкам программирования, есть один, выделяющийся особо. Язык Паскаль, названный в честь французского ученого XVII столетия Блеза Паскаля, был разработан в конце 1960-х гг. ученым из Швейцарии Никлаусом Виртом, и далеко не с образовательной целью, как этот язык воспринимают теперь.

Наоборот, в те времена ученые пробовали разные языки программирования для практического применения. И позже этот ученый позднее создал ещё два языка программирования – Оберон и Модула, которые, правда, не получили распространения среди специалистов. Если быть точным, то 1968 году была создана первая версия языка Паскаль (на основе АЛГОЛа), а 1970 году – первый компилятор.

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

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

Цель работы – изучить основы программирования на языке Pascal.

Достижение указанной цели определило постановку и решение следующих задач:

  • исследовать историю языка Pascal;
  • выделить преимущества языка Pascal;
  • изучить основы программирования на языке Pascal.

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

Объектом исследования является язык Pascal.

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

Структура работы. Работа включает введение, две главы, заключение и список литературы. В первой главе рассматриваются история и преимущества языка Pascal. Во второй главе рассматриваются основы программирования на языке Pascal.

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

Глава 1. Теоретические основы языка Pascal

1.1. История языка Pascal

История языка Паскаль продолжается, и в 50-е годы XX века появились первые языки программирования высокого уровня: ФОРТРАН, КОБОЛ и АЛГОЛ. ФОРТРАН и КОБОЛ они существуют и по сей день, а вот АЛГОЛ как раз и стал родоначальником языка программирования Паскаль.

Первая версия АЛГОЛа появилась в 1958 году, разработчиком которого был создатель ФОРТРАНа Джон Бэкус. Последующими версиями языка АЛГОЛ стали АЛГОЛ-60 и АЛГОЛ-68. Однако  из-за громоздкости языков АЛГОЛ-60 и АЛГОЛ-68 создавались большие трудности[1].

Поэтому в 1965 году Международная федерация по обработке информации предложила проект нескольким специалистам ЭВМ. Необходимо было создать новый язык программирования — преемник АЛГОЛа-60.

В этом проекте и принял участие будущий создатель языка программирования Паскаль — Николас Вирт,  швейцарский ученый, на тот момент доцент факультета информатики Стэнфордского университета[2].

Николас Вирт начал разрабатывать проект АЛГОЛ-W. Целью проекта было обучение студентов различным методам: «структурное программирование», «программирование сверху вниз» и др. В 1970 году произошли два великих события:

  • появление операционной системы UNIX
  • появление нового языка программирования.

Николас Вирт назвал новый язык программирования в честь французского математика  XVII века Блеза Паскаля, поскольку Паскаль создал вычислительное устройство (паскалево колесо). Первая версия нового языка программирования вышла на компьютере CDC 6000.

Pascal был создан на базе ALGOL, языка программирования, который предназначался для научных вычислений. После встречи в Цюрихе Международный комитет разработал ALGOL как независимый от платформы язык. Это дало его разработчикам относительную свободу действий над функциями, которые они могли бы выполнить в ALGOL, но также затрудняло создание компиляторов для него. В то время на многих компьютерах отсутствовали аппаратные функции, которые мы сейчас считаем стандартными[3].

Отсутствие компиляторов на многих платформах в сочетании с отсутствием указателей и многими основными типами данных, такими как символы, привело к тому, что ALGOL не получил широкого распространения. Ученые и инженеры в большей мере предпочитали FORTRAN, язык программирования, который был доступен на многих платформах. ALGOL больше не использовался при решении задач различной степени сложности, за исключением описания алгоритмов. В 1960-е годы несколько компьютерных ученых работали над расширением ALGOL. Одним из них был доктор Никлаус Вирт из Швейцарского федерального технологического института (ETH-Zurich), член первоначальной группы, создавшей ALGOL[4].

В 1971 году он опубликовал свои работы для высокоструктурированного языка, который во многом напоминал ALGOL. Он назвал его Паскалем в честь французского философа и математика XVII века. Основная функция Pascal – работа с данными, что предоставляет программисту возможность определять пользовательские типы данных. Благодаря этому происходит строгая проверка данных, что предотвращает смешивание типов данных. Изначально Паскаль был предназначен для преподавания. Pascal является более простым, в отличие от FORTRAN, написанный на нем код очень похож на естественный язык, поэтому его легко понять обычному пользователю.

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

Из-за этого ученики средних школ, а также студенты колледжа начали изучать именно данный язык программирования. Pascal оставался официальным языком экзаменов в США до 1999 года, но в дальнейшем был заменен C ++, а далее – на Java. Во-вторых, небольшая компания Borland International выпустила компилятор Turbo Pascal для персонального компьютера IBM. Компилятор был разработан Андерсом Хейльсбергом, который позже возглавил группу в Microsoft, разработавшую C # и (повторно) представившую Managed Code обратно в мир вычислений[5].

Turbo Pascal был действительно революционным. Были внесены некоторые изменения в стандартный Pascal, но они были незначительными и помогли ему достичь своего наибольшего преимущества: скорости. TurboPascal составлен с головокружительной скоростью: несколько тысяч строк в минуту. В то время доступные компиляторы для платформы ПК были медленными и «раздутыми». Создание Turbo Pascal являлось в то время «глотком свежего воздуха». Вскоре Turbo Pascal стал стандартом де-факто для программирования на ПК. В дальнейшем Apple выпустила серию компьютеров Macintosh[6].

Поскольку Pascal был выдающимся структурированным языком программирования того времени, Apple выбрала Pascal в качестве стандартного языка программирования для Mac. Программисты получили API и пример кода для программирования Mac, которые были написаны на языке Pascal. Начиная с версии 1.0 до 7.0 Turbo Pascal, Borland (создатель разработческих инструментов Turbo Pascal и Delphi) продолжал расширять язык. Одним из немаловажных замечаний в оригинальной версии Pascal было отсутствие отдельной компиляции для модулей. Вирт даже создал новый язык программирования Modula-2 для решения этой проблемы. Borland добавила модули в Pascal с функциями своих устройств. В версию 7.0 было добавлено множество дополнительных функций. Одним из них был DPMI (DOS Protected Mode Interface), способ запуска программ DOS в защищенном режиме, получение дополнительной скорости и разрыв без барьера 640K для доступа[7].

Важным шагом в развитии языка является появление свободных реализаций языка Паскаль Free Pascal и GNU Pascal, которые не только вобрали в себя черты множества других диалектов языка, но и обеспечили чрезвычайно широкую переносимость написанных на нём программ (например GNU Pascal поддерживает более 20 различных платформ, под более чем 10 различными операционными системами, Free Pascal обеспечивает специальные режимы совместимости с различными распространёнными диалектами языка, такими как Turbo Pascal (полная совместимость), Delphi и другими[8].

На данный момент, язык программирования Pascal является общепризнанным языком при освоении различных ступеней образования, который сочетает в себе основные свойства алгоритмического языка программирования высокого уровня и доступную форму, позволяющую начинающему программисту освоить технологию создания программы. Также, существуют пакеты, основанные на использовании Pascal (Delphi, компонентный Pascal), использующие современный объектно-ориентированный подход. Однако, как язык разработки, в последнее время Pascal теряет свою популярность.

На 2018 год он занимает 128 место в рейтинге языков программирования TIOBE. Все большую популярность приобретает web-программирование[9]. Как видно на рисунке 1, в период с 2008 по 2013 год язык Pascal входил в ТОП-20 языков программирования, но в последние годы произошло его стремительное падение на низкую позицию.

Pascal отличается легким синтаксисом языка, а, как известно, чем сложнее грамматика языка и чем больше вариантов предполагают семантические правила – тем больше проходов будет выполнять компилятор. Именно поэтому компиляторы с языка Pascal работают очень быстро[10].

Рисунок 1. Pascal в рейтинге языков TIOBE

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

1.2. Особенности и преимущества языка Pascal

Изначально Паскаль создавался как учебный язык программирования. Он должен был иметь простой синтаксис, строиться на минимальном количестве базовых понятий и уметь переводить программы в машинный код простым компилятором. Однако первая разработанная версия языка была слишком громоздкой для коротких программ[11].

Но уже тогда он имел возможность создания больших программ с поддержкой строгой логической структуры[12].

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

В отличие от многих языков в Pascal регистр букв не имеет никакого значения, то есть AbC, aBc и abc - это одна и та же переменная. Также пробелы и абзацы - это разделительные знаки, которые игнорируются компилятором и фактически нужны только когда нет какого-либо другого разделительного знака, такого как точка с запятой или скобка, например после слова Begin. Всё написанное в фигурных скобках {} игнорируется компилятором. Всё после точки также игнорируется[13].

Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров[14].

Необходимо заметить, что многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. В начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники академик А. П. Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».

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

  • Язык в естественной форме отразил самые важные современные концепции технологии разработки программ.
  • Именно благодаря своей компактности, целостности и ортогональности понятий, язык программирования Паскаль оказался весьма легок для изучения и освоения.
  • Несмотря на кажущуюся простоту языка, он оказался пригодным для достаточно широкого спектра приложений, для разработки очень больших и сложных программ, даже операционных систем.
  • Паскаль весьма технологичен для реализации почти для всех (в том числе нетрадиционных) машинных текстур.
  • Память экономится за счет определения типов (Byte, Integer и т.д.)
  • Операторы языка позволяют не использовать метки, что действительно очень удобно.
  • С легкостью можно написать рекурсивную программу.
  • Встроенный ASSEMBLER, что действительно круто.
  • Огромные библиотеки (UNITS) к языку.
  • Практически нет глюков.
  • Встроенный редактор + оболочка.

В сфере образования до сих пор широко используется последняя 7-я версия Паскаля фирмы Borland, созданная более восьми лет назад. Со своей основной задачей компилятор Паскаля справляется, однако зачастую даже школьники, постигшие азы программирования, натыкаются на его ограничения. Одним из основных недостатков компилятора является его 16-разрядность. Ограничение в 64 Кбайт на все статические данные выглядит слишком жестким при типичных сегодня 32-128 Мбайт оперативной памяти. То же касается и графических режимов: максимальное разрешение, с которым способен работать Turbo/Borland Pascal, требует лишь 150-Кбайт видеопамяти, в то время как появляются видеоадаптеры, несущие уже 64 Мбайт.

Выводы по главе 1:

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

Выдающийся успех языка Паскаль обусловлен рядом причин: Язык в естественной форме отразил самые важные современные концепции технологии разработки программ. Именно благодаря своей компактности, целостности и ортогональности понятий, язык программирования Паскаль оказался весьма легок для изучения и освоения. Несмотря на кажущуюся простоту языка, он оказался пригодным для достаточно широкого спектра приложений, для разработки очень больших и сложных программ, даже операционных систем. Паскаль весьма технологичен для реализации почти для всех (в том числе нетрадиционных) машинных текстур. Память экономится за счет определения типов (Byte, Integer и т.д.) Операторы языка позволяют не использовать метки, что действительно очень удобно. С легкостью можно написать рекурсивную программу. Встроенный ASSEMBLER, что действительно круто. Огромные библиотеки (UNITS) к языку. Практически нет глюков. Встроенный редактор + оболочка.

Глава 2. Основы программирования на языке Pascal

2.1. Структура программы на языке Pascal

Программа на языке Pascal может состоять из восьми основных разделов[15].

1. Раздел заголовка программы

Program имя;

2. Раздел подключаемых библиотек

Uses список библиотек;

3. Раздел описания меток

Label список меток;

4. Раздел описания констант

Const описание констант;

5. Раздел описания пользовательских типов

Type описание типов;

6. Раздел описания переменных

Var описание переменных;

7. Раздел описания процедур и функций

Описание процедур начинается со слова procedure

Описание функций начинается со слова function

8. Раздел основной программы Начинается begin … заканчивается end.

Следует обратить внимание на то, что в конце программы необходимо ставить точку. Каждый из разделов является необязательным и используется по мере необходимости[16]. Далее все их рассмотрим подробнее. Первым по порядку идет заголовок программы. Этот раздел, как и другие, не является обязательным, но его использование четко выделяет начало программного кода. Имя, используемое в заголовке программы, составляется, как и любой идентификатор, из латинских букв, арабских цифр и символа «_».

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

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

Модули в Pascal носят название TPU (Turbo Pascal Unit). К стандартным модулям относится, например, библиотека CRT. Для ее подключения во втором разделе следует написать фразу Uses CRT. CRT содержит процедуры и функции работы со стандартными устройствами ввода/вывода (например, с экраном в текстовом режиме). Допустим, необходимо экран очистить. Для этого потребуется процедура clrscr, содержащаяся в библиотеке CRT. Если использовать ее без Uses CRT, то откомпилировать программу будет невозможно, так как для компилятора clrscr будет всего лишь набором букв.

В IDE Turbo Pascal 7.0 существуют следующие стандартные модули: CRT, Graph, Graph3, Overlay, Printer, Strings, System, Turbo3, WinAPI, WinCrt, WinDOS, WinPrn, WinProcs, WinTypes. В рамках этого пособия большинство модулей не будут рассмотрены подробно, но всегда можно найти информацию о них в разделе помощи по Turbo Pascal, нажав F1.

В разделе описания меток перечисляются метки, использующиеся в программе. Они перечисляются через запятую сразу за словом Label. Например, так: «Label m1,m2,m3,m4;». Метки в программе используются для адресации строк, на которые возможен переход с помощью оператора безусловного перехода goto.

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

program ex_label;

label m1,m2,m3;

var x:char;

begin readLn(x);

if x='1' then

goto m1

else

goto m2; m1:writeLn('m1');

goto m3; m2:writeLn('m2');

m3:

end.

Технически возможность использовать метки в Pascal существует, но как было заявлено выше, любой алгоритм можно описать с помощью следования, развилки и цикла. Безусловный переход не относится ни к одной из этих алгоритмических управляющих структур. Из этого можно сделать простой вывод: в связи с тем, что безусловные переходы могут затруднить чтение программы, а так же они не относятся ни к следованиям, ни к развилкам, ни к циклам, их использование желательно избегать. Следующий рассматриваемый раздел – описание констант.

Отметим, что константы в Pascal делят на два вида: типизированные и нетипизированные. В описании типизированных констант используются типы данных, поэтому отложим рассмотрение этого вопроса до изучения стандартных типов языка Pascal. Описать нетипизированные константы очень просто. После имени константы ставится знак «=»12, после чего - присваиваемое ей значение. При этом текстовые константы заключаются в апострофы. При описании константы можно не просто указать значение, но также записать математическое выражение.

Операндами могут выступать как константы (числовые и других простых типов значения), так и имена выше описанных констант. В этих математических выражениях могут быть использованы стандартные математические операции (+, –, *, /, mod, div), а так же функции модуля SYSTEM.TPU (эту библиотеку нельзя подключить с помощью USES; она, являясь библиотекой исполняющей системы, как бы постоянно подключена к любой программе): abs, chr, hi, length, lo, odd, ord, pred, prt, sizeof, succ, swap, trunc.

ПРИМЕР

program ex_const;

const

X=10;

Y=20;

Z=X+Y+30;

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

ПРИМЕР

program ex_type;

type

TInt = integer;

TMassiv = array[1..20,1..10] of real;

TFl = file of char;

var

I, J, K : TInt;

A, B : TMassiv;

F: TFl;

В следующем разделе описываются переменные. Это раздел var (англ. Variable – переменная). Переменной можно назвать поименованную область памяти, содержащую информацию заданного типа. Pascal является языком со строгим контролем типов данных. Во время работы программы содержимое переменной может меняться.

Для того чтобы программа могла хранить некоторые значения (начальные, промежуточные, конечные) в памяти, необходимо, чтобы для этих значений заранее было выделено место. Выделение места в памяти ЭВМ происходит автоматически на этапе компиляции, и пользователь не должен об этом заботиться. Он должен лишь указать неповторяющиеся имена описываемых переменных и их тип.

Указание типа связано с тем, что, как указывалось выше, вся информация в ЭВМ хранится в двоичном виде. Чтобы отделить, например, текст от чисел необходимо к каждой переменной привязывать способ перекодирования, т. е. определять ее тип в разделе описания переменных. Собственно описание переменных происходит следующим образом.

В разделе описания переменных, после слова var, перечисляются через запятую однотипные переменные, затем ставится двоеточие и указывается их тип. После точки с запятой, обычно со следующей строки, перечисляются и описываются переменные другого типа и так далее, пока не будут описаны все требуемые в программе переменные. В следующем разделе описываются подпрограммы. В этом разделе не будем останавливаться на этой теме, так как она подробно раскрывается позже. Последний раздел – основная программа. Именно здесь помещается основной алгоритм работы программы. Она должна быть заключена в так называемые операторные скобки (слова begin и end) и в конце обязательно стоит точка.

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

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

В языке Pascal блок комментариев выделяется фигурными скобками «{» – начало комментария и «}» – конец комментария. Или, альтернативным способом: «(*» – начало комментария и «*)» – его окончание. Наиболее же часто используют так называемые однострочные комментарии. Начало такого комментария обозначается комбинацией «//», а конец – переходом на новую строчку. К сожалению, старые IDE языка Pascal этот тип комментариев не поддерживают (например, IDE Turbo Pascal).

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

Мы назвали нашу программу Summa через зарезервированное слово program.

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

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

Для начала разберёмся что же такое переменная.

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

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

В pascal есть достаточное кол-во типов переменных для удобной работы. Для начала рассмотрим тип числовых переменных — то есть вида — 1 2 3 … Этот тип называется Integer. Он позволяет в переменную записывать числа, которые не превышают -32768 и 32767.

Вот код программы, в котором мы прописали наши переменные:

Мы добавили новую строку. var — это зарезервированное слово, после которого можно прописывать имена переменных, то есть мы можем сами придумать любое имя переменной, у нас это — a b c — их также нужно перечислять через запятую. После того как нужные нам переменные мы перечислили, ставим двоеточие и пишем тип переменных, и запомните что для определённой группы переменных можно указывать только один тип, а не несколько сразу.

Теперь нам нужно двум переменным присвоить какие-то числа. Вы наверное задались вопросом как присваивать данные переменным?

Всё это осуществляется при помощи знака :=

Сначала пишем название переменной потом знак присваивания, а после данные, которые хотим присвоить.

Так и напишем с нашими двумя переменными a и b:

Мы присвоили переменной a — 4, а переменной b — 3;

Теперь присвоим сумму этих двух переменных переменной c:

Мы просто присвоили переменной c сумму двух переменных.

Теперь нам нужно вывести их на экран, для этого используется команда write, после ставим скобки и внутри пишем имя переменной, которую хотим вывести на экран:

2.2. Программирование развилок на языке Pascal

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

if P then

управляющий оператор положительной ветви

else

управляющий оператор отрицательной ветви;

Это полная развилка (обратите внимание, что перед else «;» не ставится).

Неполная же развилка имеет следующий вид:

if P then

управляющий оператор положительной ветви;

Здесь P – предикат развилки. Управляющий оператор положительной ветви выполняется если P=TRUE, иначе выполняется управляющий оператор отрицательной ветви.

ПРИМЕР

Наибольшее из трех неравных чисел (A, B, C) возвести в квадрат.

Этот пример демонстрирует возможность использования разветвляющихся процессов. Блок-схема программы представлена на рис. 3.2.

Рисунок 2. Возведение в квадрат наибольшего из трех неравных чисел

Program Max3;

Var A,B,C : integer;

begin

writeLn('Введите 3 числа (A,B,C)');

readln(A,B,C);

if (A>B) and (A>C) then

A:=sqr(A) else

if B>C then

B:=sqr(B)

else

C:=sqr(C);

writeLn('A=',A,' B=',B, ' C=', C);

end.

Дословно «if… then… else…» переводится как «если… тогда… иначе…». Развилка есть процесс принятия решения относительно выбора дальнейшего движения в зависимости от некоторого условия. Наиболее часто используемыми являются развилки с вариантом решения «да» или «нет». Однако существует так называемая развилка множественного выбора (т. е. когда имеется возможность движения далее по алгоритму не в двух направлениях, а в гораздо большем их количестве).

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

case n of

мвз1: управляющий оператор для 1-го варианта;

мвз2: управляющий оператор для 2-го варианта;

мвз3: управляющий оператор для 3-го варианта;

else управляющий оператор для ветви «иначе»;

end;

Опять подробности работы этой управляющей структуры удобнее рассматривать на примере. Блок-схема алгоритма приведена на рис. 3. Обратите внимание на закрывающую скобку end при отсутствии begin в структуре case.

Здесь n – переменная-селектор, мвз – непересекающиеся множества возможных значений переменной-селектора, мвз можно описать как отдельным значением, так и списком значений (6,7) или диапазоном значений (1..3).

ПРИМЕР

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

Рисунок 3. Пример работы оператора Case

Program CaseWeek;

Var H :integer;

S :string[20];

begin

writeLn('Введите номер дня недели:');

readln(H);

case H of

1..3: S:='начало недели';

4: S:='четверг';

5: S:='пятница';

6,7: S:='выходные';

else

S:='нет такого дня';

end;

writeLn('Дню ', H, ' соответствует ', S);

end.

Выводы по главе 2: Программа на языке Pascal состоит из восьми основных разделов.

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

Программа на языке Pascal состоит из строк. Набор текста программы осуществляется с помощью встроенного редактора текстов системы программирования Turbo Pascal или любого другого редактора. В первом случае программа может после выхода из редактора (при нажатии клавиши F10) в главное меню компилироваться и выполняться; во втором случае программу следует записать в файл и затем вызвать для компиляции и выполнения в интегрированной среде программирования Turbo Pascal.

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

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

Заключение

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

Выдающийся успех языка Паскаль обусловлен рядом причин: Язык в естественной форме отразил самые важные современные концепции технологии разработки программ. Именно благодаря своей компактности, целостности и ортогональности понятий, язык программирования Паскаль оказался весьма легок для изучения и освоения. Несмотря на кажущуюся простоту языка, он оказался пригодным для достаточно широкого спектра приложений, для разработки очень больших и сложных программ, даже операционных систем. Паскаль весьма технологичен для реализации почти для всех (в том числе нетрадиционных) машинных текстур. Память экономится за счет определения типов (Byte, Integer и т.д.) Операторы языка позволяют не использовать метки, что действительно очень удобно. С легкостью можно написать рекурсивную программу. Встроенный ASSEMBLER, что действительно круто. Огромные библиотеки (UNITS) к языку. Практически нет глюков. Встроенный редактор + оболочка.

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

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

Программа на языке Pascal состоит из строк. Набор текста программы осуществляется с помощью встроенного редактора текстов системы программирования Turbo Pascal или любого другого редактора. В первом случае программа может после выхода из редактора (при нажатии клавиши F10) в главное меню компилироваться и выполняться; во втором случае программу следует записать в файл и затем вызвать для компиляции и выполнения в интегрированной среде программирования Turbo Pascal.

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

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

Список литературы

Абрамов, В. Г. Введение в язык паскаль / В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова. - М.: Наука, 2018. - 320 c.

Боон, К. Паскаль для всех / К. Боон. - Москва: Огни, 2014. - 192 c.

Введение в программирование на языке Паскаль. - Москва: СИНТЕГ, 2017. - 454 c.

Вирт Н. Алгоритмы + структуры данных = программы. М.: Мир, 1985. 406 с

Грызлов, В. И. Турбо Паскаль 7.0 / В.И. Грызлов, Т.П. Грызлова. - М.: ДМК, 2016. - 416 c.

Егунова А. И. Проектирование развивающего сайта молодёжных квестов / А. И. Егунова, Е. О. Ладанова, С. А. Ямашкин и др. // Образовательные технологии и общество. 2017. Т. 20. № 3. С. 292-298.

Касторнова, В. А. Структуры данных и алгоритмы их обработки на языке программирования Паскаль / В.А. Касторнова. - М.: БХВ-Петербург, 2016. - 728 c.

Кетков, Ю. Л. Свободное программное обеспечение. FREE PASCAL для студентов и школьников / Ю.Л. Кетков, А.Ю. Кетков. - М.: БХВ-Петербург, 2017. - 384 c.

Кореневская, О. В. Турбо Паскаль 7.0 / О.В. Кореневская. - М.: НТ Пресс, 2014. - 144 c.

Ладанова Е.О. Обзор программных средств обработки текстов на русском языке//Постулат. 2017. № 12. С.100.

Ладанова Е.О. Оптимизация контента сайта с учетом предпочтений пользователей//Постулат. 2018. № 1.

Ладанова Е.О., Ямашкин С. А. Семантический анализатор для выделения фактов из текстовых сообщений // Международный научноисследовательский журнал. 2017. № 12-5 (66). С. 95-97.

Медведик, В. Практика программирования на Паскаль. Задачи и решения / В. Медведик. - М.: ДМК, 2015. - 590 c.

Перминов, О.Н. Язык программирования Паскаль. Справочник / О.Н. Перминов. - М.: Радио и связь, 2015. - 128 c.

Семашко, Г. Л. Программирование на языке паскаль / Г.Л. Семашко, А.И. Салтыков. - М.: Главная редакция физико-математической литературы издательства "Наука", 2015. - 128 c.

Сэм, А. Аболрус Программирование на Pascal / Сэм А. Аболрус. - М.: Символ-плюс, 2016. - 328 c.

  1. Грызлов, В. И. Турбо Паскаль 7.0 / В.И. Грызлов, Т.П. Грызлова. - М.: ДМК, 2016. - 416 c.

  2. Кореневская, О. В. Турбо Паскаль 7.0 / О.В. Кореневская. - М.: НТ Пресс, 2014. - 144 c.

  3. Вирт Н. Алгоритмы + структуры данных = программы. М.: Мир, 1985. 406 с

  4. Перминов, О.Н. Язык программирования Паскаль. Справочник / О.Н. Перминов. - М.: Радио и связь, 2015. - 128 c.

  5. Ладанова Е.О. Оптимизация контента сайта с учетом предпочтений пользователей//Постулат. 2018. № 1.

  6. Семашко, Г. Л. Программирование на языке паскаль / Г.Л. Семашко, А.И. Салтыков. - М.: Главная редакция физико-математической литературы издательства "Наука", 2015. - 128 c.

  7. Ладанова Е.О. Обзор программных средств обработки текстов на русском языке//Постулат. 2017. № 12. С.100.

  8. Сэм, А. Аболрус Программирование на Pascal / Сэм А. Аболрус. - М.: Символ-плюс, 2016. - 328 c.

  9. Егунова А. И. Проектирование развивающего сайта молодёжных квестов / А. И. Егунова, Е. О. Ладанова, С. А. Ямашкин и др. // Образовательные технологии и общество. 2017. Т. 20. № 3. С. 292-298.

  10. Ладанова Е.О., Ямашкин С. А. Семантический анализатор для выделения фактов из текстовых сообщений // Международный научноисследовательский журнал. 2017. № 12-5 (66). С. 95-97.

  11. Абрамов, В. Г. Введение в язык паскаль / В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова. - М.: Наука, 2018. - 320 c.

  12. Боон, К. Паскаль для всех / К. Боон. - Москва: Огни, 2014. - 192 c.

  13. Введение в программирование на языке Паскаль. - Москва: СИНТЕГ, 2017. - 454 c.

  14. Касторнова, В. А. Структуры данных и алгоритмы их обработки на языке программирования Паскаль / В.А. Касторнова. - М.: БХВ-Петербург, 2016. - 728 c.

  15. Касторнова, В. А. Структуры данных и алгоритмы их обработки на языке программирования Паскаль / В.А. Касторнова. - М.: БХВ-Петербург, 2016. - 728 c.

  16. Кетков, Ю. Л. Свободное программное обеспечение. FREE PASCAL для студентов и школьников / Ю.Л. Кетков, А.Ю. Кетков. - М.: БХВ-Петербург, 2017. - 384 c.

  17. Медведик, В. Практика программирования на Паскаль. Задачи и решения / В. Медведик. - М.: ДМК, 2015. - 590 c.