Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: Rund um die Programmierung ::  Wo fängt ein Algorithmus an und wo hört er auf?  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
MisterX
Unregistrierter




Beitrag MisterX Unregistrierter 16:05:04 31.03.2012   Titel:              Zitieren

uch gut :D

Zitat:
Was du meinst, ist partielle (terminiert manchmal) und totale (terminiert immer) Korrektheit


Windows 98 ist total Korrekt, Windows 7 nicht mal mehr partiel :D
funksteuerung
Unregistrierter




Beitrag funksteuerung Unregistrierter 16:25:22 31.03.2012   Titel:              Zitieren

Kann man eigentlich sagen, dass nichts, wo zwischendruch externe Ereignisse (Nutzereingabe, Hardwareinterrupt) den Ablauf beeinflussen, ein Algorithmus ist?
cooky451
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.10.2010
Beiträge: 6871
Beitrag cooky451 Mitglied 16:36:46 31.03.2012   Titel:              Zitieren

funksteuerung schrieb:
Kann man eigentlich sagen, dass nichts, wo zwischendruch externe Ereignisse (Nutzereingabe, Hardwareinterrupt) den Ablauf beeinflussen, ein Algorithmus ist?
Vielleicht kann man das als Parameter sehen, und dann quasi ein Template erstellen, das einen Algorithmus für jede Eingabekonfiguration erzeugt. (Das Template selbst wäre dann wieder ein Algorithmus?)

_________________
Sie sind nicht berechtigt unrechtmäßige Kopien dieses Datenträgers zu erstellen.™
Keksverteilungsbeauftragter
FJB
Unregistrierter




Beitrag FJB Unregistrierter 17:47:43 31.03.2012   Titel:              Zitieren

@cooky451: Was meinst du mit Template?

Der Algorithmusbegriff abstrahiert eben von solchen maschinennahen Problemen.
Deswegen ist es kein besonders aussichtsreiches Unterfangen, den Algorithmus "Betriebssystem" beschreiben zu wollen. Mehr Sinn macht es, die einzelnen Algorithmen, die in einem OS zusammenarbeiten zu sehen. Dann treten solche Fragen nach Interrupts gar nicht mehr auf.
otze
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.01.2004
Beiträge: 7180
Beitrag otze Mitglied 18:08:27 31.03.2012   Titel:              Zitieren

Usereingabe kann man schon in einen Algorithmus integrieren.

"Sei s1...sn die endliche Nutzereingabe der Länge n". Fertig. Zwar kann der Algorithmus erst terminieren, wenn der Benutzer das letzte benötigte Zeichen (sn) eingegeben hat, tut er dies aber nicht, ist die Eingabe ungültig. Und auf ungültigen Eingaben braucht kein Algorithmus mehr irgendwelche Vorgaben erfüllen - außer, sie sind weiterhin angegeben.

_________________
Jesus Christus! Da blickt ja kein Mensch mehr durch.


Zuletzt bearbeitet von otze am 18:08:46 31.03.2012, insgesamt 1-mal bearbeitet
JFB
Unregistrierter




Beitrag JFB Unregistrierter 18:50:06 31.03.2012   Titel:              Zitieren

Das ist nicht das, worauf funksteuerung hinauswollte, glaube ich.
Dass man eine Nutzereingabe vorschalten kann ist klar, aber eben keine (asynchronen?) Interrupts.
cooky451
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.10.2010
Beiträge: 6871
Beitrag cooky451 Mitglied 19:00:46 31.03.2012   Titel:              Zitieren

Soweit ich das verstehe kann man halt einen Algorithmus erstellen der für eine unendliche Menge an Eingaben/Eingabezeitpunkten eine endliche Menge von Übergängen/Ergebnissen beschreibt.

Edit: Was übrigens dazu führen würde, dass man Betriebssysteme als Algorithmen beschreiben kann, weil diese ja bei bestimmten Eingaben anhalten?

_________________
Sie sind nicht berechtigt unrechtmäßige Kopien dieses Datenträgers zu erstellen.™
Keksverteilungsbeauftragter


Zuletzt bearbeitet von cooky451 am 19:02:19 31.03.2012, insgesamt 2-mal bearbeitet
otze
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.01.2004
Beiträge: 7180
Beitrag otze Mitglied 19:03:19 31.03.2012   Titel:              Zitieren

Wer sagt, dass man Nutzereingaben in einem Algorithmus über Interrupts realisieren muss? Es gibt so viele gute Abstraktionen, die genau solche Probleme umgehen. Linux Datenströme führen Beispielsweise genau zu einer Abstraktion wie: "Die menge aller Nutzereingaben über stdin ist ein Datenstrom s1...sn"

//edit funktionale Sprachen machen exakt dieselbe Abstraktion, da sie aufgrund der funktionalen Einschränkungen formal keine Interrupts realisieren können.

Eine Eingabeoperation ließt von deinem Datenstrom s1...sk die ersten m zeichen. Dass wenn m > k die Laufzeitumgebung den Nutzer nach Eingaben fragen muss, ist aber für den Algorithmus völlig unerheblich.

_________________
Jesus Christus! Da blickt ja kein Mensch mehr durch.


Zuletzt bearbeitet von otze am 19:05:50 31.03.2012, insgesamt 1-mal bearbeitet
JFB
Unregistrierter




Beitrag JFB Unregistrierter 19:19:16 31.03.2012   Titel:              Zitieren

@cooky451: Ich weiß nicht genau was du meinst, aber "unendliche Menge an Eingabezeitpunkten" wird, wenn du von einem Zeitkontinuum ausgehst, zum Problem, weil die Menge der Algorithmen abzählbar unendlich ist.

@otze: Ja, eben. Aber irgendwer muss sich auf irgendeiner Ebene mit Interrupt handling auseinandersetzen. Dass sich das so abstrahieren lässt, um es sauber beschreiben zu können ist klar. Nur das ist ja genau der Punkt: Lässt sich auch die "tiefe" Ebene sauber beschreiben?

Ich glaube nicht, dass das ordentlich möglich ist. Alleine schon deswegen, weil sich jede berechenbare Funktion auch im Lambda-Kalkül beschreiben lässt, und da ist das mit der Zeitlichen Anordnung von Anweisungen so eine Sache (siehe auch das Verarbeiten von Nutzereingaben in Haskell...)
JFB
Unregistrierter




Beitrag JFB Unregistrierter 19:20:44 31.03.2012   Titel:              Zitieren

(Zum letzten Abschnitt siehe auch dein edit :))
c++.de :: Rund um die Programmierung ::  Wo fängt ein Algorithmus an und wo hört er auf?  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.