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

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

Содержание:

Введение

В процессе написания курсовой работы необходимо ознакомиться с основами программирования на языке Pascal.

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

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

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

При выполнении курсовой работы были поставлены следующие задачи:

1. Анализ существующей литературы на темы программирования на языке Pascal и представления информации в различных структурах данных.

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

3. Рассмотреть синтаксис языка Pascal и принципы программирования структур данных.

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

1 Основные элементы

1.1 Алфавит языка

Основой любого языка является алфавит, то есть конечный набор фиксированных символов, используемых для составления текста на определенном языке (в данном случае программ). Конечно, при наличии спонтанно созданных диалектов стройность картины несколько нарушается, очень часто в нее включаются посторонние (неканонические) буквы и знаки. В программировании, эта задача решается введением понятия «языковой стандарт», которое практически не применимо к постоянно развивающемуся и изменяющемуся человеческому языку. Язык Паскаль включен в различные компьютерные реализации в неизменном виде [1].

Итак, алфавит языка Паскаль составляют:

1) буквы латинского алфавита;

2) арабские цифры;

3) специальные знаки.

Применение символов первой группы практически не вызывает вопросов, но здесь есть свои тонкости. Во-первых, это применение прописных и строчных букв. Большинство существующих трансляторов не учитывают регистры символов. Поэтому, записи «progRaM» и «PROGram» считаются одинаковыми. Во-вторых, латиница и некоторые символы кириллицы совпадают по начертанию. Можно ли написать вместо буквы «К» латинской – «K» русскую? Ответ: в тетради (если вы их сможете различить) – пожалуйста, в программе на ЭВМ – ни в коем случае. Внешне они, конечно, похожи, но вот коды у них совершенно разные, а компьютер, оперирует внутри себя не буквами, а их числовыми кодами [5].

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

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

Рассмотрим детально специальные символы:

. конец программы, разделение целой и дробной частей вещественного числа (десятичная точка), разделение полей в переменной типа Record;

, разделение элементов списков;

.. указание диапазона;

: используется в составе оператора присваивания, а также для указания формата вывода в операторе Writeln;

; отделяет один раздел программы от другого, разделяет операторы;

' используется для ограничения строковых констант;

- + * / ( ) арифметические знаки (используются по своему назначению);

< > знаки отношений;

= используется в составе оператора присваивания, в разделах описаний констант и типов, используется как знак отношения (равно);

@ имя специального оператора определения адреса переменной, подпрограммы;

^ используется для именования динамических переменных;

{} ограничение комментариев в программе;

[ ] заключают в себе индексы элементов массивов;

_ символ подчеркивания используется также как любая буква, например, в идентификаторах - вместо пробела;

# обозначение символа по его коду;

$ обозначение директивы компилятора, обозначение шестнадцатеричного числа [2].

1.2 Идентификаторы

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

• идентификатор должен быть уникальным, то есть одним и тем же именем разные объекты не могут быть названы;

• идентификатор имеет ограничение по длине (зависит от конкретной реализации языка на компьютере);

• идентификатор может состоять только из символов латинского алфавита, цифр и знака подчеркивания ("_");

• идентификатор не может начинаться с цифры [8].

Переменные создаются в результате объявления ее в разделе VAR. Объявление одновременно специфицирует имя переменной и тип ее значения.

Пример объявления переменной:

VAR a:integer;

В данном примере была объявлена переменная а – целого типа [3].

1.3 Константы

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

В Паскале константами являются любые явно заданные в программе данные (например, 7493, 'привет', 54.899). Следует обратить внимание на то, что при записи числовых констант с дробной частью эта часть отделяется от целой не запятой, а точкой. Для записи очень больших по модулю или очень малых (близких к нулю) чисел существует возможность записи их в так называемой экспоненциальной форме. С такой записью вы встречались в математике и физике, но называли ее стандартным видом числа [1].

Пример: 2.4567Е-06

^мантисса ^порядок

Здесь буква «Е» отделяет мантиссу (совокупность значащих цифр числа с десятичной точкой после первой) от порядка (показателя степени десятки в стандартном виде числа).

Константы, представляющие собой строковые величины, заключаются в апострофы.

Если одна и та же величина используется в программе несколько раз, то удобнее было бы обозначить ее каким-нибудь именем и использовать это имя везде, где требуется записать соответствующую константу. Кроме сокращения размера исходного текста программы, это позволит избежать случайных ошибок, а также упростит отладку программы. Описание именованных констант начинается служебным словом Const. Далее следуют записи вида: <Идентификатор>=<значение> [1].

Пример:

Const

Pi=3.14;

Name1='Татьяна';

Name2='Виктор';

R21=6.33187E+03;

W_W_W=934122;

1.4 Понятие переменной. Типы

Данные хранятся в памяти компьютера, но для указания на определенную информацию очень неудобно все время записывать физические адреса ячеек. Эта проблема в языках программирования высокого уровня, в частности в Паскале, решается введением понятия переменных. Переменная в Паскале - именованный участок памяти для хранения данных определенного типа. Значение переменной (информация в соответствующих ячейках памяти) в ходе выполнения программы может быть изменено. Константой называется величина, которая не может изменить свое значение во время работы программы. Конкретные переменные и константы являются уникальными объектами и имеют разные имена друг для друга [2].

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

К базовым типам относятся:

• тип целых чисел - Integer

• тип «длинных» целых чисел - Longint

• тип действительных (вещественных) чисел (то есть - с дробной частью) - Real

• тип неотрицательных целых чисел от 0 до 255 - Byte

• тип неотрицательных целых чисел от 0 до 65535 - Word

• символьный тип - Char

• строковый тип - String

• логический тип - Boolean

Физически типы данных отличаются друг от друга количеством ячеек памяти (байтов), отводимых для хранения соответствующей переменной. Логическое же отличие проявляется в интерпретации хранящейся информации. Например, переменные типа Char и типа Byte занимают в памяти по одному байту. Однако в первом случае содержимое ячейки памяти интерпретируется как целое беззнаковое число, а во втором - как код (ASC) символа [4].

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

Раздел описания переменных начинается служебным словом Var, после которого следуют записи следующего вида: <Список имен переменных>:<Название типа>;

Список может состоять из нескольких имен (при этом они разделяются запятыми), а также и из одного имени. Тип, указываемый после двоеточия, определяет, какие данные теперь могут храниться в описанных таким образом переменных. Для каждого используемого в программе типа переменных в разделе их описания должна быть, как минимум, одна собственная строка [6].

Пример:

Var

A,B,H_22,Angle : Real;

Name3 : String;

Flag : Boolean;

I,J,K,Count : Word;

1.5 Комментарии

Введем понятие комментария. Комментарий – это всё, что заключено между скобками { }. Символы, заключенные между этими скобками, не воспринимаются машиной, но выдаются пользователю. Комментарии используются пользователем для объяснения алгоритма [4].

2 Синтаксис языка

2.1 Основная структура программы

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

Program <Имя программы>;

<Раздел описаний>

Begin

<Тело программы>

End.

Здесь слова Program, Begin и End являются служебными. Правильное и уместное употребление этих слов является обязательным.

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

Название программы выбирается программистом самостоятельно, в соответствии с правилами построения идентификатора [3].

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

1. Описание меток (Label).

2. Описание типов (Type).

3. Описание констант (Const).

4. Описание переменных (Var).

5. Описание процедур и функций (Procedure, Function).

При отсутствии необходимости в каком-либо виде объектов, соответствующий подраздел может быть опущен [7].

2.2 Оператор присваивания. Арифметические выражения

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

<Имя переменной>:=<Выражение>;

Выражение, указанное справа от знака ":=", должно приводить к значению того же типа, какого и сама переменная, или типа, совместимого с переменной относительно команды присваивания. Например, переменной типа Real можно присвоить значение типа Integer или Word (впрочем, наоборот делать нельзя). Выражение будет сначала вычислено, затем, его результат будет положен в ячейки памяти, отведенные для переменной.

Выражения на языке Паскаль зависят от типа выражения. Рассмотрим сначала выражения арифметические, то есть те, результатом которых является число [10].

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

• числовые константы;

• имена переменных;

• знаки математических операций;

• математические функции и функции, возвращающие число;

• открывающиеся и закрывающиеся круглые скобки.

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

Операции:

• + сложение;

• - вычитание;

• / деление;

• * умножение;

• MOD остаток от деления (записывается так: A MOD B; читается: остаток от деления A на B); эта операция применима только к целым числам;

• DIV целочисленное деление (записывается так A DIV B; читается: результат деления A на B без дробной части); эта операция тоже применяется только для целых операндов.

Аргументы функций всегда записываются в круглых скобках:

• SIN(X) sin x;

• COS(X) cos x;

• ARCTAN(X) arctg x;

• ABS(X) абсолютное значение x (в математике - |x|);

• SQR(X) возведение x в квадрат;

• SQRT(X) извлечение квадратного корня;

• TRUNC(X) отбрасывание дробной части х;

• ROUND(X) округление х до ближайшего целого числа;

После выполнения второго оператора присваивания в участке памяти, отведенном под переменную R, окажется результат указанного выражения [5].

2.3 Составной оператор

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

Begin

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

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

<Оператор N>

End;

Возможно, такая структура напоминает основную структуру программы. Действительно, отличие только в том, что после End в конце составного оператора ставится точка с запятой, а в конце программы - точка. По своей сути вся программа представляет собой большой составной оператор [3].

Обратите внимание на то, что точка с запятой перед End может не ставиться.

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

2.4 Операторы ввода и вывода информации

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

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

Операторы ввода (форматы операторов):

Read(<Список ввода>);

Readln(<Список ввода>);

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

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

Разница между работой процедур Read и Readln (от Read line) состоит в следующем: после выполнения Read значение следующего данного считывается с этой же строчки, а после выполнения Readln - с новой строки.

Для вывода информации в Паскале также есть две команды:

Write(<Список вывода>);

Writeln(<Список вывода>);

Такой формат использования Write и Writeln позволяет выводить на экран монитора данные из списка вывода. Для элементов выходного списка можно использовать имена переменных, выражения и константы. Значение выражения вычисляется первым перед отображением компьютера. Элементы списка разделяются запятыми, как и в операциях ввода.

Различия операторов вывода таково: после выполнения оператора Writeln (от Write line) происходит переход на новую строчку, а после выполнения инструкции Write, переход на новую строчку не происходит и печать по последующим командам вывода Write или Writeln будет происходить на той же строчке. При вызове оператора Writeln без параметров просто происходит переход на новую строчку [6].

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

Program Inteface;

Var

R,S : Real;

Begin

Write('Введите радиус круга '); {Печать на экране просьбы о вводе}

Readln(R); {Ввод значения в переменную R с клавиатуры}

S:=4*ARCTAN(1)*SQR(R); {Вычисление площади круга (pR2)}

Writeln('Площадь круга радиусом ',R,' равна ',S)

End.

Эта программа запрашивает у пользователя значение радиуса круга, обеспечивает возможность ввести его значение, рассчитывает и выводит на экран величину площади круга с таким радиусом. Таким образом, появляется возможность, не внося изменений в текст программы, вводить различные значения радиуса и получать, соответствующие им значения площади круга. Для этого достаточно несколько раз запустить программу. Также эта программа демонстрирует следующее правило: выдача результатов должна быть прокомментирована так, чтобы был ясен смысл напечатанных чисел. Действительно, ведь можно было бы ограничиться Writeln(S), но значение выведенного программой числа в этом случае было бы ясно только тому, кто эту программу написал [4].

2.5 Условный оператор

Одной из основных алгоритмических структур является ветвление (альтернатива).

Рисунок 1 – Форма условного оператора

Если условие выполняется, то будет выполнен оператор1, если нет, то – оператор2. В схеме имеются два действия, но из них будет выполнено только одно, так как условие либо ложно, либо истинно, другого не дано. Такая схема позволяет решать задачи, для решения которых, в зависимости от ситуации требуется совершить то или иное действие. Нет никаких сомнений в том, что число задач такого рода составляет большое значение. Кроме того, очень сложно придумать реально значимое задание, алгоритм выполнения которого содержал бы в себе простое прямое следование команд. Даже простейшая задача, взятая из курса математики, не может быть решена без использования ветвления. Итак, необходимо вычислить значение выражения y=1/x. Вам известно, что данная функция не всегда имеет значение, то есть не для всех значений аргумента существует значение результата. Наша задача так составить алгоритм, чтобы исполнитель ни в коем случае не встал в тупик, даже при получении нуля в качестве аргумента. Сформулировать это на естественном языке не трудно:

1. Получить значение x.

2. Если x=0, то сообщить, что выражение значения не имеет, иначе - вычислить y как 1/x.

Таким образом используется приведенная выше алгоритмическая структура. Она может быть выражена простыми словами:

Если <усл.> {Если выполняется условие}

то <действие 1> {то выполнить действие № 1 }

иначе <действие 2> {иначе - выполнить действие № 2 }

все

Как это записать на Паскале? Да точно так же, только по-английски.

Формат условного оператора на языке Паскаль:

If <условие>

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

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

Обратим внимание на то, что в Then- и Else- части стоит только один оператор. Но что делать, чтобы решить задачу, в которой по выполнению или невыполнению условия нужно совершить не одно, а несколько действий? Здесь приходит на помощь уже известный вам составной оператор. В операторные скобки можно заключить любое количество операторов.

Вариант условного оператора в этом случае:

If <условие>

Then Begin <группа операторов 1> end

Else Begin < группа операторов 2> end;

Знак «точка с запятой» не ставится перед служебным словом Else, но операторы в группах, естественно, отделяются друг от друга этим знаком.

В программе Pascal условием является выражение, значение которого является значением логического (Boolean) типа. Либо переменная указанного типа, либо сложная последовательность операторов, связанных с логической операцией.

В простых условиях могут применяться знаки операций сравнения: >(больше), <(меньше), =(равно), <>(не равно), >=(больше или равно), <=(меньше или равно).

Примеры простых условий: A=5 {Значение переменной А равно 5}

(C+D3)>=(D1*(45-2))

{Значение выражения в левой части больше либо равно значению выражения из правой части}

S<>'ABC' {Значение переменной S не равно строковой константе 'ABC'}

Приведем пример решения еще одной задачи: «Из двух чисел выбрать наибольшее».

На первый взгляд решение очевидно, но оно не столь тривиально, как кажется [4].

Program Example;

Var A,B,C : Real; {A,B - для хранения аргументов, C - результат}

Begin

Writeln('Введите два числа');

Readln(A,B); {Вводим аргументы с клавиатуры}

If A>B Then C:=A Else C:=B; {Если A>B, то результат - A, иначе результат - B}

Writeln(C); {Выводим результат на экран}

End.

2.6 Метки. Оператор безусловного перехода

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

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

  1. Оператор, получающий управление должен иметь метку в виде идентификатора, заканчивающегося символом двоеточие.
  2. В начале программы, в разделе Label, следует описать эту метку.
  3. Оператор goto должен быть помещен в то место программы, откуда выполняется переход. Оператор goto передает управление на оператор с заданной меткой. Этот оператор можно располагать в любом месте программы, где содержаться операторы языка.

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

Program Prim3;

Label M;

Var x:real;

BEGIN

x:=0;

M: writeln('x=',x,'cos x = ',cos(x));

x:=x+0.01;

goto M;

readln;

END.

Программа будет выполняться таким образом: х присвоится значение 0; writeln выведет на экран текст. Далее значение x будет увеличено на 0,01 и оператор goto передаст управление на метку M, то есть опять будет выведено значение в операторе writeln. И так будет происходить до бесконечности, так как в текущем алгоритме окончание работы не предусмотрено. Для завершения работы следует применить оператор if [2].

2.7 Цикл. Виды Циклов

Наиболее распространенной в практике программирования является циклическая программа. В периодической программе алгоритм повторяется много раз при изменении одного из параметров. Операторов цикла в Паскале три: for, repeat, while.

Цикл For.

Оператор состоит из заголовка. Заголовок определяет порядок переменных в параметрах цикла и тело цикла, которое является итерационным алгоритмом. Общий вид оператора:

for – параметр цикла: = начальное значение to, конечное значение do {заголовок}; оператор; {тело цикла}. Этот оператор применяется, если начальное значение < конечного значения;

for – параметр цикла:=начальное значение downto, конечное значение do; оператор; применяется, если начальное значение > конечного значения.

Пример: найти сумму квадратов целых чисел от 8 до 1.24.

Program Prim;

Var i,s:integer;

BEGIN

s:=0;

for i:= 8 to 124 do

s:=s+sqr(i);

writeln('s=',s);

readln;

END.

Правила применения оператора цикла for

1.Тело цикла - всегда один оператор. Чтобы использовать в теле цикла несколько операторов, то их объединяют в один с помощью операторных скобок begin, end.

for i:=l to n do

Begin

S:=S+sin(x)/cos(x);

x=x+0.01;

writeln('S=' ,S)

end.

Операторы, взятые в операторные скобки begin, end, считаются одним составным оператором.

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

3. В теле цикла параметр цикла не должен изменяться.

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

5. Выйти из тела цикла в программу можно по if..goto, не дожидаясь полного перебора параметров цикла.

Цикл Repeat.

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

repeat

оператор;

оператор;

– – – – – – – –

оператор until булевское выражение;

Работа оператора. Сначала выполняется оператор, составляющий тело цикла, а затем логическое выражение. Если значение false, тело цикла выполняется снова. Когда логическое выражение истинно, цикл завершается.

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

Тело оператора repeat выполняется по меньшей мере один раз. Оператор repeat еще называют циклом с послеусловием.

2. Перед until ';' не ставится.

Пример: найти сумму четных чисел в интервале от 0 до 100.

Program Prim17;

Var i,s:integer;

BEGIN i:=0; s:=0;

repeat

i:=i+2; s:=s+i

until i>100;

writeln('s=',s);

readln;

END.

Цикл While.

Оператор While цикла с предусловием.

While – булевское выражение; do – тело цикла.

Работа оператора. Сначала вычисляется логическое выражение, и если оно равно true, то выполняется тело цикла, если значение false, цикл завершается.

Тело цикла – это один оператор, обычно составной оператор. Необходимо убедиться, что на каком-то этапе логическое выражение в теле цикла будет ложным. В противном случае цикл не закончится. Цикл может быть заведомо бесконечным, написав: while true do оператор;

Будем применять эту конфигурацию при написании программ обработки файлов [1].

Пример: найти сумму четных чисел в интервале от 0 до 100.

Program Prim19;

Var i,s:integer;

BEGIN

i:=0; s:=0;

while i<100 do

Begin

i:=i+2;

s:=s+i;

end;

writeln('s=',s);

readln;

END.

2.8 Строковые операции

Все языки программирования высокого уровня имеют инструменты для обработки строк. Паскаль – не исключение. Стандарт языка описывает два типа переменных для литерных величин. Это String и Char. Переменная типа Char может содержать в себе только один единственный символ, тип String предназначен для хранения строковых значений до 255 символов длиною. При описании переменной такого типа можно указать максимальное число символов, которое можно занести в нее. Конечно же, это число не должно превышать 255. Делается это так:

Var

S : String[30];

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

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

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

Пример: S[5] - пятый символ строки S.

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

Номера символов в каждой строке начинается с единицы. Вместо числа можно использовать выражение в скобках, результатом которого будет целое число. Главное, чтобы в строке был символ с таким номером. Существует специальная функция, которая возвращает длину строковой переменной символом. Это функция Length. Ее формат: Length(S)

Здесь S - либо строковая величина, либо строковая переменная [4].

Заключение

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

При написании курсовой работы были выполнены следующие задачи:

1. Проанализирована существующая литературы на темы программирования на языке Pascal.

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

3. Изучен синтаксис языка Pascal и принципы программирования структур данных.

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

Список использованных источников

  1. Меженный О.А., Самоучитель Turbo Pascal. –M.: Мир, 1982.-287с.
  2. Программирование на языке Паскаль: Практическое руководство. Пер. с англ. Д.Прайс – М.Мир, 1987. -232с.
  3. Язык Паскаль в иллюстрациях. Пер. с англ. Д.Алкок. – М.:Мир, 1991. -192с.
  4. Черкасов М.А. Практический курс программирования на паскале. – М.: Изд-во МАИ, 2005. -186с.
  5. Вирт Н., Алгоритмы + Структуры данных = программы Паскаль/ Пер. с англ.C.П. Забродина, А.В. Шалашова. –М.: Мир, 1985.-472с.
  6. Зуев Е.А., Язык программирования Turbo Pascal 7.0. – М.: Унитех , 1997.-329с.
  7. Фаронов В.В., Паскаль и Windows, –М.: МВТУ–ФЕСТО ДИДАКТИК, 1995.-539 с.
  8. Грис Д., Наука программирования. –М: Мир , 1984.- 416 с.
  9. Гудман С, Хиндетниеми С., Введение в разработку и анализ алгоритмов, –М.:Мир, 1981.-368 с.
  10. Райли Д., Абстракция и структуры данных. Вводный курс, –М.: Мир, 1993.
  11. Лингер Р., Миллс X., Уитт Б., Теория и практика структурного программирования, –М.: Мир, 1982.-406с.
  12. Лэнгсам И., Огенстайн М., Тененбаум А., Структуры данных для персональных ЭВМ, –М.: Мир, 1989.- 568 с.
  13. M. Зелковиц, Ф.Шоу, Дж. Гэннон, Принципы разработки программного обеспечения –М.: Мир, 1982.-368 с.
  14. К. Зиглер, Методы проектирования программных систем, –М.: Мир, 1985.-328 с.