AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

5 Programmteile, Erklärung gesucht, bitte.

Ein Thema von linomail · begonnen am 21. Jan 2017 · letzter Beitrag vom 22. Jan 2017
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
linomail

Registriert seit: 21. Jan 2017
18 Beiträge
 
#1

5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 16:45
Hallo zusammen,

Bin grade dabei Programmieren zu lernen und hab paar Aufgaben gefunden die mich iwie verunsichern. Also stelle ich euch mal die Fragen: Was passiert im folgenden Programmteil

ch:="1"; i:=2;
ch:=(ch" ") and (i>0);

wie ich das verstehe, hier handelt es um den TYP CHAR und INTEGER.
Char hat das Zeichen 1 und i hat den wert 2

jetzt bekommt char - char zugewiesen? und dann wird i verglichen in char? Wie können die typen überhaupt in einer Anweisung sein oder versteh ich da was falsch?

Was passiert im folgenden Programmteil?

For ik:= 1 to i+3 do
begin
writeln("abc"); i:=i+1;
end;

Was ich hier verstanden habe, ist das die For - Schleife bei 1 anfängt so und dann i+ 3 die schleife 3 mal ausführt d.h. 3 mal wird abc ausgegeben wie ich das verstanden habe aber was soll das mit i:=i+1 ich meine was zählt er hier hoch? ist das nicht iwie überflüssig?

Was passiert im folgenden Programmteil
ch:=" ";
while(not(eof(input))) do
read(ch);
Write(ch);

Was ich hier denke, ch hat ein Zeichen , so jetzt führt er eine while schleife durch und liest das Zeichen von der Datei Input. Die EOF Funktion ist ja solange false bis das Ende der Datei erreicht wird, dann gibt er true zurück wenn es erreicht wurde. Also gibt er "" ein und aus?

Was passiert im folgenden Programmteil

I:=-2
repeat
Writeln("abc", i);
until i > 0;

Also i hat den wert -2 dann machen repeat schleife d.h. auch wenn die bedingung nicht wahr ist am anfang wird es trotzdem 1 mal ausgeführt so ergibt dann abc und - 2 aus
so dann versteh ich nicht warum unten until i > 0 steht ich meine das wird eh nicht zu treffen i wird immer -2 bleiben was macht dann das Programm? 100 mal abc -2 ausgeben ?

Was passiert im folgenden Programmteil

Str:="12345rt";
Str2 := copy (str, 1,4);
Str2 := copy (Str, 3,3);

Das versteh ich nicht ganz also wir haben einen String mit "12345rt"
So jetzt haben den Sting2 benutzen die FUnktion Copy also kopiert er den ersten String aber was ist mit dem 1,4? Kopiert er nur die Zeichen 1 und 4?

Was passiert im folgenden Programmteil

for i:= 1 to 100 do
for j:= 1 to 100 do
if (i*J mod 90) = 0 then writeln( ́ i,j waren‘, i,‘ ́,j)

Das verstehe ich nicht ganz also ich habe 2 for schleifen. Beide gehen von 1 bis 100 durch
so dann habe ich ein If Statement und dort wird i mal j genommen und dann mod 90( was bedeutet das?) und es muss 0 ergeben wenn es nicht 0 ergibt, dann gibt er aus i j waren ....

so also müssen doch die ersten 3 Ausgaben lauten:
i und j waren 190
i und j waren 245
i und j waren 290

also das kam raus als ich es nachprogrammiert habe

Könnt ihr mir helfen ? Wäre für alle Hinweise dankbar!

Geändert von linomail (21. Jan 2017 um 19:05 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Hilfe

  Alt 21. Jan 2017, 17:08
Hallo,

schau mal bitte hier: http://www.delphipraxis.net/191465-a...ml#post1359286

Da hat wohl jemand zum Teil die gleichen Aufgaben bekommen.
  Mit Zitat antworten Zitat
linomail

Registriert seit: 21. Jan 2017
18 Beiträge
 
#3

AW: Hilfe

  Alt 21. Jan 2017, 17:12
ach wie witzig ist das denn Danke
  Mit Zitat antworten Zitat
linomail

Registriert seit: 21. Jan 2017
18 Beiträge
 
#4

AW: Hilfe

  Alt 21. Jan 2017, 17:30
Ja gut bei den dreien lag ich richtig oder fast richtig

aber zu 2, 4 und 5 bin ich trotzdem zienmlich unsicher ob ich richtig liege
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Hilfe

  Alt 21. Jan 2017, 17:43
1. Aufgabe: Deine Schlussfolgerung ist richtig, das geht so nicht wirklich.

2. Aufgabe: Versuche das bitte mal genau nachzuvollziehen:

ik wird von 1 bis i + 3 hochgezählt.
In der Schleife wird i jeweils um 1 erhöht.
Auch ik wird je Schleifendurchlauf um 1 erhöht.
Wann wird dann i + 3 erreicht?

3. Aufgabe: Was ist in ch, wenn die Schleife beendet wird?

4. Aufgabe: Wann wird die Bedingung i > 0 erreicht sein, wenn i = -2 ist und nicht verändert wird? Nach 100 Durchläufen? Wieso?

5. Aufgabe: Deine Vermutung bezüglich des Kopierens ist korrekt. Was steht dann in Str2?

6. Aufgabe: Das von Dir angegebene Ergebnis ist falsch. Da hast Du in der Ausgabe einen Programmierfehler.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#6

AW: Hilfe

  Alt 21. Jan 2017, 18:03
Da hat wohl jemand zum Teil die gleichen Aufgaben bekommen.
Sogar mit den selben Schreibfehlern.

@linomail: Bitte lies dir nochmal die FAQ durch, die du bei der Anmeldung bestätigt hast.
Editiere dann bitte deinen ersten Post, da drin in dem "erweiteren" Editor kannst du dann dementsprechend den Thread-Titel ändern.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#7

AW: Hilfe

  Alt 21. Jan 2017, 18:16
Vorsicht ironie:
ihr solltet in die AGB mal den Hinweis aufnehmen, dass "Hausaufgaben" als solche vom TE deklariert werden sollten
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Hilfe

  Alt 21. Jan 2017, 18:51
Bitte gib deinem Thread einen aussagekräftigen Titel, der dein Problem kurz zusammenfasst. Um Hilfe bittet hier so ziemlich jeder.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
linomail

Registriert seit: 21. Jan 2017
18 Beiträge
 
#9

AW: Hilfe

  Alt 21. Jan 2017, 19:01
Das sind keine Hausaufgaben, Ich habe diese Porgrammteile aaus einem Script von der Hochschule Osnabrück.

@himitsu welche Schreibfehler in dem Code oder was ich geschrieben habe?

Hätte nicht erwartet dass hier soein ähnliches Thema ist Sorry aber was soll ich denn jetzt ändern versteh ich nicht.

@nahpets aufgabe 2: Asso also zählt er i hoch bis er 3 erreicht hat? und darum wird es 3 mal ausgegeben? Aber ist i+1 wirklich von nöten. Ich meine vorhin als ich das ganze auf ideone.com nachprogrammiert habe, habe ich i nicht eins hochzählen lassen und kam auf das selbe ergebnis

Aufgabe 3: Also ein leerzeichen? ich meine der schreibt ja immer nur ein leerzeichen rein? Aber er gibt nur den letzten an von der Datei oder?

Aufgabe 4: Ja bei der war ich mir iwie sicher also hab ich das nachprogrammiert. Aber ich glaube ich verstehe iwie repeat nicht ich meine i ist ja -2 aber der Wert wird ja nicht verändert also ich meine wie soll i größer als 0 werden? Als ich das nachprogrammiert habe gab er erst aus ABC - und dann gefühlt 100 mal ABC -2. Aus der werde ich echt nicht schlau

Aufgabe 5: Also wenn meine Vermutung dann richtig ist dann "1433" ?

Aufgabe 6: Ach ich meint i und j waren 1 und 90
2 und 45
2 und 90
müsste doch eigentlich richtig sein

Danke für deine schnelle Hilfe

PS: ja mache ich Entschuldige.

Geändert von linomail (21. Jan 2017 um 19:04 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#10

AW: Hilfe

  Alt 21. Jan 2017, 19:03
writeln("abc"); i:=i+1; Soweit ich weiß ist das sogar eine Totsünde die Iterations-Variable einer For-Schleife selber hochzuzählen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz