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
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
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
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
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.
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
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
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.
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
Continuă să mănânce o parte din cod, eticheta de cod eșuează, ar trebui să lase scrisul așa cum este.
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.