Помощь в написании студенческих работ
Антистрессовый сервис

Основы языка Турбо Паскаль

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Язык Паскаль, названный в честь французского математика и философа Блеза Паскаля (1623−1662), был создан как учебный язык программирования в 1968;1971 годах Никлаусом Виртом в Высшей технической школе (ЕТН) в Цюрихе. В настоящее время этот язык имеет более широкую сферу применения, чем предусматривалось при его создании. Целью работы Н. Вирта было создание языка, который строился бы на небольшом… Читать ещё >

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

Основы Языка Турбо Паскаль

1. Введение

2. Лингвистическая концепция языка Паскаль

3. Интегрированная инструментальная оболочка

3.1 Структура основного экрана

3.1.1 Строка меню

4. Основы построения программ на ТП 7.0

4.1 Алфавит языка и специфика использования символов

4.2 Общая структура программ в ТП 7.0

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

4.2.2 Процедуры и функции

4.2.3 Основной блок программы в ТП 7.0

5. IPO принцип разработки программ в ТП 7.0

5.1 Простые типы данных

5.2 Константы

5.3 Переменные

5.3.1 Простые переменные

5.3.2 Типизированные переменные (Переменные с начальным значением)

6. Управляющие конструкции языка ТП 7.0

6.1 Безусловные конструкции

6.2 Условные конструкции

6.2.1 Конструкция IF … THEN

6.2.2 Конструкция IF … THEN … ELSE

6.2.3 Конструкция CASE … OF

6.3 Циклические конструкции

6.3.1 Конструкции FOR … TO (DOWNTO) … DO

6.3.2 Конструкции REPEAT … UNTIL

6.3.3 Конструкции WHILE … DO

7. Процедуры и функции

7.1 Параметры процедур и функций

7.2 Общая структура процедур и функций

8. Операции

9. Работа в ТП 7.0 со строковыми типами данных

9.1 Операции со строками

10. Структурированные типы данных

10.1 Массивы

10.2 Одномерные массивы

Приложение

1. Введение

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

В 1985 году на рынке ПЭВМ появился язык программирования Турбо Паскаль (версия 3.0) с компилятором стандартного Паскаля. С тех пор Паскаль стал применяться в общеобразовательных, профессионально-технических школах и в сфере высшего образования в качестве «первого» языка программирования. Благодаря простоте использования язык ТП получил широкое распространение и в любительских кругах. Повышению популярности ТП способствовал набор небольших сопутствующих программ (Tools), позволяющих получать чрезвычайно компактную, быструю и легко читаемую программу. Эти качества ТП были высоко оценены и в среде профессиональных программистов. Встроенный редактор текста используют достаточно широко распространенную систему команд, берущую начало от пакета WordStar и хорошо знакомую каждому, кто интенсивно использует ПЭВМ.

В появившемся со временем пакете ТП 4.0 было устранено большинство подвергающихся критике ограничений компилятора и была повышена производительность системы. Кроме того, новый компилятор версии 4.0 имел существенные отличия от предыдущей версии. Наиболее важным нововведением была UNIT-концепция, заимствованная из языка Модула-2. Это дало возможность реализовать в рамках ТП разработку крупных программных продуктов.

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

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

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

В 1992 году фирма Borland International представила пользователям очередную версию языка Паскаль — ТП 7.0. Наряду со всеми преимуществами, которые унаследованы от предыдущей версии (многооконный режим работы, возможность использования мыши, возможность использования языка программирования низкого уровня Ассемблер, возможность создавать объектно-ориентированные программы), в ТП 7.0 были произведены изменения и улучшения:

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

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

улучшение компилятора, вследствие чего «коды программ» стали более эффективными.

улучшение интерфейса пользователя

расширение возможностей объектно-ориентированного программирования (в частности, расширены и улучшены возможности Turbo Vision)

2. Лингвистическая концепция языка Паскаль

Язык Паскаль, названный в честь французского математика и философа Блеза Паскаля (1623−1662), был создан как учебный язык программирования в 1968;1971 годах Никлаусом Виртом в Высшей технической школе (ЕТН) в Цюрихе. В настоящее время этот язык имеет более широкую сферу применения, чем предусматривалось при его создании. Целью работы Н. Вирта было создание языка, который строился бы на небольшом количестве базовых понятий, имел бы простой синтаксис, допускал бы перевод программ в машинный код простым компилятором По природе своей компьютер может выполнять только простейшие операции, которые можно вводить одну за другой в его память прямо в машинных кодах. Изнурительная монотонность такой работы привела когда-то первых программистов к естественному решению — созданию Ассемблеров, т. е. средств, упрощающих подготовку машинных кодов программ пользователя за счет написания их в некоторых мнемонических обозначениях с последующим автоматическим переводом. Дальнейшее развитие этих идей привело к созданию языков программирования высокого уровня, в которых длинные и сложные последовательности машинных операций были заменены одним — единственным обозначающим их словом — операторы. В области малых ЭВМ среди языков программирования высокого уровня следует в первую очередь назвать БЭЙСИК. Программы, написанные на этом языке, к сожалению, часто содержат запутанные последовательности операторов, называемые иногда на жаргоне программистов «блюдо спагетти».

Лингвистическая концепция Паскаля отрицает методы программирования, приводящие к подобным эффектам. Основные принципы Паскаля таковы:

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

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

Объектно-ориентированное программирование делает следующий шаг от ремесла к науке программирования. Данные объединяются со свойственными им операциями обработки в некоторые объекты.

3. Интегрированная инструментальная оболочка

3.1 Структура основного экрана ИИО ТП 7.0

Основной экран ИИО ТП 7.0 состоит из трех различных по функциональному назначению частей: строки меню, рабочей зоны и строки состояния.

Рис. Основной экран ИИО ТП 7.0

3.1.1 Строка меню

Строка меню ИИО активизируется нажатием функциональной клавиши [F10] или щелчком мыши. Строка меню содержит имена следующих меню:

File: позволяет выполнять все операции с файлами;

Edit: позволяет выполнять все основные операции редактирования текста ;

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

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

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

Debug: содержит команды, облегчающие процесс поиска ошибок в программе (Breakpoints — точки остановки, окно отладки Watch, окно используемых подпрограмм и др.)

Tools: позволяет выполнять некоторые программы, не выходя из ИИО ТП 7.0;

Options: позволяет установить необходимые для работы параметры компилятора и ИИО ТП 7.0;

Window: позволяет выполнять все основные операции с окнами;

Help: позволяет получить имеющуюся в системе справочную информацию.

Рис. Локальное меню

4. Основы построения программ на ТП 7.0

4.1 Алфавит языка и специфика использования символов

Язык программирования ТП 7.0, как и любой другой, имеет свой алфавит. Как правило, алфавитом языка программирования называют набор символов (разрешенный к использованию и воспринимаемый компилятором), с помощью которого могут быть образованы величины, выражения и операторы языка. Алфавит языка ТП 7.0 включает в себя все символы, представленные в кодировочной таблице, которая в настоящий момент загружена в оперативную память или хранится в ПЗУ компьютера. Каждому символу алфавита соответствует индивидуальный числовой код от 0 до 255.

Алфавит языка ТП 7.0 составляют:

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

латинские строчные и прописные буквы,

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

символ подчеркивания (ASCIIкод 95) .

Символы-разделители:

Символ пробела (ASCII — код 32). Символ пробела является разделителем в языке ТП 7.0. Основное назначение этого символа — разделение ключевых слов и имен.

Управляющие символы (с ASCII — кодами от 0 до31). Эти символы могут применяться при описании строчных и символьных констант.

Примечание

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

A: =B+C-D; Write (A)

A: =B+ CD; Write (A)

A: =

B+C

— D; Write (A)

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

+ - * / { } [ ] () < >. , `:; ^ @ # $

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

<= => := (* *) (. .) .

«Неиспользуемые «символы. Символы так называемой расширенной таблицы ASCII, т. е. символы, имеющие коды от 128 до 255, а также некоторые символы из основной таблицы ASCII (например: (&), (!), (%), (~), («) и некоторые другие) не входят в алфавит языка, т. е. эти символы не используются в идентификаторах. Тем не менее их можно использовать в тексте комментариев, а также в виде значений констант строк или констант символов.

Зарезервированные слова. ТП 7.0, как и его предшественники, включает в себя так называемые ключевые или зарезервированные слова (BEGIN, END, PROGRAM). В качестве имен идентификаторов в программе зарезервированные слова использоваться не могут. Если вы будете использовать зарезервированные слова не по назначению, это вызовет ошибку при попытке откомпилировать программу.

4.2 Общая структура программ в ТП 7.0

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

раздел объявлений и соглашений (декларационная часть),

раздел текстов процедур и функций, раздел основного блока.

РАЗДЕЛ ОБЪЯВЛЕНИЙ СОГЛАШЕНИЙ

PROGRAMЗаголовок программы;

{$.. .}Глобальные директивы компилятора;

USESПодключаемые библиотеки;

LABEL Подраздел объявления глобальных меток;

CONST Подраздел объявления глобальных констант;

TYPE Подраздел объявления глобальных типов;

VAR Подраздел объявления глобальных переменных;

РАЗДЕЛ ТЕКСТОВ ПРОЦЕДУР И ФУНКЦИЙ

PROCEDURE

(FUNCTION)Заголовок процедуры (функции);

LABELПодраздел объявления глобальных меток;

CONST Подраздел объявления глобальных констант;

TYPE Подраздел объявления глобальных типов;

VAR Подраздел объявления глобальных переменных;

BEGINОсновной блок процедуры или функции;

END;

РАЗДЕЛ ОСНОВНОГО БЛОКА ПРОГРАММЫ

BEGIN Основной блок программы;

END.

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

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

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

Примечание

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

Глобальные директивы компилятора. В этом разделе программы компилятору можно дать указания, определяющие режимы его работы при трансляции последующей программы. Эти указания оформляются в тексте как комментарии, начинающиеся парой символов ({$) и заканчивающиеся символом (}). Такие указания могут содержать «заказы» на включение в текст программы фрагментов др. программ (из соответствующих файлов), информацию для отладчика или сведения о необходимости использования арифметического сопроцессора.

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

Примечание

Оператор USES может быть использован в программе только один раз, при этом у него есть свое четко определенное место.

Объявления глобальных меток, констант, типов и переменных

За строкой, содержащей USES, идут строки объявляющие:

метки (LABEL);

константы (CONST);

определенные пользователем типы данных (TYPE);

переменные (VAR).

Примечание

Разделы LABEL, CONST, TYPE и VAR могут располагаться в произвольном месте программы. При этом каждый из этих разделов может встречаться в программе несколько раз или вообще не встречаться в ней.

4.2.2 Процедуры и функции

«Процедура» и «функция» — термины, применяемые в Паскале для обозначения специальным образом оформленной последовательности команд (подпрограммы).

Заголовок процедуры и функции

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

В списке параметров процедуры объявляются не только их имена, но и типы. Например, в следующем объявлении процедуры

PROCEDURE Summe (VAR Sum: INTERGER; VAR X, Y: BYTE) указано наличие трех параметров, причем они все — целочисленные. Одна переменная имеет тип INTEGER и имя Sum, в то время как две другие имеют имена X и Y и тип BYTE, определяющий несколько меньший объем размер области памяти, выделяемый под переменную.

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

4.2.3 Основной блок программы

Основной блок программы состоит из последовательности операторов, причем работа программы начинается именно с первого оператора основного блока программы. Тело основного блока программы ограниченно операторами BEGIN и END.После оператора END обязательно ставится точка.

· Пример основного блока, работа которого ограничивается лишь вызовом подпрограмм:

· BEGIN

Initialization;

REPEAT

Basispart;

UNTIL KeyPressed

END.

5. IPO принцип разработки программ в ТП 7.0

5.1 Простые типы данных

Любые данные (т. е. константы, переменные, значения функций и т. д.) характеризуются в ТП 7.0 своими типами. Тип данных определяет:

§ формат представления данных в памяти компьютера;

§ множество допустимых значений, которые может принимать принадлежащая к выбранному типу переменная или константа;

§ множество допустимых операций, применимых к этому типу.

ТП 7.0 язык программирования, характерной особенностью которого является «сильно» разветвленная структура типов. В ТП 7.0 данные, используемые программой, должны принадлежать к какому-л. заранее известному типу данных — стандартному (тип данных, предопределенный ТП 7.0) или пользовательскому (тип данных, предопределенный программистом).

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

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

TYPE

Day = (`Понедельник', `Вторник', `Среда');

Month = (`Май', `Июнь', `Июль', `Август');

Тип данных в языке программирования ТП 7.0 делятся на пять основных классов:

§ простые типы а) целочисленный б) логический в) символьный г) перечисляемый д) интервальный е) вещественный,

§ структурированные типы,

§ ссылочные типы,

§ процедурные типы,

§ объектные типы.

5.2 Константы

Константа — идентификатор, обозначающий некоторую неизменную величину (значение данных) определенного типа. Константы должны, так же как и переменные, объявляться в декларационной части программы (или процедуры) до момента своего использования в процессе вычислений. Объявления констант начинаются зарезервированным словом CONST.Затем следует имя константы, символ равенства (=) и значение этой константы. Например:

CONST MWSt = 4.0; - числовые константы

WAR1 = `A'; - символьные константы

STROKA = `Язык программирования Turbo Pascal' - символьные константы

5.3 Переменные

5.3.1 Простые переменные

Переменная — элемент программы, который предназначен для хранения, коррекции и передачи данных внутри нее. Раздел объявления переменных начинается зарезервированным словом VAR, вслед за которым располагается конкретные переменные. Для объявления переменной необходимо указать имя переменной и ее тип. Например:

VAR

AINTEGER; {переменной с именем A соответствует}

B, CREAL; {предопределенный тип INTEGER}

D, E, F, GCHAR;

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

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

5.3.2 Типизированные переменные (Переменные с начальным значением)

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

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

Операция присваивания

Одним из элементарных операторов, применяемых в ТП 7.0, является оператор присваивания — основной оператор любого языка программирования. Данный оператор позволяет поместить определенное значение в необходимую вам переменную. Оператор присваивания имеет вид:

<�Идентификатор> := <�Выражение>

Идентификатор представляет собой имя переменной, пара символов (:=) — знак присваивания. Операция присваивания позволяет заменить текущее значение переменной, стоящей слева от знака присваивания, новым значением, которое задается выражением стоящим справа.

Кроме уже упомянутой операции присваивания в ТП 7.0 доступны следующие операции над целыми числами:

Операция Действие

+ Сложение

- Вычитание

* Умножение

DIV Целочисленное деление (частное)

MOD Целочисленное деление (остаток)

6. Управляющие конструкции языка ТП 7.0

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

оператор присваивания (:=);

оператор безусловного перехода (GOTO);

оператор обращения к процедуре (функции).

Структурными операторами называют такие, которые состоят из др. операторов. В ТП 7.0 к данному типу относятся:

составной оператор (составной оператор представляет собой последовательность операторов, заключенных в операторные скобки, состоящие из зарезервированных слов BEGIN и END);

условные операторы (IF, CASE);

операторы цикла (REPEAT, WHILE, FOR);

оператор присоединения (WITH).

6.1 Безусловные конструкции

В ТП 7.0 существует всего один безусловный оператор GOTO и четыре безусловные функции (BREAK, CONTINUE, EXIT и HALT).

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

GOTO <�МЕТКА>

GOTO - зарезервированное слово языка ТП 7.0, а <�МЕТКА> - идентификатор или целое число.

Функция BREAK позволяет досрочно закончить цикл.

Функция CONTINUE позволяет начать новую итерацию цикла, даже если итерация была не была завершена.

Функция EXIT позволяет завершить работу текущего программного блока Функция HALT (n), где n — некоторое число, позволяет завершить работу программы с кодом завершения n.

6.2 Условные конструкции

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

6.2.1 Конструкция IF THEN

В общем случае структура оператора IF THEN выглядит следующим образом:

IF

THEN

BEGIN

Оператор1;

Оператор2;

Оператор_последний;

END;

6.2.2 Конструкция IF THEN ELSE

Общую форму оператора IF THEN, содержащего ELSE - ветвь, можно записать следующим образом:

IF Условие

THEN

BEGIN

Оператор_ветви_Если_То1;

Оператор_ветвт_Если_То2;

Оператор_ветви_Если_То_последний;

END

ELSE

BEGIN

Оператор_ветви_Если_Иначе1;

Оператор_ветвт_Если_Иначе2;

Оператор_ветви_Если_Иначе_последний;

END;

При разработке больших по объему программ хорошо зарекомендовала себя, с точки зрения повышения наглядности, предварительная графическая запись программы. Для этого используются изобразительные средства блок-схем или структур программ. В последнем случае конструкция IF THEN ELSE выглядит следующим образом:

6.2.3 Конструкция CASE OF

В Паскаль-программах довольно часто используются операторы CASE OF. Они предназначены для замены конструкций из вложенных операторов IF THEN. Конструкция CASE OF является идеальным средством для обработки ситуаций с несколькими исходами, когда условие может более двух значений.

CASE порядковая_переменная OF

Значение1:

BEGIN

Оператор11;

Оператор1_n;

END;

Значение2:

BEGIN

Оператор21;

Оператор2_n;

END;

Значение_n:

BEGIN

ОператорN1;

ОператорN_n;

END;

ELSE

BEGIN

ОператорE1;

ОператорE_n;

END;

END;

Примечание

После конструкции CASE OF должен стоять символ точка с запятой.

6.3 Циклические конструкции

язык паскаль константа лингвистический

6.3.1 Конструкция FOR TO (DOWNTO) … DO

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

имя переменной, в которой хранится число повторений цикла (переменной цикла или счетчика цикла),

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

Общая формула:

FOR Переменная_цикла:=Начальное_значение TO (DOWNTO)

Конечное_значение DO

BEGIN

Оператор1;

Оператор2;

ОператорN;

END;

6.3.2 Конструкция REPEAT UNTIL

При использовании в программе циклической конструкции REPEAT UNTIL последовательность операторов (тело цикла) обрамляется зарезервированными словами REPEAT и UNTIL. В любом случае последовательность операторов, входящих в тело цикла, выполняется один раз, после чего проверяется условие завершения цикла, записанное следом за зарезервированным словом UNTIL. Если это условие выполняется, цикл завершается. В противном случае — тело цикла повторяется еще раз, после чего снова проверяется условие завершения цикла. Обобщенная формула записи оператора REPEAT UNTIL:

REPEAT

Оператор1;

Оператор2;

Оператор_N;

UNTIL Условие;

6.3.3 Конструкция WHILE … DO

Обобщенная запись цикла WHILE … DO

WHILE Условие DO

BEGIN

Оператор1;

Оператор2;

Оператор_N;

END;

7. Процедуры и функции

7.1 Параметры процедур и функций

В общем виде вызов процедуры имеет вид:

<�Имя процедуры> (Список параметров);

Примечание

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

7.2 Общая структура процедур и функций

РАЗДЕЛ ОБЪЯВЛЕНИЙ СОГЛАШЕНИЙ

PROCEDUREИмя процедуры со списком параметров;

LABEL Подраздел объявления локальных меток;

CONSПодраздел объявления локальных констант;

TYPE Подраздел объявления локальных типов;

VAR Подраздел объявления локальных переменных;

РАЗДЕЛ ТЕКСТОВ ПРОЦЕДУР И ФУНКЦИЙ

PROCEDUREИмя процедуры (вложенной процедуры) со списком

параметров;

LABELПодраздел объявления локальных меток;

CONST Подраздел объявления локальных констант;

TYPE Подраздел объявления локальных типов;

VARПодраздел объявления локальных переменных;

BEGINОсновной блок процедуры или функции;

END;

РАЗДЕЛ ОСНОВНОГО БЛОКА ПРОГРАММЫ

8. Операции

В ТП 7.0 все операции делятся на:

математические операции,

логические операции,

операции с символами и строками,

операции над множествами,

операции отношения,

операции получения адреса.

В следующей таблице приведен список всех применяемых в ТП 7.0 операций. В ней все операции приведены в порядке убывания их приоритета, т. е. элементы, имеющие более высокий приоритет, выполняются всегда первыми, имеющие более низкий приоритет — вторыми и т. д.

9. Работа в ТП 7.0 со строковыми типами данных

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

Переменная типа STRING состоит из цепочки символов, т. е. элементов типа CHAR. Строки могут выводиться на экран монитора посредством стандартных процедур Write и WriteLn и вводится с помощью стандартной процедуры ReadLn или Read. В большинстве случаев переменные типа STRING используются для хранения слов и сообщений, состоящих из нескольких символов.

9.1 Операции со строками

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

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

10. Структурированные типы данных

10.1 Массивы

Массив (ARRAY) объединяет элементы одного типа данных. Более формально массив можно определить как одномерную (последовательную) упорядоченную совокупность элементов некоторого типа, которые адресуются с помощью некоторого индекса.

Наряду с одномерным и массивами в ТП 7.0 используются также двухмерные массивы данных, положение которых определяется двумя координатами — по горизонтали и по вертикали. В двухмерных массивах данных координата по горизонтали соответствует номеру строки, а координата по вертикали — номеру ряда.

Размер массива в ТП 7.0 ограничивается только объемом рабочей памяти компьютера.

10.2 Одномерные массивы

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

В ТП 7.0 вы можете объявить одномерный массив следующим образом:

VAR Имя_массива: ARRAY [нач_индекс. кон_индекс] OF Тип_данных;

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

Приложение

Примеры программ на языке Турбо Паскаль

PROGRAM Z4; {ВЫЧИСЛЕНИЕ ПЛОЩАДИ ПРЯМОУГОЛЬНИКА}

VAR l, W, S:REAL;

BEGIN

WRITELN ('В-те S Прямоуг.');

WRITELN ('В-те длину и ширину');

READLN (l, W);

S:=l*W;

WRITELN ('S прямоуг =', S:6:2,'кв.см');

END.

program pr2; {ОПРЕДЕЛЕНИЕ СУММЫ ЦИФР ДВУЗНАЧНОГО ЧИСЛА}

uses crt;

var n, c1, c2,sum:integer;

begin

clrscr;

writeln ('ВВЕДИТЕ ДВУХЗНАЧНОЕ ЧИСЛО');

readln (n);

c1:=n div 10;

c2:=n mod 10;

sum:=c1+c2;

writeln ('сумма цифр=', sum);

end.

PROGRAM N2; {ВЫЧИСЛЕНИЕ ПЛОЩАДИ ПАРАЛЛЕЛОГРАММА}

USES_CRT;

VAR N, C1, C2,SUM:INTEGER;

BEGIN

CLRSCR; {ОЧИСТ. ЭКР.}

WRITELN ('ВВ ДВУЗН. ЧИСЛО');

READLN (N);

C1:=N DIV 10;

C2:=N MOD 10;

SUM:=C1+C2;

WRITELN ('СУММА ЦИФР=', SUM);

END.

PROGRAM PR4; {ВЫЧИСЛЕНИЕ ПЛОЩАДИ ПАРАЛЛЕЛОГРАММА}

VAR L, W, S: REAL;

BEGIN

WRITELN ('ВЫЧИС.S ПАРАЛЛ.');

WRITELN ('ВВ. ДЛИНУ И ШИРИНУ');

READLN (L, W);

S:=L*W;

WRITELN ('S ПАРАЛЛ.=', S:6:2,' КВ.СМ.');

END.

program Season; {ВЫВЕДЕНИЕ ВРЕМЕНИ ГОДА ПО № МЕСЯЦА}

VAR M: INTEGER;

begin

writeln ('вв номер мес.(число) от 1 до 12');

readln (m);

case m of

1,2,12:writeln ('ЗИМА');

3,4,5 :writeln ('ВЕСНА');

9,10,11:writeln ('ОСЕНЬ');

6,7,8:writeln ('ЛЕТО');

ELSE write ('нет такого мес. ');

end;

end.

PROGRAM NOD1; {ВЫЧИСЛЕНИЕ НОДа ДЛЯ ДВУХ ЧИСЕЛ}

var a, b, n1,n2,nod, r: integer;

Begin

writeln ('введите 2 числа для НОД ');

readln (a, b);

n1:=a;

n2:=b;

while (n1 mod n2) <>0 do

begin

r:=n1 mod n2;

n1:=n2;

n2:=r;

end;

nod:=n2;

writeln ('НОД (', a,',', b,')=', nod);

end.

PROGRAM minA; {НАХОЖДЕНИЕ MIN В ОДНОМЕРНОМ МАССИВЕ }

const n=6;

var i, min: integer; a: array[1.n] of integer;

Begin

writeln ('вв эл-ты ч/з и ввод');

for i:=1 to n do

read (a[i]);

min:=a[1];

for i:=2 to n do

if min>a[i] then

min:=a[i];

writeln ('min=', min);

end.

PROGRAM sorti; { УПОРЯДОЧЕНИЕ ОДНОМЕРНОГО МАССИВА ПО ВОЗРАСТАНИЮ (УБЫВАНИЮ)}

const n=6;

var a, b: array [1.n] of integer;

i, l, m, k: integer;

bmax, d: integer;

Begin

writeln ('вв м.п. 6');

for i:=1 to n do

begin

readln (a[i]);

b[i]: =a[i];

end;

l:=1;

for i:=1 to n do

begin

bmax:=b[i];

for k:=l to n do

if b[k]<=bmax then

begin

bmax:=b[k]; m:=k;

end;

d:=b[i];

b[i]:=bmax;

b[m]:=d;

l:=l+1;

end;

for i:=1 to n do

write (a[i],' ');

readln;

for i:=1 to n do

write (b[i],' ');

readln;

end.

PROGRAM PIFAGOR; {ТАБЛИЦА УМНОЖЕНИЯ}

var i, j, p:integer;

Begin

write ('_':4);

for j:=1 to 10 do

write (j:4);

writeln,

for I:=1 to 10 do

begin

write (i:4);

for j:=1 to 10 do

write (I*j:4);

writeln;

end;

readln;

end;

END.

Турбо Паскаль 7.0. Самоучитель. — СПб.: Питер; К.: Издательская группа BHV, 2002

Показать весь текст
Заполнить форму текущей работой