Basisprogrammering met pseint (deel 3)

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


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Guille zei

    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

  2.   Guille zei

    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

    1.    xnmm zei

      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

      1.    Guille zei

        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.

      2.    Guille zei

        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

      3.    Guille zei

        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

      4.    Guille zei

        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.

  3.   Guille zei

    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

    1.    Guille zei

      Het blijft een deel van de code opeten, de codetag faalt, het moet het schrijven laten zoals het is.

      1.    xnmm zei

        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.