Hoppa till innehållet
Gratis verktyg

Skapa struktogram online: editor för Nassi-Shneiderman-diagram

Skapa struktogram online som Nassi-Shneiderman-diagram enligt DIN 66261: med byggblock eller pseudokod med tyska eller engelska nyckelord. Växla till ett flödesschema över samma flöde med ett klick och exportera som PNG, SVG eller PDF. Gratis, utan registrering och helt i din webbläsare.

Byggd av Justin Schuessler

Är förloppet klart? Testa koden direkt på en egen VPS eller ett webbhotell.

Byggstenar

100 %
Struktogram: FactorialFactorialInmatning: nresult := 1för i från 1 till nresult := result * iUtdata: result

Tangentbord i diagrammet: ↑/↓ välj block, Enter redigera text, Alt+↑/↓ flytta, Delete radera, Insert infoga byggsten, Ctrl+Z/Ctrl+Y ångra/gör om, Ctrl+X/C/V klipp ut/kopiera/klistra in.

Syntax för pseudokod
PROGRAM Name
INPUT x / OUTPUT x
CALL procedure(x)
IF condition THEN … ELSE IF … ELSE … END IF
SWITCH x  CASE 1: …  DEFAULT: …  END SWITCH
WHILE condition … END WHILE
REPEAT … UNTIL condition
FOR i FROM 1 TO n STEP 1 … END FOR
LOOP name … BREAK name … END LOOP

Varje annan rad är en instruktion. Med \ i början av raden är den alltid en instruktion, även om den börjar med ett nyckelord.

Indrag och skiftlägeskänslighet spelar ingen roll, och tyska och engelska nyckelord kan blandas. Ingen riktig programkod skapas eller körs.

Klicka på ett block i diagrammet för att redigera det här. Dubbelklicka för att redigera texten direkt i diagrammet.

Spara och exportera

Allt körs i din webbläsare: det aktuella arbetet sparas bara lokalt och delningslänken innehåller själva diagrammet. Inga data skickas till oss.

Funktioner

Rita struktogram utan att dra linjer

Du beskriver flödet, och editorn placerar ut blocken enligt DIN 66261 och håller båda vyerna uppdaterade.

Strukturblock enligt standarden

Instruktion, förgrening, fallval, förtestad och eftertestad loop, räkneloop, oändlig loop, utträde och anrop av subrutin enligt DIN 66261.

Växla till programflödesschema

Samma flöde som programflödesschema enligt DIN 66001, automatiskt arrangerat och med återgående pilar för loopar.

Klickbaserad byggare

Placera byggstenar före, efter eller inuti ett block. Redigera texter direkt i diagrammet, flytta, ta bort och ångra.

Pseudokod åt båda hållen

Text och diagram hålls synkroniserade. Vid skrivfel visar editorn rad och felmeddelande, medan diagrammet står kvar.

Export och projektfil

PNG och SVG för dokument, PDF i A4-format för utskrift samt projektfil (JSON) för att spara och öppna igen.

Dela utan konto

Delningslänken innehåller diagrammet i adressen efter #. Ingenting sparas på våra servrar.

Så fungerar det

Så skapar du ett struktogram online

Fem steg från mall till färdig export, utan konto eller nedladdning.

Steg 1

Ladda en mall eller börja från början

Välj en av de nio övningsuppgifterna under ”Ladda exempelmall”, till exempel bubbelsortering eller betygsberäkning. Med ”Ny” börjar du med ett tomt flöde.

Steg 2

Infoga byggblock

Välj ett byggblock, till exempel en förgrening eller for-loop, markera ett block och infoga det nya byggblocket före, efter eller inuti. Dubbelklicka för att redigera texten direkt i diagrammet.

Steg 3

Eller skriv pseudokod

I fältet ”Pseudokod” skriver du en rad per steg med tyska eller engelska nyckelord. Diagram och text hålls synkroniserade. Vid ett skrivfel markerar editorn raden med en förklaring.

Steg 4

Kontrollera och växla vy

Flytta, kopiera eller ta bort block och ångra steg. Vid behov kan du växla till flödesschemavyn och se samma flöde som ett flödesschema.

Steg 5

Exportera eller dela

Ladda ner struktogrammet som PNG, SVG eller PDF (A4), spara projektfilen (JSON) eller skapa en delningslänk.

Grunderna

Vad är ett struktogram?

Ett struktogram, även kallat Nassi–Shneiderman-diagram, N-S-diagram eller Chapin-diagram, visar en algoritms förlopp som nästlade block. Isaac Nassi och Ben Shneiderman publicerade framställningssättet 1973. I Tyskland är symbolerna standardiserade i DIN 66261.

Eftersom det inte finns några fria hopp kräver ett struktogram strukturerad programmering: sekvenser, förgreningar och upprepningar är synligt nästlade. Därför används det av elever och studenter för att planera algoritmer innan de väljer programmeringsspråk.

Med den här editorn skapar du struktogram online utan att dra linjer eller mäta rutor: Den beräknar blocken utifrån ditt flöde och kan även rita samma flöde som ett flödesschema.

Pseudokod

Från pseudokod till struktogram

Skriv en rad per steg så uppdateras struktogrammet medan du skriver. Editorn känner igen tyska och engelska nyckelord; stora och små bokstäver samt indrag spelar ingen roll. Så här ser mallen ”Fakultet” ut när du öppnar editorn första gången:

Med tyska nyckelord

PROGRAMM Fakultät
EINGABE n
ergebnis := 1
FÜR i VON 1 BIS n
  ergebnis := ergebnis * i
ENDE FÜR
AUSGABE ergebnis

Med engelska nyckelord

PROGRAM Factorial
INPUT n
result := 1
FOR i FROM 1 TO n
  result := result * i
END FOR
OUTPUT result
Nyckelord för strukturblocken
ByggblockTyskaEngelska
InmatningEINGABE xINPUT x
UtdataAUSGABE xOUTPUT x
UnderprogramAUFRUF p(x)CALL p(x)
FörgreningWENN … DANN … SONST … ENDE WENNIF … THEN … ELSE … END IF
FallvalFALLS x FALL 1: … SONST: … ENDE FALLSSWITCH x CASE 1: … DEFAULT: … END SWITCH
Förtestad loopSOLANGE … ENDE SOLANGEWHILE … END WHILE
Eftertestad loopWIEDERHOLE … BIS …REPEAT … UNTIL …
RäkneloopFÜR i VON 1 BIS n … ENDE FÜRFOR i FROM 1 TO n … END FOR
Oändlig loopENDLOSSCHLEIFE … ENDE ENDLOSSCHLEIFELOOP … END LOOP
Utgång (avbrott)ABBRUCHBREAK

Editorn känner inte igen nyckelord på andra språk; sådana rader blir enkla instruktioner. Texterna i blocken, som villkor, instruktioner och namn, kan du skriva på valfritt språk. Vid ett skrivfel markerar editorn raden med en förklaring och behåller det senast giltiga diagrammet.

Övningsmallar

Struktogramexempel att öva på

Nio typiska övningsuppgifter från programmeringsundervisning och utbildning finns färdiga att använda. Du laddar dem via ”Ladda exempelmall” och kan sedan ändra dem fritt. Mallarna använder de nyckelord som är valda för pseudokodfältet, på tyska eller engelska.

  • Fakultet
  • Betygsberäkning
  • Inloggning med 3 försök
  • Skottår
  • Största värdet i en lista
  • Bubblesort
  • Dryckesautomat
  • Primtalstest
  • Gissa talet

DIN 66261

De viktigaste symbolerna i struktogrammet

Nassi–Shneiderman-blocken som redigeraren kan rita. Varje block har exakt en ingång upptill och en utgång nedtill. Redigeraren stöder inte parallell bearbetning enligt DIN 66261.

Instruktion (strukturblock)summe := summe + zahl

Instruktion (strukturblock)

En rektangel för ett enskilt bearbetningssteg, t.ex. en tilldelning eller beräkning.

Följd (sekvens)Inmatning: zahlquadrat := zahl * zahlUtdata: kvadrat

Följd (sekvens)

Block under varandra körs i följd uppifrån och ned. Indata och utdata är vanliga instruktionsblock.

Förgrening (val)zahl > 0janejUtdata: ”positiv”∅

Förgrening (val)

En triangel med villkoret delar flödet i en ja- och en nej-gren. En tom gren markeras med ∅.

Fallval (flervalsstruktur)x1a := 102a := 20annarsa := 0

Fallval (flervalsstruktur)

Beroende på värdet av ett uttryck körs exakt ett av fallen. Fallvärdena står direkt under diagonalen och det sista fallet (ofta ”annars” för alla övriga värden) i den högra triangeln.

Förtestad loopså länge i <= 10i := i + 1

Förtestad loop

Villkoret står överst och kontrolleras före varje varv. Om det är falskt redan från början körs loopens innehåll inte alls.

Eftertestad loopInmatning: zahltill zahl > 0

Eftertestad loop

Villkoret står nederst: loopens innehåll körs minst en gång och upprepas tills villkoret är uppfyllt.

Räkneloopför i från 1 till 10Utdata: i

Räkneloop

En förtestad loop med räknarvariabel, start- och slutvärde samt valfri steglängd.

Anrop av underprogramsortiere(liste)

Anrop av underprogram

Ett block med dubbla sidolinjer anropar ett separat underprogram som beskrivs på ett annat ställe.

Oändlig loopMenyInmatning: wahlkör(val)

Oändlig loop

En upprepning utan villkor: övre band (valfritt med beteckning), stapel till vänster och nedre band. Den kan bara lämnas via en utgång.

Utgång (avbrott)Meny

Utgång (avbrott)

Kilen till vänster lämnar den innersta omgivande loopen. Beteckningen anger vilket block som lämnas. Därefter fortsätter flödet med blocket efter loopen.

DIN 66001

De viktigaste symbolerna i flödesschemat

Symbolerna från DIN 66001 som redigeraren använder för flödesscheman. Flödet placeras automatiskt, så du behöver inte flytta något.

Gränspunkt (start/slut)Start

Gränspunkt (start/slut)

Ovalen markerar flödesschemats början och slut.

Operationsumme := summe + zahl

Operation

En rektangel står för ett bearbetningssteg, t.ex. en tilldelning eller beräkning.

Indata/utdataInmatning: zahl

Indata/utdata

Parallellogrammen visar var data läses in eller matas ut.

Förgreningzahl > 0

Förgrening

Romben innehåller ett villkor. Beroende på resultatet fortsätter flödet via ja- eller nej-utgången.

Underprogramsortiere(liste)

Underprogram

En rektangel med dubbla sidolinjer anropar ett underprogram med ett eget flödesschema.

FlödeslinjeInmatning: zahlUtdata: zahl

Flödeslinje

Linjer med pilspets förbinder symbolerna och visar ordningen. Normalt går flödet uppifrån och ned.

Förgrening med sammanfogningzahl > 0janejs := 1s := -1

Förgrening med sammanfogning

Efter en förgrening möts båda vägarna igen vid en punkt innan flödet fortsätter.

Loopgräns (oändlig loop)MenyInmatning: wahlMeny

Loopgräns (oändlig loop)

En sexhörning med avfasade övre hörn markerar loopens början, och en med avfasade nedre hörn markerar slutet. Redigeraren använder paret för den oändliga loopen.

Övergångspunkt (utgång)Oändlig loopklartjanejAweiter()Oändlig loopA

Övergångspunkt (utgång)

En cirkel med en bokstav förbinder två ställen utan en lång linje. En utgång slutar i cirkel A, och flödet fortsätter vid cirkel A efter loopen.

Loop med återgångi <= 10jai := i + 1nej

Loop med återgång

En loop bildas av en förgrening och en återgångslinje till före villkoret.

Upptäck mer

Fler verktyg

FAQ

Vanliga frågor

Korta svar om struktogram, Nassi-Shneiderman-diagram, DIN 66261 och den här editorn.

Ett struktogram visar ett programs eller en algoritms flöde grafiskt utan att vara knutet till ett programmeringsspråk. Varje bearbetningssteg är en rektangel, och förgreningar och loopar är nästlade block. Eftersom det inte finns några hopp kräver det ett tydligt strukturerat flöde. Isaac Nassi och Ben Shneiderman publicerade diagramtypen 1973. Därför kallas den också Nassi-Shneiderman-diagram, N-S-diagram eller Chapin-diagram.

Direkt här i editorn: Den är gratis, kräver inget konto och körs helt i din webbläsare. Ditt aktuella arbete finns bara i webbläsarens lokala lagring, och exporterade filer skapas direkt på din enhet. I en delningslänk ligger diagrammet i delen av adressen efter #, som inte skickas till servern.

Instruktion, sekvens, inmatning, utmatning, förgrening, flervalsgren, while-loop, do-while-loop, for-loop, oändlig loop, avbrott och anrop av subrutin. Symbolerna följer DIN 66261 (symboler för Nassi-Shneiderman-diagram, 1985). Editorn saknar bara standardens parallella bearbetning.

Båda beskriver samma flöde. Struktogrammet nästlar block och har inga fria hopp. Flödesschemat (PAP, DIN 66001) förbinder symboler med pilar; loopar skapas med pilar som leder tillbaka. I den här editorn växlar du mellan vyerna med ett klick, eftersom båda ritas utifrån samma flöde. Till flödesschemaeditorn

En while-loop (”så länge …”) har villkoret överst och kontrollerar det före varje varv, så loopens innehåll kanske inte körs alls. En do-while-loop (”upprepa … tills …”) kontrollerar villkoret längst ner, så innehållet körs minst en gång. En for-loop är en loop med villkoret överst, en räknarvariabel, start- och slutvärde samt valfri steglängd. En oändlig loop har inget villkor och avslutas bara genom ett avbrott.

En rad per steg. Du öppnar och stänger block med fasta nyckelord, på svenska (OM, FALL, MEDAN, UPPREPA … TILLS, FÖR … FRÅN … TILL) eller engelska (IF, SWITCH, WHILE, REPEAT … UNTIL, FOR … FROM … TO); du väljer språk vid pseudokodfältet. Editorn känner inte igen nyckelord på andra språk, men texterna i blocken kan du skriva på valfritt språk. Editorn omvandlar inte programkod i Java eller Python och genererar inte heller programkod. Vid ett skrivfel markerar den raden med en förklaring och behåller det senast giltiga diagrammet.

Exportera som högupplöst PNG, som SVG för vidare redigering eller som PDF på en A4-sida för utskrift. PNG-filen kan du infoga som bild i Word eller LibreOffice Writer. Med projektfilen (JSON) sparar du flödet och kan öppna det igen senare. Den innehåller ett versionsnummer så att äldre filer fungerar även i nyare versioner av editorn.

Ja, nio mallar med typiska övningsuppgifter: fakultet, betygsberäkning, inloggning med 3 försök, skottår, största värdet i en lista, bubbelsortering, dryckesautomat, primtalstest och gissa talet. Du laddar dem via ”Ladda exempelmall” och kan ändra dem fritt. Om du ska rita för hand på ett prov hjälper editorn dig att öva och kontrollera resultatet.

Fler frågor?

Kontakta supporten
Från flöde till program

Testa koden till ditt struktogram på en egen server

På en VPS från ZAP-Hosting har du full root-åtkomst för alla språk. På ett webbhotell kan du använda PHP och MySQL direkt.

4,4/5 Trustpilot32 000+ Aktiva servrarSedan 2010

Ingen konfigurering. Ingen risk. Online på några sekunder.

Flexibel avtalstidAvsluta när som helstOnline på 60 sekunder

Letar du efter fler verktyg? Visa alla utvecklarverktyg