6804

Автоматизация разметки блок-схем алгоритмов

Лабораторная работа

Информатика, кибернетика и программирование

Автоматизация разметки блок-схем алгоритмов. Номер зачётной книжки: 831910 =100000011111112 Алгоритм обнаружения бесконечных циклов: Проверяем все операционные вершины на наличие перехода назад, если есть переход назад - помечаем блок д...

Русский

2013-01-08

84.4 KB

4 чел.

Автоматизация розметки блок-схем алгоритмов.

Номер зачётной книжки: 831910 =100000011111112;

Алгоритм обнаружения бесконечных циклов:

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

Иначе выводим сообщение о бесконечном цикле, и номер вершины в которой обозначен неверный переход.

Скриншоты программы:

Листинг программы:

import java.io.Serializable;

import java.util.ArrayList;

public class Algorithm implements Serializable{

 private static final long serialVersionUID = 1L;

 

 private int[][] mConnections;

 private int[][] mSignals;

 private ArrayList<String> signals;

 private boolean[] isY;

 

 public Algorithm(){}

 public Algorithm(int[][] mC, int[][] mS, ArrayList<String> signs){

 System.out.println("Connection matrix:  ");

 mConnections =mC;

 mSignals = mS;

 signals = signs;

 isY = new boolean[mC.length];

 for(int i = 0; i < mC.length; i ++){

 int sum = 0;

  for(int j = 0; j<mC.length;j++) {

   sum+= mC[i][j];

  }

  if(sum>1) isY[i] = false;

  else isY[i] = true;

 }

}

 public boolean isY(int i){

 return isY[i];

}

 

 public boolean checkInfinite(int from, int to) {

 if((to - from) == 1){return true;}

 for(int i = from; i < to; i++){

  if(isY(i)){

   if(fromTo(i)>to){ return false;}

   if(fromTo(i)<from){

    boolean inF = checkInfinite(fromTo(i), to);

    if(inF){return false;}

   }

  } else if(!isY(i)){

   if(fromTo_0(i)>to){ return false;}

   if(fromTo_0(i)<from){

    boolean inF = checkInfinite(fromTo(i), to);

    if(inF){return false;}

   }

   if(fromTo_1(i)>to){ return false;}

  }

 }

 return true;

}

 

 public String findInfiniteLoop(){

 String messageLine="algorithm is correct";

 int nNodes = mConnections.length;

 for(int out = 0; out < nNodes; out++){

  if(!isY(out)) continue;

  for(int in = 0; in < nNodes; in++){

   int current = mConnections[out][in];

   if((current==1)&&(out>in)){

    if(checkInfinite(in, out))

    messageLine = " infinite loop at  "+(out+1);

    return messageLine;

   }

  }

 }  

 return messageLine;

}

 

 public int fromTo(int from){

 int to=0;

 for(int i = 0; i<mConnections.length; i++) {

  if(mConnections[from][i]==1){ to = i+1; break; }

 }

 return to;

}

 

 public int fromTo_1(int from){

 return from+1;

}

 

 public int fromTo_0(int from){

 int to=0;

 for(int i = 0; i<mConnections.length; i++) {

  if((mConnections[from][i]==1)&&(i!=from)){ to = i+1; break; }

 }

 return to;

}

}


 

А также другие работы, которые могут Вас заинтересовать

81911. Контроль как функция менеджмента 41.93 KB
  Существует три аспекта управленческого контроля: установление стандартов точное определение целей которые должны быть достигнуты в определенный отрезок времени. Необходимость контроля обусловлена следующими обстоятельствами: потребностью организации процесса производства в соответствии с имеющимися резервами и ресурсами; требованиями потребителей к качеству стандарту и сертификации выпускаемой продукции; изменяющимися внутренними и внешними условиями производства необходимостью выявления тенденций меняющегося спроса и предложения...
81913. Этапы контроля в менеджменте 39.29 KB
  Независимо от типов и количества контрольных систем необходимых организации существует четыре основных этапа любого процесса контроля. Первый этап в контрольном процессе установление стандартов. Второй этап в процессе контроля измерение фактических результатов деятельности контролируемого объекта. На этом этапе необходимо определить качественные и количественные методы измерения.
81914. Новейшие тенденции в менеджменте в области контроля 37.86 KB
  Современные тенденции развития контроля. Контрольные функции традиционно осуществляемые централизованно в коммерческой фирме ее руководством а в государстве центральными органами постепенно перераспределяются между: верхними звеньями управления; сторонними организациями специализирующимися на функциях контроля; потребителями продукции; низовыми звеньями управления Часть контрольных функций передается внешним организациям. Изменение содержания контроля и новые методы его осуществления.
81915. Информация как основа коммуникаций и ее значение в менеджменте 38.97 KB
  Процесс управления рассматривается как процесс восприятия преобразования и передачи информации. Основой управления является принятие решений которые основаны на использовании информации. Степень обоснованности решений зависит от полноты достоверности и своевременности информации. происходит передача информации для принятия и реализации решения.
81916. Сущность и виды коммуникаций 40.32 KB
  Установить взаимосвязь между людьми в организации. Сформулировать общие взгляды на внутреннюю среду организации. Организовать совместную работу коллективов с целью выполнения задач организации. Виды коммуникаций: Вертикальная ϶ᴛᴏ обмен информацией между руководителем и подчиненными; Горизонтальная представляет собой процесс передачи информации между сотрудниками одного уровня; Вербальная процесс общения с целью передачи информации при помощи слов; Невербальная общение с помощью мимики жестов взглядов; Формальная Неформальная...
81917. Коммуникативный процесс в менеджменте 55.81 KB
  Декодирование это перевод символов отправителя в уме получателя. Если символы избранные отправителем имеют точно такое же значение для получателя последний будет знать что именно имел в виду отправитель когда формулировалась его идея. Получатель становится отправителем и проходит через все этапы процесса обмена информацией для передачи своего отзыва начальному отправителю который теперь играет роль получателя. Эффект коммуникационного процесса ϶ᴛᴏ изменение в поведении получателя кᴏᴛᴏᴩые происходят в результате принятия сообщения.
81918. Коммуникативные барьеры и способы их преодоления в менеджменте 41.28 KB
  Содержательные барьеры проблемы в понимании смысла и значения отправленного или полученного сообщения Они делятся в свою очередь на: фонетические использование элементов из других языков и диалектов дефекты речи и дикции невнятность речи нарушения темпа речи наличие значительного количества звуков и словпаразитов; семантические вложение различного содержания использования жаргонов и слешей; стилистические несовпадение стиля речи коммуникатора отправителя с содержанием сообщения; логические различные логические системы...
81919. Стили управления в организации 38.89 KB
  Авторитарный стиль сосредоточение на работе и полное пренебрежение людьми. Авторитарный жесткий стиль может быть оправдан в группе с неразвитыми материальными и высшими потребностями а также в экстремальных ситуациях. Либеральный стиль сосредоточение на человеке стиль невмешательства в дела подчиненных безынициативность ожидание указаний сверху руководитель непоследователен в своих действиях легко поддается мнению других влиянию некомпетентен в решении вопросов его характеризует боязнь принятия решений перекладывание дел...