СИСТЕМА ПРОГРАММИРОВАНИЯ PASCAL ABC
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Язык Паскаль признан многими российскими преподавателями как один из лучших именно для начального обучения. Однако, среда Turbo Pascal, ориентированная на MS DOS, устарела, а среда Borland Delphi с ее богатыми возможностями сложна для начинающего программиста. Кроме этого, использование Turbo Pascal 7.0 на компьютерах с операционной системой Windows 7 весьма неудобно. В связи с этим, многие студенты для самостоятельной работы используют систему программирования Pascal ABC, разработанную в Ростовском государственном университете

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

Компилятор Pascal ABC является компилятором переднего плана (front-end). Это означает, что он не генерирует исполняемый код в виде .exe-файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы примерно в 20 раз медленнее скорости работы этой же программы, откомпилированной в среде Turbo Pascal, но для целей обучения это не является серьезным недостатком.

В свободно распространяемую версию Pascal ABC & Programming Taskbook Mini Edition кроме среды программирования входит мини-версия электронного задачника (200 задач).

Язык Паскаль системы Pascal ABC является достаточно мощным и содержит, в частности, практически все возможности языка Borland Pascal. Помимо конструкций, описанных в данном пособии, он поддерживает рекурсию, вложенные описания подпрограмм, массивы, файлы (кроме нетипизированных), указатели (в том числе и указатели на подпрограммы). Можно создавать классы, использовать наследование и полиморфизм. Имеется также простейшая событийная модель, позволяющая писать приложения, управляемые событиями. Графическая библиотека близка по возможностям к графической библиотеке системы Borland Delphi и использует понятия и методы графического ядра операционной системы Windows.

Практически все конструкции языка Turbo Pascal, приведенные в данном пособии, можно использовать в Pascal ABC, единственным исключением является материал 11 главы (Графика), где имеются весьма незначительные отличия, описанные ниже.

Следует отметить очень удобный интерфейс системы Pascal ABC, показанный на рисунке 13.1. В основном окне системы одновременно присутствуют окно редактирования программы, окно ввода исходных данных и окно вывода результатов. Текст программы можно сохранить или считать с помощью стандартного интерфейса Windows; названия окон, команды, система меню, сообщения об ошибках выполнены на русском языке. Система программирования имеет очень подробную встроенную помощь на русском языке.

Рисунок 13.1 – Интефейс системы Pascal ABC

 

Работа с графикой в Pascal ABC несколько отличается от описанной в главе 11, ниже будут приведены эти отличия.

Модуль, содержащий графические подпрограммы имеет имя GraphABC, поэтому подключение графики осуществляется директивой Uses GraphABC.

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

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

При открытии графического окна по умолчанию цвет фона – белый, цвет пера – черный.

Стандартные цвета задаются символическими константами:

 

clBlack – черный clPurple – фиолетовый clWhite – белый clMaroon – темно-красный clRed – красный clNavy – темно-синий clGreen – зеленый clBrown – коричневый clBlue – синий clSkyBlue – голубой clYellow – желтый clCream – кремовый   clAqua – бирюзовый clOlive – оливковый clFuchsia – сиреневый clTeal – сине-зеленый clGray – темно-серый clLime – ярко-зеленый clMoneyGreen – цвет зеленых денег clLtGray – светло-серый clDkGray – темно-серый clMedGray – серый clSilver

Процедуры работы с графикой Pascal ABC почти не отличаются от соотверствующих процедур Turbo Pascal (Таблица 13.1).

Таблица 13.1 – Соответствие графических подпрограмм Turbo Pascal и Pascal ABC

 

подпрограммы Turbo Pascal подпрограммы Pascal ABC
  SetWindowSize(x,y: integer) Задает размеры графического окна
InitGraph, CloseGraph отсутствует
MoveTo(x,y:integer) MoveTo(x,y: integer);
PutPixel(x,y:integer;Pixel:word) SetPixel(x,y,color: integer)
LineTo(x,y:integer) LineTo(x,y: integer)
LineRel(dx,dy:integer) отсутствует
Line(x1,y1,x2,y2:integer); Line(x1,y1,x2,y2: integer)
Rectangle(x1,y1,x2,y2:integer) Rectangle(x1,y1,x2,y2: integer)
Circle(x,y:integer;Radius:word) Circle(x,y,r: integer)
Arc(x,y:integer;A1,A2,Radius:word Arc(x,y,r,a1,a2: integer)
Ellipse(x,y:integer;a1,a2,xr,yr:word) Ellipse(x1,y1,x2,y2: integer) Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2)
SetLineStyle(LineStule,Pattern,Thick:word) SetPenStyle(ps: integer)
SetColor ( Color : word ) SetPenColor(color: integer)
SetBkColor ( Color : word ); ClearWindow(c: ColorType) Очищает графическое окно цветом c
SetFillStyle(Pattern:word;Color:word) отсутствует
FloodFill(x,y:integer;Border:word FloodFill(x,y,color: integer)
OutText ( TextString : string) отсутствует
OutTextXY(x,y:integer;TextString:string) TextOut(x,y: integer; s: string)

 

Подробнее про графику Pascal ABC можно прочитать в работе [6] или во встроенной помощи системы.

На рисунке 13.2 приведен пример решения задачи из раздела 11.3 на языке Pascal ABC.

Скачать Pascal ABC (рекомендуется версия 3.01) можно бесплатно на сайте http://sunschool.math.rsu.ru/.

 

Program Example_25;

Uses GraphABC;

Const xn=150; yn=300; l=120; ras=100; lo=40; a=10; ld=10;

ho=60; h1=100; h2=50; p=25; hd=67; hk=120; rdx=25;rdy=55;

var x,y,x1,y1,x2,y2 : integer;

begin

SetWindowSize(600,480) ;

SetPenColor(clBrown);      { установка коричневого цвета }

Rectangle(xn,yn,xn+l,yn-h1); { рисование первого этажа }

x:=xn+l div 2 -a; y:=yn-p;

x1:=x-lo; y1:=y-ho;

Rectangle(x,y,x1,y1);      { левое окно }

x2:=x-lo div 2; y2:=y-ho div 2;

line(x,y2,x2,y);           { ромбик в левом окне }

line(x2,y,x1,y2);

line(x1,y2,x2,y1);

line(x2,y1,x,y2);

x:=x+2*a; x1:=x+lo;

Rectangle(x,y,x1,y1);      { правое окно }

x2:=x+lo div 2;

line(x,y2,x2,y);           { ромбик в правом окне }

line(x2,y,x1,y2);

line(x1,y2,x2,y1);

line(x2,y1,x,y2);

   x:=xn+ l div 2; y:=yn-h1;

Arc(x,y,l div 2,0,180);     { крыша }

y:=y-h2 div 2;

Ellipse(x-10,y-16,x+10,y+16); { окно на чердаке }

Line(x-10,y,x+10,y);        { рама в окне на чердаке }

Line(x,y-16,x,y+16);

    x:=xn+l+ras; y:=yn;

Rectangle(x,y,x+ld,y-hd);   {ствол дерева }

x1:=x+ld div 2; y1:=y-hd;

Ellipse(x1-rdx,y1,x1+rdx,y1-2*rdy); { крона дерева }

FloodFill(x1,y1-rdy,clGreen);   { закраска кроны зеленым }

FloodFill(x+5,y-5,clBrown);  { закраска ствола коричневым }

Line(xn-20,yn,xn+l+ras+ld+20,yn); { основание - земля }

end.

Рисунок 12.3 – Программа Example_25

 


 

ЛИТЕРАТУРА

 

1 Аляев Ю.А., Козлов О.А. Алгоритмизация и языки программирования Pascal, C++, Visual Basic, - Финансы и статистика, 2008.

2 Епанишников А., Епанишников В. Программирование в среде Turbo Pascal 7.0. - М.: “ДИАЛОГ-МИФИ”, 1998. - 288 с.

 

3 Климова Л.М. Pascal 7.0. Практическое программирование. Решение типовых задач.-М.: “Кудиц-образ”, 2000. - 496 с., : ил.

4 Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. –СПб: БХВ -Петербург, 2000. - 416 с., : ил.

5  Культин Н.Б. Turbo Pascal в задачах и примерах. БХВ-Петербург, 2006, - 256 с.

6 Махно В.В.,  Михалкович С.С., Пучкин М.В.. Основы программирования графики PascalABC. Базовые возможности. Ростов-на-Дону: Федеральное государственное образовательное учреждение высшего профессионального образования, 2007. - 49 с.

7 Немнюгин С. А. Turbo Pascal. Практикум. Программирование на языке высокого уровня. Учебник для вузов. - Питер, 2003. - 496 с.

8 Николаев Н.А. Основы программирования в системе Turbo Pascal 7.0. Учебно-методическое пособие.- Новоуральск, НПИ-МИФИ, 2000. - 69 с. :ил.

9 Николаев Н.А., Шивырев А.А. Сборник заданий по программированию.
Часть 2. Методическое пособие. Новоуральск, НГТИ, 2005. - 48 с.

10 Николаев Н.А. Оформление исходного текста программ. Методические указания. Новоуральск, НГТИ, 2006. - 44 с.

11 Николаев Н.А. Работа с графикой в системе Turbo Pascal. Методическое пособие. Новоуральск, НГТИ, 2006, - 48 с.

12 Николаев Н.А. Сборник заданий по программированию. Часть 1. Методические указания. Новоуральск, НГТИ, 2007. - 52 с.

13 Николаев Н.А. Система типов данных языка TurboPascal. Методическое пособие. Новоуральск, НГТИ, 2008. - 43 с.

14 Николаев Н.А. Конспект лекций по курсу «Программирование на языке высокого уровня». Часть 1. Методическое пособие. Новоуральск, НГТИ, 2009.
- 74 с.

15 Николаев Н.А. Конспект лекций по курсу «Программирование на языке высокого уровня». Часть 2. Методическое пособие. Новоуральск, НГТИ, 2009.
- 62 с.

16 Огнева М.В., Кудрина Е.В. Turbo Pascal: Первые шаги. Примеры и упражнения. –М.: Научная книга, 2008. - 100 с.

17 Потопахин В.В. Turbo Pascal: решение сложных задач. - СПб.: БХВ-Петербург, 2006. – 208 с., : ил.

18 Программирование на языке Паскаль: задачник /под ред. Усковой О.Ф. - СПб.:Питер, 2003. -336.с., : ил.

19 Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal. – СПб.: БХВ-Петербург. ISBN: 5-94157-401-0, 2004. - 480 с.

20 Фаронов В.В. Турбо Паскаль. В 3 кн. Кн.3. Практика программирования. Часть 1. - М.: Учебно-инженерный центр "МВТУ-ФЕСТО ДИДАКТИК", 1993. - 256 с., :ил.

21 Фаронов В.В. Турбо Паскаль. В 3 кн. Кн.3. Практика программирования. Часть 2. - М.: Учебно-инженерный центр "МВТУ-ФЕСТО ДИДАКТИК", 1993. - 304 с., :ил.

22 Фаронов В.В. Turbo Pascal в подлиннике. Наиболее полное руководство.
- БХВ-Петербург, 2004. - 675 с.

23 Федоренко Ю. Алгоритмы и программы на Turbo Pascal. Издат.: Питер, 2007.
 - 240 с.

24 Шпак Ю.А. Turbo Pascal  7.0 на примерах. М.: Юниор. 2006. - 496 с.

 

 







Электронная документация

(каталог Z :\ EDUCATION \Программирование\ TPascal сервера кафедры ИиП)

e 1 Паскаль. Избранные уроки, набор статей - Каталог «Паскаль - Избранные уроки»

e 2 Pascal. Лекции - файл «Pascal - лекции по программирования.txt»

e 3 TurboPascal. Электронный учебник - файл «TurboPascal - самоучитель.chm»

е 5 Абрамян М.Э. Programming Taskbook. Электронный задачник по программированию. Версия 4.5 – файл «Programming Taskbook»

е6 Видеокурс Pascal с нуля в видеоформате. Каталог «Pascal с нуля в видеоформате»

е7 Интернет-учебник «PascalABC.net»  Сайт http://pascalabc.net/.

 


Приложение

 

Таблица кодов символов ASCII

 

 


 

УДК

 

Автор                                                                    Николаев Николай Александрович

 


Дата: 2019-03-05, просмотров: 253.