www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstige" - Ocaml
Ocaml < Sonstige < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstige"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Ocaml: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:05 Do 09.10.2008
Autor: csak1162

Aufgabe
Geben sie für die folgenden FUnktionen

String.length
print_endline
print_string
print_char
print_newline


den jeweiligen Typ an und beschreiben Sie die Arbeitsweise für jede Funktion anhand eines kurzen Beispiels genauer

wir sind in der Vorlesung nicht mehr bis dahin gekommen, und ich weiss jetzt nicht, was ich machen soll


# let name = "Informatik"
  ;;
val name : string = "Informatik"
# String.length name;;
- : int = 10
# print_endline name;;
Informatik
- : unit = ()
# print_string;;
- : string -> unit = <fun>
# print_char name;;
Characters 11-15:
  print_char name;;
             ^^^^
This expression has type string but is here used with type char
# print_string name;;
Informatik- : unit = ()
# print_newline name;;
Characters 14-18:
  print_newline name;;
                ^^^^
This expression has type string but is here used with type unit
# name;;
- : string = "Informatik"
# String.sub name 0 4;;
- : string = "Info"
#


das erhalte ich, wenn ich es in OCaml eingebe, was bedeutet das jetzt


bei length werden die Buchstaben gezählt, oder??
und string.sub schneidet irgendwo ab, aber bei den anderen habe ich keine Ahnung, weiß jemand was ich da tun soll, bzw, was das bedeutet oder wie das geht??


danke



        
Bezug
Ocaml: danke
Status: (Frage) beantwortet Status 
Datum: 16:09 Do 09.10.2008
Autor: csak1162

Aufgabe
Geben Sie den String "Hello World!!" mit HIlfe einer entsprechenden, bereits in OCaml verhandenen Fuktion aus

muss ich da einfach print_string eingeben oder etwas anderes??

Bezug
                
Bezug
Ocaml: Antwort
Status: (Antwort) fertig Status 
Datum: 20:26 Fr 10.10.2008
Autor: Martin243

Hallo,

das funktioniert doch, oder? Wenn also nicht ausdrücklich etwas anderes verlangt wurde, geht es mit dieser Funktion.


Gruß
Martin

Bezug
        
Bezug
Ocaml: Antwort
Status: (Antwort) fertig Status 
Datum: 20:25 Fr 10.10.2008
Autor: Martin243

Hallo,

vielleicht wirfst du mal am besten einen Blick auf diese []Dokumentation. Da sind all diese Funktionen kurz beschrieben.


Gruß
Martin

Bezug
                
Bezug
Ocaml: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 14:16 So 12.10.2008
Autor: csak1162

wei erkenne ich, welchen Typ diese Funktionen haben??

danke

Bezug
                        
Bezug
Ocaml: Antwort
Status: (Antwort) fertig Status 
Datum: 14:49 So 12.10.2008
Autor: Martin243

Hallo,

einfach den Funktionsnamen eintippen, mit ;; abschließen und fertig. Es wird der entsprechende Typ vom Interpreter angezeigt.


Gruß
Martin

Bezug
                                
Bezug
Ocaml: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:01 So 12.10.2008
Autor: csak1162

welches ist jetzt der Typ in diesem Beipiel???
string, int oder fun


# String.length;;
- : string -> int = <fun>

steh grad voll auf der Leitung!
danke

Bezug
                                        
Bezug
Ocaml: Antwort
Status: (Antwort) fertig Status 
Datum: 15:52 So 12.10.2008
Autor: Martin243

Hallo,

nun, es könnte sein, dass du da etwas von der funktionalen Programmierung nicht verstanden hast. String.length ist eine Funktion mit dem Typ string -> int. Das bedeutet, dass man diese Funktion auf einen string anwenden kann und das Ergebnis vom Typ int ist.
Interessanter ist es z.B. bei der Funktion String.sub: Die hat den Typ string -> int -> int -> string. Das bedeutet:
1. Wendet man die Funktion auf einen String an, erhält man eine Funktion vom Typ int -> int -> string.
2. Wendet man die Funktion auf einen string und einen itn an, erhält man eine Funktion vom Typ int -> string.
3. Wendet man die Funktion auf einen string und zwei ints an (was du wahrscheinlich brauchen wirst), erhält man einen string.


Gruß
Martin

Bezug
                
Bezug
Ocaml: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:06 So 12.10.2008
Autor: csak1162

bei diesem Befehl stehe ich irgendwie auf der Leitung, was macht der genau und wieso bekomme ich hier eine Fehlermeldung???

# print_newline "Informatik;;
Characters 14-18:
  print_newline "Informatik";;
                ^^^^
This expression has type string but is here used with type unit

Bezug
                        
Bezug
Ocaml: Antwort
Status: (Antwort) fertig Status 
Datum: 16:09 So 12.10.2008
Autor: Martin243

Hallo,

in meinem anderen Beitrag habe ich die Funktion print_endline erwähnt! Du kannst ja den Typ von print_newline herausfinden. Du wirst sehen, da passt dein string nicht dazu.


Gruß
Martin

Bezug
        
Bezug
Ocaml: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 19:16 Sa 11.10.2008
Autor: csak6632

Aufgabe
Schreiben sie eine Funktion, die einen String beliebiger L¨ange sowie bestehend aus
beliebigen Zeichen, vertikal statt horizontal darstellt (in jeder Zeile ein Zeichen des
Strings). Geben Sie als letzte Zeile zus¨atzlich den String ”ENDE“ aus (2 Punkte).

Koennten Sie mal mit dieser Uebung helfen, ich hab' schnon ganzen Tag im Internet gesurft und nix gefunden. Vielen Dank im voraus!> Geben sie für die folgenden FUnktionen

>
> String.length
>  print_endline
>  print_string
>  print_char
>  print_newline
>  
>
> den jeweiligen Typ an und beschreiben Sie die Arbeitsweise
> für jede Funktion anhand eines kurzen Beispiels genauer
>  wir sind in der Vorlesung nicht mehr bis dahin gekommen,
> und ich weiss jetzt nicht, was ich machen soll
>  
>
> # let name = "Informatik"
>    ;;
>  val name : string = "Informatik"
>  # String.length name;;
>  - : int = 10
>  # print_endline name;;
>  Informatik
>  - : unit = ()
>  # print_string;;
>  - : string -> unit = <fun>

>  # print_char name;;
>  Characters 11-15:
>    print_char name;;
>               ^^^^
>  This expression has type string but is here used with type
> char
>  # print_string name;;
>  Informatik- : unit = ()
>  # print_newline name;;
>  Characters 14-18:
>    print_newline name;;
>                  ^^^^
>  This expression has type string but is here used with type
> unit
>  # name;;
>  - : string = "Informatik"
>  # String.sub name 0 4;;
>  - : string = "Info"
>  #
>
>
> das erhalte ich, wenn ich es in OCaml eingebe, was bedeutet
> das jetzt
>  
>
> bei length werden die Buchstaben gezählt, oder??
>  und string.sub schneidet irgendwo ab, aber bei den anderen
> habe ich keine Ahnung, weiß jemand was ich da tun soll,
> bzw, was das bedeutet oder wie das geht??
>  
>
> danke
>  
>  


Bezug
                
Bezug
Ocaml: Antwort
Status: (Antwort) fertig Status 
Datum: 13:02 So 12.10.2008
Autor: Martin243

Hallo,

eine Funktion, die die Ausgabe immer mit einem Zeilenumbruch beendet, kennst du schon: print_endline.
Du benötigst nun eine rekursive Funktion, die immer das erste Zeichen des Strings mit Zeileumbruch am Ende ausgibt und sich rekursiv auf dem Rest des Strings aufruft. Sobald der String aber leer ist (Länge 0), soll die Funktion nur noch "ENDE" ausgeben.
Du brauchst hier vor allem die Stringfunktionen, die dir zur Verfügung stehen, wenn du eingibst:
#use "string.ml";;
Die Fallunterscheidung nach Länge des Strings würde ich mit
match ... with ...
realisieren.
Zum Nachschlagen reichen mir persönlich die beiden Links: []A Concise Introduction to Objective Caml
und []The Objective Caml system release 3.10, bin aber auch kein Experte.


Gruß
Martin

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstige"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de