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

Основы программирования на языке Pascal (Программирование на языке «Pascal»)

Содержание:

ВВЕДЕНИЕ

Язык программирования «Pascal» был разработан профессором Никлаусом Виртом, преподававшим в Цюрихе в Высшем техническом училище. Алгоритмический язык, который он разработал и предложил, предназначался для обучения программированию студентов. Этот язык Нилаус Вирт назвал в честь французского ученого Блеза Паскаля (1623-1662), создавший первую в мире вычислительную машину.

На сегодняшний день «Pascal» является одним из самых развитых языков программирования. Его утвердили в качестве стандарта. «Pascal» является на столько совершенным, что превосходит такие универсальные языки программирования как «Algol», «Fortran», «Basic».

«Turbo Pascal» является расширенным вариантом языка программирования «Pascal» и в последнее время широко используется среди ряда программистов. От первоначального варианта его отличает больше возможностей.

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

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

Объектом исследования является: язык программирования «Pascal».

Предмет исследования – структура программирования в «Pascal».

Цель исследования- рассмотреть особенности программирования на языке «Pascal».

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

- Изучить и проанализировать методическую, специальную литературу по теме исследования.

- Охарактеризовать язык программирования «Pascal».

- Раскрыть особенности использования циклов в языке программирования «Pascal».

Методы исследования: анализ, синтез, изучение литературы, абстрагирование, обобщение.

Практическая значимость:курсовая работа поможетв обучении языка программирования «Pascal».

Глава 1. Программирование на языке «Pascal».

    1. История возникновения языка програмирования «Pascal».

Прежде чем изучать «Pascal», стоит отметить, что он является, так скажем, наследником такого языка программирования, как «Algol». В отличие от своего предшественника, «Pascal» проще и яснее.«Pascal» зародился в начале 70-х годов. Николаус Вирт, ставший разработчиком этого языка, намеревался использовать его для обучения своих студентов разработки компиляторов. Также «Pascal» отличало от «Algol» и других языков программирования, созданных в то время и то, что у него намного лучше обрабатывались данные а также имеются встроенные процедуры ввода-вывода, которых не было в «Algol». «Turbo Pascal» фирмы Borland является расширением стандарта языка и содержит, кроме того, интегрированную среду, намного ускоряющие и облегчающий процесс разработки программ. Этот программный продукт прошел 6 версий, прежде чем появился «Turbo Pascal» 7.0.

    1. Работа с программой.

В качестве изучения языка программирования «Pascal», мы познакомимся с программой «Turbo Pascal» 7.0. Эта программа предназначена для обучения программированию на языке «Pascal» и ориентирована на школьников и студентов.

Основной экран интегрированной среды разработчика «Turbo Pascal 7.0»

По функциональному назначению выделяется три области экрана:

- строка меню;

- рабочая область;

- строка состояния.

По функциональному предназначению программа делится на три области экрана:

- строка меню;

- рабочая область;

- строка состояния.

В меню содержатся такие вкладки как:

- вкладка «File» предназначена для работы с файлами, например, через нее можно выполнять такие действия как сохранение, открывание или создание;

- вкладка «Edit» предназначена для редактирования кода программ; через нее можно, например, отменить последнюю операцию, а также вставить текст из буфера обмена;

- вкладка «Search» предназначена для поиска а также замены фрагмента кода программы;

- вкладка «Run» предназначена для запуска программы;

- вкладка «Compile» предназначена для компиляции программы. Компиляция, говоря простым языком, служит для перевода программы в машинный код;

- вкладка «Debug» предназначена для облегчения процесса поиска ошибок в программе;

- вкладка «Tools» предназначенадля обращения к ассемблеру и отладчику;

- вкладка «Options» предназначена для установления необходимых для работы параметра компилятора и среды разработчика;

- вкладка «Window» предназначена для работы с окнами (перемещать, изменять размер, закрывать);

- вкладка «Help» предназначена для получения справочной информации.

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

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

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

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

Алгоритм — это описание последовательности действий.

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

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

ГлавнаяцельлюбойЭВМ - облегчитьчеловекужизнь; обработатькакможнобольшеданныхидатьрезультаткакможноскорее.Какправило, большинство программ построено по одной идеи: получить данные из какого-либовнешнего источника, будьтовводданныхпользователем, послеэтогообработать их по определенному алгоритму ивыдатьполученныйрезультатпользователю.

Благодаряпоявлению языков высокого уровня появилась возможность проектировать большие программные системы. Чтовсвоюочередьповлеклозасобойразвитиеобоснованногостиляпрограммированияилипонаучному - структурногопрограммирования. Структурное программирование - это метод проектирования программ, основанныйна соблюдении определеных средств языка программирования и представленияпрограммыввидеиерархическойструктурыблоков. Под средствами языка программированияподразумеваетсяиспользование стандартных типов данных и операторов выполения вычислениями. Сочетание данных, указанных в программе как переменные и константы, называется структурой данных этой программы. Построение структуры данных программы согласноправилам играет такую же важную роль для ее эффективности, как и правильное построение структуры управления. Именно Университет этих двух моментов определяет «чистоту» кода программы. «Чистота» кода позволяет находить нужные компоненты программы быстро не только программисту, написавшему код, но и другим людям, которые хотели бы усовершенствовать программу. Данные простых типов при этом играют роль кирпичиков, из которых строится все здание. Структуры данных в языке программирования «Pascal» безсомнения, наиболее наглядно демонстрируют принципы структурного программирования.

2. Типы данных.

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

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

К стандартным типам данных, в свою очередь, относят:

- логические (boolean);

- целые (integer);

-вещественные (real);

- символьные (char);

- строковые (string);

- адресные(pointer);

- текстовые (text);

Стандартный тип данных определен самим языком программирования «Pascal». При использовании стандартных типов достаточно указать подразделы необходимых типов (const, var) и далее описать используемые в программе константы и переменные. Если же программист определяет собственный тип данных, он описывает его характеристики и сам дает ему имя, которое затем применяется точно так же, как имена стандартных типов.

Логический тип данных языка программирования «Pascal»- это «boolean». Он принимает такие значения как «истина» (true) или «ложь» (false). Длякомпьютераэто1 и 0 соответственно. В оперативной памяти они занимают 1 байт.

К величинам логического типа применяются такие логические операции как:

- «логическое и» или «логическое умножение» (and);

- «логическое или» или «логическое сложение» (or);

- «логическое исключающее» или (xor);

- «логическое отрицание» (not).

Как они работают продемонстрировано в Приложении 1 (для наглядности вместо значения «false» используется 0, а вместо «true» – 1).

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

Целые числа представляются в компьютере в двоичной системе счисления. В языке программирования «Pascal» определено несколько целых типов данных, отличающихся длиной и наличием знака, подробнее в Приложении 3.

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

Кроме этого, к целым величинам можно применять поразрядные операции and, or, xor и not. При выполнении этих операций каждая величина представляется как совокупность двоичных разрядов. Действие выполняется над каждой парой соответствующих разрядов операндов. Например, результатом операции 3 and 2 будет 2, поскольку двоичное представление числа 3 - 11, числа 2 - 10. Для работы с целыми величинами предназначены также и операции сдвига влево shl и вправо shr. Слева от знака операции указывается, с какой величиной будет выполняться операция, а справа - на какое число двоичных разрядов требуется сдвинуть величину. Например, результатом операции 12 shr 2 будет значение 3, поскольку двоичное представление числа 12 - 1100.

Вещественные типы данных хранятся в памяти компьютера иначе, чем целые. Внутреннее представление вещественного числа состоит из двух частей - мантиссы и порядка, и каждая часть имеет знак. Например, число 0,056 представляется в виде 0,56*10-1, и в памяти хранится мантисса 56 и порядок -1. Существует несколько вещественных типов, различающихся точностью и диапазоном представления данных. Точность числа определяется длиной мантиссы, а диапазон - длиной порядка. Более подробнее в Приложение 5.

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

К вещественным величинам можно применять стандартные функции, перечисленные в Приложении 6:

Символьный тип данных «char», служит для представления впрограммесимволовипроизводитьнаднимиоперации. Символыдолжнызаключатьсявапострофы. Под каждый символ отводится 1 байт. К символам можно применять операции отношения (<, <=, >,>=, =, <>), при этом сравниваются коды символов. Меньшим окажется символ, код которого меньше. Стандартных функций для работы с символами тоже немного, они представлены в Приложении 7.

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

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

- к любому порядковому типу может быть применена стандартная функция «ord», которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;

- к любому порядковому типу могут быть применены стандартные функции «pred» и «succ», которые возвращают предыдущее и последующее значения соответственно;

- к любому порядковому типу могут быть применены стандартные функции «low» и «high», которые возвращают наименьшее и наибольшее значения величин данного типа.

2.3. Операторы языка.

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

К простыми относятся те операторы, которые не содержат в себе других операторов. Это:

- оператор присваивания;

- обращение к процедуре;

- оператор безусловного перехода «goto»;

- пустой оператор.

С помощьюоператораприсваивания переменной или функции присваивается значение выражения. Для этого используется знак присваивания «:=», слева указывается имя переменной, а справа - выражение, значение которого вычисляется перед присваиванием. Допустимо присваивание значений переменным и функциям любого типа, за исключением типа «файл». Тип выражения и тип переменной (или функции) должны быть совместимы для присваивания. Пример:

a:= b;

d:= a + c;

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

- целым числом в пределах от 0 до 9999;

- обычным идентификатором.

Все используемые метки должны быть перечислены в разделе объявления меток, начинающемся зарезервированным словом «label», например: label 1, 2, Metka;

Одной меткой можно пометить только один оператор. Метка от помеченного оператора отделяется двоеточием. Использовать оператор «goto» следует крайне осторожно. Широкое его применение без особых на то оснований ухудшает понимание логики работы программы. Безусловный переход можно осуществлять далеко не из каждого места программы и не в любое место программы. Так, нельзя с помощью этого оператора перейти из основной программы в подпрограмму или выйти из подпрограммы.

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

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

К ним относятся относятся:

- составной оператор;

- условный оператор «if»;

- условный оператор «case»;

- оператор цикла «repeat»;

- оператор цикла «while»;

- оператор цикла «for»;

- оператор над записями «with».

Составной оператор. Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end:

begin

<оператор 1>;

<оператор 2>;

. . .

<оператор N>

end;

Он может потребоваться в тех случаях, когда в соответствии с правилами построения конструкций языка можно использовать один оператор, а выполнить нужно несколько действий. В такой составной оператор входит ряд операторов, выполняющих требуемые действия. В дальнейшем везде, где будет указываться, что можно использовать один оператор, им может быть и составной оператор. Отдельные операторы внутри составного оператора отделяются друг от друга точкой с запятой. Так как завершающее составной оператор слово «end» не является отдельным предложением, то перед ним точку с запятой можно не ставить, в противном случае компилятор будет считать, что перед словом «end» стоит пустой оператор. Можно считать, что и само тело программы, т. к. оно заключено в операторные скобки «begin» и «end», тоже является составным оператором.

Условный оператор «if» (если). Оператор «if» реализует алгоритмическую конструкцию выбора хода решения задачи в зависимости от истинности или ложности заданного условия. Например:

ifa<bthenmax:=b;

else max:=a;

Что мы сделали? Этим фрагментом программы мы задали условия выбора максимума. Так, если a меньше b, то max присваиваем значение b, иначе (если условие ложно) max присваиваем a.

Оператор цикла «repeat-until» дословно переводится как "повторяй до тех пор, пока" - организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Выход из цикла осуществляется при истинности некоторого логического выражения.

repeat

оператор 1;

оператор 2;

...........

оператор N

until условие; {выход только при выполнении этого условия}.

Оператор цикла «while» (до тех пор пока). Оператор цикла «while» организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждого цикла (т. е. раньше, чем выполняется условие), фрагмент кода цикла может и не выполняться вовсе.

while <условие> do <оператор>;

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

Оператор цикла «for». Оператор цикла «for» организует выполнение одного оператора заранее известное число раз. Существует два варианта оператора:

for<переменная цикла>:=<начальное значение> to <конечное значение> do <оператор>;

for<переменная цикла>:=<начальное значение> downto <конечное значение> do <оператор>;

В этих операторах:

<переменная цикла> - переменная порядкового типа;

<начальное значение> - выражение (порядкового типа), определяющее начальное значение переменной цикла;

<конечное значение> - выражение (порядкового типа), определяющее конечное значение переменной цикла (при этом значении тело цикла (т е <оператор>) выполняется последний раз);

<оператор> - выполняемый оператор.

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

Цикл действует таким образом:

Сначала вычисляются и запоминаются начальное и конечное значения.

Далее переменной цикла присваивается начальное значение.

Затем значение переменной цикла сравнивается с конечным значением.

Причём, пока параметр цикла меньше или равен конечному значению (в первом варианте оператора) или больше или равен конечному значению (во втором варианте), выполняется очередное повторение; в противном случае происходит выход из цикла. Выполнение очередной итерации включает в себя сначала выполнение <оператора>, а затем присваивание переменной цикла следующего большего значения (в первом варианте оператора) или следующего меньшего значения (во втором варианте).

Естественно, что, если в первом варианте <начальное значение> больше чем <конечное значение> или во втором варианте меньше чем <конечное значение>, оператор не выполняется ни разу. После выхода из цикла <переменная цикла> становится неопределенной, за исключением случая, когда выход из цикла был осуществлен с помощью оператора «goto» или стандартной процедуры «break».

Использование стандартных процедур «break» и «continue» в операторах циклов «repeat», «while» и «for». Процедура «break» позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода. Процедура «continue» позволяет начать новую итерацию цикла, даже если предыдущая не завершена.

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

ЗАКЛЮЧЕНИЕ

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

В курсовой работе были освещены вопросы, связанные с основами программирования на языке «Pasca»l. Рассмотрена структура программы на языке Pascal, типы данных, основные операторы языка, такие как операторы ввода и вывода, условный оператор, оператор безусловного перехода, цикл с предусловием, цикл с постусловием и цикл с параметром. Также рассмотрены основы работы с символьными и строковыми переменами, одномерным и двумерными массивами.

Список используемых источников

Литература

  1. Осипов А.В. PascalABC.NET: введение в современное программирование. М. : Астрель, 2019. 572 с.
  2. Абрамян М. Э. Структуры данных в PascalABC.NET. Выпуск 1. Массивы и последовательности. Запросы. М. : Ростов, 2016. 119 с.
  3. Абрамян М. Э. Структуры данных в PascalABC.NET. Выпуск 2. Минимумы и максимумы. Списки, множества, словари, стеки и очереди. Многомерные структуры. М. : Ростов, 2016. 118 с.
  4. Рапаков Г.Г. Програмирование на языке Pascal М. : СПБ БХВ- Петербург, 2004. 474 с.
  5. Беренцев А.Р. Turbo Pascal: первые шаги. Примеры и упражнения М. : Научная книга, 2008. 100 с.
  6. Немнюгин С. А. Turbo Pascal М. : Питер, 2003. 491 с.
  7. Попов В.К. Паскаль и Дельфи: Учебный курс М. : Питер, 2005. 576 с.
  8. Стародубов Л.Г. Турбо Паскаль 7.0. Начальный курс. М.: Издательство ОМД Групп, 2003. 616 с.
  9. Зуев Е.А. Язык программирования Turbo Pascal 6.0, 7.0. М. : Веста, 1993. 384 с.
  10. Иванова Г.С. Основы программирования. М. : МГТУ им. Н.Э. Баумана, 2002. 416 с.
  11. О.А. Меженный. Самоучитель Turbo Pascal. М. : Пингвин, 2002. 330 с.

С.Н. Лукин Турбо-Паскаль 7.0. самоучитель. М. : Астрель, 1999. 211 с.

ПРИЛОЖЕНИЯ

Приложение 1

a

b

a and b

a or b

a xor b

not a

0

0

0

0

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

Приложение 2

Операция

Знак операции

больше

>

больше или равно

>=

меньше

<

меньше или равно

<=

равно

=

не равно

<>

Приложение 3

Тип

Название

Размер

Знак

Диапазон

integer

целое

2 байта

есть

-32768..32767(-215..215-1)

shortint

короткое целое

1 байта

есть

-128..127(-27..27-1)

byte

байт

1 байта

Нет

0..255(0..28-1)

word

слово

2 байта

Нет

0..65535(0..216-1)

lonight

длинное целое

4 байта

есть

-2147483648..2147483647(-231..231-1)

Приложение 4

Операции

Знак операции

сложение

+

вычитание

-

умножение

*

деление

div

остаток от деления

mod

Приложение 5

Тип

Название

Размер

Значащих цифр

Диапазон значения

real

вещественный

6

11-12

2.9e-39..1.7e+38

single

одинарной точности

4

7-8

1.5e-45..3.4e+38

double

двойной точности

8

15-16

5.0e-324..1.7e+308

extended

расширенный

10

19-20

3.4e-4932..1.1e+4923

comp

большое целое

8

19-20

-9.22e18..9.22e18(-263..263-1)

Приложение 6

Имя

Описание

Результат

Пояснения

abc

модуль

Вещественный

|x| записывается abs(x)

arctan

арктангенс угла

Вещественный

arctgx записывается arctan(x)

cos

косинус угла

Вещественный

cosx записывается cos(x)

exp

экспонента

Вещественный

ex записывается exp(x)

frac

дробная часть аргумента

Вещественный

frac(3.1) даст в результате 0.1

int

целая часть аргумента

Вещественный

frac(3.1) даст в результате 3.0

ln

натуральный логарифм

Вещественный

logex записывается ln(x)

pi

значение числа п

Вещественный

3.1415926536

round

округление до целого

Целый

round(3.1) даст в результате 3 round(3.8) даст в результате 4

sin

синус угла

Вещественный

sinx записывается sin(x)

sqr

квадрат

Целый

x2 записывается sqr(x)

sqrt

квадратный корень

Вещественный

записывается sqrt(x)

trunc

целая часть аргумента

Целый

trunc(3.1) даст в результате 3

Приложение 7

Имя

Описание

Результат

Пояснения

ord

порядковый номер символа

Целый

ord('b) даст в результате 98 ord('ю) даст в результате 238

chr

преобразование в символ

Символьный

chr(98) даст в результате b'chr(238) даст в результате ю

pred

предыдущий символ

Символьный

pred('b) даст в результате a'

succ

последующий символ

Символьный

pred('b) даст в результате a'

upcase

перевод в верхний регистр

Символьный

upcase('b) даст в результате B'