Dies ist eine Fortsetzung des Tutorials Grundlegende Programmierung mit pseint (Teil 2)Dieses Mal werde ich erklären, was zum Programmieren notwendig ist.
ZUORDNUNG
Die Zuweisung ist ein Prozess, bei dem eine Variable erstellt und / oder geändert wird, wobei anhand ihrer Kennung, mit der wir auf ihren Speicherplatz zugreifen können, auf sie verwiesen wird.
Die Syntax der Zuweisung lautet:
[variable]<- [expresion];
[variable]=[expresion];
Wobei [Variable] die Variable ist, die den Wert der Auswertung von [Ausdruck] erhält. Beide sind gültig, es spielt also keine Rolle, welches verwendet wird (wenn sie PSeInt richtig konfiguriert haben), aber meiner Meinung nach erstelle ich das erste als das richtige.
Wenn [Variable] vor der Zuweisung nicht vorhanden war, wurde [Variable] erstellt. Wenn es vorhanden war, wird der vorherige Wert zerstört und der neue an seine Stelle gesetzt. Aus diesem Grund wird die Zuordnung als destruktive Operation angesehen.
LESEN
Lesen ist der Prozess, bei dem Daten oder Daten vom Benutzer angefordert werden, um diese Daten in einer Variablen zu speichern.
Die Syntax lautet:
Leer variable_1,variable_2,...,variable_n;
Dabei ist [Variable_ {1,2, n}] die Variable oder Variablen, die den vom Benutzer angegebenen Wert erhalten. Wenn mehr als eine Variable angefordert wird, wird zuerst nach der ersten, dann nach der zweiten usw. gefragt, bis habe alle Werte erhalten.
Dies ist auch eine destruktive Funktion.
SCHREIBEN
Schreiben ist der Prozess, bei dem eine Zeichenfolge und / oder eine oder mehrere Variablen auf den Bildschirm geschrieben werden
Die Syntax lautet:
Escribir expresion_1,expresion_2,...,expresion_n;
Dabei sind [expersion_ {1,2, n}] die Zeichenfolgen und / oder Variablen, die angezeigt werden.
Das Schreiben erhält neben dem Empfang der anzuzeigenden Daten auch die Anweisung "Ohne Überspringen" oder "Ohne Herunterladen", die den Zeilenumbruch vermeiden.
Beim Schreiben werden keine Leerzeichen zwischen den Argumenten eingefügt, wenn Sie Folgendes eingeben:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso
In diesem Fall wird «olamundo» angezeigt, da zwischen «a» und «b» keine Zeichenfolge vorhanden ist, die den Abstand zwischen a und b angibt, sodass die korrekte Darstellung wie folgt lautet:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso
Fügen Sie in diesem Fall »» hinzu, eine Zeichenfolge mit einem Leerzeichen zwischen «Welle» und «Welt», und zeigen Sie dann «Wellenwelt» mit dem Leerzeichen an.
WENN, DANN
Dies ist eine Aussage, die eine gegebene Bedingung bewertet und die Wahrhaftigkeit und / oder Falschheit dieser Bedingung überprüft, dh ob die Bedingung erfüllt ist oder nicht.
Die Syntax lautet:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
Sino
[instrucciones por falso]
FinSi
Die Klausel "Sonst" ist nicht obligatorisch. In diesem Fall, wenn die Bedingung falsch ist, ignorieren Sie die Anweisungen und fahren Sie fort, als ob der Satz nicht existiert hätte. In diesem Fall würde es bleiben:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
FinSi
Ob die "Failure" -Klausel eingefügt wurde oder nicht, hängt von den Anforderungen dieses Programms ab.
SEGUN
Der Satz, der eine streng numerische Variable auswertet, die mehr als 2 Optionen als Option angibt, ist der Unterschied zu "Wenn-Dann", da der vorherige nur 2 Optionen geben kann.
Die Syntax lautet:
Segun [variable numérica] Hacer
[número1]: [instrucciones]
[número2],[número3]: [instrucciones]
[...]
De Otro Modo: [instrucciones]
FinSegun
Wie Sie nach «Nummer1» sehen können, gibt es ein «:» und danach werden die auszuführenden Anweisungen für den Fall platziert, dass «numerische Variable = Nummer1», im zweiten Beispiel «Nummer2, Nummer3» bedeutet dies, dass Wenn «numerische Variable = Nummer2 oder Nummer3", dann werden "Anweisungen" ausgeführt. Dies ist nützlich, wenn zwei Möglichkeiten dieselben Anweisungen ausführen müssen.
Es gibt auch die Klausel "Auf andere Weise", die für den Fall ausgeführt wird, dass keine der Möglichkeiten erfüllt ist.
WÄHREND
Es ist eine sich wiederholende Funktion, die zuerst eine Bedingung auswertet und dann, wenn sie erfüllt ist, eine Reihe von Anweisungen ausführt, dann die Bedingung neu auswertet. Wenn sie wahr ist, führt sie dieselben Anweisungen erneut aus und fährt so fort, bis die Bedingung falsch ist .
Wenn die Bedingung von Anfang an falsch ist, wird sie niemals ausgeführt, und wenn sie immer wahr ist, wird sie in eine Endlosschleife gestellt. Um die letzte in den Anweisungen zu vermeiden, muss etwas vorhanden sein, das die zu bedingende Bedingung irgendwann verfälscht in der Lage, die Schleife zu beenden.
Die Syntax lautet:
Mientras [condición a evaluar] Hacer
[instrucciones]
FinMientras
WIEDERHOLE BIS
Dies ist eine Funktion, die der vorherigen sehr ähnlich ist, aber im Gegensatz zur vorherigen überprüft diese die Bedingung am Ende, dh der Befehl wird mindestens einmal ausgeführt, auch anstatt die Anweisung auszuführen, wenn dies der Fall ist true, es wird ausgeführt, während Wenn die Bedingung nicht erfüllt ist, Sie jedoch möchten, dass sie ausgeführt wird, während die Bedingung erfüllt ist, verwenden Sie "while" anstelle von "till".
Die Syntax lautet:
Repetir
[Instrucciones]
hasta que [condicion]
FÜR
Diese Anweisung führt eine Anweisung eine bestimmte Anzahl von Malen für eine Variable aus. Im Gegensatz zu den vorherigen ändert dieser Zyklus den Wert der betreffenden Variablen selbst und verfügt über eine sehr leistungsfähige Syntax.
Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones]
FinPara
"Variable" ist die Variable, die "Anfangswert" empfängt und die Anweisungen ausführt, dann "Variable" plus "Schritt" hinzufügt und die Anweisungen erneut ausführt, bis "Variable" gleich "Endwert" ist.
Wenn "mit [Schritt]" entfernt wird, weiß es standardmäßig, dass "Schritt" gleich 1 ist. Auch wenn [Schritt] nicht angegeben ist und "Anfangswert" größer als "Endwert" ist, wird es durchlaufen umgekehrte Reihenfolge, dh "Schritt" ist -1
UNTERPROZESS / FUNKTION
Ein Thread oder eine Funktion ist ein Programm in einem anderen und dieses Unterprogramm empfängt einen oder mehrere Werte, bearbeitet sie und gibt einen anderen zurück. Die Syntax lautet
SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])
acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso
Dabei ist "Rückgabevariable" die Variable, die den Wert enthält, der von der Funktion "Funktionsname" zurückgegeben wird, die die Parameter "arg_1, arg_2, arg_n" erhalten hat, um dies auszuführen
ANDERE
Dies sind Funktionen, die nur zu den anderen komplementär sind und keine komplexe Syntax haben, da sie nur komplementäre Funktionen sind.
Bildschirm löschen
Diese Funktion löscht den Bildschirm von allen Objekten im Interpreter
Warte-Taste
Diese Funktion wartet darauf, dass der Benutzer eine Taste drückt, um mit dem Programm fortzufahren
Warten Sie X {Zweitens Millisekunden}
Diese Funktion wartet eine Zeit in Sekunden oder Millisekunden, um mit dem Programm fortzufahren
PS: Entschuldigung für die Verzögerung, aber ich war mit anderen Dingen beschäftigt, so dass ich nicht schreiben konnte
Sie haben keine Funktionen zum Erfassen von Schlüsseln, ohne die Ausführung anzuhalten? Für etwas mit Bewegung, das für 9-Jährige attraktiver ist, obwohl es auch Spaß machen kann, ein Henker-Spiel zu programmieren.
Verarbeite etwas_digo
a <-1;
lateral <-30;
unten <-5;
Während a = 1 Do.
Bildschirm löschen;
c <-1;
Zeile <- "";
Repetir
line <-line + "";
c <-c + 1;
Bis c = lateral
Zeile <-Zeile + "X";
c <-1;
Repetir
Schreiben " ";
c <-c + 1;
Bis c = down-1
Zeile schreiben;
Repetir
Schreiben " ";
c 2 Dann
down <-down-1;
Ende ja
"s":
Wenn unter <15 Dann
runter 2 Dann
lateral <-lateral-1;
Ende ja
"d":
Wenn seitlich <50 Dann
lateral <-lateral + 1;
Ende ja
"0":
a <-2;
Sekunden beenden
End While
EndProcess
Wenn Sie nach oben gehen, sollten Sie die Zeilen 23 und 28 ändern
-23 Bis c = 15
+23 Bis c = 18
y
-28 Wenn unten> 2 Dann
+28 Wenn unten> 3 Dann
Vielen Dank für den Beitrag, aber es gibt einige Probleme, dass Sie einen Satz in einem anderen öffnen, aber er muss in dem Satz enden, in dem er begonnen hat. Ich meine, er kann nicht gesetzt werden
Verarbeiten Sie etwas
a <- 0;
lesen zu;
wenn a nicht gleich 25 ist, dann
während a ungleich 0 ist do
lesen zu;
Ende ja
Ende während
Wenn Sie die Schleife sehen, während Sie innerhalb der "if then" -Anweisung beginnen, aber außerhalb davon enden, ist so etwas nicht möglich.
Ich schätze den Beitrag immer noch
Prozess beenden
Danke, aber ich denke, es ist eher ein Problem, den Code hier zu platzieren, dass ich nicht weiß, wie ich ihn in den Codetyp einfügen soll, und er wird ohne Einrückung ausgegeben.
Das Programm funktioniert gut. Die Variable "a" benutze ich einfach, um die Schleife zu verlassen, wenn der Benutzer eine Null eingibt. Sie könnten einen exit () oder eine Pause setzen; in der Bedingung sieht es an und ich speichere die Variable. Sie sind Optionen.
Grüße.
Ich werde versuchen, die Tabulatoren für Leerzeichen und Beschriftungen zu ändern
por si funciona algo:
Proceso algo_digo
a<-1;
lateral<-30;
abajo<-5;
Mientras a=1 Hacer
Borrar Pantalla;
c<-1;
linea<-"";
Repetir
linea<-linea+" ";
c<-c+1;
Hasta Que c=lateral
linea<-linea+"X";
c<-1;
Repetir
Escribir " ";
c<-c+1;
Hasta Que c=abajo-1
Escribir linea;
Repetir
Escribir " ";
c 3 Entonces
abajo<-abajo-1;
Fin Si
"s":
Si abajo < 15 Entonces
abajo 2 Entonces
lateral<-lateral-1;
Fin Si
"d":
Si lateral < 50 Entonces
lateral<-lateral+1;
Fin Si
"0":
a<-2;
Fin Segun
Fin Mientras
FinProceso
Das ist voll von Importfehlern aus meinem Code, ich werde es noch einmal mit Tabs versuchen:
Dies wäre die Datei algo.psc
Proceso algo_digo
a<-1;
lateral<-30;
abajo<-5;
Mientras a=1 Hacer
Borrar Pantalla;
c<-1;
linea<-"";
Repetir
linea<-linea+" ";
c<-c+1;
Hasta Que c=lateral
linea<-linea+"X";
c<-1;
Repetir
Escribir " ";
c<-c+1;
Hasta Que c=abajo-1
Escribir linea;
Repetir
Escribir " ";
c 3 Entonces
abajo<-abajo-1;
Fin Si
"s":
Si abajo < 15 Entonces
abajo 2 Entonces
lateral<-lateral-1;
Fin Si
"d":
Si lateral < 50 Entonces
lateral<-lateral+1;
Fin Si
"0":
a<-2;
Fin Segun
Fin Mientras
FinProceso
Interessanterweise wird der Kommentar mit Code-Labels gegessen, gelöscht, was auch immer dazwischen liegt, zum Beispiel zwischen Zeilen
Repetir
Schreiben " ";
c
nach dem c gibt es ein
und dann geht es weiter mit 3 Dann
abajo
Insgesamt ist dies nicht zuverlässig, um nach welchen Codes zu setzen.
Ich ändere die Symbole von Zuweisung zu =, um zu sehen, wie.
Proceso algo_digo
a=1;
lateral=30;
abajo=5;
Mientras a=1 Hacer
Borrar Pantalla;
c=1;
linea="";
Repetir
linea=linea+" ";
c=c+1;
Hasta Que c=lateral
linea=linea+"X";
c=1;
Repetir
Escribir " ";
c=c+1;
Hasta Que c=abajo-1
Escribir linea;
Repetir
Escribir " ";
c=c+1;
Hasta Que c=18
Escribir "Dibujo una X (w,a,s,d y 0 para salir)";
Leer mueve;
Segun mueve Hacer
"w":
Si abajo > 3 Entonces
abajo=abajo-1;
Fin Si
"s":
Si abajo 2 Entonces
lateral=lateral-1;
Fin Si
"d":
Si lateral < 50 Entonces
lateral=lateral+1;
Fin Si
"0":
a=2;
Fin Segun
Fin Mientras
FinProceso
Es frisst immer wieder einen Teil des Codes, das Code-Tag schlägt fehl, es sollte die Schrift unverändert lassen.
Hallo, tut mir leid, dass du vorher nicht geantwortet hast, aber gut
da Sie den Code nicht gut veröffentlichen können, weil Sie ihn mir nicht per Post senden, geben Sie der Angelegenheit nicht so viele Wendungen.