 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
mitchellandness
Anmeldungsdatum: 07.11.2013 Beiträge: 1
|
Verfasst am: 07.11.2013, 17:01 Titel: Fragen zu verschiedenen Befehlen-bitte helfen<3 |
|
|
Hallo,
Ich schreibe morgen eine Klassenarbeit in Informatik und verstehe das alles nicht.
Ich habe einige Fragen und hoffe dass ihr sie mir beantworten könnt. Ich wäre darüber total froh
1. Was ist der unterschied zwichen integer,single und string? Wann verwendet man was und wofür?
2 Wie funktioniert DATA? Was muss man eingeben; wann und wofür benutzt man es?
3. Was möchte man mit READ erreichen?
4. Wann verwendet man i=1 TO ... (bsp.20)
5. Wie funktioniert RANDOMIZE TIMER?
6. Was muss man eingeben damit eine zufällige Zahl zwichen ... und ... ausgedrückt wird?
7. Warum verwendet man manchmal statt IF SELCECT CASE? Was ist der Unterschied?
8. Wie kann man Zähler machen & dass sie bei der eingabe automatisch um 1 erhöht werden?
9. Wie schreibt man so ein Programm:
-Geburtstagsprogramm enthält Namen & Geburtsdaten
-Benutzer muss namen eingeben
-Name und geburtsdatum wird angezeigt
-fehlermeldung falls person nicht in der liste ist.
Danke im vorrau. Ich weiß es ist nicht viel aber es würde mir schon helfen wenn ihr eine frage beantwortet.. Bitte ich habe keine ahnung davon und habe es leider auf www.freebasic-portal.de/ auch nicht verstanden. [/quote] |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 07.11.2013, 17:51 Titel: Re: Fragen zu verschiedenen Befehlen-bitte helfen<3 |
|
|
Hallo mitchellandness,
willkommen im Forum!
mitchellandness hat Folgendes geschrieben: | Ich schreibe morgen eine Klassenarbeit in Informatik und verstehe das alles nicht. |
Wär es nicht evtl. eine Idee gewesen, in den Unterrichtsstunden vorher einfach den Lehrer zu fragen, dass er es noch mal erklären soll? Dass dir erst unmittelbar am Nachmittag vor der Klassenarbeit einfällt, dass du "alles nicht verstehst", ist schon ein bisschen kurzfristig.
Ich versuch mich mal an ein paar Fragen, auch wenn ich mir jetzt nicht unbedingt mehrere Stunden Zeit zum Schreiben habe. Ich versuch's möglichst einfach zu erklären.
Zitat: | 1. Was ist der unterschied zwichen integer,single und string? Wann verwendet man was und wofür? |
Das sind alles Datentypen, mit denen Programme ihre Daten speichern können. Unter den elementaren Datentypen gibt es im Wesentlichen 2 Gruppen. Zum einen gibt es Datentypen, mit denen man rechnen kann und mit denen Zahlen verarbeitet werden. Zum anderen gibt es welche, die einfach irgendwelche Texte, Dateien, Fotos, ... enthalten können, mit denen man nicht rechnen kann. Nehmen wir an, du hast ein Digitalfoto gemacht, das als JPG-Datei vorliegt. Hier würde es keinen Sinn machen, +1 zu addieren. Oder du hast einen Text wie "Hallo Welt!" - was sollte da passieren, wenn man den durch 3,5 teilt? Das wäre ebenfalls natürlich Quatsch. Hier mal eine kleine Gliederung nach Verwendungszwecken:
Code: | A) Datentypen zum Rechnen (Zahlen)
A.1) Ganzzahlen wie ..., -3, 0, 1, 123, ... => INTEGER
A.2) Kommazahlen wie ..., -1.234, 0.0, 42.903, ... => SINGLE oder DOUBLE
B) Datentypen für Texte und Sonstiges => STRING |
Durch die sog. Deklaration legst du fest, welchen Datentyp eine Variable (= eine Speicherstelle für Daten des Programms. Kann man sich vorstellen wie eine Schublade) haben soll.
Zitat: | 2 Wie funktioniert DATA? Was muss man eingeben; wann und wofür benutzt man es? |
Mit DATA lassen sich irgendwelche Nutzdaten gesammelt an einer Stelle im Programm-Quelltext speichern. Die DATA-Zeilen werden einfach untereinander geschrieben und können beliebig erweitert werden. Das benutzt man, wenn man nicht nur eine Zahl oder ein Wort im Quelltext speichern will, sondern z. B. ganze Listen von Daten.
Mit DATA-Zeilen könntest du z. B. eine Telefonliste für deine Klasse programmieren. Die Namen und Telefonnummern würden mit DATA-Zeilen im Quelltext vermerkt. Egal, ob es 10, 20 oder 1000 Telefonlisten-Einträge wären. Dein Programm könnte die DATA-Zeilen dann später auslesen und dir zu einem bestimmten Schüler die Telefonnummer anzeigen.
Mehr Infos siehe hier: http://www.freebasic-portal.de/befehlsreferenz/data-132.html
Zitat: | 3. Was möchte man mit READ erreichen? |
Mit READ werden im Quelltext hinterlegte DATA-Zeilen ausgelesen, wenn das Programm läuft. DATA dient praktisch zum Ablegen/Speichern der Infos im Quelltext deines Programms und mit READ holt sich das Programm die Zeilen aus "seinem Gedächtnis" hervor.
Siehe: http://www.freebasic-portal.de/befehlsreferenz/read-418.html
Zitat: | 4. Wann verwendet man i=1 TO ... (bsp.20) |
Das verwendet man im Zusammenhang mit Zählschleifen, die mit FOR realisiert werden. Damit kann man erreichen, dass bestimmte Befehle bspw. für alle Zahlen von 1 bis 20 ausgeführt werden, also im Beispiel genau 20 mal. Eine Zählschleife mit i = 1 TO 20 würde man benutzen, wenn man von vornherein weiß, dass die Befehle innerhalb der Schleife genau 20x ausgeführt werden sollen. Innerhalb der Schleife kann man auch auf das i zugreifen, um festzustellen, die wie vielte Runde man gerade durchläuft. Hier ein kleines Beispiel:
Code: | Dim i As Integer 'Integer bedeutet Ganzzahl
For i = 1 To 10
Print "Das ist der " & i & ". Durchlauf dieser Schleife."
Next i
Sleep
End |
Du musst die Zeile "Das ist ..." also nicht 10x in den Programm-Quelltext reinschreiben, sondern du kannst dem Programm sagen, dass es das, was zwischen FOR und NEXT steht, 10x ausführen soll.
Zitat: | 5. Wie funktioniert RANDOMIZE TIMER? |
Damit wird der Pseudozufallszahlen-Generator initialisiert. Die Zeile muss man einfach auswendig lernen und muss nichts Genaueres darüber wissen, wie das funktioniert. Diese Zeile muss man einfach immer dann ganz an den Anfang seines Programms schreiben, wenn man mit Zufallszahlen arbeiten will.
Die Zufallszahlen erhält man mit RND. Wenn du irgendwo im Programm Zufallszahlen mit RND erzeugen willst, musst du vorher ganz am Anfang des Programms 1x "RANDOMIZE TIMER" stehen haben. Wenn du dir den Zufallszahlen-Generator als Maschine vorstellst, wäre "RANDOMIZE TIMER" quasi der Start-Knopf.
(Für die anderen User: Jaja, ich weiß, das ist ziemlich vereinfacht und technisch nicht ganz treffend erklärt, aber es geht ja nur um das ganz grundlegende Verständnis. Darum verzichte ich auch mal auf ausführlichere Auslassungen zum Präfix "Pseudo".)
Zitat: | 6. Was muss man eingeben damit eine zufällige Zahl zwichen ... und ... ausgedrückt wird? |
Das steht aber wirklich in der Befehlsreferenz:
http://www.freebasic-portal.de/befehlsreferenz/rnd-430.html
Zitat: | 7. Warum verwendet man manchmal statt IF SELCECT CASE? Was ist der Unterschied? |
Beides dient dazu, das Programm je nach Bedingungen verzweigen zu lassen. Wenn dieses oder jenes zutrifft, tu dies oder das.
Der Unterschied ist, dass man IF tendenziell verwendet, man zwischen wenigen Auswahlmöglichkeiten entscheidet. Oder man nur eine Entscheidung hat wie "Wenn X zutrifft, tu Y, andernfalls in allen anderen Fällen mach Z".
SELECT CASE verwendet man, wenn man viele Fälle unterscheidet. Beispiel:
Code: | Dim Note As Integer
Note = 3
Select Case Note
Case 1: Print "Hey, das ist SEHR GUT!"
Case 2: Print "GUT gemacht!"
Case 3: Print "Alles in Ordnung, das war ein BEFRIEDIGEND."
Case 4: Print "Gerade noch AUSREICHEND..."
Case 5: Print "Sorry, das war MANGELHAFT."
Case 6: Print "Setzen, 6, UNGENUEGEND."
Case Else: Print "Fehler: Du hast keine Schulnote eingetragen."
End Select
Sleep
End |
Du kannst ja mal ausprobieren, was passiert, wenn du in der 2. Zeile statt "Note = 3" andere Werte einträgst.
Zitat: | 8. Wie kann man Zähler machen & dass sie bei der eingabe automatisch um 1 erhöht werden? |
Für einen Zähler verwendet man Ganzzahlen, also INTEGER. Beispiel:
Code: | Dim Zaehler As Integer
Zaehler = 1 ' Ersten Wert festlegen
'..... irgendwas tun (z. B. Eingabe) ......
Zaehler += 1 ' Zaehler um 1 erhoehen
Print "Dein Zaehler ist jetzt: " & Zaehler
Sleep
End |
Zitat: | 9. Wie schreibt man so ein Programm:
-Geburtstagsprogramm enthält Namen & Geburtsdaten
-Benutzer muss namen eingeben
-Name und geburtsdatum wird angezeigt
-fehlermeldung falls person nicht in der liste ist. |
Dafür musst du die Infos aus den Fragen oben (Datentypen, DATA, READ, IF-Abfrage, Schleife) mit dem Befehl INPUT kombinieren.
Vielleicht hat ja jemand anderes noch Lust, ein Programm dafür zu schreiben. Ich hab jetzt schon so viel getippt, dass ich die Aufgabe erst mal an dich zurückgebe.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 07.11.2013, 21:07 Titel: |
|
|
@Sebastian, ich hätte auch fast geantwortet, oder n beispiel source geschrieben, aber da er vor einer Klassenarbeit steht, und die auflistung doch stark nach "macht mal, dann kann ich das kopieren" aussieht, warte ich noch ne woche damit
Das soll nicht heisen, das ich nicht hilfsbereit bin, aber es würde ebensowenig helfen, wenn man dem TO hier alles vor die nase legt. Davon würde man nichts lernen, wenn man die 1 schon kassiert hat.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1280 Wohnort: Ruhrpott
|
Verfasst am: 08.11.2013, 00:41 Titel: |
|
|
mitchellandness hat Folgendes geschrieben: | Ich schreibe morgen eine Klassenarbeit in Informatik und verstehe das alles nicht. | Es ist doch beruhigend zu sehen, daß es noch Dinge gibt, die sich seit meiner Schulzeit nicht geändert haben:
@ThePuppetMaster: Sei nicht so streng mit dem Jungen! Ich hatte in dem Alter auch wichtigeres im Kopf als irgendwelchen Unterrichtsstoff und habe bei den immer wieder plötzlich und unerwartet auftretenden Klassenarbeiten mehr als einmal auf die Kenntnisse meiner Klassenkameraden zurückgegriffen. Und dein pädagogisches Konzept wird ihm jetzt auch nicht weiterhelfen.
@mitchellandness: Vielleicht solltest du den Beginn deiner Bemühungen doch um 2 - 3 Tage vorverlegen. Das ist zwar lästig, mindert den Stress aber um mindestens 73% und erspart dir Klugscheißersprüche wie diesen hier.
Auch wenn ich mit ThePuppetMaster der Meinung bin, daß es dir nicht viel helfen wird, hier etwas Stoff für die hohle Birne : Code: | Dim As String person, geburtsdatum, eingabe
Do 'Endlosschleife zur Namenseingabe
Input "Vor- und Zuname: ",eingabe 'Eingabe des Namens
Restore 'Zeiger auf den Anfang des "Data" - Blocks setzen
Do 'Prüfschleife
Read person, geburtsdatum 'Daten von einer Person aus dem "Data" - Block einlesen
If person = eingabe Then 'auf Übereinstimmung prüfen
Print "Name: ";person;" Geburtsdatum: ";geburtsdatum 'Übereinstimmung --> Daten ausgeben
Print
Exit Do 'Prüfschleife verlassen
ElseIf person = "" Then 'Ende des "Data" - Blocks --> keine Person dieses Namens bekannt
Print "kenn ich nicht" 'Fehlermeldung
Print
EndIf
Loop Until person = "" 'Ende des "Data" - Blocks erreicht
Loop
'Namen und Geburtsdaten
Data "Heide Witzka", "01.01.2001"
Data "Rudi Rallala", "02.01.2001"
Data "Jupp Heidie", "03.01.2001"
Data "Martha Pfahl", "04.01.2001"
Data "Hans Dampf", "05.01.2001"
Data "Ina Grossen-Pause", "06.01.2001"
Data "Anna Leine", "07.01.2001"
Data "Rainer Zufall", "08.01.2001"
Data "Claire Grube", "09.01.2001"
Data "Anna Bolika", "10.01.2001"
Data "Ali Mente", "11.01.2001"
Data "Rudi Mente", "11.01.2001"
Data "Ellen Bogen", "12.01.2001"
Data "Anne Backe", "13.01.2001"
Data "Helge Strichen", "14.01.2001"
Data "Franz Hose", "15.01.2001"
Data "Peter Wagen", "16.01.2001"
Data "Klaus Uhr", "17.01.2001"
Data "Ute Russ", "18.01.2001"
Data "Karla Kopf", "19.01.2001"
Data "Klara Fall", "20.01.2001"
Data "Manni Küre", "21.01.2001"
Data "Thomas Mehl", "22.01.2001"
Data "Wanda Ratte", "23.01.2001"
Data "Anka Kette", "24.01.2001"
Data "Nico Laus", "25.01.2001"
Data "Marga Milch", "26.01.2001"
Data "Lasse Laufen", "27.01.2001"
Data "Peer Anhalter", "28.01.2001"
Data "Kalli Graf", "29.01.2001"
Data "Harry Krischna", "30.01.2001"
Data "Elfi Nito", "31.01.2001"
Data "Pina Kothek", "01.02.2001"
Data "Coco van Ille", "02.02.2001"
Data "Polly Glott", "03.02.2001"
Data "Ida Oberstein", "04.02.2001"
Data "Donna Wetter", "05.02.2001"
Data "Lore Leih", "06.02.2001"
Data "Irma Umher", "07.02.2001"
Data "Chris Baum", "08.02.2001"
Data "Effi Zient", "09.02.2001"
Data "Axel Schweiss", "10.02.2001"
Data "Karl Toffel", "11.02.2001"
Data "Marga Sucht", "12.02.2001"
Data "Chris Tall", "13.02.2001"
Data "Hanni Ball", "14.02.2001"
Data "Anna Gramm", "15.02.2001"
Data "Milli Gramm", "15.02.2001"
Data "Ken Wort", "16.02.2001"
Data "Heide Kraut", "17.02.2001"
Data "Lou Ziffer", "18.02.2001"
Data "Freya Eintritt", "19.02.2001"
Data "Ole Ander", "20.02.2001"
Data "Conny Fähre", "21.02.2001"
Data "Ali Gator", "22.02.2001"
Data "Adi Positas", "23.02.2001"
Data "Hans Wurst", "24.02.2001"
Data "Mark Knochen", "25.02.2001"
Data "Tom Arte", "26.02.2001"
Data "Leif Konzert", "27.02.2001"
Data "Lotte Rie", "28.02.2001"
Data "Karlo Rie", "28.02.2001"
Data "Thomas Birne", "01.03.2001"
Data "Tom A. Hack", "02.03.2001"
Data "Olli Garch", "03.03.2001"
Data "Elli Fant", "04.03.2001"
Data "Meta Mass", "05.03.2001"
Data "Kara Wanken", "06.03.2001"
Data "Wanda Karte", "07.03.2001"
Data "Ken Zeichen", "08.03.2001"
Data "Ben Ziehn", "09.03.2001"
Data "Karl Schlag", "10.03.2001"
Data "Kai Neer", "11.03.2001"
Data "Sarah Tustra", "12.03.2001"
Data "Käthe Ring", "13.03.2001"
Data "Izmir Übel", "14.03.2001"
Data "Mara Kesch", "15.03.2001"
Data "Otto Mane", "16.03.2001"
Data "Theo Loge", "17.03.2001"
Data "Leo Pard", "18.03.2001"
Data "Thekla Vier", "19.03.2001"
Data "Marie Huana", "20.03.2001"
Data "Meta Morphose", "21.03.2001"
Data "Minni Atur", "22.03.2001"
Data "Kara Wane", "23.03.2001"
Data "Milli Teer", "24.03.2001"
Data "Ben Ehmen", "25.03.2001"
Data "Ruth Verzeichnis", "26.03.2001"
Data "Peter Silie", "27.03.2001"
Data "Polly Zeih", "27.03.2001"
Data "Polly Ester", "28.03.2001"
Data "Regula Falsi", "29.03.2001"
Data "Mike Rohsoft", "30.03.2001"
Data "Anna Nass", "31.03.2001"
Data "Ria Pizze", "01.04.2001"
Data "Ron de Wuh", "02.04.2001"
Data "Mara Cuja", "03.04.2001"
Data "Milli Ohn", "04.04.2001"
Data "Billy Ohn", "04.04.2001"
Data "Sylvester Knaller", "31.12.2001"
Data "Vlad Tepes", "04.06.1431"
Data "", "" 'hieran erkennt das Programm, daß der "Data" - Block zuende ist | Ich hoffe, dein Kurzzeitgedächtnis ist genauso exzellent wie meins seinerzeit, versuch mal, wenigstens etwas davon dort reinzuprügeln. _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Zuletzt bearbeitet von grindstone am 29.07.2015, 12:05, insgesamt 6-mal bearbeitet |
|
Nach oben |
|
 |
ThePuppetMaster

Anmeldungsdatum: 18.02.2007 Beiträge: 1839 Wohnort: [JN58JR]
|
Verfasst am: 08.11.2013, 00:45 Titel: |
|
|
@grindstone ... geht ja nicht nur darum, sondern auch um die tatsache, das die lehrer nicht doof sind, und durchaus im inet nach derartigen "antworten" suchen ... wenn da also ein source auftaucht, im inet, der exakt der selbe is, und dann vieelicht auch noch die passenden fragen dazu, dann wird aus einer vermeintlichen 6 einen gesicherte 6, (oder wie war das heutzutage mit den punkten?) .. oder aber sogar noch schlimmeres (doppel 6 wegen betrug, oder so)
sogesehen bewahre ich ihn vor schlimmeren
(zu unserer zeit war das inet noch nciht so verbreitet )
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1280 Wohnort: Ruhrpott
|
Verfasst am: 08.11.2013, 01:01 Titel: |
|
|
@ThePuppetMaster: Stimmt. Aber wenn zu meiner Zeit die Antwort exakt mit der des Nebenmannes übereinstimmte (eventuell noch mit denselben Fehlern), hatte das denselben Effekt, insofern hat sich das Ganze nur auf eine andere Ebene verlagert. Wenn mitchellandness nicht intelligent genug ist, das entsprechend zu berücksichtigen, hat er es sowieso nicht besser verdient.
Außerdem: Ein Lehrer, der sich mit dem Internet auskennt - ist das nicht ein Widerspruch in sich?
Gruß
grindstone
Nachtrag: Warum sollte es für mitchellandness ein Problem sein, sich vor der Klassenarbeit aus allen zur Verfüfung stehenden Quellen zu informieren? Schliesslich wird heutzutage doch ständig Teamfähigkeit und Kreativität gepredigt. Wenn der Lehrer die Klausuraufgabe im Voraus bekanntgibt, muß er doch damit rechnen, daß sich seine Schüler die Schwarmintelligenz des Internets zunutze machen.
2. Nachtrag: Aber du hast recht, Lehrern ist alles zuzutrauen. Ich werde zur Sicherheit im Laufe des Tages den Code aus dem Posting entfernen (lass mitchellandness erst mal seine Arbeit schreiben).
3. Nachtrag: ThePuppetMaster hat Folgendes geschrieben: | doppel 6 wegen betrug, oder so | Das wäre dann ja eine 12!
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|