Dit is een vervolg op de tutorial Basisprogrammering met pseint (deel 2), deze keer zal ik uitleggen wat er nodig is om te programmeren.
OPDRACHT
Toewijzing is een proces waarin een variabele wordt aangemaakt en / of gewijzigd, door ernaar te verwijzen door middel van zijn identifier waarmee we toegang hebben tot zijn geheugenruimte.
de syntaxis van de toewijzing is:
[variable]<- [expresion];
[variable]=[expresion];
Waar [variabele] de variabele is die de waarde ontvangt van het evalueren van [uitdrukking]. Beide zijn geldig, dus het maakt niet uit welke wordt gebruikt (als ze PSeInt correct hebben geconfigureerd), maar naar mijn mening maak ik de eerste als de juiste.
Als [variabele] niet bestond vóór de toewijzing, werd [variabele] gemaakt, als het wel bestond, wordt de vorige waarde vernietigd en wordt de nieuwe op zijn plaats geplaatst. Om deze reden wordt mapping als een destructieve operatie beschouwd.
LEZING
Lezen is het proces waarbij gegevens of gegevens van de gebruiker worden gevraagd om deze gegevens in een variabele op te slaan.
de syntaxis is:
Leer variable_1,variable_2,...,variable_n;
waarbij [variabele_ {1,2, n}] de variabele of variabelen zijn die de waarde ontvangen die door de gebruiker is opgegeven, als er meer dan één variabele wordt gevraagd, wordt eerst om de eerste gevraagd, vervolgens om de tweede, enzovoort totdat alle waarden zijn ontvangen.
Dit is ook een destructieve functie.
SCHRIJVEN
Schrijven is het proces waarbij een reeks tekens en / of een of meer variabelen op het scherm worden geschreven
de syntaxis is:
Escribir expresion_1,expresion_2,...,expresion_n;
waarbij [expersion_ {1,2, n}] de tekenreeksen en / of variabelen zijn die worden weergegeven.
Schrijven krijgt naast het ontvangen van de gegevens die op het scherm moeten worden ook de instructie "Zonder overslaan" of "Zonder naar beneden te gaan" die de lijnsprong voorkomen.
Schrijven voegt geen spaties toe tussen de argumenten, dat wil zeggen, als je plaatst:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso
in dit geval zal het «olamundo» tonen aangezien er tussen «a» en «b» geen tekenreeks is die de spatie tussen a en b aangeeft, zodat het correct wordt weergegeven, wordt het als volgt geschreven:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso
in dit geval voegt u »» toe, wat een tekenreeks is met een spatie die de spatie is tussen «wave» en «wereld», en dan wordt «wave world» met de spatie weergegeven.
ALS DAN
Dit is een verklaring die een bepaalde voorwaarde evalueert en de waarachtigheid en / of onwaarheid van die voorwaarde controleert, dat wil zeggen of aan de voorwaarde is voldaan of niet.
De syntaxis is:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
Sino
[instrucciones por falso]
FinSi
De clausule "Else" is niet verplicht, in dit geval als de voorwaarde onwaar is, negeer dan de instructies en ga verder alsof de zin niet bestond, in dit geval zou het blijven:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
FinSi
Of de "Failure" -clausule is geplaatst of niet, hangt af van de behoeften van dat programma.
SEGUN
De zin zoals deze een strikt numerieke variabele evalueert die meer dan 2 opties als een optie geeft, is het verschil met "If-Then" aangezien de vorige slechts 2 opties kan geven.
De syntaxis is:
Segun [variable numérica] Hacer
[número1]: [instrucciones]
[número2],[número3]: [instrucciones]
[...]
De Otro Modo: [instrucciones]
FinSegun
Zoals u kunt zien staat achter «nummer1» een «:» en daarna worden de uit te voeren instructies geplaatst in het geval dat «numerieke variabele = nummer1», in het tweede voorbeeld is dit «nummer2, nummer3» dit betekent dat als «numerieke variabele = getal2 of getal3" dan wordt "instructies" uitgevoerd, dit is handig wanneer 2 mogelijkheden dezelfde instructies moeten uitvoeren.
Er is ook de clausule "Op een andere manier" die wordt uitgevoerd in het geval dat aan geen van de mogelijkheden wordt voldaan.
TERWIJL
Het is een herhalende functie die eerst een voorwaarde evalueert en vervolgens, als eraan is voldaan, een reeks instructies uitvoert, vervolgens de voorwaarde opnieuw evalueert en als deze waar is, dezelfde instructies opnieuw uitvoert en zo doorgaat totdat de voorwaarde onwaar is .
als de voorwaarde vanaf het begin onwaar is, zal deze nooit worden uitgevoerd en als het altijd waar is, zal het in een oneindige lus worden geplaatst, om de laatste in de instructies te vermijden, moet er iets zijn dat op een gegeven moment de voorwaarde vervalst in staat om de lus te beëindigen.
de syntaxis is:
Mientras [condición a evaluar] Hacer
[instrucciones]
FinMientras
HERHAAL TOT
Dit is een functie die erg lijkt op de vorige, maar in tegenstelling tot de vorige, controleert deze de conditie aan het einde, dat wil zeggen dat de opdracht minstens 1 keer wordt uitgevoerd, ook in plaats van de instructie uit te voeren als deze waar is, het voert het uit terwijl. Als niet aan de voorwaarde is voldaan, maar als u wilt dat het wordt uitgevoerd terwijl aan de voorwaarde wordt voldaan, gebruikt u "while" in plaats van "tot".
de syntaxis is:
Repetir
[Instrucciones]
hasta que [condicion]
VOOR
Deze instructie voert een instructie een bepaald aantal keren uit voor een variabele, in tegenstelling tot de vorige, verandert deze cyclus de waarde van de betreffende variabele zelf, en heeft ook een zeer krachtige syntaxis.
Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones]
FinPara
"Variabele" is de variabele die de "beginwaarde" ontvangt en de instructies uitvoert en vervolgens "variabele" plus "stap" toevoegt en de instructies opnieuw uitvoert totdat "variabele" gelijk is aan "eindwaarde".
Als 'met [stap]' is verwijderd, weet het standaard dat 'stap' gelijk is aan 1, ook als [stap] niet is opgegeven en 'beginwaarde' groter is dan 'eindwaarde', zal het er doorheen gaan in omgekeerde volgorde, dat wil zeggen: "Stap" is -1
SUBPROCES / FUNCTIE
Een thread of functie is een programma binnen een ander en dat dit subprogramma een of meer waarden ontvangt, bedient en een ander retourneert. De syntaxis is
SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])
acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso
waarbij "retourvariabele" de variabele is die de waarde bevat die wordt geretourneerd door de functie "functienaam" die de parameters "arg_1, arg_2, arg_n" heeft ontvangen om dit uit te voeren
ANDERE
Dit zijn functies die alleen complementair zijn aan de andere en geen complexe syntaxis hebben omdat het alleen complementaire functies zijn.
Scherm wissen
Deze functie wist het scherm van elk object in de tolk
Wacht sleutel
Deze functie wacht tot de gebruiker op een toets drukt om door te gaan met het programma
verwachten X {Ten tweede, milliseconden}
deze functie wacht een tijd in seconden of milliseconden om door te gaan met het programma
PS: sorry voor de vertraging maar ik had het druk met andere zaken dus ik kon niet schrijven
Heeft u geen functies om sleutels vast te leggen zonder de uitvoering te stoppen? Om iets met beweging te doen dat aantrekkelijker is voor 9-jarigen, al kan een galgje ook leuk zijn om te programmeren.
Verwerk something_digo
a <-1;
lateraal <-30;
beneden <-5;
Terwijl a = 1 Do
Scherm wissen;
c <-1;
regel <- "";
repetir
regel <-lijn + "";
c <-c + 1;
Tot c = lateraal
regel <-lijn + "X";
c <-1;
repetir
Schrijven " ";
c <-c + 1;
Tot c = down-1
Schrijf lijn;
repetir
Schrijven " ";
c 2 Dan
omlaag <-down-1;
Einde ja
"s":
Indien onder <15 Dan
omlaag 2 Dan
lateraal <-lateraal-1;
Einde ja
"d":
Indien lateraal <50 Dan
lateraal <-lateraal + 1;
Einde ja
"0":
a <-2;
Einde seconden
Einde While
Eindproces
Mis het als je omhoog gaat, verander dan beter regel 23 en 28
-23 Tot c = 15
+23 Tot c = 18
y
-28 Als beneden> 2 dan
+28 Indien lager> 3 Dan
Bedankt voor de bijdrage, maar het heeft een aantal problemen zoals dat je de ene zin in een andere opent, maar het moet eindigen binnen de zin waar het begon, ik bedoel, het kan niet worden geplaatst
Verwerk iets
a <- 0;
voorlezen;
als a niet gelijk is aan 25 dan
terwijl a niet gelijk is aan 0 do
voorlezen;
Einde ja
einde terwijl
aangezien je de lus ziet terwijl je begint binnen de "if then" -instructie maar daarbuiten eindigt, is zoiets niet mogelijk.
Ik waardeer de bijdrage nog steeds
Eindproces
Bedankt, maar ik denk dat het meer een probleem is om de code hier te plaatsen, dat ik niet weet hoe ik het in het codetype moet plaatsen en het komt er zonder inspringing uit.
Het programma werkt prima. De variabele "a" gebruik ik gewoon om de lus te verlaten wanneer de gebruiker een nul typt. U kunt een exit () of een pauze plaatsen; in de conditionele wordt ernaar gekeken en sla ik de variabele op. Het zijn opties.
Groeten.
Ik zal proberen de tabbladen voor spaties en de labels te wijzigen
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
Dat staat vol met importfouten uit mijn code, ik zal het opnieuw proberen met tabbladen:
Dit zou het bestand algo.psc zijn
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
Interessant is dat de opmerking met codelabels wordt opgegeten, verwijderd, wat er ook tussen zit, bijvoorbeeld tussen regels
repetir
Schrijven " ";
c
na de c is er een
en dan gaat het verder met 3 Then
naar beneden
Over het algemeen is dit niet betrouwbaar om op basis van welke codes te plaatsen.
Ik verander de symbolen van toewijzen aan = om te zien hoe.
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
Het blijft een deel van de code opeten, de codetag faalt, het moet het schrijven laten zoals het is.
Hallo, sorry dat ik je niet eerder heb beantwoord, maar goed
aangezien je de code niet goed kunt publiceren omdat je hem niet per post naar mij stuurt, dus je hoeft er niet zo vaak aan te draaien.