AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pascalprogramm

Ein Thema von recht_250 · begonnen am 29. Apr 2008 · letzter Beitrag vom 4. Mai 2008
Antwort Antwort
Seite 1 von 3  1 23      
recht_250

Registriert seit: 29. Apr 2008
10 Beiträge
 
#1

Pascalprogramm

  Alt 29. Apr 2008, 18:03
Hallo,

ich brauche unbedingt Hilfe.

Ich bin Student am Studienkolleg und habe dieses Jahr zum erstenmal Informatik.
Im Unterricht machen wir gerade Pascalprgramme.
das ist eine Aufgabe, die ich bis Freitag unbedingt lösen muss, aber es klappt nicht bei mir und ich finde den Fehler nicht.

Es wäre schön, wenn ihr euch das mal anschaut und mir den Fehler sagt und mir hilfe geben kann.

Danke.

PS: Im Anhang unten, ist die Datei als Text.
Angehängte Dateien
Dateityp: txt vektorrechnung.pas_122.txt (2,1 KB, 50x aufgerufen)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Pascalprogramm

  Alt 29. Apr 2008, 18:05
Hallo,

wo ist denn ein Fehler ?

- deine Eingabewerte -> fehlt
- aktuelle Ausgabe des Programms -> fehlt
- was soll rauskommen -> fehlt

der Hausaufgaben-Löser (jaja, musste sein )



Heiko
Heiko
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#3

Re: Pascalprogramm

  Alt 29. Apr 2008, 19:15
Was für'n Kauderwelsch der Code ist ... wer soll denn da durchblicken?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Pascalprogramm

  Alt 29. Apr 2008, 19:26
Hallo,

procedure Eingabe(var al,be:vektor);


Eingabe (a);


2 Parameter werdne erwartet, einer übergeben ???


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

Re: Pascalprogramm

  Alt 29. Apr 2008, 19:29
Das ist bei den anderen Prozeduren genauso. Ich denke, man müsste sich mal über Gültigkeitsbereiche von Variablen schlau machen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Pascalprogramm

  Alt 29. Apr 2008, 19:42
Guten Abend,

habe es mal etwas kommentiert.
Es hängt noch irgendwo.Korrektur, es hängt nicht, es wartet auf Benutzereingaben.

Etwas sprechendere Prozedure- und Variablennamen wären nicht schlecht.
Die Eingabe ist etwas unglücklich, und wird des öfteren wiederholt, den Grund
dafür sehe ich nicht.

Delphi-Quellcode:
program vektrech;

{Programmtext(Susila), Erklärung(Revilla), Eingabe (Ali, Oentari), Summe (Ren, Kambang, Abuali), Differenz(Mewara, Sthapit, Zhong), Skalarprodukt(Habig, Keshmiri, Younes), Kreuzprodukt(Gregoryev, Nguyen, Tognia)}
const n=3;

type
  vektor = array[1..n] of real;

var
  a, b, s, d, k : vektor;
  sp:real;

  procedure Eingabe(var al,be:vektor);
    {var a1,a2,a3,b1,b2,b3:real;}
  var
    i: integer;
  begin
    writeln('Geben sie die Komponenten der vektoren ''al'' und ''be''ein');
    for i:=1 to n do
      begin
        {al:=a;be:=b;}
        write('a:');
        readln(al[i]);
        write('b:');
        readln(be[i]);
      end;
  end;



  procedure sum(al,be:vektor;var su: vektor);
  var
    k:integer;
  begin
    for k:= 1 to n do
      begin
        read (al[k],be[k]); // warum werden hier die Wert nocheinmal eingelesen
        su[k]:= al[k]+be[k];
        write(su[k]);
      end;
  end;

  procedure di(al,be:vektor; var di: vektor);
    var k: integer;
    begin
      for k:=1 to n do
        begin
          read(al[k]); // warum hier auch noch einmal einlesen?
          read(be[k]); // warum hier auch noch einmal einlesen?
          di[k{i}]:=al[k]-be[k]; // wo kommt das i her ??
          write(di[k]);
       end;
    end;

  procedure skal (var skap: real; al, be: vektor);
    begin
      skap:=al[1]*be[1]+al[2]*be[2]+al[3]*be[3];
    end;



  procedure Kreuz(a,b: Vektor; var kr: Vektor);
    begin
      kr[1]:=a[2]*b[3]-a[3]*b[2];
      kr[2]:=a[3]*b[1]-a[1]*b[3];
      kr[3]:=a[1]*b[2]-a[2]*b[1];
   end;

begin // Hauptprogramm
        // die Parameterübergabe war im original falsch
        // ob sie jetzt richtig ist ??
  Eingabe(a,b);
  sum (a,b,s);
  di(a,b,s);
  skal(sp,a,b);
  kreuz (a,b,k);
end.
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
recht_250

Registriert seit: 29. Apr 2008
10 Beiträge
 
#7

Re: Pascalprogramm

  Alt 4. Mai 2008, 12:30
Hallo.

Irgendwie verstehe ich nicht was Hoiko da meint mit Eingabewert und so.
Vielleicht kann mir von euch noch jemand genauer weiter helfen.

Ich weiß auch nicht warum da alles doppelt steht. Wir haben das so vom Lehrer bekommen.

Hier nochmal:

Delphi-Quellcode:
program Kreuz_Produkt;
const n=3;
{Anzahl der Dimension. Man kann offentsichtlich eine beliebige natrliche
Zahl in n einsetzen. Nur die Procedure Kreuz gilt fr n=3. Fr n>3 gibts
kein Kreuz mehr!}

type Vektor=array [1..n] of real; {vektor mit n reelen Komponenten}

procedure Kreuz(a,b: Vektor; var kr: Vektor);
{die Procedure berechnet das Kreuz von 2 Vektoren a und b, welche
als KONSTANTE PARAMETER schon vorgegeben sind. Das Kreuz wird in den
VERŽNDERLICHEN PARAMETER, also Vektor kr gespeichert. Warum ist kr ein
ver„nderlicher Parameter? Denn, wenn wir sonst kr als einen Konstanten
Parameter betiteln wrden, k”nnte der Wert von kr aber nach der Ausfhrung
der Procedure nicht ver„ndert werden. Zum Probieren k”nnt ihr ja das Wort
"Var" vor kr weglassen und den Wert von kr betrachten. Der bleibt aber
unver„ndert.
}

   begin
      kr[1]:=a[2]*b[3]-a[3]*b[2];
      kr[2]:=a[3]*b[1]-a[1]*b[3];
      kr[3]:=a[1]*b[2]-a[2]*b[1];
   end;

procedure Addier(a,b:Vektor;var s:vektor);
   var i:integer;
   begin
      for i:=1 to n do s[i]:=a[i]+b[i];
   end;
procedure Subtrahier(a,b:Vektor;var s:vektor);
   var i:integer;
   begin
      for i:=1 to n do s[i]:=a[i]-b[i];
   end;
procedure Skalar(a,b:Vektor;var sk:real);
   var i:integer;
   begin
      sk:=0;
      for i:=1 to n do sk:=sk+a[i]*b[i];
   end;

procedure Ausgabe(a:Vektor);
   {stellt a in den Bildschirm dar nach der Form (a1,a2,a3)}
   begin
      write (' (',a[1]:0:3,',',a[2]:0:3,',',a[3]:0:3 ,') ');
   end;

procedure Eingabe(var a:vektor);
   {einen Vektor von der Tastatur eingeben}
   var i:integer;
   begin
      writeln;
      for i:=1 to n do
         begin
            write('Die ',i,'-te Komponente:');readln(a[i]);
         end;
   end;
VAR
   a,b,c:Vektor;t:real;

BEGIN
   a[1]:=1;a[2]:=0;a[3]:=0;
   write('a= ');Ausgabe(a);writeln;
   b[1]:=0;b[2]:=1;b[3]:=0;
   write('b= ');Ausgabe(b);writeln;
   Kreuz(a,b,c);write('a * b = ');Ausgabe(c);writeln;
   Skalar(a,b,t);writeln('a . b = ',t:0:3);
   write('Vektor a wiederum eingeben!');Eingabe(a);
   write('Vektor b wiederum eingeben!');Eingabe(b);
   Kreuz(a,b,c);write('a * b = ');Ausgabe(c);writeln;
   Skalar(a,b,t);write('a . b = ',t:0:3);
   readln;
END.


Es wäre schön wenn ihr mit weiter helfen könnt.
Ich muss das heute Abend meinem Lehrer auf Zensoerung schicken.

Danke an alle.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Pascalprogramm

  Alt 4. Mai 2008, 12:32
Wie wäre es, wenn du deinen Quellcode richtig formatieren/den Delphi-Tag verwenden würdest?
Markus Kinzler
  Mit Zitat antworten Zitat
recht_250

Registriert seit: 29. Apr 2008
10 Beiträge
 
#9

Re: Pascalprogramm

  Alt 4. Mai 2008, 12:40
sorry, ich versteh nicht was du meinst.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Pascalprogramm

  Alt 4. Mai 2008, 12:52
Markiere deinen Code und Klicke auf Delphi-Code
Miniaturansicht angehängter Grafiken
delphi-tag_265.png  
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz