Язык программирования Pascal Abc был разработан в 2005 году и является диалектом языка Pascal. Он был создан для обучения программированию школьников и студентов, чтобы помочь им понять основы алгоритмического мышления и разработки программ.
Написание программы на языке Pascal Abc не сложно, поскольку он имеет простый и понятный синтаксис. Вот пример программы на этом языке, которая складывает два числа и выводит результат:
program AddTwoNumbers; var a, b, sum : integer; begin writeln(‘Введите первое число: ‘); readln(a); writeln(‘Введите второе число: ‘); readln(b); sum := a + b; writeln(‘Сумма двух чисел: ‘, sum); readln; end.
В этой программе используются несколько ключевых слов и конструкций языка Pascal Abc.
- Ключевое слово «program» указывает на начало программы.
- «var» используется для объявления переменных.
- «begin» обозначает начало главного блока программы.
- «writeln» используется для вывода информации на экран.
- «readln» используется для чтения данных с клавиатуры.
- «:=» используется для присваивания значения переменной.
- точка (.) обозначает конец программы.
Как видим, программа просит пользователя ввести два числа, затем складывает их и выводит результат на экран. Затем программа ждет нажатия клавиши, чтобы завершить свое выполнение.
Pascal ABC | Как вывести числа на экран с шагом и в обратном порядке
Язык Pascal Abc является отличной отправной точкой для начинающих программистов, поскольку он предоставляет простой и понятный синтаксис. Он помогает понять основные концепции программирования, такие как работа с переменными, ввод/вывод данных и выполнение арифметических операций.
Если вы заинтересовались программированием, рекомендуется попробовать язык Pascal Abc, чтобы лучше понять, как работает компьютер и как создавать программы.
- Если на туфле каблук отвалился, то лучше оторвать второй или отнести в ремонт?
- Объясните феномен
- Как называется геометрическая фигура из 5 букв
- Перстни с топазами голубыми
- Биос InsydeH2O Setup Utility Rev.3.5: Как в нем открыть расширенные функции?
- Как можно быстро ахмурить парнишу?
- e-cadastre.ru/img/kvartal/10/cd/4a/cd4a5f25997461bce0f0b30b6b79b2e3.png
- Игуана: жизнь и особенности
Источник: vseznak.ru
PASCAL для начинающих
Алгоритм движения следующий: пером красного цвета рисуем параметризованную окружность (изменяемые параметры — координаты центра), заливаем круг внутри окружности красным цветом. Делаем задержку. Очищаем экран в цвет фона (т.е. стираем шарик). За счет изменения параметра получаем необходимое смещение шарика.
Пример программы, где шарик движется по диагонали.
Uses GraphABC;
var i:integer;
procedure shar(a:integer);
Установка PascalABC и вывод на экран текста
var k,m:integer;
begin
SetPenColor(clRed);
Circle(a,a, 50);
FloodFill(a,a,clRed );
for k:=1 to 100000 do m:=m+1;
ClearWindow(clSilver );
end;
begin
SetWindowHeight(500);
SetWindowWidth(500);
ClearWindow(clSilver );
for i:=1 to 500 do shar(i);
end.
Задание 1 . Измените цвет шарика на зеленый, а цвет фона на желтый.
Задание 2. Измените программу таким образом, чтобы шарик двигался по горизонтали в центре окна.
Задание 3. Измените программу таким образом, чтобы шарик двигался по вертикали в центре окна.
Задание 4. Измените программу таким образом, чтобы шарик двигался по второй диагонали сверху вниз.
2. Изменение размера шарика
Пример программы рисующей раздувающийся пузырь. Центр пузырика стоит на месте, увеличивается радиус.
Uses GraphABC;
var i:integer;
procedure shar(a:integer);
var k,m:integer;
begin
SetPenColor(clSkyBlue);
Circle(250,250, a);
FloodFill(250,250,clSilver);
for k:=1 to 100000 do m:=m+1;
ClearWindow(clSilver );
end;
begin
SetWindowHeight(500);
SetWindowWidth(500);
ClearWindow(clSilver );
for i:=1 to 250 do shar(i);
end.
Задание 1 . Измените цвет пузырика и цвет фона.
Задание 2 . Измените программу таким образом, чтобы пузырик увеличивался и двигался по главной диагонали.
вторник, 19 февраля 2013 г.
Графика в PABC (продолжение)
1. Параметризованная графика
Задача 1.
Напишите программку рисования домика, где ширина домика вводится с клавиатуры.
Для рисования используйте следующие графические примитивы:
MoveTo(x,y) — передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y).
LineTo(x,y) — рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).
Line(x1,y1,x2,y2) — рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
Задача 2.
Напишите программу, которая имеет 3 процедуры для рисования трех фигур: прямоугольника, окружности и треугольника. Пользователь должен ввести комбинацию трех целых положительных чисел. Если число равно 0, то данная фигура не рисуется, если не 0, то выводится на экран фигура, для которой данное число определяет линейный размер.
2. Графические примитивы для рисования кривых
- эллипсы (сжатый по оси ОХ и по оси ОУ);
- дуги: в половину окружности, четверть окружности;
- сектора: половина круга, десятая часть круга;
- сегмент, ограничивающий треть окружности.
понедельник, 11 февраля 2013 г.
Графика в PABC
1. Модуль GraphABC
Графика в Паскале создаются при помощи модуля GraphABC, который подключается в начале программы:
Uses GraphABC;
Система координат выглядит следующим образом:
SetWindowHeight(h); — Устанавливает высоту графического окна
SetWindowWidth(w); — Устанавливает ширину графического окна
ClearWindow; — очищает графическое окно белым цветом.
ClearWindow(color); — очищает графическое окно указанным цветом.
2. Задание цвета
Стандартные цвета задаются символическими константами:
clBlack – черный
clPurple – фиолетовый
clWhite – белый
clMaroon – темно-красный
clRed – красный
clNavy – темно-синий
clGreen – зеленый
clBrown – коричневый
clBlue – синий
clSkyBlue – голубой
clYellow – желтый
clCream – кремовый
clAqua – бирюзовый
clOlive – оливковый
clFuchsia – сиреневый
clTeal – сине-зеленый
clGray – темно-серый
clLime – ярко-зеленый
clMoneyGreen – цвет зеленых денег
clLtGray – светло-серый
clDkGray – темно-серый
clMedGray – серый
clSilver – серебряный
Цвет также можно задать с помощью палитры RGB для это за место color пишетс я rgb(r,g,b) : где r,b,g — числа от 0 до 255
Задание для самостоятельного решения.
Напишите программу, которая задает окно 200х100 пиксел и закрашивает его по очереди в любые пять цветов. Имейте ввиду, что это закрашивание происходит мгновенно и надо придумать задержку для того, что бы увидеть все пять окрашиваний.
3. Прямоугольник, овал, заливка
Rectangle(x1,y1,x2,y2) — рисует контур прямоугольника со сторонами параллельными сторонам экрана. Точки с координатами (x1, y1) и (x2, y2) определяют диагональные вершины прямоугольника.
Circle(x,y, radius) — рисует окружность с центром в точке с координатами (x,y) и радиусом radius.
FloodFill(x,y,color) — заливает область одного цвета цветом color, начиная с точки (x,y).
SetPenWidth(w) — устанавливает ширину пера, равную w пикселам.
Источник: przpascal12.blogspot.com
Pascal: программы, работающие в графическом режиме
x, y – координаты центра очередного маленького круга;
y0 – смещение кругов по вертикале;
i – переменная цикла;
t – угол поворота;
drive – тип графического драйвера;
mode – режим работы графического адаптера.
Для решения задачи:
- инициируем модуль graph;
- устанавливаем начальные значения радиуса, координаты центра;
- организуем цикл, в котором закрашиваем круги со все большим радиусом до тех пор, пока не будет нажата любая клавиша.
uses crt , graph ;
var drive , mode , x , y , i , t , y0 : integer ;
drive : = detect ;
initgraph ( drive , mode , ‘c:tpbgi’ ) ;
setfillstyle ( 1 , 1 ) ;
floodfill ( 1 , 4 , 1 ) ;
setcolor ( 16 ) ;
for i : = 1 to 150 do
y0 : = y0 + 3 ;
x : = getmaxx div 2 + trunc ( cos ( t / 10 ) * i ) ;
y : = y0 – trunc ( sin ( t / 10 ) * i ) ;
setfillstyle ( 1 , 14 ) ;
fillellipse ( x , y , 20 , 20 ) ;
delay ( 100 ) ;
until keypressed ;
closegraph ;
Задача 2.
Построить движущиеся изображения НЛО на фоне звездного неба.
x, y – случайные координаты;
r – радиус;
i – переменная цикла;
drive – тип графического драйвера;
mode – режим работы графического адаптера.
Алгоритм решения задачи:
- инициируем модуль graph;
- организуем безусловный цикл по переменной i и рисуем звездное небо;
- организуем цикл до тех пор, пока не будет нажата любая клавиша;
- в этом цикле рисуем НЛО с помощью двух эллипсов, двух линий и двух маленьких кружочков, держим на экране, затем стираем изображение процедурой CLEARDEVICE;
- опять рисуем звездное небо;
- определяем случайным образом координаты следующего изображения НЛО;
- после нажатия любой клавиши закрываем графический режим.
uses crt , graph ;
var drive , mode , x , y , i , r : integer ;
drive : = detect ;
initgraph ( drive , mode , ‘c:tpbgi’ ) ;
setcolor ( 3 ) ;
for i : = 1 to 600 do
putpixel ( random ( i ) , random ( i ) , i ) ;
ellipse ( x , y , 0 , 360 , r , ( r div 3 ) + 2 ) ;
ellipse ( x , y – 4 , 190 , 357 , r , r div 3 ) ;
line ( x – 17 , y – 16 , x – 25 , y – 22 ) ;
line ( x + 17 , y – 16 , x + 25 , y – 22 ) ;
circle ( x + 25 , y – 25 , 2 ) ;
circle ( x – 25 , y – 25 , 2 ) ;
setfillstyle ( 1 , 3 ) ;
floodfill ( x + 1 , y + 4 , 3 ) ;
delay ( 150 ) ;
cleardevice ;
for i : = 1 to 600 do
putpixel ( random ( i ) , random ( i ) , i ) ;
x : = x + random ( 10 ) ;
y : = y + random ( 10 ) ;
until ( keypressed ) ;
closegraph ;
Та же программа может быть написана с использованием пары процедур
GETIMAGE ( lx , ly , rx , ry , saucer ^ ) и PUTIMAGE ( x , y , saucer ^ , xorput ) .
Процедура GETIMAGE(lx,ly,rx,ry,saucer^) помещает изображение в буфер, а PUTIMAGE(x,y,saucer^,xorput) выводит в заданное место изображение.
Параметр xorput определяет способ вывода на экран – исключающее ИЛИ.
Например, операторами
GETIMAGE(lx,ly,rx,ry,saucer^);
READLN;
PUTIMAGE(x,y,saucer^,xorput);