Ĉi tio estas daŭrigo de la lernilo Baza programado kun pseint (parto 2), ĉi-foje mi klarigos, kio necesas por programi.
Indekso
ASIGNO
La tasko estas procezo, en kiu variablo estas kreita kaj / aŭ modifita, rilatante al ĝi per sia identigilo, per kiu ni povas aliri ĝian memoran spacon.
la sintakso de la tasko estas:
[variable]<- [expresion];
[variable]=[expresion];
Kie [variablo] estas la variablo, kiu ricevas la valoron taksi [esprimon]. Ambaŭ estas validaj do ne gravas kiu uzata (se ili agordis PSeInt ĝuste), sed laŭ mi mi kreas la unuan kiel ĝustan.
Se [variablo] ne ekzistis antaŭ la tasko, [variablo] estis kreita, se ĝi ekzistis, la antaŭa valoro detruiĝas kaj la nova lokiĝas. Tial mapado estas konsiderata detrua operacio.
LEGADO
Legado estas la procezo, laŭ kiu la uzanto petas datumojn aŭ datumojn por stoki ĉi tiujn datumojn en variablo.
ĝia sintakso estas:
Leer variable_1,variable_2,...,variable_n;
kie [variablo_ {1,2, n}] estas la variablo aŭ variabloj, kiuj ricevas la valoron donitan de la uzanto, se pli ol unu variablo estas petita, ĝi unue petos la unuan, poste la duan kaj tiel plu ĝis ricevis ĉiujn valorojn.
Ĉi tio ankaŭ estas detrua funkcio.
SKRIBO
Skribo estas la procezo en kiu ĉeno de signoj kaj / aŭ unu aŭ pluraj variabloj estas skribitaj sur la ekrano
la sintakso estas:
Escribir expresion_1,expresion_2,...,expresion_n;
kie [ekspansio_ {1,2, n}] estas la signokordoj kaj / aŭ variabloj montrotaj.
Skribado krom ricevi la metotajn datumojn sur la ekrano ankaŭ ricevas la instrukcion "Sen transsalti" aŭ "Sen malsupreniri", kiuj evitas la linian salton.
Skribo ne aldonas spacojn inter la argumentoj, tio estas, se ĝi estas metita:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso
ĉi-kaze ĝi montros «olamundo», ĉar inter «a» kaj «b» ne estas signoĉeno, kiu indikas la spacon inter a kaj b, tiel ke ĝi montriĝas ĝuste ĝi estas skribita tiel:
Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso
ĉi-kaze aldonu »», kiu estas signokordo, kiu havas spacon, kiu estas la spaco inter «ondo» kaj «mondo», kaj tiam ĝi montros «ondmondon» kun la spaco.
SE TIAM
Ĉi tio estas frazo, kiu taksas antaŭfiksitan kondiĉon kaj kontrolas la verecon kaj / aŭ malveron de menciita kondiĉo, tio estas, se la kondiĉo estas plenumita aŭ ne.
Ĝia sintakso estas:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
Sino
[instrucciones por falso]
FinSi
La klaŭzo "Alie" ne estas deviga, ĉi-kaze se la kondiĉo estas falsa ignoru la instrukciojn kaj daŭru kvazaŭ la frazo ne ekzistus, ĉi-kaze ĝi restus:
Si [condición a evaluar] Entonces
[instrucciones por verdadero]
FinSi
Ĉu la "Malsukcesa" klaŭzo estis metita aŭ ne dependas de la bezonoj de tiu programo.
LAORD LA .TO
La frazo dum ĝi taksas strikte nombran variablon, kiu donas pli ol 2 opciojn kiel eblon, ĉi tio diferencas de "Se-Tiam" ĉar la antaŭa povas doni nur 2 eblojn.
La sintakso estas:
Segun [variable numérica] Hacer
[número1]: [instrucciones]
[número2],[número3]: [instrucciones]
[...]
De Otro Modo: [instrucciones]
FinSegun
Kiel vi povas vidi post "numero1" estas ":" kaj post tio la plenumindaj instrukcioj estas metitaj en la okazo ke "nombra variablo = numero1", en la dua ekzemplo ĝi estas "numero2, numero3" tio signifas, ke se " nombra variablo = nombro2 aŭ nombro3 "tiam" instrukcioj "estos plenumitaj, ĉi tio estas utila kiam 2 ebloj devas plenumi la samajn instrukciojn.
Ekzistas ankaŭ la klaŭzo "Alimaniere" efektivigita en la okazo ke neniu el la ebloj plenumiĝu.
DUM
Ĝi estas ripetema funkcio, kiu unue taksas kondiĉon kaj tiam se ĝi plenumiĝas, ĝi plenumas serion da instrukcioj, tiam ĝi retaksas la kondiĉon kaj se ĝi estas vera, ĝi denove plenumas la samajn instrukciojn kaj daŭras tiel ĝis la kondiĉo estas falsa.
se la kondiĉo estas falsa dekomence ĝi neniam plenumiĝos kaj se ĝi ĉiam veras, ĝi estos metita en senfinan buklon, por eviti la lastan en la instrukcioj devas esti io, kio iam falsas la kondiĉon por povi fini la buklon.
ĝia sintakso estas:
Mientras [condición a evaluar] Hacer
[instrucciones]
FinMientras
REPETU ĜIS
Ĉi tio estas funkcio tre simila al la antaŭa, sed male al la antaŭa, ĉi tiu kontrolas la staton fine, tio estas, la komando estos plenumita almenaŭ 1 fojon, ankaŭ anstataŭ plenumi la instrukcion kiam ĝi estas vera, ĝi plenumas ĝin dum Se la kondiĉo ne plenumiĝas, sed se vi volas, ke ĝi estu plenumita dum la kondiĉo estas plenumita, uzu "dum" anstataŭ "ĝis".
ĝia sintakso estas:
Repetir
[Instrucciones]
hasta que [condicion]
POR
Ĉi tiu aserto plenumas instrukcion determinantan nombron da fojoj por variablo, male al la antaŭaj, ĉi tiu ciklo mem ŝanĝas la valoron de la koncerna variablo krom havi tre potencan sintakson.
Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones]
FinPara
"Variablo" estas la variablo, kiu ricevas "komencan valoron" kaj plenumas la instrukciojn, poste aldonas "variablon" plus "paŝo" kaj ekzekutas la instrukciojn denove ĝis "variablo" egalas al "fina valoro".
se "kun [paŝo]" estas forigita tiam defaŭlte ĝi scios ke "paŝo" egalas al 1, ankaŭ se [paŝo] ne estas specifita kaj "komenca valoro" estas pli granda ol "fina valoro" ĝi trairos ĝin laŭ inversa ordo, tio estas, "Paŝo" estas -1
SUBPROCESO / FUNKCIO
Fadeno aŭ funkcio estas programo ene de alia kaj ke ĉi tiu subprogramo ricevas unu aŭ plurajn valorojn, funkciigas ilin kaj redonas alian. Ĝia sintakso estas
SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])
acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso
kie "redona variablo" estas la variablo, kiu enhavas la valoron redonitan de la funkcio "nomo de funkcio", kiu ricevis la parametrojn "arg_1, arg_2, arg_n" por plenumi ĉi tion
ALIAJ
Ĉi tiuj estas funkcioj nur komplementaj al la aliaj kaj ne havas kompleksan sintakson, ĉar ili estas nur komplementaj funkcioj.
Klara Ekrano
Ĉi tiu funkcio malplenigas la ekranon de iu ajn objekto en la interpretilo
Atendu Ŝlosilon
Ĉi tiu funkcio atendas, ke la uzanto premu klavon por daŭrigi la programon
Atendu x {Due, Milisekundoj}
ĉi tiu funkcio atendas tempon en sekundoj aŭ milisekundoj por daŭrigi la programon
PS: pardonu pro la malfruo, sed mi okupiĝis pri aliaj aferoj, do mi ne povis skribi
10 komentoj, lasu la viajn
Ĉu vi ne havas funkciojn por kapti klavojn sen ĉesigi la ekzekuton? Por fari ion kun movado, kiu pli allogas 9-jarulojn, kvankam pendumila ludo ankaŭ povas esti amuze programi.
Procesi ion_digo
a <-1;
flanka <-30;
malsupren <-5;
Dum a = 1 Faru
Klara Ekrano;
c <-1;
linio <- "";
Ripetu
linio <-linia + "";
c <-c + 1;
Ĝis c = flanka
linio <-linio + "X";
c <-1;
Ripetu
Skribi " ";
c <-c + 1;
Ĝis c = malsupren-1
Skribu linion;
Ripetu
Skribi " ";
c 2 Tiam
malsupren <-down-1;
Fino jes
"s":
Se sub <15 Tiam
malsupren 2 Tiam
laterala <-lateral-1;
Fino jes
"d":
Se flanka <50 Tiam
laterala <-lateral + 1;
Fino jes
"0":
a <-2;
Finaj Sekundoj
Fini Dum
Fina Procezo
Nu malsukcesu se vi supreniros, pli bone ŝanĝu liniojn 23 kaj 28
-23 Ĝis c = 15
+23 Ĝis c = 18
y
-28 Se malsupren> 2 Tiam
+28 Se malsupren> 3 Tiam
Dankon pro la kontribuo, sed ĝi havas iujn problemojn kiel ekzemple ke vi malfermas unu frazon ene de alia sed ĝi devas finiĝi ene de la frazo kie ĝi komenciĝis, mi volas diri, ke ĝi ne povas esti metita
Procesi ion
a <- 0;
legi al;
se a ne egalas al 25 tiam
dum a ne egalas al 0 do
legi al;
Fino jes
fini dum
kiel vi vidas la buklon komencante ene de la instrukcio "se tiam" sed finiĝante ekster ĝi, io tia ne eblas.
Mi ankoraŭ dankas la kontribuon
Fini procezon
Dankon, sed mi pensas, ke temas pli pri problemo meti la kodon ĉi tie, ke mi ne scias kiel meti ĝin en kodspecon kaj ĝi aperas sen indenta.
La programo funkcias bone. La variablon "a" mi simple uzas por forlasi la buklon kiam la uzanto tajpas nulon. Vi povus meti eliron () aŭ paŭzon; en la kondicionalo ĝi rigardas ĝin kaj mi konservas la variablon. Ili estas ebloj.
Salutojn.
Mi provos ŝanĝi langetojn por spacoj kaj la etikedoj
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
Tio estas plena de importaj eraroj de mia kodo, mi provos denove per langetoj:
Ĉi tiu estus la dosiero 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
Interese, la komento kun kodetikedoj estas manĝita, forigita, kio ajn interas, ekzemple inter linioj
Ripetu
Skribi " ";
c
post la c estas a
kaj tiam ĝi daŭras kun 3 Tiam
malsupren
Ĝenerale, ĉi tio ne estas fidinda por meti laŭ kiuj kodoj.
Mi ŝanĝas la simbolojn de asignado al = por vidi kiel.
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
Ĝi daŭre manĝas parton de la kodo, la koda etikedo malsukcesas, ĝi devas lasi la skribon tian.
Saluton, ke mi ne vidis, ke vi respondis antaŭe, sed bone
ĉar vi ne povas bone publikigi la kodon, ĉar vi ne sendas ĝin al mi per poŝto, do vi ne donas tiom da turnoj al la afero.