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;

}

}


 

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

45179. История государственного управления 86.42 KB
  Со смертью бездетного царя Федора Ивановича пресеклась многовековая династия Рюриковичей. Избрание было абсолютно легитимным но сам процесс становления авторитета нового царя у знати приказных людей и широких слоев русского общества легитимация династии требовали значительного времени. Успешными оказались внешнеполитические акции царя отвоевание в 1590 1593 гг. Ответственность за бедствия обрушившиеся на страну в массовом сознании возлагались на царя и объяснялись Божьим наказанием за его неправедность.
45180. Эволюция Земских соборов 95 KB
  Эволюция Земских соборов. Земский собор Совет всей земли высшее сословно-представительское учреждение Российского царства с середины XVI до конца XVII века собрание представителей всех слоёв населения кроме крепостных крестьян для обсуждения политических экономических и административных вопросов. Земский собор существовал в условиях сословно-представительной монархии. Последним земским собором принято считать собрание состоявшееся в 1683 1684 годы по вопросу о вечном мире с Речью Посполитой.
45181. Правление Петра I 17.15 KB
  Были введены: Коллегия чужестранных иностранных дел заменила Посольский приказ то есть ведала внешней политикой. Военная коллегия Воинская комплектование вооружение снаряжение и обучение сухопутной армии. Адмиралтейств коллегия военно-морские дела флот. Вотчинная коллегия заменила Поместный приказ то есть ведала дворянским землевладением рассматривались земельные тяжбы сделки на куплю-продажу земли и крестьян сыск беглых.
45182. Эпоха дворцовых переворотов 16.01 KB
  После его смерти столкнулись представители родовой знати Голицыны Долгорукие признававшие наследником князя Петра и чиновная власть сделавшая ставку на Екатерину I и выигравшая эту борьбу с помощью гвардейских полков. императором согласно ее завещанию провозглашается внук Петра I Петр II а к Верховному тайному совету фактически к А. В ходе обсуждения возможных кандидатов на престол выбор пал на курляндскую герцогиню Анну Иоанновну дочь брата Петра I Ивана Алексеевича.
45183. Ресурсный метод определения стоимости строительства 16.17 KB
  Этот метод формирования сметной документации предусматривает калькулирование в текущих ценах трудовых материальных и технических ресурсов необходимых для реализации проектного решения. В качестве исходных данных для определения прямых затрат в локальных ресурсных сметных расчетах выделяют следующие показатели: Затраты труда рабочих строителей монтажников персонала по пусконаладке Средний разряд работы Затраты труда машинистов Строительные машины и механизмы в маш час Расход материальных ресурсов в принятых физических...
45184. Метод определения стоимости строительства на основе укрупненных сметных нормативов 15.52 KB
  Метод определения стоимости строительства на основе укрупненных сметных нормативов Этот метод предназначен для следующих целей: Определение стоимости строительства объектов различного функционального значения на ранних стадиях и инвестиционного процесса на предпроектной стадии на стадии техникоэкономических обоснований формирование социальноэкономической программы ориентация проектировщика разработавшего проектное предложение для проведения подряда торговой оценки стоимости предмета конкурса для решения других задач связанных с...
45185. Состав затрат сводного сметного расчета (наименование 12 глав ССР, непредвиденные расходы, НДС) 43 KB
  Состав затрат сводного сметного расчета наименование 12 глав ССР непредвиденные расходы НДС Глава 1 Подготовка территорий строительства Основные затраты: оформление земельного участка и разбивочные работы: затраты по отводу земельного участка выдача архитектурно-планировочного задания затраты по разбивке основных осей здания и сооружения: плата за землю при изъятии или выкупе земельного участка; плата за аренду земельного строительства период проектирования земельного строительства затраты на получение технических условий затраты...