Изучение среды программирования Turbo Pascal

 

Министерство  образования и  науки Республики Казахстан 

Карагандинский  Политехнический  Колледж 
 
 
 
 
 
 
 
 
 
 
 
 

Курсовой  проект 

Пояснительная записка 

ПКИТ.3706.002 – 23.П3 
 
 
 
 
 

                Руководитель

                      Такшылыкова Д.Р.

                Дата 

                Выполнил  учащийся

                группы  ПВТ – 03 з

                      Ятченя  Е.В. 

Дата 
 
 
 
 
 
 
 

2004

 
СОДЕРЖАНИЕ 
     Введение
  1. Общая часть
    1. Основные понятия программирования
    2. Лексемы и константы
    3. Константы
    4. Блоки, локализация и сфера действия
    5. Типы
    6. Переменные
    7. Выражения
    8. Операторы
    9. Процедуры и функции
  2. Специальная часть

     Заключение

     Листинг

     Список использованной литературы

3

5

5

6

10

10

11

15

16

17

21

22

26

27

28

 
 
     
         

ПКИТ.3706.002 – 23.П3

    Ятченя Е.В.    
изм. лист № документа подпись дата
Разраб.

Ятченя

    Решение задач по программированию Литер лист листов
Пров. Такшылыкова      

у

  2 28
       

КПТК

Н.Контр      
Утв.      
 
 
Введение 

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

     Пакет программирования Turbo Pascal 7.0, разработанный фирмой Borland International , успешно используется программистами всего мира.

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

     Во-вторых, версия Turbo Pascal 7.0 является последней версией, созданного фирмой Borland International для разработки приложений в ОС MS DOS, и по этой причине ничего более нового и совершенного для этой ОС предложить сейчас нельзя.

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

     
            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
3
Под Лист   № документа   Плдп. Дата
 
 
 
     Turbo Pascal включает в себя как язык программирования – одно из расширений языка Паскаль для персональных IBM-совместимых компьютеров, так и среду, предназначенную для написания, отладки и запуска программ.

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

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

     
            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
4
Под Лист   № документа   Плдп. Дата
 
 
 
1. Общая часть 

     1.1 Основные понятия программирования

     Любой естественный язык строится из элементарных составляющих – букв, образующих алфавит  языка. Буквы используются для построения слов, слова складываются в предложения, а предложения…. Из предложений состоит любой текст – письмо, роман, секторное донесения. Всякий язык программирования организован примерно так же. Имеется алфавит языка, то есть набор символов, которые можно использовать в программе. Существует зарезервированные слова, имеющие вполне определенный смысл и определенное назначение. Их нельзя изменять: любая неточность в написании таких слов является серьезной ошибкой. В отличие от естественных языков человеческого общения, в языках программирования можно вводить свои собственные слова и придавать этим словам свой собственный смысл. Небольшую программу можно употребить письму или маленькому рассказу. Большой проект – это роман. Как обычное письмо, программа может быть написана хорошим или плохим «слогом» (стилем), и чем лучше стиль, тем понятнее программа, тем меньше вероятность появления ошибок.

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

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

            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
5
Под Лист   № документа   Плдп. Дата
 
 
 
     Такая запись понятна человеку, но непонятна  компьютеру. Исходный текст должен быть откомпилирован (оттранслирован), то есть, переведен на язык машинных команд, понятный компьютеру. В этом случае создается исполняемый файл (его отличительная черта – имя, оканчивающееся на .exe). Именно исполняемый файл иногда называют программой. И, наконец, программой могут называть набор всевозможных файлов, как исполняемых, так и текстовых (а возможно, и в других форматах).

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

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

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

    1.2 Лексемы и константы

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

     Турбо Паскаль использует следующие подмножества  символов кода ASCII:

      • Буквы английского алфавита от A до Z и от a до z;
      • Цифры - арабские от 0 до 9;
            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
6
Под Лист   № документа   Плдп. Дата
 
 
 
      • Шестнадцатеричные цифры - арабские цифры от 0 до 9, буквы  от A до F и от a до f.
      • Пробелы - символ пробела (ASCII32) и все управляющие символы ASCII (ASCII от 0 до 31),  включая символ конца строки или символ возврата каретки (ASCII13).
     Специальные символы  и  зарезервированные  слова  представляют собой символы,  имеющие одно или несколько фиксированных  значений.

     Специальными  символами являются следующие символы:

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

     Следующие пары символов также представляют  собой  специальные символы:

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

     Некоторые специальные  символы  являются  также   операторами. Левая  квадратная скобка ([ ) эквивалентна паре символов,  состоящей из  левой  круглой  скобки  и  точки  (  (.  ).  Аналогично  правая квадратная  скобка  (])  эквивалентна  паре символов,  состоящей из точки и правой круглой скобки ( .) ).

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

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

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

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

            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
7
Под Лист   № документа   Плдп. Дата
 
 
 
     Идентификатор должен начинаться с буквы и не может содержать пробелов.  После первого символа идентификатора можно использовать буквы,  цифры и символы подчеркивания. Как и в зарезервированных словах, в идентификаторах можно использовать как строчные,  так и прописные буквы.

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

     Пример:

    • Exit
    • RealString
    • System.MemAvail
    • Dos.Exec
    • Crt.Window
 

    Метки

     Меткой  является последовательность цифр в  диапазоне от 0 до 9999. Начальные нули не являются значащими. Метки используются с операторами перехода (Goto). 

     Числа

     Для чисел, представляющих собой константы  целого и вещественного типа, используется обычная десятичная запись. Целая  константа в шестнадцатеричном  формате имеет в качестве префикса знак доллара ($). Техническое обозначение  (Е или е с экспонентой) в вещественных типах читается как "десять в степени". Например, 7E-2  означает  7х10^-2, а  12.25E+6  или  12.25E6  оба обозначают 12.25х10^+6.

     Числа с десятичными точками или  экспонентами представляют собой константы  вещественного типа, остальные представляют собой константы целочисленного типа; они должны находиться в диапазоне от -2147483648 до 2147483647.

     
            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
8
Под Лист   № документа   Плдп. Дата
 
 
 
     Шестнадцатеричные числа обозначают константы целочисленного типа; они должны находиться в диапазоне от $00000000 до $FFFFFFFF. Результирующий знак значения определяется шестнадцатеричной записью. 

     Строки  символов

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

     Турбо Паскаль разрешает вставлять в строку символов управляющие символы. Символ # с целой константой без знака в диапазоне от 0 до 255 обозначает соответствующий этому значению символ в коде ASCII. Между символом #  и целой константой не должно быть никаких разделителей.

     Строка  символов нулевой длины совместима только c строковым типом. Строка символов с длиной, равной 1, совместима с любым типом. Строка символов с длиной N, где N больше или равно 2,  совместима с любым строковым типом и с упакованным массивом из N символов.

     Приведем  несколько примеров строк символов:

     'TURBO'

     '#13#10'

     'Line 1'#13'Line 2' 

     Комментарии

     Следующие конструкции  представляют собой  комментарии и поэтому игнорируются компилятором:

     { любой текст, не содержащий  правую фигурную скобку}

     (* любой текст, не содержащий звездочку/правую круглую скобку *)

     Комментарий, содержащий знак доллара ($) сразу после  открывающей скобки { или (*,  является директивой компилятора. За символом $ следует мнемоника команды компилятора.

            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
9
Под Лист   № документа   Плдп. Дата
 
 
 
     1.3 Константы

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

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

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

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

     - ссылки  на  переменные  и   типизированные константы (кроме  констант в адресных выражениях);

     - вызовы функций (кроме тех,  которые отмечены далее);

       оператор получения адреса @ (кроме  констант в адресных выражениях). 

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

     Min      = 0;

     Max      = 100;

     Center  = (Max - Min) div 2;

     Beta     = Chr(225); 

     1.4 Блоки, локализация и сфера действия

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

            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
10
Под Лист   № документа   Плдп. Дата
 
 
 
     Раздел  объявления меток - это та часть блока, где объявляются метки, присваиваемые оператором в соответствующем разделе операторов. Каждая метка должна помечать только один оператор.

     Раздел  объявления констант содержит объявления, локальных этого блока.

     Раздел  объявления типов включает объявления  всех  типов  в блоке.

     Раздел  объявления переменных состоит из объявления переменных, локальных для этого блока.

     Раздел  объявления процедур и функций состоит  из объявления процедур и функций, локальных для этого блока.

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

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

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

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

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

     1.5 Типы

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

            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
11
Под Лист   № документа   Плдп. Дата
 
 
 
 
     При объявлении переменной необходимо указать  ее тип. Тип переменной описывает набор значений, которые она может принимать, и действия, которые могут быть над ней выполнены. Объявление типа определяет идентификатор, который обозначает тип.

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

     Имеется 6 больших классов типов:

        • простые типы
        • строковые типы
        • структурные типы
        • тип указатель
        • процедурные типы
        • объектные типы

     Простые типы

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

     Порядковые  типы.

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

     
            ПКИТ.3706.002 – 23.П3 Лист
        Ятченя Е.В.    
12
Под Лист   № документа   Плдп. Дата
Изучение среды программирования Turbo Pascal