07. maj 2002 - 22:33Der er
21 kommentarer og 1 løsning
algoritme
Kan nogle forklare mig om hvordan jeg udvikler min egen algorithme. Den skal kunne gemme to ting.
jeg kan godt finde ud af at bruge xor og de andre alm men ikke shr shl jeg tror de hedder sådan - har ikke helt fattet hvad de går ud på. også eksempler her tak.
Evt. nogle toturials eller nogle gode eksempler hvordan i kom frem til en algorithme.
for mig at se, er algoritme et sæt trin/step, der fører frem til et resultat - det behøver ikke nødvendigvis være baseret på matematik ! et af de første højniveau programmeringssprog ALGOL kunne mere end matematik...
>>jekk Alt i en computer er matematik! ;) Men, ej du har ret... En algoritme kan også være en række af procedurere og funktioner... Dog skal man vide hvad algoritmen skal bruges til!!! :)
En algoritme er en trin for trin beskrivelse af, hvorledes et givet problem kan løses. Et helt trivielt eksempel, der intet har med computere at gøre:
Problem: Vi ønsker at fremstille en bestemt ret mad. Løsning: Opskriften slås op i en kogebog. En opskrift er en algoritme, i og med at der typisk står:
Man tager ingrediens 1 ingrediens 2 ... Gør dit Gør dat Gør dette Gør hint ...
Hvis man følger dette trin for trin, vil man normalt ved afslutningen kunne gå til bords til en velsmagende ret.
Et mere computer-relateret problem:
Tre variable:
tal1, tal2 og tal3
ønskes sorteret i stigende rækkefølge.
Eksempel på løsning, der benyttes en C-lignende dialekt:
Ovenstående er et eksempel på en sorterings-algoritme, skræddersyet til at kunne sortere 3 tal.
Det vigtige i begge ovenstående eksempler er, at før man overhovedet begynder at tænke på en algoritme, skal man gøre sig klart, hvilket problem man ønsker at løse.
Det er også vigtigt at gøre sig klart, at de fleste problemer kan løses med flere forskellige metoder, i nogle tilfælde måske lige gode, men i andre tilfælde vil visse metoder være andre metoder meget overlegne.
Jeg er godt klar over hvad en algorithme er, jeg kan se det kræver et mere specifikt eksempel.
Jeg vil evaluere en streng på min 4 op til 20 tegn, den skal retunere en struktur af 4tal-4tal-4tal-2tal f.eks. 1234-4312-5674-03 hvordan skal jeg lave en algorithme til den, jeg skal også kunne få den tilbage til oprindelig form.
Jeg har forstået hvad en algorithme er men vil lære hvordan man designer algorithmer som kan gå begge veje ( 123 -> 321 og 321 -> 123 )
Regn baglænds... Det kommer altså meget an på hvad din algoritme skal bruges til...
F.eks. y = 15x^2-7
Det modsatte vil være:
x = ((y+7)/15)^(1/2)
Hvis vi så tager dit strenge eksempel, så er det igen at se på hvordan kommer jeg fra resultatet, tilbage til min start-værdi. Jeg vil samtidig sige at du får ikke en bedre forklaring, med mindre du kan fortælle præcist hvad det er for en algoritme.
En algoritme til at vende en hvilken som helst algoritme om... Umuligt!
procedure TForm1.Button1Click(Sender: TObject); var Txt : string; i : integer; begin edit2.Clear;
for i:=Length(edit1.Text) downto 1 do edit2.text := edit2.text + edit1.Text[i];
end;
Stoney
Synes godt om
Slettet bruger
08. maj 2002 - 16:59#16
Start med bare at forklare hvordan jeg designer en algorithme til at lave den 4tal-4tal-4tal-2tal ud fra en given streng som jeg har og er min. 4 og max 20 tegn. Den algoprithme jeg får lavet til det formål skal kunne lave 4tal-4tal-4tal-2tal om til den originale streng igen.
var S1, S2: String; begin S1 := '12423512329020'; for I := 1 to Length(S1) do begin S2 := S2 + S1[I]; if I >= 4+4+4+1 then Continue; if I mod 4 = 0 then S2 := S2 + '-'; end; end;
Det er utestet, så hvis der er et problem, så skriv lige!
Upser, der skulle selvfølgelig lige være en I-variabel i starten! :)
var S1, S2: String; I: Integer; begin for I := 1 to 20 do S1 := S1 + Char(Random(10)+48);
for I := 1 to Length(S1) do begin S2 := S2 + S1[I]; if I >= 4+4+4+1 then Continue; if I mod 4 = 0 then S2 := S2 + '-'; end; end;
Stadig utestet, men prøv en gang...
Synes godt om
Slettet bruger
08. maj 2002 - 20:01#19
Jeg ville ikke bare skille en string med "-" men først lave den om til en tal streng som en slags kryptering. Det behøver ikke at være den syge kryptering men blot en omdannelse til en tal adskilt af - som nævnt før. F.eks. Jeg spiser bliver til 1232-1245-2312-12
Du må f***** snart fortælle hvad du vil!!! Du laver et eksempel og beder om at man kommer med en løsning... Det gør man, og så ber du om så siger du at det ikke lige var det... Beklager, men jeg er sgu lidt pissed nu!
Kom med en præcis forklaring på hvad du vil, og hvordan du vil have det løst. Du kommer med noget som ikke lige er helt som det skal være, og så siger du selv at det er forkert... Hvorfor mon det er forkert? Fordi din forklaring er upræcis...
Såh... Nu er jeg vist af med mine aggrationer! :)
Hvis du vil kryptere en streng, kan du f.eks. gøre det med den berømte Cæsar-kryptering. Gå 1 eller 2 bogstaver frem i alfabetet! Det holdte folk ude af min dagbog ret længe!!! ;)
function Hest(S: String): String; var I: Integer; begin for I := 0 to Length(S) do Result := Result + Char(Ord(S[I])+1); end;
Beklager min sure indstilling i starten... Har dog ikke slettet den da jeg syntes du skal prøve at komme med en præcis forklaring på dit problem! Stick to the problem, everything else is irrelevant!
//hermandsen
Synes godt om
Slettet bruger
09. maj 2002 - 12:12#21
LKæg mærke til at jeg skrev
"Jeg vil evaluere en streng på min 4 op til 20 tegn, den skal retunere en struktur af 4tal-4tal-4tal-2tal f.eks. 1234-4312-5674-03 hvordan skal jeg lave en algorithme til den, jeg skal også kunne få den tilbage til oprindelig form. "
jeg vil mene at det blev forklaret ordentligt men du glemte lige at læse det, jeg nævnte det bare igen i en senere kommentar da jeg ikke fik de løsninger som jeg skulle bruge.
Men ok jeg ved det er Sk*** svært at forklare så det er vel fair nok at i bliver lidt sure.
men tak for svaret, dog havde jeg forventet en lidt sværre metode måske, men hvis igen kommer med en bedre så må jeg heller smide de point af til nogen - så er det vel mig som ikke kan forklare mig =)
hermandsen du kan lige skrive noget i et svar så kan jeg godtage dit svar med den cæsar kryptering hvis igen andre finder på noget bedre MEGET snart
Der kan du finde noget om kryptering! Eller led lidt på www.torry.net der er garanteret også en masse eksempler, komponenter og jeg ved ikke hvad... :)
//hermandsen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.