Графика в Borland Pascal

Содержание 

Введение 3

  1. Общая часть                                                                                                                4
    1. Алгоритм. Свойства алгоритмов. Виды алгоритмов                                              4
    2. Среда программирования ИИО Borland Pascal                                                           6
    3. Алфавит языка Borland Pascal                                                                                 7
    4. Структура программы                                                                                          9
    5. Типы данных                                                                                                       10
    6. Операторы ввода- вывода                                                                                  11
    7. Операции. Стандартные функции                                                                    13
    8. Условный оператор                                                                                                 17
    9. Операторы цикла                                                                                                  17
    10. Оператор выбора                                                                                                 20
    11. Одномерные и двумерные массивы                                                                     21
    12. Строки. Процедуры и функции для работы со строками                                         23
    13. Подпрограммы                                                                                                            26
    14. Множества                                                                                                                26
    15. Записи                                                                                                                27
    16. Файлы                                                                                                                   27
    17. Динамическая и статистическая память                                                              30
    18. Динамические типы данных                                                                                    31
    19. Модуль Graph                                                                                                           34
    20. Модуль Crt                                                                                                               35
    21. Модули и модульное программирование                                                           36

2 Постановка  задачи                                                                                                 39

3 Описание входных  и выходных переменных, процедур  и функций                          40

4 Проект решения  задания                                                            44

5 Текст программы                        45

6 Листинг результатов                      63

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

8 Графическая  часть

 

Введение 
 

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

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

       Для облегчения труда программистов  были созданы языки программирования, которые строились на основе определенного  алфавита и строгих правил построения предложений. Отличительной особенностью этих языков является их ориентация не на систему команд той или иной ЭВМ, а на систему операторов, характерных для записи определенного класса алгоритмов. Такие языки принято называть языками программирования высокого уровня. К ним относятся: Бейсик, Фортран, Паскаль, Алгол, Си и многие другие.

      1 Общая часть 

      
    1. Алгоритм. Свойства алгоритмов. Виды алгоритмов
 
 

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

      Основными свойствами алгоритма являются:

      детерминированность (определенность). Предполагает получение однозначного результата вычислительного процecca при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер;

      Результативность. Указывает на наличие таких исходных данных, для которых реализуемый по заданному алгоритму вычислительный процесс должен через конечное число шагов остановиться и выдать искомый результат;

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

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

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

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

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

      При всем многообразии алгоритмов решения  задач в них можно выделить три основных вида вычислительных процессов:

  1. линейный;
  2. ветвящийся;
  3. циклический.

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

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

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

      1.2 Среда программирования ИИО Borland Pascal 
 

    Алгоритмический язык Паскаль разработан профессором Цюрихского технологического института Никлаусом Виртом в 1969-71 годах для обучения студентов структурному программированию. Идеи, заложенные в основу создания языка, позволили фирме Borland International значительно расширить алгоритмические средства языка, а удобный интерфейс (меню команд) и высокая скорость компиляции (процесса перевода текста программы в машинные коды) сделали язык Турбо-Паскаль (Turbo-Pascal) одним из самых распространенных среди начинающих и профессиональных программистов.

    Язык  Паскаль был одним языков, созданных  для обучения и получивших популярность, как и новичков, так и в серьёзном  программировании. При его создании успешно решена задача сочетания  сравнительной простоты языка с  потенциальной широтой области  его применений. В отличии от своих предшественников (в частности Бейсика) Паскаль допускает разнообразные типы составных объектов: запись - упорядоченный набор про именованных объектов произвольных типов; файл - упорядоченный набор однородных данных, размещаемых во внешней памяти; множество - набор элементов одного типа, кодируемых отрезками натурального ряда или произвольными именами. В Паскале имеется оператор варианта, т. е. выбора одной из нескольких альтернативных последовательностей(ветвей) операторов по вычисляемому номеру ветви. 
 

      1.3 Алфавит языка Borland Pascal 
 

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

      Алфавит Паскаля составляют:

  • Прописные и строчные буквы латинского алфавита: A, B, C…Y, Z, a, b, c,…y, z ;   ;
  • Десятичные цифры: 0, 1, 2,…9;   ;
  • Специальные символы: + - *  / > < =  ;  #  ‘ , . : {} [] ( )   ;
  • Комбинации специальных символов , которые нельзя разделять пробелами, если они используются как знаки операций: «:=», «..», «<>», «<=», «>=», «{}».   %;

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

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

      Идентификатор – имя (identification – установление соответствия объекта некоторому набору символов). Для обозначения определенных разработчиками языка функций, констант и т.д. служат стандартные идентификаторы, например Sqr, Sqrt и т.д. В этом примере Sqr вызывает функцию, которая возводит в квадрат данное число, а Sqrt – корень квадратный из заданного числа. Пользователь может переопределить любой стандартный идентификатор, но чаще всего это приводит к ошибкам, поэтому на практике их используют без изменения. Идентификаторы пользователя – это те имена, которые дает сам программист. При записи программ нужно соблюдать общие правила написания идентификаторов:

      Идентификатор начинается только с буквы (исключение составляют специальные идентификаторы меток).

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

      Максимальная  длина – 127 символов.

      При написании идентификаторов можно  использовать прописные и строчные буквы.

      Между двумя идентификаторами должен стоять хотя бы один пробел.

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

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

  • Точность полученного результата;
  • Время выполнения;
  • Объем требуемой памяти (Максимальный размер программы ограничен. Компилятор позволяет обрабатывать программы, в которых объем данных и генерируемый машинный код не превышают 64 Кбайт каждый. Если объем программы требует большего количества памяти  то необходимо использовать дополнительные средства).
 
 

      1.4 Структура программы 
 

      Структура программы:

  • Заголовок, состоящий из зарезервированного слова program и имени программы. Заголовок несет смысловую нагрузку и может отсутствовать, однако рекомендуется всегда его записывать для быстрого распознавания нужной программы.
  • Программный блок, состоящий из 2 разделов:
  • Раздел описаний, в котором должны быть описаны все идентификаторы, встречающиеся в программе. Он представляет собой:
  • список имен подключаемых библиотечных модулей (определяется зарезервированным словом uses);
  • описание меток;
  • описание констант;
  • определение типов данных;
  • описание переменных;
  • описание процедур и функций;

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

      Любой элемент данного списка в программе  может отсутствовать.

      2. Раздел операторов.

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

      Для лучшего восприятия текста программы и поиска ошибок рекомендуется следующая схема:

  • зарезервированные слова program, procedure, function и т.д. пишутся строчными буквами;
  • идентификаторы начинаются с прописных букв;
  • операторы записываются строчными буквами;
  • логически подчиненные структуры записываются на 1 строку ниже и на 1- 2 позиции правее по  отношению к более старшим.

      [1,4-9] 
 

      1.5 Типы данных 
 

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

      Представим  типы данных в виде схемы:

      1. Простые типы 

  • Порядковые типы
  • Целые типы
  • Логический тип
  • Символьный тип
  • Перечисляемый тип
  • Интервальный тип
  • Вещественные типы
  • Ссылочный тип

      2. Структурированные типы 

  • Строковый тип
  • Регулярный тип
  • Комбинированный тип
  • Множественный тип
  • Файловый тип

      3. Процедурные типы 

      В данном учебном пособии будут  рассмотрены лишь основные типы данных, используемые наиболее часто в курсе учебного школьного программирования. С другими интересующими типами данных можно познакомиться в специальной литературе (например, [1] ). Рассмотрим пока лишь простые типы данных, структурированные типы требуют отдельного более тщательного рассмотрения и  будут изучены в частях 4 и 5.  
 

      1.6 Операторы ввода-вывода 
 

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

      Процедура чтения Read обеспечивает ввод данных для последующей их обработки программой.

Общий вид:                    Read (<список переменных>);

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

      Процедура чтения Readln аналогична процедуре Read, единственное отличие в том, что после считывания последнего в списке значения курсор переходит на начало новой строки

      Процедура вывода Write производит вывод данных.

Общий вид:                    Write(<список вывода>);

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

      Процедура Writeln аналогична процедуре Write. Отличие в том, что после вывода последнего в списке выражения курсор переходит на начало новой строки. 
 

      1.7 Операции. Стандартные функции 
 

      Арифметическим  называется выражение, составленное из операндов – величин, над которыми производится операция, скобок и знаков операций. В результате вычисления выражения получается значение определенного типа. Порядок вычисления выражения определяется скобками и старшинством операций. Они  делятся на арифметические, отношения, логические и другие. Операции  могут быть унарными и бинарными.

      Таблица 1 - Арифметические операции

Операция Действие Тип операндов Тип результата
Бинарные
+ Сложение  Целый, вещественный Целый, вещественный
- Вычитание Целый, вещественный Целый, вещественный
* Умножение Целый, вещественный Целый, вещественный
/ Деление Целый, вещественный Вещественный 
DIV Целочисленное деление  Целый Целый
MOD Остаток от деления  Целый Целый
Унарные
+ Сохранение  знака  Целый, вещественный Целый, вещественный

      Продолжение таблицы 1 

Операция Действие Тип операндов Тип результата
- Отрицание знака  Целый, вещественный Целый, вещественный
 

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

      Таблица 2 - Логические операции

 
      Операция Название Выражение
      = Равно А=В 
      <> Неравно А<>B
      > Больше  A>B
      < Меньше  A<B
      >= Больше или  равно  A>=B
      <= Меньше или  равно  A<=B
 
 

      Таблица 3 - Стандартные математические функции 
 

Обращение Тип аргумента Тип результата Функция
Abs(x) Целый, вещественный Целый, вещественный Модуль аргумента 
Arctan(x) Целый, вещественный Вещественный  Арктангенс 
Cos(x) Целый, вещественный Вещественный  Косинус
Exp(x) Целый, вещественный Вещественный  ех - экпонента
Frac(x) Целый, вещественный Вещественный  Дробная часть  х 
Int(x) Целый, вещественный Вещественный Целая часть  х 
Ln(x) Целый, вещественный Вещественный  Натуральный логарифм
Random    Вещественный  Псевдослучайное число [0,1]
Random(x) Целый Целый Псевдослучайное число [0,х]
Round(x) Вещественный  Целый Округление  до ближайшего целого

      Продолжение таблицы 3 

Обращение Тип аргумента Тип результата Функция
Sin(x) Целый, вещественный Вещественный  Синус
Sqr(x) Целый, вещественный Вещественный  Квадрат х 
Sqrt(x) Целый, вещественный Вещественный  Корень квадратный из х
Trunc(x) Вещественный  Целый Ближайшее целое, не превышающее х по модулю
Графика в Borland Pascal