Pascalabc.net

Overview

Free Pascal is a mature, versatile, open source Pascal compiler.
It can target many processor architectures: Intel x86 (16 and 32 bit), AMD64/x86-64,
PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS, Motorola 68k, AVR, and the JVM.
Supported operating systems include Windows (16/32/64 bit, CE, and native NT), Linux,
Mac OS X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16 bit, or 32 bit DPMI),
OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii, AmigaOS, MorphOS, AROS, Atari TOS, and various
embedded platforms. Additionally, support for RISC-V (32/64), Xtensa, and Z80 architectures,
and for the LLVM compiler infrastructure is available in the development version.
Additionally, the Free Pascal team maintains a transpiler for pascal to Javascript called pas2js.

Обработка данных

ABC – это информационный комплекс, который обрабатывает данные по таким параметрам:

— стоимость;

— необходимость пополнения ресурсами;

— какая требуется техника;

— какой объем надо выполнить.

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

Эффективно работает так называемый метод стандартных фрагментов в подсистеме ABC (СМТ). Васе это дает возможность учитывать самые разные методы начислений:

— суммы затрат;

— какие могут быть надбавки;

— систему налогообложения.

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

Программные комплексы

В состав ABC входят программные комплексы:

— ABC – 3 РС;

— ABC – 4 РС.

Первая версия работает с использованием старого метода ценообразования, отвечает требованиям СНиП 1.02.01-85, а также система норм и стоимости от 84 года.

Вторая система более современная учитывает нормы 1991 г.

Создатели системы ABC в конце 1999 создали отредактированную версию ABC – 3 РС

С редакцией 1.12 и ABC – 4 РС, в которой присутствует модификация 3.3 она послужит основой для последующей эволюции системы

Софт ABC дает возможность:

Также сохраняются

— сметы по объектам;

— сметы локальные;

— объемы трудозатрат;

-ценообразование каждой операции;

— калькуляция ресурсов;

— отчетная информация;

— местные сметы по ресурсам.

Основная настройка PascalABC.NET.

Работая в этой среде программирования, вы, наверное, не входили в настройки и ничего не меняли вручную. Небольшие изменения и настройка параметров системы программирования упростит работу с «Pascal».

Откройте меню «Сервис» и выберите пункт «Настройки».

Далее, вы увидите окно с разделами «Общие», «Редактор», «Опции» и Intelisense.

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

Перейдите в «Опции компилятора».

Снимите галочку с пункта «Удалять EXE файл». После этого, вы запустите приложение, написанное под консоль без входа среду разработки. Если приложение создано в исполнительном файле – его можно запускать с любого источника без «Паскаля».

Откройте раздел Intellisense.

Поставьте галочки, как показано на скрине.

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

Когда вы вводите «оператор» или прочие данные, появляется подсказка. Прокручивайте список, используя «Стрелки».

Начните писать приложение в PascalABC.NET, используя набор готовые шаблоны текста (snippets). Напишите несколько символов кода и щёлкните сочетание клавиш «Shift + Пробел», чтобы вызвать список с шаблонами.

Возможности PascalABC.NET

  • Встроенные подсказки по коду;
  • Совместимость с Delphi и Free Pascal;
  • Функция подсветки синтаксиса различными цветами;
  • Поддерживаются модули, обобщенные классы и динамические массивы;
  • Большое количество обучающей информации в разделе «Помощь»;
  • Обновления версий Pascal ABC от официального сайта;
  • Обработка исключений, перегрузка операций, сборка мусора;
  • Возможность использовать элементы рефакторинга;
  • Консольный компилятор работает с ОС Windows, Linux и Mac OS;
  • Наличие раздела Programming Taskbook с готовыми задачами;
  • Средства параллельного программирования с директивами OpenMP;
  • Мощная и эффективная среда разработки на основе платформы Microsoft.Net.

Преимущества

  • Работа в веб-среде WDE;
  • Форматирование текста по запросам;
  • Присутствуют всплывающие подсказки;
  • Переход к определению и реализации подпрограммы;
  • Средство обработки документирующих комментариев;
  • Высокая скорость обработки операций;
  • Интегрированная среда NET Framework;
  • Использование блоков растровой и векторной графики;
  • Поддержка ОС от Vista и XP до Windows 10;
  • Имеется встроенный отладчик и редактор форм;
  • Русский язык интерфейса, удобное управление;
  • Эффективное обучение основам языка программирования Pascal ABC.

Недостатки

Небольшое предисловие

Язык программирования «Pascal» подходит многим пользователям компьютера и одобрен Министерством Образования Российской Федерации. Большинство начинающих программистов и разработчиков консольных программ считают его эталоном при изучении языка программирования начального уровня. На нашем скромном сайте нет споров по этому поводу.

Во многих школах России ученики работают на старом Turbo Pascal, который был выпущен 1980 году. Его оболочка создана под дисковую операционную систему DOS. Работа в древней версии Pascal на компьютерах нового поколения — это просто смешно.

Сделав выводы, я подобрал для этого сайта российскую систему программирования PascalABC.NET. Эта среда разработки работает на бесплатной основе, оснащена собственным редактором кода, позволяет «создавать» приложения разных типов.

В PascalABC.NET вы «пишете» приложения консольного типа, то есть без графической оболочки и интерфейса и графические программы, которые запускаются в OS Windows. Главная особенность этой версии языка «Pascal» — это его простота и функциональность платформы . NET. Перейдите на сайт pascalabc.net, чтобы установить  PascalABC.NET.

Методы в стандартных типах

В PascalABC.NET внутри каждого типа имеется ряд полезных методов. В отличие от внешних процедур и функций, они “вшиты” в тип — переменная знает все свои методы и может вызывать их, используя точечную нотацию.

Например, чтобы вывести значение переменной базового типа, можно
использовать метод Print:

Из других интересных методов для начинающих для целых типов отметим:

Например, в следующей программе вычисляется количество четных двузначных из 10 введённых:

Для вещественных значений полезными являются методы

В частности, удобно использовать цепочечную точечную нотацию:

Для всех числовых типов также определены константы MinValue и MaxValue. Чтобы обратиться к ним, следует использовать имя типа:

Анимация в Паскале

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

Пример: Воспроизвести движение круга по горизонтали.

1
2
3
4
5
6
7
8
9
10
11
12
uses GraphABC;
var xinteger;
begin
  x=40;
	repeat 
		SetPenColor(clWhite);
		Circle(x,100,10);	{Рисуем белую окружность}
		SetPenColor(clBlack);
		Circle(x,100,10);	{Рисуем черную окружность}
		x=x+1				{Перемещаемся немного направо}
	until x>600;
end.

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

Примеры программ на Pascal

Задание:

Ввести с клавиатуры n чисел. Определить количество четных.

Код программы:var n,i,k,a:integer; begin writeln(‘введите количество чисел’); readln(n); a:=0; for i:=1 to n do begin writeln(‘введите ‘,i:1,’-е число’); readln(a); if a mod 2=0 then k:=k+1; end; writeln(‘кол-во четных чисел ‘,k); readln; end.Задание:

Дано четырехзначное число. Верно ли, что сумма первой и последней цифр равна сумме средних цифр?

Пример теста:

1234 — да: 1+4=2+3 7459 — нет: 7+9 ≠ 4+5

Код программы:var n,p1,p2,p3,p4:integer; begin writeln(‘введите четырехзначное число’); readln(n); p1:=n div 1000; p4:=n mod 10; p2:=(n div 100) mod 10; p3:=(n div 10) mod 10; if p1+p4=p2+p3 then writeln(‘right’) else writeln(‘false’); readln; end.Задание:

Решение квадратного уравнения ax2+bx+c=0

Пример теста:

a b c x
любое
5 нет решений
2 5 -2,5
1 1 -6 x1=2; x2=-3
16 -24 9 0.75
2 1 3 нет решений

Код программы:var a,b,c,D,x1,x2:real; begin writeln(‘введите a,b,c’); readln(a,b,c); if a=0 then if b=0 then if c=0 then writeln(‘x любое’) else writeln(‘нет решений’) else begin x1:=c/b; writeln(‘x=’,x1:12:6); end else begin D:=b*b-4*a*c; if D>0 then begin x1:=(-b-sqrt(D))/(2*a); x2:=(-b+sqrt(D))/(2*a); writeln(‘x1=’,x1:12:6); writeln(‘x2=’,x2:12:6); end else if D=0 then begin x1:=-b/(2*a); writeln(‘x=’,x1:12:6); end else writeln(‘нет решений’); end; readln; end.Задание:

При попадании в маленький круг (радиус = 1), игроку начисляется 2 балла, при попадании в большой круг (радиус 2) — 1 балл, мимо мишеней — 0 баллов.

Пример теста:

0.5; 0.6 — 2 -1.2; -1.3 — 1 2.6; 3 — 0

Код программы:var x,y:real; z:byte; begin writeln(‘введите координаты’); readln(x,y); if x*x+y*ythen z:=2 else if x*x+y*ythen z:=1 else z:=0; writeln(‘ваш результат ‘,z); readln; end.Задание:

Вычислить значение функции

Пример теста:

при x = 2, y = -4.441979

Код программы:var x,y:real; begin writeln(‘введите x’); readln(x); y:=(arctan(x)-exp(x))/sqrt(abs(x)); writeln(‘y=’,y:12:6); readln; end.Задание:

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

Пример теста:

1 2 3 4 7 1 3 0 2 7 4 3 1 3 2 1

Ответ: 13 (второй столбец: 2+1+7+3=13)

Код программы:type meow=array of integer; var a:meow; i,j,m,n:byte; max,s,k:integer; begin writeln(‘введите число строк и столбцов ‘); readln(n,m); for i:=1 to n do begin writeln(‘введите строку ‘, i); for j:=1 to m do readln (a); end; writeln (‘матрица А’); for i:=1 to n do begin for j:=1 to m do write (a:4, ‘ ‘); writeln; end; max:=a; for i:=1 to n do for j:=1 to m do if a>=max then begin max:=a; k:=j; end; for i:=1 to n do begin for j:=k to k do s:=s+a; end; writeln(‘s=’,s); readln; end.

Система программирования PascalABC.NET

В XXI веке растёт спрос на языки программирования, позволяющие писать высокоуровневый код в лёгкой, компактной и понятной форме. Современные реализации языка Паскаль, такие как PascalABC.NET, здесь могут многое предложить.

PascalABC.NET – это язык программирования Паскаль нового поколения, сочетающий простоту классического языка Паскаль, ряд современных расширений и огромные возможности платформы Microsoft .NET. PascalABC.NET разрабатывается под свободной лицензией LGPLv3 в первую очередь как язык программирования для сферы образования и научных исследований и вбирает в себя лучшее, что предлагают другие современные языки, такие как C#, Kotlin, Python, Haskell и другие.

PascalABC.NET включает бесплатную, простую и мощную среду разработки с подсказками по коду, автоформатированием и образцами кода для начинающих.

PascalABC.NET – мощный язык с простым и логичным синтаксисом, хорошо понятным начинающим программистам. Это позволяет писать компактные, эффективные и понятные программы и делает данный язык идеальным выбором для обучения современному программированию в широком смысле: от учеников начальной школы до студентов профильных ИТ-направлений. Кроме того, он превосходно подходит как для создания консольных приложений малого и среднего размера, так и в качестве средства программирования «на каждый день».

PascalABC.NET – мультипарадигменный язык. На нём можно писать программы в разных стилях: процедурном, объектном, объектно-ориентированном, функциональном, а также сочетать эти стили, что позволяет формировать различные образовательные траектории в зависимости от уровня и возраста обучаемых.

Важные ссылки

Последняя версия системы программирования PascalABC.NET
Примеры Примеры программ на PascalABC.NET
Презентации Презентации возможностей PascalABC.NET

Ключевые особенности PascalABC.NET

  • Ряд расширений языка Pascal, в числе которых оператор foreach, внутриблочные описания переменных, автоопределение типа при описании, встроенные множества произвольных типов, case по строкам, упрощенный синтаксис модулей, методы в записях, операция new для создания объектов, определение тел методов внутри классов, целые произвольной длины, многомерные динамические массивы.
  • Самые современные средства языков программирования: обобщенные классы и подпрограммы, интерфейсы, перегрузка операций, λ-выражения, исключения, сборка мусора, методы расширения, безымянные классы, автоклассы.
  • Генерация эффективного кода для платформы .NET.
  • Высокая совместимость с Delphi.
  • Высокая скорость выполнения программ.
  • Возможность доступа к огромному количеству .NET-библиотек от контейнерных классов до средств работы с сетью.
  • Среда разработки с встроенным отладчиком, обеспечивающая подсказки по коду, переход к определению и реализации подпрограммы, шаблоны кода, автоформатирование кода.
  • Встроенный в среду разработки дизайнер форм для быстрого создания оконных приложений.
  • Простые и эффективные графические библиотеки (растровая, векторная и трёхмерная) для создания простых визуализаций и анимаций.
  • Средства параллельного программирования в виде директив OpenMP.
  • Встроенный электронный задачник Programming Taskbook.
  • Модули исполнителей Робот и Чертежник, используемых в школьной информатике.
  • Механизм проверяемых заданий, обеспечивающий автоматическую постановку и проверку заданий.
  • Возможность запуска консольного компилятора под Mono в современных версиях Linux, возможность встраивания PascalABC.NET в редактор Geany.

Система PascalABC.NET является совместной разработкой российских и немецких программистов. В России центр разработки находится в институте математики, механики и компьютерных наук Южного федерального университета.

PascalABC.NET активно используется в ряде средних и высших учебных заведений России и ближнего зарубежья. Так, на мехмате Южного федерального университета он используется для обучения 1 курса направления Фундаментальная информатика и информационные технологии в курсе Основы программирования, а также для обучения школьников в одной из самых больших в России Детской компьютерной школе.

Простота, современные возможности, свободный код — вот главные достоинства PascalABC.NET!

Назад

Видео на тему: Установка Turbo Pascal на ОС Win7 64-bit. Основы программирования. Паскаль. Урок №1.

Подготовка к работе в Pascal

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

А что же собственно, такое, этот «компилятор»? Это специальная программа, которая считывает код программы, а затем переводит его на язык машинных кодов. То есть, по сути, все языки программирования – это способ “общения” с компьютером, а компилятор помогает перевести нашу “речь” на понятную ему.

Для Pascal существует немало компиляторов, самые известные из них: Pascal ABC, Free Pascal, Pascal ABC.NET, Turbo Pascal. Все эти программы по-своему хороши, но лично для меня (автора), очень удобен Pascal ABC (или Pascal ABC.NET), поскольку он имеет весьма удобный интерфейс, подробную справку, и даже специально подготовленный для новичков сборник задач.

Начало работы в Pascal

Что ж, перед нами открыто окно компилятора. Чистый, белый (или синий?) лист. Здесь и будут появляться на свет наши первые программы. Перед началом работы следует запомнить, что язык Pascal – это совокупность трёх составляющих: алфавита, синтаксиса (правил написания объектов языка) и семантики (правил использования этих объектов). Алфавит Pascal состоит из:

  1. Прописных и строчных букв латиницы: A…Z, a…z;
  2. Цифр: 0…9;
  3. Специальных символов: + — * / = < >.,:; ‘ # ( ) { } и их комбинаций: «>=» «

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

Как скачать и установить на Windows?

Качаем архив, распаковываем его и запускаем setap.exe. Более подробную инструкцию можете почитать в разделе «Установка под виндовс»

Следует помнить что для полноценной работы необходим Microsoft .NET Framework v4.7.

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

Обновленная версия (версия 3.4.2, сборка 1988 от 02.03.2019):

Содержит:

  • Система программирования
  • Задачник PT4
  • Платформа Microsoft .NET Framework v4.7.1
  • Russian Language Pack for .NET v4.0 (русификация сообщений о ошибках времени выполнения)
  • Framework Class Library Help (документация для всплывающей подсказки)

Для обновления уже установленной версии:

Содержит:

  • Система программирования
  • Задачник PT4

Чистый PascalABC.NET без каких либо дополнений:

Для Windows XP:

Содержит:

  • Система программирования
  • Задачник PT4
  • Платформа Microsoft .NET Framework v4.0
  • Russian Language Pack for .NET v4.0 (русификация сообщений о ошибках времени выполнения)
  • Framework Class Library Help (документация для всплывающей подсказки)

Полное описание

PascalABC.NET 3.2 — качественное средство для изучения языка программирования Паскаль. Отличается наличием электронного задачника Programming Taskbook, в котором содержится более 250 задач различного уровня сложности. Поддерживает технологию IntelliSense, включающую в себя инструменты автоформатирования, встроенный отладчик и дизайнер форм.

Обладает развитой системой подсказок по точке и по параметрам. Русскоязычный интерфейс лёгок в освоении, во вкладке «Помощь», можно найти большое количество примеров и справочной информации. Вы сможете настроить рабочую область и активировать нижнюю панель с сообщениями компилятора. Любые проекты можно сохранять в собственном формате PAS на компьютере или отправлять на печать. В разделе «Сервис» можно выставить стиль и размер шрифта, отображение нумерации строк, подсветку парных скобок и так далее.

Содержит модули исполнителей Робот и Чертежник, предназначенных для начинающих программистов, в том числе студентов и школьников младших, средних классов, желающих изучить основы языка Pascal. Так же софт получил модули векторной и растровой графики ABCObjects и GraphABC, которые дают возможность создавать простые игры и приложения.

Работа с PascalABC

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

Запуск

Теперь можно запустить программу для проверки ее работы. Команда запуска Программа -Выполнить или кнопкой в виде зеленого треугольника на панели инструментов. Перед запуском выполняется компиляция кода. Если в коде есть ошибки, то появится красная строка с описанием ошибки.


Ошибки в программе

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

Остановка

Остановка программы происходит по ее завершению. Но возможны случаи, когда программу необходимо остановить принудительно. Для этого есть кнопка «Стоп» на панели инструментов или команда Программа — Завершить.

Настройка текстового редактора abc паскаль

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


Настройка редактора Pascal ABC

Что может делать система

Система ABC учитывает все рекомендации, которые выведены в циркулярах Госстроя Российской Федерации, при этом учитываются самые разные цены.

АBC воплотила в себе все рекомендации, которые были обнародованы Госстроем РФ.

Методы формирования цены на строительную продукцию: базисно — индексный; базисно — компенсационный; ресурсный; ресурсно-индексный.

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

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

— составлять подробный учет сделанных работ;

— составлять необходимую документацию;

— отражать в официальных документах порядок выполнения строительства;

— учитывать расход материалов;

— иметь справочные данные о ходе работ

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

Системы ABC, которые работают на персональных машинах плюс присутствие подсистемы организации руководства и управлением строительства ABC (СМР);

Присутствие документов EPEP-84, CHиP-91, а также необходимых сметных норм (РСН);

Информация об объектах, которая относится ко всем строительным циклам, это может быть:

— документация по сметам;

— строительная документация.

Эти базы данных могут быть получены от головной организации, либо разработаны на месте с помощью подрядчиков. При этом активно бывают задействованы комплексы ABC-3РС или ABC-4РС;

Вся оперативная информация компонуется, исходя из поступления оперативных данных и хранится в файле: «События».

Файл «Задание» формирует комплексный выпуск документации:

— план;

— итог;

— отчет.

При этом учитываются следующие параметры:

— время;

— кто делал работу;

— какой был объект.

Графика в Паскале

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

uses GraphABC;
begin
...
end.

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

Система координат

Управление цветом

Для того, чтобы использовать цвет, необходимо применить этот цвет к инструменту перо:

  • SetPenColor(color) — устанавливает цвет пера, задаваемый параметром color;
  • setBrushColor(color) — устанавливает цвет кисти, задаваемый параметром color;
  • либо для палитры RGB: SetPenColor(rgb(0-255, 0-255, 0-255));

или использовать для заливки:

FloodFill(x,y,color) — заливает область одного цвета цветом color, начиная с точки (x,y).

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

Цвета в pascal abc:

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

Точки, отрезки и ломаные

Для отображения точки в паскале используется процедура:

SetPixel(x,y,color) — Закрашивает один пиксел с координатами (x,y) цветом color

uses GraphABC;
begin
  SetPixel(300,200,clred);
end.

Для рисования линии используется:

Line(x1,y1,x2,y2) — рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2)

uses GraphABC;
begin
  SetPenColor(clgreen);
  line(100,50,500,250);
end.

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

uses GraphABC;
begin
...
SetPenColor(clblue);
MoveTo (x1, y1);
LineTo (x2, y2);
LineTo (x3, y3);
LineTo (x4, y4);
LineTo (x5, y5);
end.

Задание 0: При помощи операторов SetPenColor(), LineTo (x2, y2) и MoveTo (x1, y1) нарисовать квадрат и равносторонний треугольник.

Для установки размеров графического окна используется процедура

SetWindowSize(ширина, высота)

или, например:

SetWindowWidth(600);
SetWindowHeight(400);

Рисование фигур

Прямоугольник в Паскале рисуется:

Rectangle(x1,y1,x2,y2) — рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).

uses GraphABC;
begin
  Rectangle(50,50,200,200);
end.

Фигуры с заливкой:

uses GraphABC;
begin
  Rectangle(50,50,200,200);
  FloodFill(100,100,clBlue);
end.

Треугольник рисуется процедурами:

Line(x1,y1,x2,y2); LineTo(x,y);

uses GraphABC;
begin
  setpenwidth(20);
  setpencolor(clred);
  moveTo(300,100);
  lineTo(500,300);
  lineto(100,300);
  lineto(300,100);
  floodfill(300,200,clgreen);
end.

Окружность можно нарисовать с помощью процедуры:

Circle(x,y,r) — рисует окружность с центром в точке (x,y) и радиусом r.

uses GraphABC;
begin
   Circle(500,200,100);
   FloodFill(500,200,clred);
end.

Дуга окружности

Arc(x,y,r,a1,a2) — Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).

1
2
3
4
5
uses GraphABC;
Begin
SetPenWidth(10);
Arc(300,250,150,45,135);
end.

Задание 1: «Лягушка»

Задание 2: «Корона»

Функция random для использования окраски

SetPenColor(rgb(random(256), random(256), random(256))); — выбирает случайное число из 256-цветной палитры для красного, зеленого и синего.

Задание 3: Нарисовать горизонтальный ряд окружностей радиусом 10 на расстоянии 100 от верхнего края экрана и с такими горизонтальными координатами 50, 80, 110, 140, … , 290.

* раскрасить круги случайным цветом

Задание 4: «Круги на воде».
Нарисуйте пару десятков концентрических окружностей, то есть окружностей разного радиуса, но имеющих общий центр.

Задание 5:
Воспроизвести изображение при помощи программы:

Штриховка

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

Программа будет выглядеть следующим образом:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses graphABC;
var i, x1, x2, y1, y2, N integer;
   h, x real;
begin   
  x1 = 100; y1 = 100;
  x2 = 300; y2 = 200;
  N = 10;
  Rectangle (x1, y1, x2, y2);
  h = (x2 - x1)  (N + 1);
  x = x1 + h;
  for i=1 to N do begin
    Line(round(x), y1, round(x), y2);
    x = x + h;
  end;
end.

Задание 6:
Нарисуйте шахматную доску.

Особенности языка

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

Основы языка

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

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

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

Чтобы построить сложный тип используют ссылочные и составные типы.

Для сужения области допустимых значений формируют ограниченные типы. Для этого достаточно простым типам задать спектр допустимых значений (к примеру, для переменной задается значение от 1 до 5, или от 1 до 100, или другие варианты). В этой программе это будет прописано как: for var i:=1 to 5 do или for var i:=1 to 100 do.

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

Для обращения к подпрограммам с переменными используются процедуры (procedure).

Объектно-ориентированный стиль характеризуется обобщением комбинированных типов.

Особенности программы Паскаль АБС:

  • возможность описать переменную внутри блока;
  • появление операторов /=, *=, -=, +=;
  • появилась возможность определить переменную при описании (к примеру, var n: integer :=15; в этом примере видно, как переменной n присваивается значение, равное 15);
  • появляется цикл foreach;
  • можно выполнять перегрузку операций;
  • чтобы вызвать конструктор используется new;
  • можно прописывать подпрограммы, у которых будет переменное число параметров;
  • для генерирования последовательностей добавлены операторы yield sequence, yield;
  • стала поддерживаться директива OpenMP;
  • появилось кортежное присваивание (к примеру, (a,b):=(b,a));
  • определен тип кортежа – используются T1, T2.

На примере видно, как используется var, new, foreach для создания частотного словаря. К примеру, начало операции символизируется словом begin, затем переменной d присваивают значение, что это будет новый словарь.

В цикле foreach для переменной s определено, что это в прочтении ReadLine будет слово, затем ей присваивается значение слова, далее в завершение операции к каждому слову добавляется следующее слово, затем операция печать (Print) и завершается программа словом end.

Описания переменных внутри блока и автовывод типов

В большинстве случаев переменные описываются в блоке begin-end и описание совмещается с инициализацией:

Это решает сразу несколько проблем:

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

При таком способе возникает одна проблема: если надо накопить сумму вещественных, то такой код приведет к ошибке типов:

Для исправления этой ошибки всё равно придётся говорить о типах и инициализировать sum одним из двух способов:

или

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector