Programmazione di base con pseint (parte 3)

Questa è una continuazione del tutorial Programmazione di base con pseint (parte 2), questa volta ti spiego cosa è necessario programmare.

INCARICO

L'assegnazione è un processo in cui una variabile viene creata e / o modificata, facendovi riferimento tramite il suo identificatore con cui possiamo accedere al suo spazio di memoria.

la sintassi dell'assegnazione è:

[variable]<- [expresion];
[variable]=[expresion];

Dove [variabile] è la variabile che riceve il valore di valutazione [espressione]. Entrambi sono validi quindi non importa quale sia usato (se hanno configurato PSeInt correttamente), ma secondo me creo il primo come quello corretto.

Se [variabile] non esisteva prima dell'assegnazione, [variabile] è stata creata, se esisteva il valore precedente viene distrutto e quello nuovo viene posto al suo posto. Per questo motivo, la mappatura è considerata un'operazione distruttiva.

LETTURA

La lettura è il processo in cui un dato o un dato viene richiesto all'utente per memorizzare tali dati in una variabile.

la sua sintassi è:

Leer variable_1,variable_2,...,variable_n;

dove [variabile_ {1,2, n}] sono la o le variabili che ricevono il valore dato dall'utente, nel caso in cui sia richiesta più di una variabile, chiederà prima la prima, poi la seconda e così via fino a quando non hanno ricevuto tutti i valori.

Questa è anche una funzione distruttiva.

SCRITTURA

La scrittura è il processo in cui una stringa di caratteri e / o una o più variabili vengono scritte sullo schermo

la sintassi è:

Escribir expresion_1,expresion_2,...,expresion_n;

dove [expersion_ {1,2, n}] sono le stringhe di caratteri e / o le variabili che verranno visualizzate.

La scrittura oltre a ricevere i dati da mettere a video riceve anche le istruzioni "Senza saltare" o "Senza scendere" che evitano il salto di riga.

La scrittura non aggiunge spazi tra gli argomenti, cioè se viene inserita:

Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso

in questo caso mostrerà «olamundo» poiché tra «a» e «b» non c'è una stringa di caratteri che indichi lo spazio tra aeb, quindi per essere visualizzato correttamente è scritto così:

Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso

in questo caso aggiungi »» che è una stringa di caratteri che ha uno spazio che è lo spazio tra «onda» e «mondo» e poi mostrerà «mondo d'onda» con lo spazio.

SE POI

Questa è una frase che valuta una data condizione e verifica la veridicità e / o falsità di detta condizione, cioè se la condizione è soddisfatta o meno.

La sua sintassi è:

Si [condición a evaluar] Entonces
[instrucciones por verdadero] Sino
[instrucciones por falso] FinSi

La clausola "Else" non è obbligatoria, in questo caso, se la condizione è falsa, ignorare le istruzioni e proseguire come se la frase non esistesse, in questo caso rimarrebbe:

Si [condición a evaluar] Entonces
[instrucciones por verdadero] FinSi

Il fatto che la clausola "Failure" sia stata inserita o meno dipende dalle esigenze di quel programma.

SEGUN

La frase in quanto valuta una variabile strettamente numerica che dà più di 2 opzioni come opzione, questa è la differenza da "If-Then" poiché la precedente può dare solo 2 opzioni.

La sintassi è:

Segun [variable numérica] Hacer
[número1]: [instrucciones] [número2],[número3]: [instrucciones] [...] De Otro Modo: [instrucciones] FinSegun

Come puoi vedere dopo "numero1" c'è un ":" e dopo di ciò le istruzioni da eseguire sono poste nel caso in cui "variabile numerica = numero1", nel secondo esempio è "numero2, numero3" questo significa che se " variabile numerica = numero2 o numero3 "quindi verranno eseguite" istruzioni ", questo è utile quando 2 possibilità devono eseguire le stesse istruzioni.

C'è anche la clausola "in un altro modo" che viene eseguita nel caso in cui nessuna delle possibilità è soddisfatta.

MENTRE

È una funzione ripetitiva che prima valuta una condizione e poi se è soddisfatta esegue una serie di istruzioni, quindi rivaluta la condizione e se è vera esegue nuovamente le stesse istruzioni e continua così finché la condizione non è falsa .

se la condizione è falsa dall'inizio non verrà mai eseguita e se è sempre vera verrà posta in un ciclo infinito, per evitare l'ultima nelle istruzioni ci deve essere qualcosa che ad un certo punto falsifica la condizione da essere in grado di terminare il ciclo.

la sua sintassi è:

Mientras [condición a evaluar] Hacer
[instrucciones] FinMientras

RIPETERE FINO A

Questa è una funzione molto simile alla precedente, ma a differenza della precedente, questa verifica la condizione alla fine, cioè il comando verrà eseguito almeno 1 volta, anche invece di eseguire l'istruzione quando è true, lo esegue mentre Se la condizione non è soddisfatta, ma se vuoi che venga eseguito mentre la condizione è soddisfatta, usa "while" invece di "until".

la sua sintassi è:

Repetir
[Instrucciones] hasta que [condicion]

A

Questa istruzione esegue un'istruzione un numero determinante di volte per una variabile, a differenza delle precedenti, questo ciclo cambia da solo il valore della variabile in questione oltre ad avere una sintassi molto potente.

Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones] FinPara

"Variabile" è la variabile che riceve il "valore iniziale" ed esegue le istruzioni, quindi aggiunge "variabile" più "passo" ed esegue nuovamente le istruzioni finché "variabile" non è uguale al "valore finale".

Se "with [step]" viene rimosso allora per impostazione predefinita saprà che "step" è uguale a 1, anche se [step] non è specificato e "valore iniziale" è maggiore di "valore finale" lo passerà attraverso ordine inverso, ovvero "Step" è -1

SUBPROCESSO / FUNZIONE

Un thread o una funzione è un programma all'interno di un altro e questo sottoprogramma riceve uno o più valori, li gestisce e ne restituisce un altro. La sua sintassi è

SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])

acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso

dove "variabile di ritorno" è la variabile che contiene il valore restituito dalla funzione "nome funzione" che ha ricevuto i parametri "arg_1, arg_2, arg_n" per eseguirla

ALTRE

Si tratta di funzioni che sono solo complementari alle altre e non hanno una sintassi complessa poiché sono solo funzioni complementari.

Schermo pulito

Questa funzione cancella lo schermo da qualsiasi oggetto nell'interprete

Aspetta chiave

Questa funzione attende che l'utente prema un tasto per continuare con il programma

aspettare X {Secondo, millisecondi}

questa funzione attende un tempo in secondi o millisecondi per continuare con il programma

PS: scusate il ritardo ma ero impegnato con altre questioni quindi non ho potuto scrivere


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Guille suddetto

    Non hai funzioni per catturare le chiavi senza interrompere l'esecuzione? Per fare qualcosa con il movimento che è più attraente per i bambini di 9 anni, sebbene un gioco dell'impiccato possa anche essere divertente da programmare.

    Elabora qualcosa_digo
    a <-1;
    laterale <-30;
    giù <-5;
    Mentre a = 1 Do
    Schermo pulito;
    c <-1;
    riga <- "";
    repetir
    riga <-line + "";
    c <-c + 1;
    Fino a c = laterale
    riga <-line + "X";
    c <-1;
    repetir
    Scrivere " ";
    c <-c + 1;
    Fino a quando c = down-1
    Linea di scrittura;
    repetir
    Scrivere " ";
    c 2 Allora
    giù <-giù-1;
    Fine sì
    "S":
    Se inferiore a <15 Allora
    giù 2 Allora
    laterale <-laterale-1;
    Fine sì
    "d":
    Se laterale <50 Allora
    laterale <-laterale + 1;
    Fine sì
    "0":
    a <-2;
    Fine secondi
    Fine mentre
    Fine del processo

  2.   Guille suddetto

    Bene, fallisci se sali, meglio cambiare le righe 23 e 28
    -23 Fino a c = 15
    +23 Fino a c = 18
    y
    -28 Se in basso> 2 Allora
    +28 Se in basso> 3 Allora

    1.    xmm suddetto

      Grazie per il contributo ma ha dei problemi come questo apri una frase dentro un'altra ma deve finire all'interno della frase dove è iniziata, voglio dire, non può essere messa

      Elabora qualcosa
      a <- 0;
      leggere a;
      se a non è uguale a 25 allora
      mentre a non è uguale a 0 do
      leggere a;
      Fine sì
      finire mentre

      come vedi il ciclo mentre inizia all'interno dell'istruzione "if then" ma finisce al di fuori di essa, qualcosa del genere non è possibile.

      Apprezzo ancora il contributo
      Fine del processo

      1.    Guille suddetto

        Grazie, ma penso che sia più un problema mettere il codice qui, che non so come metterlo nel tipo di codice e viene fuori senza indentazione.

        Il programma funziona bene. La variabile "a" che uso semplicemente per uscire dal ciclo quando l'utente digita uno zero. Potresti mettere un exit () o un break; nel condizionale lo guarda e io salvo la variabile. Sono opzioni.

        Saluti.

      2.    Guille suddetto

        Proverò a cambiare le tabulazioni per gli spazi e le etichette 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 suddetto

        È pieno di errori di importazione dal mio codice, riproverò con le schede:
        Questo sarebbe il file 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

      4.    Guille suddetto

        Interessante, il commento con le etichette di codice viene mangiato, cancellato, qualunque cosa sia tra le righe, ad esempio
        repetir
        Scrivere " ";
        c
        dopo la c c'è una
        e poi continua con 3 Poi
        giù
        Nel complesso, questo non è affidabile da mettere in base a quali codici.

  3.   Guille suddetto

    Cambio i simboli da assegnare a = per vedere com'è.

    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 suddetto

      Continua a mangiare parte del codice, il tag del codice fallisce, dovrebbe lasciarlo così com'è

      1.    xmm suddetto

        Ciao, scusa per non averti visto prima ma bene
        visto che non riesci a pubblicare bene il codice perché non me lo mandi per posta quindi non dai tanti giri alla questione.