Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 8

Определить класс, описывающий круг

30.05.2015, 11:49. Показов 922. Ответов 7
Метки нет (Все метки)

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

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
program Lab_7;
  uses crt, graphABC, pointRect;
  type circle=class
       R: real;
       constructor vvod;
       procedure vivod;
       private
         function area: real;
         function perim: real;
  end;
 
  constructor circle.vvod;
  begin
    write('Введите радиус окружности=');readln(R);
  end;
  
  function circle.area: real;
  begin
    area:=pi*R*R;
  end;
  
  function circle.perim: real;
  begin
    perim:=2*pi*R;
  end;
  
  procedure circle.vivod;
  var s, p: real;
  begin
    s:=area;
    p:=perim;
    writeln('S=', s:0:3, ', ', 'P=', p:0:3);
  end;
 
  type PicCircle=class(pu)
       x0, y0: real;
       xr, yr: array[1..5] of real;
       procedure vvod2;
       procedure define;
       procedure figure;
       procedure net;
  end;
 
  procedure PicCircle.vvod2;
  begin
    write('x0='); readln(x0);
    write('y0='); readln(y0);
  end;
  
  procedure PicPu.define;
  begin
    xr[1]:=x0; yr[1]:=y0;
  end;
  
  procedure PicPu.figure;
  var P: array[1..5] of Point;
      i: integer;
  begin
    for i:=1 to 1 do begin
      P[i].x:=360+round(50*xr[i]);
      P[i].y:=310-round(50*yr[i]);
    end;
    Polygon(p, 1);
    FloodFill(360+round(50*(a*0.6+x0)), 310-round(50*(a*0.1+y0)), RGB(0, 215, 0));
  end;
  
  procedure PicPu.net;
  var i: integer; s: string;
  begin
    SetWindowHeight(620);
    SetwindowWidth(720);
    Line(10, 310, 910, 310);
    Line(360, 10, 360, 610);
    for i:=-6 to 6 do
      Line(360+50*i, 315, 360+50*i, 305);
    for i:=-6 to 6 do
      if i<>0 then begin
        str(i, s); TextOut(355+50*i, 320, s);
      end;
    for i:=-5 to 5 do
      Line(355, 310+50*i, 365, 310+50*i);
    for i:=-5 to 5 do
      if i<>0 then begin
        str(i, s); TextOut(370, 302-50*i, s);
      end;
    SetFontSize(14);
    TextOut(365, 315, '0');
    TextOut(365, 12, 'y');
    TextOut(695, 312, 'x');
  end;
  
  var t: PicPu;
    
  begin
    clrscr;
    t:=PicPu.vvod;
    t.vivod;
    t.vvod2;
    ClearWindow(RGB(255, 255, 255));
    t.define;
    t.figure;
    t.net;
  end.
Что здесь нужно исправить??? Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2015, 11:49
Ответы с готовыми решениями:

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

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

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

7
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
30.05.2015, 11:55
Pascal
1
type PicCircle=class(pu)
пукнуть что ли собрался но передумал?
исправь везде pu на Circle
0
0 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 8
30.05.2015, 13:29  [ТС]
Это то понятно, остальное то всё правильно???
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
30.05.2015, 13:41
Так Вы запустите и увидите что здесь ошибка
Pascal
1
FloodFill(360+round(50*(a*0.6+x0)), 310-round(50*(a*0.1+y0)), RGB(0, 215, 0));
неизвестно а.
Исправите, может еще появятся.
0
0 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 8
30.05.2015, 14:49  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
program Lab_7;
  uses crt, graphABC, pointRect;
  type circle=class
       R: real;
       constructor vvod;
       procedure vivod;
       private
         function area: real;
         function perim: real;
  end;
 
  constructor circle.vvod;
  begin
    write('Введите радиус окружности=');readln(R);
  end;
  
  function circle.area: real;
  begin
    area:=pi*R*R;
  end;
  
  function circle.perim: real;
  begin
    perim:=2*pi*R;
  end;
  
  procedure circle.vivod;
  var s, p: real;
  begin
    s:=area;
    p:=perim;
    writeln('S=', s:0:3, ', ', 'P=', p:0:3);
  end;
 
  type PicCircle=class(pu)
       x0, y0: real;
       xr, yr: array[1..5] of real;
       procedure vvod2;
       procedure define;
       procedure figure;
       procedure net;
  end;
 
  procedure PicCircle.vvod2;
  begin
    write('x0='); readln(x0);
    write('y0='); readln(y0);
  end;
  
  procedure PicCircle.define;
  begin
    xr[1]:=x0; yr[1]:=y0;
  end;
  
  procedure PicCircle.figure;
  var P: array[1..5] of Point;
      i: integer;
  begin
    for i:=1 to 1 do begin
      P[i].x:=360+round(50*xr[i]);
      P[i].y:=310-round(50*yr[i]);
    end;
    Polygon(p, 1);
    FloodFill(360+round(50*(R*0.6+x0)), 310-round(50*(R*0.1+y0)), RGB(0, 215, 0));
  end;
  
  procedure PicCircle.net;
  var i: integer; s: string;
  begin
    SetWindowHeight(620);
    SetwindowWidth(720);
    Line(10, 310, 910, 310);
    Line(360, 10, 360, 610);
    for i:=-6 to 6 do
      Line(360+50*i, 315, 360+50*i, 305);
    for i:=-6 to 6 do
      if i<>0 then begin
        str(i, s); TextOut(355+50*i, 320, s);
      end;
    for i:=-5 to 5 do
      Line(355, 310+50*i, 365, 310+50*i);
    for i:=-5 to 5 do
      if i<>0 then begin
        str(i, s); TextOut(370, 302-50*i, s);
      end;
    SetFontSize(14);
    TextOut(365, 315, '0');
    TextOut(365, 12, 'y');
    TextOut(695, 312, 'x');
  end;
  
  var t: PicCircle;
    
  begin
    clrscr;
    t:=PicCircle.vvod;
    t.vivod;
    t.vvod2;
    ClearWindow(RGB(255, 255, 255));
    t.define;
    t.figure;
    t.net;
  end.
А сейчас? У меня выводит ошибку еще в самом начале - пишут "Конструктор может иметь только имя 'create'"...
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
30.05.2015, 14:58
Цитата Сообщение от Olya20 Посмотреть сообщение
А сейчас?
Вас наверное нужно по голове бить. Ну почему Ваш код по прежнему pu_кает?

Добавлено через 1 минуту
Цитата Сообщение от Olya20 Посмотреть сообщение
У меня выводит ошибку еще в самом начале - пишут "Конструктор может иметь только имя 'create'"...
У меня ошибку не выводит, рисует координатную сетку.
0
0 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 8
30.05.2015, 15:10  [ТС]
Вы с АВС.net проверяли? А сам круг программа рисует, помимо сетки?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
30.05.2015, 15:17
Цитата Сообщение от Olya20 Посмотреть сообщение
Вы с АВС.net проверяли?
Для АВС.net есть свой раздел.
Цитата Сообщение от Olya20 Посмотреть сообщение
А сам круг программа рисует, помимо сетки?
Нет.

Добавлено через 4 минуты
Кстати если пишете в .net, то и
Pascal
1
Polygon(p, 1);
не пройдет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2015, 15:17
Помогаю со студенческими работами здесь

Определить, помещается ли круг в квадрат
Даны вещественные числа A и R представляющие собой длину стороны квадрата и радиус круга на плоскости. Написать подпрограмму выводящую одно...

Определить, попадает ли точка в круг
Хм..... Помогите :-)

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

Определить, сколько точек попадут в круг
Вводятся координаты десяти точек. Определить, сколько точек попадут в круг радиуса R c центром в начале координат (массив не использовать)

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru