Detta är en fortsättning på handledningen Grundläggande programmering med pseint (del 2), den här gången kommer jag att förklara vad som är nödvändigt att programmera.
UPPDRAG
Uppdraget är en process där en variabel skapas och / eller modifieras, med hänvisning till den med hjälp av dess identifierare med vilken vi kan komma åt dess minnesutrymme.
syntaxen för uppdraget är:
[variable]<- [expresion];
[variable]=[expresion];
Där [variabel] är variabeln som får värdet av att utvärdera [uttryck]. Båda är giltiga så det spelar ingen roll vilken som används (om de konfigurerade PSeInt korrekt), men enligt min mening skapar jag den första som den rätta.
Om [variabel] inte fanns före tilldelningen skapades [variabel], om den existerade förstörs det tidigare värdet och det nya placeras på plats. Av denna anledning anses kartläggning vara en destruktiv operation.
LÄSNING
Läsning är den process där användaren ombeds om data eller data för att lagra nämnda data i en variabel.
dess syntax är:
Leer variable_1,variable_2,...,variable_n;
där [variabel_ {1,2, n}] är variabeln eller variablerna som får värdet som ges av användaren, om mer än en variabel begärs kommer den först att be om den första, sedan den andra och så vidare tills har fått alla värden.
Detta är också en destruktiv funktion.
SKRIFT
Skrivning är den process där en rad tecken och / eller en eller flera variabler skrivs på skärmen
syntaksen är:
Escribir expresion_1,expresion_2,...,expresion_n;
där [expersion_ {1,2, n}] är teckensträngarna och / eller variablerna som kommer att visas.
Skrivning förutom att ta emot data som ska läggas på skärmen får också instruktionen "Utan att hoppa över" eller "Utan att gå ner" som undviker linjhoppet.
Skrivning lägger inte till mellanslag mellan argumenten, det vill säga om du lägger till:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso
i detta fall kommer det att visas «olamundo» eftersom mellan «a» och «b» det inte finns någon teckensträng som indikerar mellanslaget mellan a och b, så att den visas korrekt skrivs den så här:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso
i det här fallet lägg till »» som är en teckensträng som har ett mellanslag som är utrymmet mellan «våg» och «värld» och då kommer det att visas «vågvärld» med utrymmet.
OM DÅ
Detta är en mening som utvärderar ett visst villkor och kontrollerar sanningen och / eller falskheten i nämnda villkor, det vill säga om villkoret är uppfyllt eller inte.
Dess syntax är:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
Sino
[instrucciones por falso]
FinSi
"Annat" -klausulen är inte obligatorisk. I det här fallet, om villkoret är falskt, ignorera instruktionerna och fortsätt som om meningen inte fanns, i det här fallet skulle det förbli:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
FinSi
Huruvida "Failure" -klausulen placerades eller inte beror på programmets behov.
ENLIGT
Meningen eftersom den utvärderar en strikt numerisk variabel som ger mer än 2 alternativ som ett alternativ, detta skiljer sig från "If-Then" eftersom den föregående bara kan ge 2 alternativ.
Syntaksen är:
Segun [variable numérica] Hacer
[número1]: [instrucciones]
[número2],[número3]: [instrucciones]
[...]
De Otro Modo: [instrucciones]
FinSegun
Som du kan se efter "nummer1" finns det ett ":" och efter det placeras instruktionerna som ska utföras i händelse av att "numerisk variabel = nummer1", i det andra exemplet är det "nummer2, nummer3" betyder det att om " numerisk variabel = nummer2 eller nummer3 "då kommer" instruktioner "att utföras, detta är användbart när två möjligheter måste utföra samma instruktioner.
Det finns också klausulen "In Another Way" som utförs om ingen av möjligheterna uppfylls.
MEDAN
Det är en repetitiv funktion som först utvärderar ett villkor och om det är uppfyllt utför det en serie instruktioner så utvärderar det igen villkoret och om det är sant utför det samma instruktioner igen och fortsätter så här tills villkoret är falskt.
om villkoret är falskt från början kommer det aldrig att exekveras och om det alltid är sant kommer det att placeras i en oändlig slinga, för att undvika det sista i instruktionerna måste det finnas något som vid något tillfälle förfalskar villkoret för att kunna avsluta slingan.
dess syntax är:
Mientras [condición a evaluar] Hacer
[instrucciones]
FinMientras
Upprepa-tills
Detta är en funktion som mycket liknar den föregående, men till skillnad från den tidigare kontrollerar den här villkoret i slutet, det vill säga kommandot kommer att köras minst en gång, också istället för att utföra instruktionen när den är sant, det kör det medan Om villkoret inte är uppfyllt, men om du vill att det ska köras medan villkoret är uppfyllt, använd "medan" istället för "tills".
dess syntax är:
Repetir
[Instrucciones]
hasta que [condicion]
ATT
Detta uttalande utför en instruktion ett bestämmande antal gånger för en variabel, till skillnad från de tidigare, den här cykeln ändrar värdet på variabeln i sig själv och har en mycket kraftfull syntax.
Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones]
FinPara
"Variabel" är variabeln som tar emot "initialt värde" och kör instruktionerna och lägger sedan till "variabel" plus "steg" och kör instruktionerna igen tills "variabel" är lika med "slutligt värde".
Om "med [steg]" tas bort vet den som standard att "steg" är lika med 1, även om [steg] inte anges och "initialvärde" är större än "slutvärde" kommer det att gå igenom det i omvänd ordning, det vill säga "Steg" är -1
UNDERPROCESS / FUNKTION
En tråd eller funktion är ett program inom ett annat och att detta underprogram tar emot ett eller flera värden, använder dem och returnerar ett annat. Dess syntax är
SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])
acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso
där "returvariabel" är variabeln som innehåller värdet som returneras av funktionen "funktionsnamn" som fick parametrarna "arg_1, arg_2, arg_n" för att utföra detta
ANDRA
Dessa är funktioner som bara kompletterar de andra och inte har en komplex syntax eftersom de bara är kompletterande funktioner.
Rensa skärmen
Denna funktion rensar skärmen för alla objekt i tolken
Vänta
Denna funktion väntar på att användaren ska trycka på en knapp för att fortsätta med programmet
förvänta x {För det andra, millisekunder}
denna funktion väntar en tid i sekunder eller millisekunder för att fortsätta med programmet
PS: ledsen för förseningen men jag var upptagen med andra saker så jag kunde inte skriva
Har du inte funktioner för att fånga nycklar utan att stoppa körningen? För att göra något med rörelse som är mer tilltalande för 9-åringar, även om ett hängmannspel också kan vara roligt att programmera.
Bearbeta något_digo
a <-1;
lateral <-30;
ner <-5;
Medan a = 1 Gör
Rensa skärmen;
c <-1;
rad <- "";
upprepning
rad <-line + "";
c <-c + 1;
Fram till c = lateral
rad <-rad + "X";
c <-1;
upprepning
Att skriva " ";
c <-c + 1;
Fram till c = ner-1
Skrivlinje;
upprepning
Att skriva " ";
c 2 Sedan
ner <-down-1;
Avsluta ja
"s":
Om under <15 Då
ner 2 Sedan
lateral <-lateral-1;
Avsluta ja
"d":
Om lateralt <50 Då
lateral <-lateral + 1;
Avsluta ja
"0":
a <-2;
Avsluta sekunder
Avsluta medan
Avsluta process
Tja, misslyckas om du går upp, byt bättre rad 23 och 28
-23 Fram till c = 15
+23 Fram till c = 18
y
-28 Om ner> 2 Då
+28 Om ner> 3 Då
Tack för bidraget men det har några problem som att du öppnar en mening i en annan men den måste sluta inom meningen där den började, jag menar, den kan inte sättas
Bearbeta något
a <- 0;
läsa för;
om a inte är lika med 25 då
medan a inte är lika med 0 do
läsa för;
Avsluta ja
slut medan
när du ser slingan när du börjar inuti "if then" -uttalandet men slutar utanför det är något liknande inte möjligt.
Jag uppskattar fortfarande bidraget
Avsluta process
Tack, men jag tror att det är mer ett problem att sätta koden här, att jag inte vet hur man lägger den i kodtyp och den kommer ut utan indrag.
Programmet fungerar bra. Variabeln "a" använder jag helt enkelt för att avsluta slingan när användaren skriver noll. Du kan sätta en utgång () eller en paus; i det villkorliga ser det på det och jag sparar variabeln. De är alternativ.
Hälsningar.
Jag försöker ändra flikar för mellanslag och etiketter
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
Det är fullt av importfel från min kod, jag försöker igen med flikar:
Detta skulle vara filen 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
Intressant, kommentaren med kodetiketter äts, raderas, vad som än går mellan, till exempel mellan rader
upprepning
Att skriva " ";
c
efter c finns en
och sedan fortsätter det med 3 sedan
abajo
Sammantaget är detta inte tillförlitligt att sätta enligt vilka koder.
Jag ändrar symbolerna från att tilldela = för att se hur det är.
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
Det fortsätter att äta en del av koden, kodtaggen misslyckas, den ska lämna skrivningen som den är.
Hej ledsen för att jag inte såg att du svarade tidigare men bra
eftersom du inte kan publicera koden bra eftersom du inte skickar den till mig per post så att du inte ger så många turer till saken.