Addition Zahlen 1-100 mit while-Schleife

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
BlackJack

@DeaD_EyE: Wieso um alles in der Welt sollte man erst Schleifen verstehen wie sie man sie in C schreiben würde? Python ist nicht C. $GOTT sei Dank! Genau diesen Unsinn muss man Leuten die von Sprachen mit vielen Indexzugriffen kommen, erst wieder abgewöhnen, also warum erst beibringen? Dann könnte man auch argumentieren, dass man eigentlich erst Schleifen in Maschinensprache verstehen müsste um gewisse Grundlagen zu beherrschen. ;-)

Zumal ich auch in C keine zwei Laufvariablen verwenden würde die sich um einen konstanten Wert unterscheiden aber ansonsten ”parallel” laufen.
[codebox=c file=Unbenannt.c]#include <stdint.h>
#include <stdio.h>

#define OBJECT_COUNT 3

int main(void)
{
uint8_t i;
char *objects[OBJECT_COUNT] = {"Boot", "Haus", "Stuhl"};

for (i = 0; i < OBJECT_COUNT; ++i) {
printf("%u %s\n", i + 1, objects);
}

return 0;
}[/code]

QBASIC ist ausserdem viel schöner :twisted:
[codebox=qbasic file=Unbenannt.txt]CONST N=100

' Summe der Zahlen 1 bis N mit einer WHILE-Schleife.
sum=0
i=1
WHILE i<N+1
sum=sum+i
i=i+1
WEND
PRINT sum

' Summe der Zahlen 1 bis N mit einer FOR-Schleife.
sum=0
FOR i=1 TO N
sum=sum+i
NEXT
PRINT sum

' Die effiziente Art nach Gauss.
PRINT (N^2+N)/2[/code]

Zusätzlich mit der effizienten Lösung ohne Schleife.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Dieser Thread hat eine gewissene Anschaulichkeit in puncto Vermittlung pädagogischer Ziele. Zum Glück ist er zumindest dafür gut ;)
Benutzeravatar
pixewakb
User
Beiträge: 1411
Registriert: Sonntag 24. April 2011, 19:43

jerch hat geschrieben:Dieser Thread hat eine gewissene Anschaulichkeit in puncto Vermittlung pädagogischer Ziele. Zum Glück ist er zumindest dafür gut ;)
Du meinst in der Kategorie, wie man es besser nicht machen sollte? :lol:
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

@BlackJack: Danke für den Gauss ;)
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Benutzeravatar
DeaD_EyE
User
Beiträge: 1016
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

BlackJack, ich sehe das etwas anderes. Man muss ja nicht in C programmieren können.
Die Konzepte empfinde ich aber für sehr wichtig. Ihr denkt da halt anders drüber.


Wir hatten heute einen jugendlichen zu Besuch, der mal in unseren Beruf reinschnuppern wollte.
Um ihn zu beschäftigen habe ich ihm ein SPS-Rack hingestellt und kurz die Grundelemente erklärt.
Als wir dann zum SR/RS-FlipFlop kamen, war es einfacher die Setz- und Rücksetzdomianz anhand AWL zu verdeutlichen.
AWL = Anweisungsliste.

Rücksetzdominaz

Code: Alles auswählen

U E0.0
S M0.0
U E0.1
R M0.0
Setzdominaz

Code: Alles auswählen

U E0.0
R M0.0
U E0.1
S M0.0
Fazit: Der letzte ist Dominant.

Wir programmieren aber nicht in AWL. Das wäre für die Studenten und Auszubildenden zu LowLevel.
Gewisse Vorgänge lassen sich damit aber sehr einfach erklären.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
BlackJack

@DeaD_EyE: Das ist halt immer auch so ein bisschen die Frage wie man sich dem Programmieren nähert. Von der Problemseite her oder von der Maschinenseite her. Python ist halt deutlich näher an Lisp als an C, so dass man von C einen weiteren Weg hat. Python hat keine Zählschleife wie ``for`` in C, die muss man sich mit ``while`` schreiben wenn man Iteratoren vermeiden möchte. ``for`` braucht immer einen Iterator und iterieren über Zahlen um die für Indexzugriffe zu verwenden ist unnötig indirekt. Das zu zeigen ist zu zeigen wie man es in Python *nicht* macht.
Antworten