Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2014, 23:45   #1
МаксDragon
 
Регистрация: 09.12.2014
Сообщений: 3
По умолчанию Объясните как эта прога работает.

Код:
uses GraphABC;

var a:array [1..100,1..100] of integer;
R,x,y,al,r1:real;
i,j,n,m,i1,i2,k:integer;
Begin

writeln('Введите число вершин');
readln(n);
writeln('Введите число ребер');
readln(m);

writeln('Введите значения в матрицу инциденции(0 или 1)'); 
for j:=1 to m do
  begin
  writeln('Введите значения в матрицу инциденции(0 или 1) для ',j,' ребра');
    k:=0;
    for i:=1 to n do
      begin
        readln(a[i,j]);
        writeln(a[i,j]);
          while (a[i,j]>1) do
            begin
            writeln('Неправильно введено значение в матрицу инцидентности, введите заново');
            readln(a[i,j]);
            writeln(a[i,j]);
            end;
        if a[i,j]=1 then k:=k+1;
        if k=2 then break;
      end;
  end;


ClearWindow;

for i:=1 to n do
  begin
    for j:=1 to m do
      begin
        textout((j-1)*10,(i-1)*20,inttostr(a[i,j]));
      end;
  end;

R:=200;
x:=300;
y:=250;

for j:=1 to m do
  begin
     for i:=1 to n do
      begin
        if (a[i,j]=1) then 
          begin
            i1:=i;
            break;
          end;
      end;
    for i:=1 to n do
      begin
        if (a[i,j]=1) then i2:=i;
      end;
      if i1=i2 then
      begin
        r1:=20;
        circle (Round(x+R*cos(((2*pi)/n)*(i1-1))+r1),Round(y+R*sin(((2*pi)/n)*(i1-1))),round(r1));
      end
  end;

for j:=1 to m do
  begin
    for i:=1 to n do
      begin
        if (a[i,j]=1) then 
          begin
            i1:=i;
            break;
          end;
      end;
    for i:=1 to n do
      begin
        if (a[i,j]=1) then i2:=i;
      end;
    if i1<>i2 then
      begin
      Line(Round(x+R*cos(((2*pi)/n)*(i1-1))),Round(y+R*sin(((2*pi)/n)*(i1-1))),Round(x+R*cos(((2*pi)/n)*(i2-1))),Round(y+R*sin(((2*pi)/n)*(i2-1))));
      end;
  end;
  
al:=0;
for i:=1 to n do
  begin
    textout(Round(x+R*cos(al)),Round(y+R*sin(al)),inttostr(i));
    al:=al+(2*pi)/n;
end;      
 
End.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.12.2014 в 13:53.
МаксDragon вне форума Ответить с цитированием
Старый 12.12.2014, 23:49   #2
МаксDragon
 
Регистрация: 09.12.2014
Сообщений: 3
Смущение

Помогите понять прогу операторы там циклы и проче. Вот особенно я не понял ClearWindow, textout, inttostr, circle, circle. Помогите пожалуйста кто знает кто умеет пользоваться
МаксDragon вне форума Ответить с цитированием
Старый 13.12.2014, 00:00   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

А я не понял, как можно не догадаться ввести в поиск Pascal ABC графика, или просто ввести все эти ClearWindow, textout, inttostr, circle, circle ?

IntToStr - значит Integer to string.
Остальное - графические процедуры.
type_Oleg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните как работает код _ROBERT_ Помощь студентам 0 12.12.2012 02:24
как работает эта программа? C++ степень severest Помощь студентам 7 03.07.2012 21:48
Объясните как работает эта функция перевода из десятичной в восмеричную систему? severest Помощь студентам 1 02.07.2012 05:57
как работает эта программа(Алгоритм Рабина-Карпа с++)??? Lodas Общие вопросы C/C++ 1 18.12.2011 11:58
Объясните как работает прога сенатор Помощь студентам 14 16.09.2011 00:11