Programare de bază cu pseint (partea 3)

Aceasta este o continuare a tutorialului Programare de bază cu pseint (partea 2), de data aceasta voi explica ce este necesar pentru a programa.

MISIUNE

Atribuirea este un proces în care o variabilă este creată și / sau modificată, referindu-se la aceasta prin intermediul identificatorului său cu care putem accesa spațiul său de memorie.

sintaxa atribuirii este:

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

Unde [variabilă] este variabila care primește valoarea evaluării [expresiei]. Ambele sunt valabile, deci nu contează care dintre ele este folosită (dacă au configurat corect PSeInt), dar în opinia mea, creez prima ca fiind cea corectă.

Dacă [variabila] nu a existat înainte de atribuire, a fost creată [variabila], dacă a existat, valoarea anterioară este distrusă și cea nouă este plasată în locul ei. Din acest motiv, cartarea este considerată o operațiune distructivă.

CITIND

Citirea este procesul în care o cerere sau date sunt solicitate de la utilizator pentru a stoca datele respective într-o variabilă.

sintaxa sa este:

Leer variable_1,variable_2,...,variable_n;

unde [variabilă_ {1,2, n}] sunt variabila sau variabilele care primesc valoarea dată de utilizator, în cazul în care se solicită mai mult de o variabilă, va cere mai întâi prima, apoi a doua și așa mai departe până au primit toate valorile.

Aceasta este și o funcție distructivă.

SCRIS

Scrierea este procesul în care un șir de caractere și / sau una sau mai multe variabile sunt scrise pe ecran

sintaxa este:

Escribir expresion_1,expresion_2,...,expresion_n;

unde [expersion_ {1,2, n}] sunt șirurile de caractere și / sau variabilele care vor fi afișate.

Scrierea pe lângă primirea datelor care urmează să fie afișate pe ecran primește și instrucțiunile „Fără sărituri” sau „Fără descărcare” care evită saltul pe linie.

Scrierea nu adaugă spații între argumente, adică dacă puneți:

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

în acest caz se va afișa «olamundo» deoarece între «a» și «b» nu există niciun șir de caractere care să indice spațiul dintre a și b, astfel încât să fie afișat corect, este scris astfel:

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

în acest caz adăugați »», care este un șir de caractere care are un spațiu care este spațiul dintre «undă» și «lume» și apoi va afișa «lume unde» cu spațiul.

DACA ATUNCI

Aceasta este o propoziție care evaluează o condiție dată și verifică veridicitatea și / sau falsitatea acestei condiții, adică dacă condiția este îndeplinită sau nu.

Sintaxa sa este:

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

Clauza „Altfel” nu este obligatorie, în acest caz, dacă condiția este falsă, ignorați instrucțiunile și continuați ca și cum sentința nu ar exista, în acest caz ar rămâne:

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

Dacă clauza „Eșec” a fost plasată sau nu depinde de nevoile acelui program.

IN CONFORMITATE

Propoziția, deoarece evaluează o variabilă strict numerică, care oferă mai mult de 2 opțiuni ca opțiune, aceasta este diferența de la „Dacă-atunci”, deoarece cea anterioară poate da doar 2 opțiuni.

Sintaxa este:

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

După cum puteți vedea după «numărul1» există un «:» și după aceea instrucțiunile care trebuie efectuate sunt plasate în cazul în care «variabilă numerică = număr1», în al doilea exemplu este «număr2, număr3» aceasta înseamnă că dacă « variabila numerica = number2 sau number3 "atunci se vor executa" instructiuni ", acest lucru este util atunci cand 2 posibilitati trebuie sa execute aceleasi instructiuni.

Există, de asemenea, clauza „În alt mod” care se execută în cazul în care niciuna dintre posibilități nu este îndeplinită.

IN TIMP CE

Este o funcție repetitivă care evaluează mai întâi o condiție și apoi, dacă este îndeplinită, execută o serie de instrucțiuni, apoi reevaluează condiția și, dacă este adevărat, execută din nou aceleași instrucțiuni și continuă astfel până când condiția este falsă.

dacă condiția este falsă de la început nu va fi executată niciodată și dacă este întotdeauna adevărată va fi plasată într-o buclă infinită, pentru a evita ultima din instrucțiuni trebuie să existe ceva care la un moment dat falsifică condiția pentru a putea încheia bucla.

sintaxa sa este:

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

REPETĂ-PÂNĂ

Aceasta este o funcție foarte asemănătoare cu cea anterioară, dar spre deosebire de cea anterioară, aceasta verifică starea la sfârșit, adică comanda va fi executată de cel puțin o dată, de asemenea, în loc să execute instrucțiunea când este adevărată, o execută în timp ce Dacă condiția nu este îndeplinită, dar dacă doriți să fie executată în timp ce condiția este îndeplinită, utilizați „while” în loc de „până”.

sintaxa sa este:

Repetir
[Instrucciones] hasta que [condicion]

PENTRU

Această instrucțiune execută o instrucțiune de un număr determinant de ori pentru o variabilă, spre deosebire de cele anterioare, acest ciclu schimbă singura valoarea variabilei în cauză, precum și o sintaxă foarte puternică.

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

„Variabilă” este variabila care primește „valoarea inițială” și execută instrucțiunile, apoi adaugă „variabilă” plus „pas” și execută din nou instrucțiunile până când „variabila” este egală cu „valoarea finală”.

Dacă „cu [pas]” este eliminat, atunci implicit va ști că „pas” este egal cu 1, de asemenea, dacă [pas] nu este specificat și „valoare inițială” este mai mare decât „valoare finală”, va trece prin el în ordine inversă, adică „Pasul” este -1

SUBPROCES / FUNCȚIE

Un fir sau o funcție este un program în cadrul altui și că acest subprogram primește una sau mai multe valori, le operează și returnează alta. Sintaxa sa este

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

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

unde "variabilă returnată" este variabila care conține valoarea returnată de funcția "nume funcție" care a primit parametrii "arg_1, arg_2, arg_n" pentru a executa acest lucru

ALTE

Acestea sunt funcții care sunt doar complementare celorlalte și nu au o sintaxă complexă, deoarece sunt doar funcții complementare.

Ștergeți ecranul

Această funcție șterge ecranul oricărui obiect din interpret

Așteptați cheia

Această funcție așteaptă ca utilizatorul să apese o tastă pentru a continua cu programul

aștepta X {În al doilea rând, Milisecunde}

această funcție așteaptă un timp în secunde sau milisecunde pentru a continua cu programul

PS: îmi pare rău pentru întârziere, dar am fost ocupat cu alte probleme, așa că nu am putut scrie


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Guille el a spus

    Nu aveți funcții pentru a captura taste fără a opri execuția? Pentru că ați făcut ceva cu mișcare, care este mai atrăgător pentru copiii de 9 ani, deși un joc de spânzurat poate fi, de asemenea, distractiv de programat.

    Procesați ceva_digo
    a <-1;
    lateral <-30;
    jos <-5;
    În timp ce a = 1 Do
    Ecran clar;
    c <-1;
    linia <- "";
    repeta
    linie <-linie + "";
    c <-c + 1;
    Până c = lateral
    linie <-linie + "X";
    c <-1;
    repeta
    A scrie " ";
    c <-c + 1;
    Până la c = jos-1
    Scrie linie;
    repeta
    A scrie " ";
    c 2 Apoi
    jos <-down-1;
    Sfârșit da
    „s”:
    Dacă este sub <15 Atunci
    jos 2 Apoi
    lateral <-lateral-1;
    Sfârșit da
    „d”:
    Dacă lateral <50 Atunci
    lateral <-lateral + 1;
    Sfârșit da
    „0”:
    a <-2;
    Secunde de sfârșit
    Termină În timp ce
    Sfarsitul procesului

  2.   Guille el a spus

    Ei bine, eșuează dacă urci, mai bine schimbă liniile 23 și 28
    -23 Până la c = 15
    +23 Până la c = 18
    y
    -28 Dacă jos> 2 Apoi
    +28 Dacă jos> 3 Apoi

    1.    xnmm el a spus

      Vă mulțumim pentru contribuție, dar are unele probleme de genul că deschideți o propoziție în alta, dar trebuie să se termine în propoziția de unde a început, adică nu poate fi pusă

      Procesați ceva
      a <- 0;
      citiți la;
      dacă a nu este egal cu 25 atunci
      în timp ce a nu este egal cu 0 do
      citiți la;
      Sfârșit da
      incheie in timp ce

      așa cum vedeți bucla în timp ce începeți în instrucțiunea „if then”, dar se termină în afara acesteia, ceva de genul acesta nu este posibil.

      Încă apreciez contribuția
      Sfarsitul procesului

      1.    Guille el a spus

        Mulțumesc, dar cred că este mai mult o problemă la punerea codului aici, că nu știu cum să-l pun în tip de cod și iese fără indentare.

        Programul funcționează bine. Variabila „a” o folosesc pur și simplu pentru a ieși din buclă atunci când utilizatorul tastează un zero. Ai putea pune o ieșire () sau o pauză; în condițional se uită la el și salvez variabila. Sunt opțiuni.

        Salutări.

      2.    Guille el a spus

        Voi încerca să schimb filele pentru spații și etichete 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 el a spus

        Aceasta este plină de erori de import din codul meu, voi încerca din nou cu file:
        Acesta ar fi fișierul 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 el a spus

        Interesant, comentariul cu etichete de cod este mâncat, șters, orice se întâmplă între, de exemplu între rânduri
        repeta
        A scrie " ";
        c
        după c există o
        și apoi continuă cu 3 Apoi
        jos
        În general, acest lucru nu este fiabil de pus în funcție de ce coduri.

  3.   Guille el a spus

    Schimb simbolurile de la atribuire la = pentru a vedea cum este.

    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 el a spus

      Continuă să mănânce o parte din cod, eticheta de cod eșuează, ar trebui să lase scrisul așa cum este.

      1.    xnmm el a spus

        Bună scuze pentru că nu te-am văzut răspuns, dar bine
        din moment ce nu poți publica codul bine pentru că nu mi-l trimiți prin poștă, așa că nu dai atât de multe rânduri problemei.