Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Kleine Programmierung (kein hohes Niveau) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Kleine Programmierung (kein hohes Niveau)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Kleine Programmierung (kein hohes Niveau) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo,
mir wurde hier bereits geholfen, aber das Präsentierte erschien für meine Lehrer falsch zu sein.
Meine Aufgabe besteht aus zwei Teilen. Es gibt also eine Aufgabe 1 und eine Aufgabe 2, und die sollen unabhängig voneinander programmiert werden, heißt, nicht zusammen in ein Quellcode schreiben.
Hier die 1. Aufgabe:
------------------------
Wiederholungsanweisung

Es sollen N Messwerte eingelesen und verarbeitet werden. Bei jeder Eingabe soll angegeben werden, der wievielte Messwert eingegeben wird. Nach der Eingabe soll der aktuelle Messwert, der größte Messwert, der kleinste Messwert und der Mittelwert der Messwerte berechnet und angezeigt werden.

Welche Wiederholungsanweisung eignet sich für diese Aufgabe besonders?
-----------------------

eulerscheZahl ( Member hier) meinte, das die Folgende Programmierung richtig gewesen ist(war sie laut den Lehrer nicht):
---------------------------
#include <stdio.h>
#include <stdlib.h>

int main (){
float eingabe;
float summe =0;
float mittelwert;
int zaehler = 0;
float min ;
float max;
do{
printf( "Bitte geben Sie einen Messwert ein \n \n"Augenzwinkern ;
scanf ("%f", & eingabe);
zaehler = zaehler +1;
summe = summe + eingabe;
printf("\n Anzahl der eingegebenen Messwerte:%i \n", zaehler);
printf("\n Aktueller Messwert:%f \n", eingabe);
if (zaehler == 1) {
max = eingabe;
min = eingabe;
}
else if (eingabe < min){
min = eingabe;
}
else if ( eingabe > max) {
max = eingabe;
}
printf("\n Minimaler Messwert : %f \n", min);
printf("\n Maximaler Messwert: %f \n", max);
mittelwert= summe/zaehler;
printf("\n Mittelwert: %f\n", mittelwert);
}
while (1==1);
}
-----------------------------------
Viel mehr wäre der richtige Weg:
------------------------------------
#include <stdio.h>
#include <stdlib.h>

int main (){
float eingabe;
float summe =0;
float mittelwert;
int i=1;
float min ;
float wert;
float max;

printf( "Bitte geben Sie die Anzahl der Messwert ein! \n \n"Augenzwinkern ;
scanf ("%f", & eingabe);
for(i=1;i<=eingabe;i++)
{
printf("Bitte geben sie den %d. Wert ein\n",i);
scanf("%f",&wert);
if(i==1)

min=wert;
max=wert;
mittelwert=wert;

summe=summe+wert;
mittelwert=summe/i;
if(wert>=max)
max=wert;
else
min=wert;



printf("Der groeste Wert ist %.1f\n",max);
printf("der kleinste Wert ist \n",min);
printf("Der Mittelwert ist %.1f\n", mittelwert);

}

}
-----------------------------
So, jetzt kommt die Aufgabe 2 (Erweiterung der 1. Aufgabe)
-----------------------------
Sichere Eingabe

Erweitern Sie Ihr Programm zu Einlesen von N Messwerten um eine sichere Eingabe. D.h. bei der Eingabe der Zahl der Messwerte soll nur eine positive ganze Zahl akzeptiert werden. Fehleingaben sollen zu einem Hinweis und zu einer weiteren Eingabemöglichkeit führen.

Erstellen Sie vor dem Beginn der Programmierarbeit bitte ein Struktogramm!

Zählen Sie außerdem mit, wie viele positive und negative Werte eingegeben wurden.

Die Ermittlung des größten und kleinsten eingegebene Wertes soll bereits ab dem ersten Wert und ohne eine Sonderbehandlung für diesen Wert erfolgen. Wie belegt man die Werte für den Größten und kleinsten Wert sinnvoll vor?
--------------

Meine Ideen:
Ich denke mir, dass die Programmierung der 1. Aufgabe nicht großartig verändert werden muss, aber sie muss teilweise verändert werden, denn sie baut ja auf auf die 2. Aufgabe.
Ich habe zu der 1. schon die Lösung. Die Programmierung sieht bei der ersten Aufgabe etwas ,,amateurhaft'' also anfängerisch aus, und das soll auch so sein! ;-)
Kann mir einer bei der 5 helfen, und sich dabei an die einfache Programmierung der 1. Aufgabe halten, also auf dessen Struktur.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Whiss: 01.12.2015 03:13.

01.12.2015 03:12 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

RE: Kleine Programmierung (kein hohes Niveau) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dann führe das Programm doch aus und bilde dein eigenes Urteil. Die "richtige" Lösung liefert:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
Bitte geben Sie die Anzahl der Messwert ein! 
 
3
Bitte geben sie den 1. Wert ein
5
Der groeste Wert ist 5.0
der kleinste Wert ist 5.0
Der Mittelwert ist 5.0
Bitte geben sie den 2. Wert ein
3
Der groeste Wert ist 3.0
der kleinste Wert ist 5.0
Der Mittelwert ist 4.0
Bitte geben sie den 3. Wert ein
7
Der groeste Wert ist 7.0
der kleinste Wert ist 5.0
Der Mittelwert ist 5.0

Der größte Wert wird jedes mal überschrieben, egal was eingegeben wird.

__________________
Syntax Highlighting fürs Board (Link)
01.12.2015 06:17 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

RE: Kleine Programmierung (kein hohes Niveau) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Welches Programm soll ich ausführen?
das richtige oder was?


Mein Urteil zählt nicht, sondern der Urteil des Lehrers, da kann ich nichts machen.

Kannst du mir helfen?
01.12.2015 17:43 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
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:
#include <stdio.h>
#include <stdlib.h>

int main () {
	float eingabe;
	float summe = 0;
	float mittelwert;
	int i = 1;
	float min;
	float wert;
	float max;
	int positiv = 0;
	int negativ = 0;

	printf("Bitte geben Sie die Anzahl der Messwert ein!\n\n");
	scanf ("%f", &eingabe);
	while (i <= eingabe) {
		printf("Bitte geben sie den %d. Wert ein\n",i);
		scanf("%f",&wert);
		if (wert > 0) {
			if(i == 1) {
				min = wert;
				max = wert;
				mittelwert = wert;
			}
			summe = summe + wert;
			mittelwert = summe / i;
			if (wert >= max)
				max = wert;
			else if (wert <= min)
				min = wert;
			positiv++;

			printf("Der groeste Wert ist %.1f\n",max);
			printf("der kleinste Wert ist %.1f\n",min);
			printf("Der Mittelwert ist %.1f\n", mittelwert);
			printf("Anzahl positiver Eingaben: %d\n", positiv);
			printf("Anzahl negativer Eingaben: %d\n", negativ);
			i++;
		}
		else {
			printf("Der Wert muss positiv sein\n");
			negativ++;
			printf("Anzahl positiver Eingaben: %d\n", positiv);
			printf("Anzahl negativer Eingaben: %d\n", negativ);
		}
	}
}


__________________
Syntax Highlighting fürs Board (Link)
01.12.2015 19:44 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke erstmal.

Ist das der Quellcode zu der erweiterten Aufgabe "Sichere Eingabe''?
02.12.2015 05:01 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Erweitern Sie Ihr Programm zu Einlesen von N Messwerten um eine sichere Eingabe. D.h. bei der Eingabe der Zahl der Messwerte soll nur eine positive ganze Zahl akzeptiert werden. Fehleingaben sollen zu einem Hinweis und zu einer weiteren Eingabemöglichkeit führen.

Erstellen Sie vor dem Beginn der Programmierarbeit bitte ein Struktogramm!

Zählen Sie außerdem mit, wie viele positive und negative Werte eingegeben wurden.

Die Ermittlung des größten und kleinsten eingegebene Wertes soll bereits ab dem ersten Wert und ohne eine Sonderbehandlung für diesen Wert erfolgen. Wie belegt man die Werte für den Größten und kleinsten Wert sinnvoll vor?

grün: ist erledigt
gelb: teilweise
rot: musst du noch machen

Es wird auf negative Eingaben geprüft. Es kann aber auch passieren, dass der Nutzer als Messwert "achtzehn" oder "1,6" (mit Komma) schreibt, das wird nicht abgefangen.

Statt des if(i == 1) { kannst du dem Minimum den größtmöglichen Wert zuweisen und dem Maximum den kleinsten. Dann werden die ohnehin wieder überschrieben.

__________________
Syntax Highlighting fürs Board (Link)
02.12.2015 16:42 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke soweit, ich werde versuchen das zu machen, und dann schreibe ich dir die Tage.
Obowhl mir das Struktogramm super schwer fällt.
03.12.2015 03:52 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
Whiss
Mitglied


Dabei seit: 25.11.2015
Beiträge: 29

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo, ich weiß jetzt nicht, wie ich das Struktogramm anfangen soll, das ist echt kompliziert.


Messwerte einlesen würde oben hinkommen.
.
.
.
.
usw..


---------------------
Die Ermittlung des größten und kleinsten eingegebene Wertes soll bereits ab dem ersten Wert und ohne eine Sonderbehandlung für diesen Wert erfolgen.

Ich verstehe nicht, wie das gemeint ist, geschweige denn, dass noch zu Programmieren , q.q

Bitte hilf mir traurig verwirrt
</body> </html>
05.12.2015 10:28 Whiss ist offline Beiträge von Whiss suchen Nehmen Sie Whiss in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Kleine Programmierung (kein hohes Niveau)