Hallo, in Informatik sollen wir verschiedene Funktionen Programmieren, wie zb die SGN-Funktion, und aber auch die Gaussfunktion, bei der jeder Zahl von -1 bis -1,(periode)9 die zahl -2, jeder zahl von 0 bis 0,(periode)9 die zahl -1, den zahlen x>0 bis 1 die zahl 0, x>1 bis 2 die zahl 1 etc etc zugeordnet wird. Hoffe das ist verständlich
Klappt bei mir soweit, bis auf dass es nicht für x<0 funktioniert.
2. Problem: Bei der Funktion "Differenz" geht es darum, eine vierstellige Zahl einzulesen, die dann zu spiegeln und die kleinere von der größeren abzuziehen. Wiederholt man das immer wieder mit dem Ergebnis, sollte irgendwann immer die Zahl 1818 rauskommen, allerdings sollen wir nur soweit Programmieren, das mann immer die Differenz bildet, nicht bis ständig 1818 rauskommt. Laut meinem Infolehrer ist der Code in Ordnung, er konnte mir nicht helfen, warum der Fehler kommt.
3. Problem: Die Fibonacci Funktion oder besser Folge??. Tja, da hab ich keine Ahnung wie ich das schreiben soll...die Funktion geht so:
der 1 wird die 1 zugeordnet, der 2 die 1, der 3 die 2, der 4 die 3, der 5 die 5, der 6 die 8, der 7 die 13 etc ...
Irgendwie ist der neue zugeordnete Wert immer die Summe der letzten beiden wenn ich das richtig verstanden habe, für 1 und 2 ist die Folge definiert oder so
Naja, ich hoffe ihr könnt mir helfen.
Ich häng hier mal alles an, also Code und so
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: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Button2: TButton; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Edit7: TEdit; Label7: TLabel; Button3: TButton; Edit8: TEdit; Label8: TLabel; Edit9: TEdit; Label9: TLabel; Button4: TButton; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Label10: TLabel; Label11: TLabel; Label12: TLabel; Button5: TButton; Edit13: TEdit; Edit14: TEdit; Button6: TButton; Edit15: TEdit; Edit16: TEdit; Button7: TButton; Edit17: TEdit; Edit18: TEdit; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject);
private
function sgn(x:real):integer; function quad(x:real):real; function gauss(x:real):integer; function Minimum(x:real;y:real):real; function quersum(x:integer):integer; function titzi(x:integer):real; function dif(x:integer):integer;
public end;
type vierstring=string[4];
var Form1: TForm1; a,b,c: real; o,i: integer; implementation
function TForm1.sgn(x:real):integer; begin if x= 0 then result:=0; if x>0 then result:=1; if x<0 then result:=-1; end;
function TForm1.quad(x:real):real; begin result:=(a*x*x) +(b*x) + c; end;
function TForm1.gauss(x:real):integer; var erg: integer;
begin i:=1; if x>0 then begin repeat inc(i); until x<i; erg:=i; end; o:=-1; if x<0 then begin
while x<i do i:=i-1; erg:=i; end; result:=erg; end;
function TForm1.Minimum(x:real;y:real): real; begin if x > y then result := y else result := x; end;
function TForm1.quersum(x:integer):integer; var zahl:string; i :integer; begin zahl := inttostr(x); result:=0; for i:= 1 to length(zahl) do begin result := result + strtoint(zahl[i]); end; end;
function TForm1.titzi(x:integer):real; var i :integer; begin result:= 0; for i := 1 to x do begin result:= result + (1/i); end;
end;
function TForm1.dif(x:integer):integer; var sp: integer; xs,sps: vierstring; begin xs:=inttostr(x);
sps[1]:=xs[4]; sps[2]:=xs[3]; sps[3]:=xs[2]; sps[4]:=xs[1]; sp:=strtoint(sps); if sp>x then result:=(sp-x) else result:=(x-sp);
end;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); var z:real; y:integer; begin
z:=strtofloat(edit1.text); y:=sgn(z); edit2.text:=inttostr(y);
end;
procedure TForm1.Button2Click(Sender: TObject); var y,z: real; begin a:=strtofloat(edit3.text); b:=strtofloat(edit4.text); c:=strtofloat(edit5.text); z:=strtofloat(edit6.text); y:=quad(z); edit7.text:=floattostr(y); end;
procedure TForm1.Button3Click(Sender: TObject); var y: integer; z: real; begin i:=0; o:=-1; y:=gauss(z); edit9.text:=inttostr(y); end;
procedure TForm1.Button4Click(Sender: TObject); var a, b, erg : real; begin a := strtofloat(edit10.text); b := strtofloat(edit11.text); erg := Minimum(a,b); edit12.text := floattostr(erg); end;
procedure TForm1.Button5Click(Sender: TObject); var a, erg : integer; begin a := strtoint(edit13.text); erg := quersum(a); edit14.text := inttostr(erg); end;
procedure TForm1.Button6Click(Sender: TObject); var a: integer; ergeb:real; begin a:=strtoint(edit15.text); ergeb:=titzi(a); edit16.text:=floattostr(ergeb);
end;
procedure TForm1.Button7Click(Sender: TObject); var v,erg: integer; begin v:=strtoint(edit17.text); erg:=dif(v); edit18.text:=inttostr(erg);
end;
end. |
Moderiert von
raziel: Code- durch Delphi-Tags ersetzt