# Überprüfung von Struktogrammen



## 248 (19. Apr 2014)

Hallo!

Ich lerne derzeit einige Themen für die IHK Abschlussprüfung. Als Übung habe ich mir ein kleines Programm gemacht, was Zahlen der unterschiedlichen Zahlensysteme in andere Zahlensysteme konvertiert. Das Programm umfasst Binär, Dezimal und Hexadezimal.

Zu den Methoden der folgenden Klasse "Convert" habe ich vier Struktogramme erstellt. Da wir am Anfang der Ausbildung Planungsmethoden, wie Struktogramme und Programmablaufpläne durchgenommen haben und dies schon länger her ist, habe ich dies leider nicht mehr so auf der Reihe.

Vielleicht würde sich ja einer von euch dazu bereit erklären, sich diese Struktogramme mal anzuschauen und zu bewerten. Um einen Lerneffekt zu erhalten: bitte mit Kritik.  Scheut euch auch nicht etwas zu schreiben, wenn ihr noch wenig Erfahrung habt. Dies kann manchmal von Vorteil sein 

*Es soll nicht um die Sauberkeit des Quellcodes gehen(Dieser wurde nur schnell hingezimmert). Ich möchte lediglich eine Bewertung der Struktogramme.*


```
package zahlensysteme.util;

import java.util.HashMap;
import java.util.Map;

public class Convert {

	public static String convertBinToDec(String toConvert) {
		char[] input = new StringBuffer(toConvert).reverse().toString().toCharArray();
		int i = 1;
		int output = 0;

		for (char element : input) {
			output += Integer.valueOf(String.valueOf(element)) * i;
			i *= 2;
		}

		return String.valueOf(output);
	}

	public static String convertDecToBin(String toConvert) {
		int input = Integer.valueOf(toConvert);
		StringBuffer output = new StringBuffer();

		while (input > 0) {
			try {
				output.append(input % 2);
				input /= 2;
			} catch (ArithmeticException e) {
				output.append(1);
				input = 0;
			}
		}
		return output.reverse().toString();
	}

	public static String convertDecToHex(String toConvert) {
		String[] hex = new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" };
		String output = "";
		int next = Integer.valueOf(toConvert);

		while (next > 0) {
			output += hex[next % 16];
			next /= 16;
		}
		return new StringBuffer(output).reverse().toString();
	}

	public static String convertHexToDec(String toConvert) {
		Map<Character, Integer> map = initHexMap();
		char[] input = new StringBuffer(toConvert).reverse().toString().toCharArray();
		int output = 0;
		int i = 1;

		for (char element : input) {
			output += map.get(element) * i;
			i *= 16;
		}

		return String.valueOf(output);
	}

	private static Map<Character, Integer> initHexMap() {
		Map<Character, Integer> map = new HashMap<Character, Integer>();
		map.put('0', 0);
		map.put('1', 1);
		map.put('2', 2);
		map.put('3', 3);
		map.put('4', 4);
		map.put('5', 5);
		map.put('6', 6);
		map.put('7', 7);
		map.put('8', 8);
		map.put('9', 9);
		map.put('A', 10);
		map.put('B', 11);
		map.put('C', 12);
		map.put('D', 13);
		map.put('E', 14);
		map.put('F', 15);
		return map;
	}

}
```






Struktogramm 1






Struktogramm 2






Struktogramm 3






Struktogramm 4


Vielen Dank im Voraus. LG und frohe Ostern


----------



## ARadauer (20. Apr 2014)

Hat irgendjemand beruflich schon mal ein struktogramm gemacht?  Ich weiß nicht warum so ein s***** noch unterrichtet wird. Stattdessen sollten sie euch lernen sauberen code zu schreiben.


----------



## 248 (20. Apr 2014)

Ich glaube niemand hat mal wirklich praktisch Struktogramm, PAP o.Ä. verwendet. Im Betrieb planen wir alles in Dokumenten, ohne grafische Darstellung. Es wird halt einfach für die IHK Abschlussprüfung benötigt 

Das mit dem sauberen Code ist so eine Sache, wenn man sich "nur" an die Java konventionen hält. Meiner Meinung nach müssten die etwas strikter gegeben sein. Gerade hinsichtlich Methoden und Variablennamen. Eine solche Diskussion möchte ich hier aber nicht beginnen .


----------

