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

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 13 von 13 Treffern
Autor Beitrag
Thema: ELOPs zählen.
Nunzio

Antworten: 11
Hits: 10.023
29.01.2016 20:09 Forum: Algorithmen


Zitat:
Original von eulerscheZahl
Ich sollte nicht Handball schauen und nebenher hier schreiben unglücklich


Tut mir leid, ich bin einfach schwer von Begriff. unglücklich

Okay, das leuchtet ein, hast du vielleicht eine kleine Übungsaufgabe für mich?
Thema: ELOPs zählen.
Nunzio

Antworten: 11
Hits: 10.023
29.01.2016 19:31 Forum: Algorithmen


Wieso wird die erste while Schleife x mal ausgeführt und die 2. x+1? Ich kann mir das überhaupt nicht vorstellen. Also ich habe gedacht, dass die while Schleife x mal durchläuft und beim letzten versuch zwar prüft, aber nicht durchläuft. Wieso ist das in der zweiten so, aber in der ersten nicht?
Thema: ELOPs zählen.
Nunzio

Antworten: 11
Hits: 10.023
29.01.2016 19:20 Forum: Algorithmen


Also jetzt versteh ich wirklich überhaupt nichts mehr. Kann es sein, das dieses Thema überall anders gelehrt wird? In vielen Skripten die ich mir online rausgesucht habe, steht was anderes :/ Also ist die Zeitkomplexität einfach die Anzahl ELOPS?
Thema: ELOPs zählen.
Nunzio

Antworten: 11
Hits: 10.023
29.01.2016 19:00 Forum: Algorithmen


Wieso denn xn? Wir haben in der Uni vergleichbare Sachen mit Elops durchgezählt, aber niemals wurden 2 Buchstaben verwendet :/ Jetzt bin ich verwirrt. Was kommt denn dann als Ergebnis raus?
Thema: ELOPs zählen.
Nunzio

Antworten: 11
Hits: 10.023
29.01.2016 18:38 Forum: Algorithmen


Hey, danke für deine Antwort.

Könntest du vielleicht meinen Text kopieren und dort die ELOPS ändern? Ich kann nicht verstehen, was du wo änderst.

Liebe Grüße

n muss nehmen, weil das so vorgegeben ist bei mir.
Thema: ELOPs zählen.
Nunzio

Antworten: 11
Hits: 10.023
ELOPs zählen. 29.01.2016 17:40 Forum: Algorithmen


Hey,

Ich will in einigen Algorithmen die maximalen ELOPS zählen. Hab dafür folgende Aufgabe

Der Algorithmus berechnet die Dualdarstellung einer Dezimalzahl

Eingabe : Positive Zahl x
n:= 1; // 1 ELOP
h:= x; // 1 ELOP
while (h>1) { // n + 1 ELOP (Die Schleife wird ja n mal durchlaufen, also n Abfragen + 1, da die letzte Abfrage ja mit falsch beantwortet wird und es dann weitergeht.
h := h/2; // 2n ELOPS
n := n+1 // 2n ELOPS
}
while (n > 0) { // n + 1 ELOP
yn := x%2; // 2n ELOPS
x := x/2; // 2n ELOPS
n := n-1; // 2n ELOPS
}
Ausgabe : y1, y2,....., yn.

Also 12n + 4 ELOPS. Ist das richtig? Und wie schreibe ich das dann auf also ala Tmax (A,x)?
Thema: Übung mit structs
Nunzio

Antworten: 1
Hits: 2.958
Übung mit structs 27.01.2016 01:53 Forum: Praktische Informatik


Hey, Ich hab versucht ein Programm zu schreiben um Autodaten zu verwalten, nur leider bekomm ich das nicht ans laufen.

Könnt ihr mir einen Tipp geben? Ich weiß echt nicht wo der Fehler ist. :/

Vielen Dank im Voraus.

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:
49:
#include <stdio.h> 
#include <string.h> 
#include <stdlib.h> 
#define MAX 30  

void addcar(int nr, struct car new[]){ 	
printf("Bitte geben Sie die Marke des Wagens an: "); 	
fgets(new[nr].marke, 30, stdin); 	
printf("Bitte geben Sie das Modell des Wagens an: "); 	
fgets(new[nr].modell, 30, stdin); 	
printf("Bitte geben Sie das Baujahr des Wagens an: "); 	
fgets(new[nr].baujahr, 30, stdin); 
printf("Bitte geben Sie die Pferdestärken des Wagens an: "); 	
fgets(new[nr].ps, 30, stdin); 
}   

struct car { 	
char marke[MAX]; 	
char modell[MAX]; 	
int baujahr; 	
int ps; } inf[200];
 
int main(void){ 	
static int fertig = 0; 	
char menu; 	
static int index = 0;; 	 	
while(fertig!= 1){ 		
printf("Willkommen in der Automobildatenbank AMDB.\n"); 		
printf("Bitte waehlen Sie unter folgenden Aktionen:\n"); 		
printf("a : Auto in Datenbank aufnehmen.\nl : Alle eingespeicherten Autos auflisten.\nd : Auto anhand von Index loeschen.\ne : Beenden der Datenbank.\n"); 		scanf("%c", &menu); 		
getchar(); 		
switch(menu){ 			
case 'a' : 			
addcar(index, inf); 			
index++; 			
break; 			
case 'l' : 			
break; 			
case 'd' : 			
break; 			
case 'e' : 			
fertig = 1; 			
break; 			
default : 			
printf("Funktion nicht verfuegbar. Versuchen Sie es erneut."); 			break; 		 		
} 	
} 	
return 0; 
}


Ist natürlich noch nicht fertig. Und sorry für die fehlenden Tabs, irgendwie kopiert er die hier nicht rein.
Thema: Pointer Fehlersuche.
Nunzio

Antworten: 5
Hits: 4.476
23.01.2016 17:16 Forum: Praktische Informatik


Danke für deine Antwort. Haben heute die Lösung bekommen und dort steht drin, das der erste Programmabschnitt den Fehler III enthält, aber ich verstehe nicht wieso. Ist das nicht falsch?
Thema: Pointer Fehlersuche.
Nunzio

Antworten: 5
Hits: 4.476
21.01.2016 16:28 Forum: Praktische Informatik


Vielen Dank für deine Antwort erstmal. Ich habe noch 7 weitere kleine Ausschnitte.

2.
int main()
{
char zeichen, *p;
p = &zeichen;
printf("%c", *p);
return 0;
}

p wird hier auf zeichen umgebogen, bzw. zeigt auf zeichen. (sagt man das so?) Zeichen wurde aber nicht initialisiert, also würde ich hier Fehler II sagen.

3.
int main()
{
double d, *p;
*p = 77;
printf("%f", *p);
return 0;
}

Hier zeigt der Zeiger noch "irgendwohin", wurde also noch nicht initialisiert. (Fehler I) Zusätzlich vermute ich, das da nichts gutes bei rumkommen kann, wenn man jetzt versucht einen nicht initialisierten Zeiger mit einer Variable zu füttern. Deswegen würde ich hier auch noch Fehler IV hinschreiben.

4.
int main()
{
int zahl = 5;
double *p;
p = &zahl;
printf("%i", *p);
return 0;
}

hier wird ein Zeiger vom Datentyp double * auf eine int-adresse umgebogen und das ist Fehler III. Allerdings klappt es in auf meinem Computer trotzdem. großes Grinsen

5.
int main()
{
int v[2], *p;
p = v;
printf("%i", *p);
return 0;
}

Die einzelnen Bestandteile des Feldes wurden nicht initialisiert und p zeigt jetzt auf die erste Adresse des Arrays. (richtig?) Also ist das hier Fehler II. Ich kann mir allerdings nicht erklären, wieso da 0 rauskommt.

6.
int main()
{
char v[] = {1, 2, 3}, w[3];
char *p;
p = v;
w = p;
printf("%c", w[0]);
return 0;
}

Hier bin ich mir nicht sicher. p allein enthält ja die Adresse auf die gezeigt wird. Wird also versucht der ersten Feldvariable eine neue Adresse zu geben? Ich habe einfach Fehler IV angegeben. Könnte auch sein das der adresswertige Ausdruck nicht kompatibel zu w ist, daher will ich Fehler III nicht ausschließen.

7.
int main()
{
int v[2];
*v = 1;
v++;
*v = 2;
printf("(%i,%i)", v[0],
v[1]);
return 0;
}

Hier wird versucht die Adresse zu inkrementieren. (vermute ich) Also wird versucht die Adresse der ersten Feldvariable zu ändern, was ja nur schiefgehen kann. Fehler IV.

8.
code:
1:
2:
3:
4:
5:
6:
7:
int main()
{ 
char v[] = {65, 66}, *p;
p = v[0]; 
printf("%c", *p); 
return 0;  
}

Hier zeigt der Zeiger auf einen inkompatiblen Datentyp und somit ist der Zeiger auch nicht korrekt initialisiert worden. Fehler I und III.

Vielen Dank im Voraus. EDIT : Hab jetzt rausgefunden, wie ich den Code ansprechender einfügen kann, ab jetzt mache ich das immer so. Ich hoffe man kann jetzt noch drüber hinwegsehen, ist ja kein umfangreicher Code.
Thema: Pointer Fehlersuche.
Nunzio

Antworten: 5
Hits: 4.476
Pointer Fehlersuche. 20.01.2016 18:33 Forum: Praktische Informatik


Grüße, ich hab hier eine Aufgabe mit Pointern. Dort sind kleine Programmausschnitte gegeben wo Fehler drin stecken und ich soll die Fehler erkennen und diese einordnen. Diese Fehler gibt es :
I. Dereferenzierung eines nicht initialisierten Zeigers ("zeigt irgendwohin").
II. Zeiger zeigt auf nicht initialisierte Variable.
III. Wertzuweisung an Zeiger mit inkompatiblem Datentyp.
IV. Versuch, einer Feldvariable eine neue Adresse zuzuweisen.

Das wäre der Ausschnitt Nummer 1.

int main()
{
int zahl = 33, *q;
q = zahl;
printf("%i", *q);
return 0;
}

Ich weiß, dass das & vor zahl fehlt, aber ich bin mir nicht so richtig sicher, welcher Fehler das ist. Ich würde sagen das wäre Fehler 1, weil der Zeiger ja erstellt wird, aber nicht halt nicht richtig .. mit Daten gefüttert sag ich jetzt mal. Hab' ich das jetzt richtig so gemacht? Komme auch mit dem Ausdruck dereferenzieren nicht so recht klar. Ich hoffe mir kann jemand helfen, liebe Grüße!
Thema: Automat M formal darstellen
Nunzio

Antworten: 1
Hits: 4.525
Automat M formal darstellen 21.04.2013 21:37 Forum: Automatentheorie


Meine Frage:
Hallo,

ich soll einen Automaten formal darstellen, ich kenne zwar die Komponenten die benötigt werden, aber ich weiß nicht, ob ich z.B. eine konkrete Zahl als Sigma einsetzen kann oder eben nicht.

Meine Ideen:
Kann mir jemand ein anhand eines Beispiels zeigen, wie man einen Automaten formal aufschreibt? Ich würde euch dann meine Aufgabe vorrechnen.
Thema: Kleenescher Abschluss
Nunzio

Antworten: 3
Hits: 4.573
21.04.2013 20:47 Forum: Theoretische Informatik


Hallo Karlito,

danke für deine schnelle Antwort.

Nun gut, ich schreibe jetzt die Definition aus dem Buch von Uwe Schöningh "theoretische Informatik - kurz gefasst" ab.

Für ein gegebenes Alphabet Sigma bezeichne Sigma* die Menge aller Wörter, die sich durch Konkatenation von Symbolen aus Sigma bilden lassen. DIes ist nichts anderes als die Menge aller endlichen Folgen von Elementen aus Sigma. DIes schließt auch die leere Folge, bzw. das leere Wort ein, welches wir mit epsilon beschreiben.

Mit Sigma+ bezeichnen wir Sigma* - {epsilon}

Nunja, ich würde immer noch sagen, das dort die leere Sprache herauskommt, weil das epsilon ja durch die Annahme gestrichen wurde...

Leider kann ich deine zusätzlichen Fragen nicht beantworten. Ich verstehe nicht was ich da nun machen soll unglücklich

mfg Nunzio
Thema: Kleenescher Abschluss
Nunzio

Antworten: 3
Hits: 4.573
Kleenescher Abschluss 18.04.2013 13:10 Forum: Theoretische Informatik


Meine Frage:
Hallo, ich habe eine Frage zur folgenden Aufgabe aus meinem Skript :

W1.1 (Kleenescher Abschluss)
Beweisen oder widerlegen sie ausführlich : Für jede Sprache L mit epsilon(das leere Wort) ist nicht Element aus L gilt L*/L+ = epsilon



Meine Ideen:
Also ich hab folgende Vermutung. Ich denke es stimmt nicht, da :

L* alle Konkatenationen von null oder mehr Wörtern aus L darstellt und
L+ alle Konkatenationen von einem oder mehr Wörtern aus L darstellt.

Also ist die Differenz von L* und L+ doch die leere Sprache und nicht das leere Wort, oder sehe ich das falsch? Seit bitte nicht so hart mit mir, das war die erste Vorlesungsstunde :P

Vielen Dank im Vorraus
Zeige Beiträge 1 bis 13 von 13 Treffern