Autor Beitrag
mitor
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 35

WinXP Home
D 6.0 PE
BeitragVerfasst: Di 16.03.04 20:56 
Hallo,

ich habe ein kleines Problem. Wir müssen in Info so'n olles Arbeitsblatt über Delphi ausfüllen. Es sind vier Aufgaben. Ich weiss wenn ich die Aufgaben hier poste, würdet ihr mich auslachen :wink: . Für euch ist das ja bestimmt auch kein Problem. Könnt ihr mir helfen die Aufgaben zu lösen? Es handelt sich eigentlich nur um Struktogramme und so 'ne komische Entschlüsselung. Also wenn sich einer bereit erklärt einem absoluten Noob zu helfen, so möge er hier rein posten und ich werde die Aufgaben hochladen.

Danke schonmal im Voraus!

cu

Mitor
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: Di 16.03.04 21:30 
Hi,

1) Herzlich Willkommen im Delphi Forum
2) Eigendlich sind wir keine Hausaufgaben-mach-Anstalt. Wir werden dir aber gerne helfen die Aufgaben selbst zulösen :)
mitor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 35

WinXP Home
D 6.0 PE
BeitragVerfasst: Di 16.03.04 22:13 
1.) Hallo
2.) Ja ich weiss, aber ich denke so ein Forum ist die erste Anlaufstelle ;)

Also hier ist das Aufgabenblatt erstmal:

user defined image

Ok...also da fang ich mal an was ich schon so gemacht habe:

Nochmal zur Bedeutung:
A - Anweisung (zBsp: A1)
w - wahr
f - falsch
B - Bedingung (zBsp: B1)

zu 1.)
-----------------------------------
begin
A1

if B1

then B2

if B2

then begin A3;
A4;


else begin A5;
A6;

A7;

else begin A2;

if B3

then A8;

else A9;

end;

A10

end
-----------------------------------

So...ich hoffe ihr fallt nicht gleich um ;)! Aber ich muss erstmal mit den ganzen Simiklons etc. zurechtkommen.

Weiter geht's...


zu 2.)
-----------------------------------

KOMMT NOCH

-----------------------------------

zu 3.)
-----------------------------------
a: -2 -2 2 4 4 4

b: 0 -2 -2 3 4 7

x für a): -2 -2 1 1 4 1

x für b): 0 -2 -2 11 4 7

x für c): 3 3 0 -1 3 3
-----------------------------------


Ok...die war ja nicht so schwer...wenn ich hier 'n Fehler hab ist das ein reiner Schusselfehler ;).


zu 4.)
-----------------------------------

KOMMT NOCH

-----------------------------------
Luzifer666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Personal, D7 Personal
BeitragVerfasst: Mi 17.03.04 10:24 
So, erstmal zu der Nummer1:

Rein ausm Kopf (müsste aber gehen):

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure x;   //<- müsst ihr es in eine "procedure" fassen?
begin
A1;
  if (B1)= true then  {wenn B1 wahr (true) ist, mache}
      if (B2)= true then {wenn B2 wahr ist, mache}
        A3;
        A4   //die stehn ja im Diagramm untereinander, oder?
      else {wenn B2 falsch ist, mache}
        A5;
        A6;
      end {Ende der Schleife}
  else {wenn B1 falsch ist, mache}
    A2;
      if (B3) = true then {wenn B3 wahr ist, mache}
        A8
      else {wenn B3 falsch ist, mache}
        A9
      end{Ende der Schleife}
  end{ende der (obersten) Schleife}
A10
end{ende der prozedur}


P.S.: Die Sätze in // und {} sind Kommentare von mir, also nicht mit abtippen! ;) Und was noch wichtig ist, vor "else" kommt kein Semikolon ans Ende der Anweisung/Bedingung davor!

Naja, den Rest bin ich auch noch am enträtseln, bin leider selber Anfänger. :)

[edit] Zur Nr. 3 noch:
Bei a ist das Letzte eine 4 weil 4 ja kleiner als 7 ist.
Bei b ist das Dritte 2, da 2 grösser ist und damit nachher (-2)+4 da steht.
Zeile c ist korrekt.

Viel Glück noch beim Lösen! Zu Nr. 2 ich weiss nimmer genau wies geht aber guck mal in der Online-Hilfe unter mod nach! ;)

_________________
I can see unknown errors. 8[
Cya & enjoy!


Zuletzt bearbeitet von Luzifer666 am Mi 17.03.04 11:05, insgesamt 1-mal bearbeitet
Nele
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 59



BeitragVerfasst: Mi 17.03.04 10:59 
hm, nur mal zur 1. Aufgabe...
Es erscheinen mir doch recht wenig, bis gar keine begin... end in den beiden geposteten Quelltexten - ich mache lieber ein begin... end zu viel, um ein wenig die Übersicht zu behalten - bin auch noch eine Anfängerin :oops:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
procedure Aufgabe1;
begin
  A1;
  if B1 then  // B1 ist true
  begin
    if B2 then // B2 ist true
    begin
      A3; 
      A4;
    end
    else  // B2 ist false
    begin
      A5;
      A6;
    end;
    A7; 
  end
  else  // B1 ist false
  begin
    A2;
    if B3 then // B3 ist true
      A8
    else // B3 ist false
      A9;
  end;
  A10
end;


natürlich keinen Anspruch auf Richtigkeit, aber ich denke das sollte so wohl richtig sein...

@mitor: wenn du einen Quelltext postest, wie zur Aufgabe 1 solltest du ihn ein wenig übersichtlicher gestalten :wink:
nicht nur für die, die dir helfen wollen, auch für dich selber - es ist doch ein wenig einfacher die Übersicht zu behalten, wenn der text zumindest ein wenig formatiert ist...
Gandalfus
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 129



BeitragVerfasst: Mi 17.03.04 11:02 
für 4 würde ich eine xor Verschüsselung nehmen.

z.B.:
1000110
xor
0101010 //Schlüssel
=
1101100 //verschlüsselt
xor
0101010 //Schlüssel
=
1000110 //wieder entschlüsselt

_________________
Wennn man feststellt, dass es drei Moeglichkeiten gibt, die einen Vorgang schiefgehen lassen koennen und man diese ausschaltet, entstehen automatisch drei neue Moeglichkeiten.
Luzifer666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Personal, D7 Personal
BeitragVerfasst: Mi 17.03.04 11:07 
Naja, nötig sind die ganzen "begins" net, zur Übersicht vielleicht praktisch, aber wenn man immer brav einrückt ... ;)

_________________
I can see unknown errors. 8[
Cya & enjoy!
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Mi 17.03.04 11:47 
Hallo mitor
Also zur Lösung von Aufgabe 2)
schau mal auf meiner Homepage
:arrow: www.fishhead.de.vu vorbei oder lade dir den Primzahlengenerator gleich diereckt runter:
:arrow: www.nrg.to/fishhead/primzahlgen_1.exe (noch recht einfach) oder
:arrow: www.nrg.to/fishhead/primzahlgen_4.exe (die aktuellste Version)
maximus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 896

Win XP, Suse 8.1
Delphi 4/7/8 alles prof
BeitragVerfasst: Mi 17.03.04 11:54 
Luzifer666 hat folgendes geschrieben:
Naja, nötig sind die ganzen "begins" net, zur Übersicht vielleicht praktisch, aber wenn man immer brav einrückt ... ;)


Naja! Da hat Nele wohl recht, denn sobald mehr als eine anweisung hinter einem if-statement ausgeführt werden soll, muss man diese in einem block (begin;end) zusammenfassen.

Und hätte die 'if (B2)= true then' bedingung keinen else zweig (was ja auch mal vorkommen kann), dann wäre der algorythmus grob falsch, denn dann würde das else der übergeordnenten bedingung benutzt werden :wink:

_________________
mfg.
mâximôv
Luzifer666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 41

Win XP
D6 Personal, D7 Personal
BeitragVerfasst: Mi 17.03.04 11:57 
Nehme alles zurück und behaupte das Gegenteil! :D

_________________
I can see unknown errors. 8[
Cya & enjoy!
mitor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 35

WinXP Home
D 6.0 PE
BeitragVerfasst: Mi 17.03.04 12:40 
Leutz ihr seid super...so viele Anworte auf einmal...klasse. Ja das mit den begin und end ist so ein Fimmel von unserem Info-Lehrer wegen Übersicht und so - find ich im Prinzip schon richtig.

Da ich eher ein praxis-orientierter Delphi-Anfänger bin fallen mir solche Aufgaben immer etwas schwerer. Ich tüftle am liebsten immer erst in Delphi rum um des Spasses am Entdecken... :roll:
mitor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 35

WinXP Home
D 6.0 PE
BeitragVerfasst: Mi 17.03.04 22:49 
@Tilo: Kannst du mir mal den Quelltext schicken (als *.txt)? Nur rein aus informativen Zwecken. Muss den ganzen Algorithmus ja noch verbal beschreiben.

Danke! :wink:
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 18.03.04 13:54 
Gandalfus hat folgendes geschrieben:
für 4 würde ich eine xor Verschüsselung nehmen.

Und wie willst du damit den Text entschlüsseln, der auf eine ganz unad gar andere Art und Weise verschlüsslet wurde? :roll:
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Do 18.03.04 16:04 
@ mitor
Ich habe dir eine PN geschrieben mit der Procedur die die Primzahlen berechnet.
Ich hoff ich komm heute noch dazu den kompletten Code zu kommentieren, da gib ich den Dir
OK?
mitor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 35

WinXP Home
D 6.0 PE
BeitragVerfasst: Fr 19.03.04 13:20 
Nochmal zur Aufgabe 4. Kann mir mal einer sagen was eigetnlich für'n Wort aus dem Zahlensalat entstehen soll...is mir unklar. :roll:
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 19.03.04 13:38 
In der Aufgabe steht doch, dass jeder Buchstabe durch seinen Vorvorgänger ersetzt worden ist. Also verschiebe jeden Buchstaben erst einmal um zwei Positionen im Alphabet. Und was dann herauskommt, das liest Du rückwärts.

Um das als das Programm zu machen, wirst Du wohl um die Funktionen Ord() und Chr() nicht drum herum kommen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
mitor Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 35

WinXP Home
D 6.0 PE
BeitragVerfasst: Fr 19.03.04 14:01 
Ich hab's: Sommerferien. Aber wie formuliert man jetzt einen Algorithmus dafür?
Nele
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 59



BeitragVerfasst: Fr 19.03.04 14:35 
für eine Entschlüsselung mußt du jeden Buchstaben des Wortes durchgehen, umwandeln und rückwärts wieder zusammenfassen - soweit warst du sicherlich schon selber :wink:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
function entschluesseln(wort: string): string;
var
  i: integer;
  wortneu: string;

  function BuchstabenUmwandlung(c: string): string;
  var
     neu: string;
  begin    

   {hier mußt du natürlich noch neu ermitteln...}
    result:= neu;  

  end;

begin
  wortneu:= '';

  // Für jeden Buchstaben des Wortes 'wort' den neuen Buchstaben ermitteln
  // und an diesen Buchstaben die bereits ermittelten Buchstaben anhängen  
  For i:=0 to length(wort)-1 do    
      wortneu:= BuchstabenUmwandlung(wort[i])+wortneu;  
   
  result:= wortneu;  

end;


Keine Garantie auf Richtigkeit - so würde ich es in jedem Fall mal so probieren, ob es funktioniert, kann ich dir auch nicht sagen, hab es nur aus dem Kopf aufgeschrieben :roll: