Re: Addition Zahlen 1-100 mit while-Schleife
Verfasst: Sonntag 30. April 2017, 22:04
@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
[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.

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

[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.