Написать программу, в которой окружность «пробегает» по периметру прямоугольника.
Код к задаче: «Написать программу, в которой окружность «пробегает» по периметру прямоугольника»
Листинг программы
uses graphABC; var x1,y1,x2,y2,r,x,y:integer; begin r:=20; x1:=r; y1:=r; x2:=windowwidth-r; y2:=windowheight-r; x:=x1; y:=y1; lockdrawing; while x=x1 do begin clearwindow; setpencolor(clBlue); rectangle(x1,y1,x2,y2); setpencolor(clRed); circle(x,y,r); sleep(50); x:=x-5; redraw; end; while y>=y1 do begin clearwindow; setpencolor(clBlue); rectangle(x1,y1,x2,y2); setpencolor(clRed); circle(x,y,r); sleep(50); y:=y-5; redraw; end; end.
Источник: studassistent.ru
Untitled
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Вычисление площади и периметра прямоугольника в Паскаль
text 8.70 KB | None | 0 0
//Написать программу, в которой описана иерархия классов: геометрические фигуры (круг, прямоугольник, треугольник).
// Реализовать методы вычисления площади и периметра фигурыю Продемонстрировать работу всех методов классов, предоставив
//пользователю выбор типа фигуры для демонстрации.
using namespace std;
class Figure<
virtual double CalcPerimetr()=0;
virtual double CalcArea()=0;
virtual void Print()=0;
virtual void Read()=0;
class Circle: public Figure<
double _r, _P, _S;
Circle(double r, double P, double S)//конструктор
Circle (const Circle
_P = (2*3.14f*_r);
double CalcArea() override <
_S = 3.14f*_r*_r;
void Read() override <
cout << «Введите радиус r круга: r= «;
while (_r <= 0 )<
cout << «Ощибка, введите заново:»<< endl;
cout << «Введите радиус r круга: r= «;
void Print() override <
cout << «Периметр круга равен: Р= «<< _P << endl;
cout << «Площадь круга равна: S= » << _S << endl;
class Rect: public Figure<
double _w, _h, _P, _S;
Rect (double w, double h, double P, double S)//конструктор
Rect (const Rect
double CalcArea() override <
void Read() override <
cout << «Введите высоту h прямоугольника: h= «;
while (_h <= 0 )<
cout << «Ощибка, введите заново:»<< endl;
cout << «Введите высоту h круга: h= «;
cout << «Введите ширину w прямоугольника: w= «;
while (_w <= 0 )<
cout << «Ощибка, введите заново:»<< endl;
cout << «Введите ширину w круга: w= «;
void Print() override <
cout << «Периметр прямоугольника равен: Р= «<< _P << endl;
cout << «Площадь прямоугольника равна: S= » << _S << endl;
class Triangle: public Figure<
double _x, _y, _z, _P, _S, _p, _pz;
Triangle (double x, double y, double z, double P, double S, double p, double pz)
Triangle (const Triangle
_P=(_x + _y + _z);
double CalcArea() override <
_p = CalcPerimetr() / 2.0;
_pz = _p*(_p-_x)*(_p-_y)*(_p-_z);
void Read() override <
cout << «Введите длину первой стороны треугольника: x= «;
while (_x <= 0 )<
cout << «Ощибка, введите заново:»<< endl;
cout << «Введите первую сторону x круга: x= «;
cout << «Введите длину второй стороны треугольника: у= «;
while (_y <= 0 )<
cout << «Ощибка, введите заново:»<< endl;
cout << «Введите вторую сторону y круга: y= «;
cout << «Введите длину треьей стороны треуголника: z= «;
while (_z <= 0 )
cout << «Ощибка, введите заново:»<< endl;
cout << «Введите третью сторону z круга: z= «;
while ((_x+_y >_z _x+_z > _y _y+ _z > _x)!=1)
cout << «Ошибка, такого треугольника не существует! Введите данные заново!» << endl << endl;
cout << «Введите длину первой стороны треугольника: x= «;
while (_x <= 0 )<
cout << «Ощибка, введите заново:»<< endl;
cout << «Введите первую сторону x круга: x= «;
Источник: pastebin.com
Язык программирования Pascal — графика
Данная презентация предназначенна для проведения урока по теме «Язык программирования Pascal — графика» для 11 класса. Соответствуют стандарту ФГОС. В презентации представлен теоретический материал, приведены примеры программ по даной теме, а также задачи для выполнения самостоятельной работы обучающихся. Данная презентация расчитана на 2 урока. Изучение теоретического материала и выполнение практических работ (закрепление полученных знаний).
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.
Просмотр содержимого документа
«Язык программирования Pascal — графика»
МИНИСТЕРСТВО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ, ПОДГОТОВКИ И РАССТАНОВКИ КАДРОВ РЕСПУБЛИКИ САХА (ЯКУТИЯ)
ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ РЕСПУБЛИКИ САХА (ЯКУТИЯ)
«РЕГИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ КОЛЛЕДЖ В Г.МИРНОМ»
Язык программирования Pascal
Для работы в графическом режиме необходимо подключение модуля GraphABC. Uses GraphABC;
Для работы с текстом — модуль Crt. Uses Crt;
Управление экраном SetWindowWidth(w) -Устанавливает ширину графического окна;
SetWindowHeight(h) — Устанавливает высоту графического окна;
Точка SetPixel(x,y,color) – Закрашивает один пиксель с координатами (x,y) цветом color
Линии Line(x1,y1,x2,y2) — рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). x1,y1
Цвет линии SetPenColor(color) – устанавливает цвет пера, задаваемый параметром color.
Прямоугольник Rectangle(x1,y1,x2,y2) – рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).x1,y1
Заливка цветом FloodFill(x,y,color) – заливает область одного цвета цветом color, начиная с точки (x,y).x1,y1 Program pryamougolnik;
Треугольник Рисуется процедурами Line(x1,y1,x2,y2); LineTo(x,y);
Окружность Circle(x,y,r) — рисует окружность с центром в точке (x,y) и радиусом r.
Дуга окружности Arc(x,y,r,a1,a2) — Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).
SetWindowHeight(h); — Устанавливает высоту графического окна
SetWindowWidth(w); — Устанавливает ширину графического окна
ClearWindow; — очищает графическое окно белым цветом.
ClearWindow(color); — очищает графическое окно указанным цветом.
SetPixel(x,y,color); — Закрашивает один пиксел с координатами (x,y) цветом color
LineTo(x,y); — рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y).
Line(x1,y1,x2,y2); — рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).
SetPenColor(color); — устанавливает цвет пера, задаваемый параметром color.
SetPenWidth(n); — устанавливает ширину (толщину) пера, равную n пикселям.
Rectangle(x1,y1,x2,y2); — рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).
FloodFill(x,y,color); — заливает область одного цвета цветом color, начиная с точки (x,y).
SetBrushColor(color); — устанавливает цвет кисти, заливка кистью распространяется на замкнутый контур, описание которого следует за процедурой установки цвета кисти.
Circle(x,y,r); — рисует окружность с центром в точке (x,y) и радиусом r.
Ellipse(x1,y1,x2,y2); — рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).
SetFontName(‘name’);- устанавливает наименование шрифта.
SetFontColor(color); — устанавливает цвет шрифта.
SetFontSize(sz); — устанавливает размер шрифта в пунктах.
SetFontStyle(fs); — устанавливает стиль шрифта.
Стиль шрифта:
fsBoldItalic – жирный наклонный;
fsBoldUnderline – жирный подчеркнутый;
fsItalicUnderline – наклонный подчеркнутый;
fsBoldItalicUnderline – жирный наклонный подчеркнутый
- Program Seventh; uses GraphABC; Begin Line (200,200,400,200); LineTO (300,140); lineTO (200,200); FloodFill (300,170,clblue); Line (200,200,400,200); LineTo (300,260); LineTo (200,200); FloodFill (300,230,cllime); circle (160,200,40); FloodFill (160,200,clred); circle (440,200,40); FloodFill (440,200,clyellow); End.
var I,X,Y,D: integer;
var I,X,Y,D: integer;
for i:=1 to 500 do
Движение шара (без мерцания)
var I,X,Y,D: integer;
begin X:=20; Y:=30; D:=100;
for i:=1 to 500 do
- uses GraphABC;
- var I,X,Y,D,X1,X2: integer;
- begin X:=20; Y:=30; D:=70; X1:=350; X2:=500; LockDrawing; for I:=1 to X1-D do // зеленый шар движется, красный стоит на месте
- begin
- ClearWindow;
- SetBrushColor(clGreen);
- Ellipse(X+I,Y,X+I+D,Y+D);
- SetBrushColor(clRed);
- Ellipse(X+X1,Y,X+X1+D,Y+D);
- Redraw;
- Sleep(5);
- end;
- for I:=X1 to X2 do // зеленый шар стоит на месте, красный шар движется
- begin
- ClearWindow;
- SetBrushColor(clGreen);
- Ellipse(X+X1-D,Y,X+X1,Y+D);
- SetBrushColor(clRed);
- Ellipse(X+I,Y,X+I+D,Y+D);
- Redraw;
- Sleep(5);
- end;
- end.
1. Написать программу, которая выводит на экран шар движущийся по вертикали.
2. Написать программу, которая выводит на экран два шара: красный шар стоит на месте, а зеленый движется по горизонтали к нему навстречу. После столкновения зеленый шар останавливается на месте, а красный шар начинает падать вниз (движение по вертикали).
3. Написать программу, которая выводит на экран два шара: красный шар стоит на месте, а зеленый движется по горизонтали к нему навстречу. После столкновения зеленый шар двигается в обратном направлении, а красный шар начинает падать вниз (движение по вертикали).
4. Написать программу, в которой окружность «пробегает» по периметру прямоугольника.
5. Написать программу «Круги на воде»: на экране в произвольном месте появляется окружность, которая сначала увеличивается, а потом уменьшается, затем так же появляются другие окружности. Начальные радиусы у окружности всегда разные
Источник: kopilkaurokov.ru