Schnelle objektorientierte, kompilierende Programmiersprache.
-
schlafmütze
- Beiträge: 67
- Registriert: Mi Mär 11, 2009 6:48 pm
Beitrag
von schlafmütze » Fr Apr 03, 2009 1:30 pm
Hallo,
Ich bin gerade mitten in eine Aufgabe vertieft die ich sozusagen nicht verstehe .
Folgende Aufgabe:
Erweitern Sie das folgende Programm, das die Potenzen von 2 ausgibt,
sodass nun beliebige Basen (Wahl durch Konstante im Programmcode) verwendet werden können.
Außerdem soll nicht bei n10 abgebrochen werden, sondern die 10 soll ein Parameter sein.
Code: Alles auswählen
#include <stdio.h>
int main(void)
{
int basis = 2;
long ergebnis = 1;
int i;
scanf
for (i=0; i < 10; ++i)
{
printf("%d hoch %d = %d\n", basis, i, (int)ergebnis);
ergebnis = ergebnis * basis;
}
return 0;
}
Kann mir jemand die Aufgabe mit anderen Worten beschreiben?
Und bitte noch keine Lösung sagen will nur die Aufgabe verstehen.
Danke im voraus.
-
Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Beitrag
von Dirty Oerti » Fr Apr 03, 2009 1:37 pm
Im Endeffekt sollst du das Programm dynamischer machen.
Die Basis sollst du durch eine Konstante definieren (was meiner Ansicht nach Blödsinn ist, mach sie gleich als Parameter), den Exponent als Parameter.
Du musst dich jetzt entscheiden: Willst du den Code in eine einzelne Funktion auslagern und an diese dann die (durch das Programm eingelesenen) Parameter (Basis, Exponent) übergeben oder willst du die Parameter direkt an das Programm übergeben (Aufruf des Programms z.B. "prog 5 10" für 5 hoch 10)...
Bei
Fragen einfach an
daniel[ät]proggen[Punkt]org
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
-
Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
-
Kontaktdaten:
Beitrag
von Xin » Fr Apr 03, 2009 1:39 pm
schlafmütze hat geschrieben:Hallo,
Ich bin gerade mitten in eine Aufgabe vertieft die ich sozusagen nicht verstehe .
Folgende Aufgabe:
Erweitern Sie das folgende Programm, das die Potenzen von 2 ausgibt,
Das Programm ist nicht fehlerfrei, kann also auch nicht erweitert werden.
Die Potenz von zwei wäre 2^x, lese x ein und rechne entsprechend 2^x aus. Bei 2^x ist die Basis entsprechend 2.
schlafmütze hat geschrieben:sodass nun beliebige Basen (Wahl durch Konstante im Programmcode) verwendet werden können.
Außerdem soll nicht bei n10 abgebrochen werden, sondern die 10 soll ein Parameter sein.
Erweitere das Programm (wenn es dann funktioniert), dass Du den Exponent und die Anzahl der Ausgaben abfragst.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
schlafmütze
- Beiträge: 67
- Registriert: Mi Mär 11, 2009 6:48 pm
Beitrag
von schlafmütze » Fr Apr 03, 2009 1:55 pm
Wenn ich jetzt die Aufgabe richtig verstanden habe sollte es so aussehen oder ?
Code: Alles auswählen
#include <stdio.h>
int main(void)
{
const int basis = 5;
const int letzter_exponent= 12;
long ergebnis = 1;
int i;
printf("Ausgabe der Potenzen von %d \n", basis);
for (i=0; i < letzter_exponent + 1; ++i)
{
printf("%d hoch %d = %d\n", basis, i, (int)ergebnis);
ergebnis = ergebnis * basis;
}
return 0;
}
-
Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Beitrag
von Dirty Oerti » Fr Apr 03, 2009 3:01 pm
Nein.
Bis zu welchem Exponenten du gehst sollst du ja über einen Parameter erfragen.
Das soll ja eben NICHT konstant sein, sondern durch den Parameter verändert werden können.
Bei
Fragen einfach an
daniel[ät]proggen[Punkt]org
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
-
schlafmütze
- Beiträge: 67
- Registriert: Mi Mär 11, 2009 6:48 pm
Beitrag
von schlafmütze » Fr Apr 03, 2009 3:04 pm
Was ist überhaupt Parameter das Wort das taucht hundert mal im Buch auf

?
-
Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Beitrag
von Dirty Oerti » Fr Apr 03, 2009 3:12 pm
Also Parameter sind WICHTIG!
Ohne geht C/C++/Java/ etc kaum, bzw ist es nicht gerade prickelnd.
Hier findest du eine kleine Einführung in Parameter.
Nochmal, um dem Ganzen nachdruck zu verleihen: Parameter SOLLTEST du wirklich beherrschen
Simples Beispiel:
Code: Alles auswählen
int add (int summand1, int summand2)
{
return (summand1 + summand2);
}
int main (void) //BTW: Anstatt von void können hier auch Parameter stehen, die du dann beim Programmstart bekommst...
{
int a = 5;
int b = 3;
int ergebnis = add(a,b);
return 0;
}
Bei
Fragen einfach an
daniel[ät]proggen[Punkt]org
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
-
schlafmütze
- Beiträge: 67
- Registriert: Mi Mär 11, 2009 6:48 pm
Beitrag
von schlafmütze » Fr Apr 03, 2009 3:29 pm
Man bist du gut du hast es genau auf den Punkt gebracht danke.
